diff options
Diffstat (limited to 'deps/npm/node_modules/tar/old/tar.js')
-rw-r--r-- | deps/npm/node_modules/tar/old/tar.js | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/deps/npm/node_modules/tar/old/tar.js b/deps/npm/node_modules/tar/old/tar.js new file mode 100644 index 0000000000..f70c081d27 --- /dev/null +++ b/deps/npm/node_modules/tar/old/tar.js @@ -0,0 +1,74 @@ +// field names that every tar file must have. +// header is padded to 512 bytes. +var f = 0 + , fields = {} + , NAME = fields.NAME = f++ + , MODE = fields.MODE = f++ + , UID = fields.UID = f++ + , GID = fields.GID = f++ + , SIZE = fields.SIZE = f++ + , MTIME = fields.MTIME = f++ + , CKSUM = fields.CKSUM = f++ + , TYPE = fields.TYPE = f++ + , LINKNAME = fields.LINKNAME = f++ + , headerSize = 512 + , fieldSize = [] + +fieldSize[NAME] = 100 +fieldSize[MODE] = 8 +fieldSize[UID] = 8 +fieldSize[GID] = 8 +fieldSize[SIZE] = 12 +fieldSize[MTIME] = 12 +fieldSize[CKSUM] = 8 +fieldSize[TYPE] = 1 +fieldSize[LINKNAME] = 100 + +// "ustar\0" may introduce another bunch of headers. +// these are optional, and will be nulled out if not present. +var ustar = new Buffer(6) +ustar.asciiWrite("ustar\0") + +var USTAR = fields.USTAR = f++ + , USTARVER = fields.USTARVER = f++ + , UNAME = fields.UNAME = f++ + , GNAME = fields.GNAME = f++ + , DEVMAJ = fields.DEVMAJ = f++ + , DEVMIN = fields.DEVMIN = f++ + , PREFIX = fields.PREFIX = f++ +// terminate fields. +fields[f] = null + +fieldSize[USTAR] = 6 +fieldSize[USTARVER] = 2 +fieldSize[UNAME] = 32 +fieldSize[GNAME] = 32 +fieldSize[DEVMAJ] = 8 +fieldSize[DEVMIN] = 8 +fieldSize[PREFIX] = 155 + +var fieldEnds = {} + , fieldOffs = {} + , fe = 0 +for (var i = 0; i < f; i ++) { + fieldOffs[i] = fe + fieldEnds[i] = (fe += fieldSize[i]) +} + +// build a translation table of field names. +Object.keys(fields).forEach(function (f) { + fields[fields[f]] = f +}) + +exports.ustar = ustar +exports.fields = fields +exports.fieldSize = fieldSize +exports.fieldOffs = fieldOffs +exports.fieldEnds = fieldEnds +exports.headerSize = headerSize + +var Parser = exports.Parser = require("./parser") +exports.createParser = Parser.create + +var Generator = exports.Generator = require("./generator") +exports.createGenerator = Generator.create |