summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/tar/old/tar.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/node_modules/tar/old/tar.js')
-rw-r--r--deps/npm/node_modules/tar/old/tar.js74
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