extract-base-iterator 3.2.0 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -45,12 +45,12 @@ var DirectoryEntry = /*#__PURE__*/ function() {
45
45
  var _proto = DirectoryEntry.prototype;
46
46
  _proto.create = function create(dest, options, callback) {
47
47
  var _this = this;
48
- var actualOptions = typeof options === 'function' ? {} : options || {};
49
- var actualCallback = typeof options === 'function' ? options : callback;
50
- if (typeof actualCallback === 'function') {
48
+ callback = typeof options === 'function' ? options : callback;
49
+ options = typeof options === 'function' ? {} : options || {};
50
+ if (typeof callback === 'function') {
51
51
  try {
52
52
  var normalizedPath = _path.default.normalize(this.path);
53
- var fullPath = _path.default.join(dest, (0, _stripPathts.default)(normalizedPath, actualOptions));
53
+ var fullPath = _path.default.join(dest, (0, _stripPathts.default)(normalizedPath, options));
54
54
  // do not check for the existence of the directory but allow out-of-order calling
55
55
  var queue = new _queuecb.default(1);
56
56
  queue.defer(_mkdirpclassic.default.bind(null, fullPath));
@@ -66,7 +66,7 @@ var DirectoryEntry = /*#__PURE__*/ function() {
66
66
  }
67
67
  }
68
68
  return new Promise(function(resolve, reject) {
69
- _this.create(dest, actualOptions, function(err, done) {
69
+ _this.create(dest, options, function(err, done) {
70
70
  return err ? reject(err) : resolve(done);
71
71
  });
72
72
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/DirectoryEntry.ts"],"sourcesContent":["import mkdirp from 'mkdirp-classic';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport chmod from './fs/chmod.ts';\nimport chown from './fs/chown.ts';\nimport utimes from './fs/utimes.ts';\nimport { objectAssign } from './shared/index.ts';\nimport stripPath from './shared/stripPath.ts';\nimport validateAttributes from './validateAttributes.ts';\nimport waitForAccess from './waitForAccess.ts';\n\nconst MANDATORY_ATTRIBUTES = ['mode', 'mtime', 'path'];\n\nimport type { Mode } from 'fs';\nimport type { DirectoryAttributes, ExtractOptions, NoParamCallback } from './types.ts';\n\nexport default class DirectoryEntry {\n mode: Mode;\n mtime: number;\n path: string;\n basename: string;\n type: string;\n\n constructor(attributes: DirectoryAttributes) {\n validateAttributes(attributes, MANDATORY_ATTRIBUTES);\n objectAssign(this, attributes);\n if (this.type === undefined) this.type = 'directory';\n if (this.basename === undefined) this.basename = path.basename(this.path);\n }\n\n create(dest: string, callback: NoParamCallback): void;\n create(dest: string, options: ExtractOptions, callback: NoParamCallback): void;\n create(dest: string, options?: ExtractOptions): Promise<boolean>;\n create(dest: string, options?: ExtractOptions | NoParamCallback, callback?: NoParamCallback): void | Promise<boolean> {\n const actualOptions = typeof options === 'function' ? {} : options || ({} as ExtractOptions);\n const actualCallback = typeof options === 'function' ? options : callback;\n\n if (typeof actualCallback === 'function') {\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, actualOptions));\n\n // do not check for the existence of the directory but allow out-of-order calling\n const queue = new Queue(1);\n queue.defer(mkdirp.bind(null, fullPath));\n queue.defer(waitForAccess.bind(null, fullPath));\n queue.defer(chmod.bind(null, fullPath, this, options));\n queue.defer(chown.bind(null, fullPath, this, options));\n queue.defer(utimes.bind(null, fullPath, this, options));\n queue.await(callback);\n return;\n } catch (err) {\n callback(err);\n return;\n }\n }\n\n return new Promise((resolve, reject) => {\n this.create(dest, actualOptions, (err?: Error, done?: boolean) => (err ? reject(err) : resolve(done)));\n });\n }\n\n destroy() {}\n}\n"],"names":["DirectoryEntry","MANDATORY_ATTRIBUTES","attributes","validateAttributes","objectAssign","type","undefined","basename","path","create","dest","options","callback","actualOptions","actualCallback","normalizedPath","normalize","fullPath","join","stripPath","queue","Queue","defer","mkdirp","bind","waitForAccess","chmod","chown","utimes","await","err","Promise","resolve","reject","done","destroy"],"mappings":";;;;;;;eAgBqBA;;;oEAhBF;2DACF;8DACC;8DACA;8DACA;+DACC;uBACU;kEACP;2EACS;sEACL;;;;;;;;;;;AAE1B,IAAMC,uBAAuB;IAAC;IAAQ;IAAS;CAAO;AAKvC,IAAA,AAAMD,+BAAN;;aAAMA,eAOPE,UAA+B;gCAPxBF;QAQjBG,IAAAA,6BAAkB,EAACD,YAAYD;QAC/BG,IAAAA,qBAAY,EAAC,IAAI,EAAEF;QACnB,IAAI,IAAI,CAACG,IAAI,KAAKC,WAAW,IAAI,CAACD,IAAI,GAAG;QACzC,IAAI,IAAI,CAACE,QAAQ,KAAKD,WAAW,IAAI,CAACC,QAAQ,GAAGC,aAAI,CAACD,QAAQ,CAAC,IAAI,CAACC,IAAI;;iBAXvDR;IAiBnBS,OAAAA,MA2BC,GA3BDA,SAAAA,OAAOC,IAAY,EAAEC,OAA0C,EAAEC,QAA0B;;QACzF,IAAMC,gBAAgB,OAAOF,YAAY,aAAa,CAAC,IAAIA,WAAY,CAAC;QACxE,IAAMG,iBAAiB,OAAOH,YAAY,aAAaA,UAAUC;QAEjE,IAAI,OAAOE,mBAAmB,YAAY;YACxC,IAAI;gBACF,IAAMC,iBAAiBP,aAAI,CAACQ,SAAS,CAAC,IAAI,CAACR,IAAI;gBAC/C,IAAMS,WAAWT,aAAI,CAACU,IAAI,CAACR,MAAMS,IAAAA,oBAAS,EAACJ,gBAAgBF;gBAE3D,iFAAiF;gBACjF,IAAMO,QAAQ,IAAIC,gBAAK,CAAC;gBACxBD,MAAME,KAAK,CAACC,sBAAM,CAACC,IAAI,CAAC,MAAMP;gBAC9BG,MAAME,KAAK,CAACG,wBAAa,CAACD,IAAI,CAAC,MAAMP;gBACrCG,MAAME,KAAK,CAACI,gBAAK,CAACF,IAAI,CAAC,MAAMP,UAAU,IAAI,EAAEN;gBAC7CS,MAAME,KAAK,CAACK,gBAAK,CAACH,IAAI,CAAC,MAAMP,UAAU,IAAI,EAAEN;gBAC7CS,MAAME,KAAK,CAACM,iBAAM,CAACJ,IAAI,CAAC,MAAMP,UAAU,IAAI,EAAEN;gBAC9CS,MAAMS,KAAK,CAACjB;gBACZ;YACF,EAAE,OAAOkB,KAAK;gBACZlB,SAASkB;gBACT;YACF;QACF;QAEA,OAAO,IAAIC,QAAQ,SAACC,SAASC;YAC3B,MAAKxB,MAAM,CAACC,MAAMG,eAAe,SAACiB,KAAaI;uBAAoBJ,MAAMG,OAAOH,OAAOE,QAAQE;;QACjG;IACF;IAEAC,OAAAA,OAAY,GAAZA,SAAAA,WAAW;WA9CQnC"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/DirectoryEntry.ts"],"sourcesContent":["import mkdirp from 'mkdirp-classic';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport chmod from './fs/chmod.ts';\nimport chown from './fs/chown.ts';\nimport utimes from './fs/utimes.ts';\nimport { objectAssign } from './shared/index.ts';\nimport stripPath from './shared/stripPath.ts';\nimport validateAttributes from './validateAttributes.ts';\nimport waitForAccess from './waitForAccess.ts';\n\nconst MANDATORY_ATTRIBUTES = ['mode', 'mtime', 'path'];\n\nimport type { Mode } from 'fs';\nimport type { DirectoryAttributes, ExtractOptions, NoParamCallback } from './types.ts';\n\nexport default class DirectoryEntry {\n mode: Mode;\n mtime: number;\n path: string;\n basename: string;\n type: string;\n\n constructor(attributes: DirectoryAttributes) {\n validateAttributes(attributes, MANDATORY_ATTRIBUTES);\n objectAssign(this, attributes);\n if (this.type === undefined) this.type = 'directory';\n if (this.basename === undefined) this.basename = path.basename(this.path);\n }\n\n create(dest: string, callback: NoParamCallback): void;\n create(dest: string, options: ExtractOptions, callback: NoParamCallback): void;\n create(dest: string, options?: ExtractOptions): Promise<boolean>;\n create(dest: string, options?: ExtractOptions | NoParamCallback, callback?: NoParamCallback): void | Promise<boolean> {\n callback = typeof options === 'function' ? options : callback;\n options = typeof options === 'function' ? {} : ((options || {}) as ExtractOptions);\n\n if (typeof callback === 'function') {\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options));\n\n // do not check for the existence of the directory but allow out-of-order calling\n const queue = new Queue(1);\n queue.defer(mkdirp.bind(null, fullPath));\n queue.defer(waitForAccess.bind(null, fullPath));\n queue.defer(chmod.bind(null, fullPath, this, options));\n queue.defer(chown.bind(null, fullPath, this, options));\n queue.defer(utimes.bind(null, fullPath, this, options));\n queue.await(callback);\n return;\n } catch (err) {\n callback(err);\n return;\n }\n }\n\n return new Promise((resolve, reject) => {\n this.create(dest, options, (err?: Error, done?: boolean) => (err ? reject(err) : resolve(done)));\n });\n }\n\n destroy() {}\n}\n"],"names":["DirectoryEntry","MANDATORY_ATTRIBUTES","attributes","validateAttributes","objectAssign","type","undefined","basename","path","create","dest","options","callback","normalizedPath","normalize","fullPath","join","stripPath","queue","Queue","defer","mkdirp","bind","waitForAccess","chmod","chown","utimes","await","err","Promise","resolve","reject","done","destroy"],"mappings":";;;;;;;eAgBqBA;;;oEAhBF;2DACF;8DACC;8DACA;8DACA;+DACC;uBACU;kEACP;2EACS;sEACL;;;;;;;;;;;AAE1B,IAAMC,uBAAuB;IAAC;IAAQ;IAAS;CAAO;AAKvC,IAAA,AAAMD,+BAAN;;aAAMA,eAOPE,UAA+B;gCAPxBF;QAQjBG,IAAAA,6BAAkB,EAACD,YAAYD;QAC/BG,IAAAA,qBAAY,EAAC,IAAI,EAAEF;QACnB,IAAI,IAAI,CAACG,IAAI,KAAKC,WAAW,IAAI,CAACD,IAAI,GAAG;QACzC,IAAI,IAAI,CAACE,QAAQ,KAAKD,WAAW,IAAI,CAACC,QAAQ,GAAGC,aAAI,CAACD,QAAQ,CAAC,IAAI,CAACC,IAAI;;iBAXvDR;IAiBnBS,OAAAA,MA2BC,GA3BDA,SAAAA,OAAOC,IAAY,EAAEC,OAA0C,EAAEC,QAA0B;;QACzFA,WAAW,OAAOD,YAAY,aAAaA,UAAUC;QACrDD,UAAU,OAAOA,YAAY,aAAa,CAAC,IAAMA,WAAW,CAAC;QAE7D,IAAI,OAAOC,aAAa,YAAY;YAClC,IAAI;gBACF,IAAMC,iBAAiBL,aAAI,CAACM,SAAS,CAAC,IAAI,CAACN,IAAI;gBAC/C,IAAMO,WAAWP,aAAI,CAACQ,IAAI,CAACN,MAAMO,IAAAA,oBAAS,EAACJ,gBAAgBF;gBAE3D,iFAAiF;gBACjF,IAAMO,QAAQ,IAAIC,gBAAK,CAAC;gBACxBD,MAAME,KAAK,CAACC,sBAAM,CAACC,IAAI,CAAC,MAAMP;gBAC9BG,MAAME,KAAK,CAACG,wBAAa,CAACD,IAAI,CAAC,MAAMP;gBACrCG,MAAME,KAAK,CAACI,gBAAK,CAACF,IAAI,CAAC,MAAMP,UAAU,IAAI,EAAEJ;gBAC7CO,MAAME,KAAK,CAACK,gBAAK,CAACH,IAAI,CAAC,MAAMP,UAAU,IAAI,EAAEJ;gBAC7CO,MAAME,KAAK,CAACM,iBAAM,CAACJ,IAAI,CAAC,MAAMP,UAAU,IAAI,EAAEJ;gBAC9CO,MAAMS,KAAK,CAACf;gBACZ;YACF,EAAE,OAAOgB,KAAK;gBACZhB,SAASgB;gBACT;YACF;QACF;QAEA,OAAO,IAAIC,QAAQ,SAACC,SAASC;YAC3B,MAAKtB,MAAM,CAACC,MAAMC,SAAS,SAACiB,KAAaI;uBAAoBJ,MAAMG,OAAOH,OAAOE,QAAQE;;QAC3F;IACF;IAEAC,OAAAA,OAAY,GAAZA,SAAAA,WAAW;WA9CQjC"}
@@ -48,14 +48,14 @@ var FileEntry = /*#__PURE__*/ function() {
48
48
  var _proto = FileEntry.prototype;
49
49
  _proto.create = function create(dest, options, callback) {
50
50
  var _this = this;
51
- var actualOptions = typeof options === 'function' ? {} : options || {};
52
- var actualCallback = typeof options === 'function' ? options : callback;
53
- if (typeof actualCallback === 'function') {
51
+ callback = typeof options === 'function' ? options : callback;
52
+ options = typeof options === 'function' ? {} : options || {};
53
+ if (typeof callback === 'function') {
54
54
  try {
55
55
  var normalizedPath = _path.default.normalize(this.path);
56
- var fullPath = _path.default.join(dest, (0, _stripPathts.default)(normalizedPath, actualOptions));
56
+ var fullPath = _path.default.join(dest, (0, _stripPathts.default)(normalizedPath, options));
57
57
  var queue = new _queuecb.default(1);
58
- if (actualOptions.force) {
58
+ if (options.force) {
59
59
  queue.defer(function(callback) {
60
60
  (0, _fsremovecompat.rm)(fullPath, function(err) {
61
61
  err && err.code !== 'ENOENT' ? callback(err) : callback();
@@ -92,7 +92,7 @@ var FileEntry = /*#__PURE__*/ function() {
92
92
  }
93
93
  }
94
94
  return new Promise(function(resolve, reject) {
95
- _this.create(dest, actualOptions, function(err, done) {
95
+ _this.create(dest, options, function(err, done) {
96
96
  return err ? reject(err) : resolve(done);
97
97
  });
98
98
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/FileEntry.ts"],"sourcesContent":["import fs from 'fs';\nimport { rm } from 'fs-remove-compat';\nimport mkdirp from 'mkdirp-classic';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport chmod from './fs/chmod.ts';\nimport chown from './fs/chown.ts';\nimport utimes from './fs/utimes.ts';\nimport { objectAssign } from './shared/index.ts';\nimport stripPath from './shared/stripPath.ts';\nimport validateAttributes from './validateAttributes.ts';\nimport waitForAccess from './waitForAccess.ts';\n\nconst MANDATORY_ATTRIBUTES = ['mode', 'mtime', 'path'];\n\nimport type { Mode } from 'fs';\nimport type { ExtractOptions, FileAttributes, NoParamCallback, WriteFileFn } from './types.ts';\n\ninterface AbstractFileEntry {\n _writeFile: WriteFileFn;\n}\n\nexport default class FileEntry {\n mode: Mode;\n mtime: number;\n path: string;\n basename: string;\n type: string;\n\n constructor(attributes: FileAttributes) {\n validateAttributes(attributes, MANDATORY_ATTRIBUTES);\n objectAssign(this, attributes);\n if (this.basename === undefined) this.basename = path.basename(this.path);\n if (this.type === undefined) this.type = 'file';\n if ((this as unknown as AbstractFileEntry)._writeFile === undefined) throw new Error('File this missing _writeFile. Please implement this method in your subclass');\n }\n\n create(dest: string, callback: NoParamCallback): void;\n create(dest: string, options: ExtractOptions, callback: NoParamCallback): void;\n create(dest: string, options?: ExtractOptions): Promise<boolean>;\n create(dest: string, options?: ExtractOptions | NoParamCallback, callback?: NoParamCallback): void | Promise<boolean> {\n const actualOptions = typeof options === 'function' ? {} : options || ({} as ExtractOptions);\n const actualCallback = typeof options === 'function' ? options : callback;\n\n if (typeof actualCallback === 'function') {\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, actualOptions));\n\n const queue = new Queue(1);\n if (actualOptions.force) {\n queue.defer((callback) => {\n rm(fullPath, (err) => {\n err && err.code !== 'ENOENT' ? callback(err) : callback();\n });\n });\n } else {\n // Check if file exists - throw EEXIST if it does\n queue.defer((callback) => {\n fs.stat(fullPath, (err) => {\n if (!err) {\n const existsErr = new Error(`EEXIST: file already exists, open '${fullPath}'`) as NodeJS.ErrnoException;\n existsErr.code = 'EEXIST';\n existsErr.path = fullPath;\n return callback(existsErr);\n }\n // ENOENT means file doesn't exist - that's what we want\n if (err.code === 'ENOENT') return callback();\n // Other errors should be reported\n callback(err);\n });\n });\n }\n queue.defer(mkdirp.bind(null, path.dirname(fullPath)));\n queue.defer((this as unknown as AbstractFileEntry)._writeFile.bind(this, fullPath, options));\n queue.defer(waitForAccess.bind(null, fullPath));\n queue.defer(chmod.bind(null, fullPath, this, options));\n queue.defer(chown.bind(null, fullPath, this, options));\n queue.defer(utimes.bind(null, fullPath, this, options));\n queue.await(callback);\n return;\n } catch (err) {\n callback(err);\n return;\n }\n }\n\n return new Promise((resolve, reject) => {\n this.create(dest, actualOptions, (err?: Error, done?: boolean) => (err ? reject(err) : resolve(done)));\n });\n }\n\n destroy() {}\n}\n"],"names":["FileEntry","MANDATORY_ATTRIBUTES","attributes","validateAttributes","objectAssign","basename","undefined","path","type","_writeFile","Error","create","dest","options","callback","actualOptions","actualCallback","normalizedPath","normalize","fullPath","join","stripPath","queue","Queue","force","defer","rm","err","code","fs","stat","existsErr","mkdirp","bind","dirname","waitForAccess","chmod","chown","utimes","await","Promise","resolve","reject","done","destroy"],"mappings":"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"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/FileEntry.ts"],"sourcesContent":["import fs from 'fs';\nimport { rm } from 'fs-remove-compat';\nimport mkdirp from 'mkdirp-classic';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport chmod from './fs/chmod.ts';\nimport chown from './fs/chown.ts';\nimport utimes from './fs/utimes.ts';\nimport { objectAssign } from './shared/index.ts';\nimport stripPath from './shared/stripPath.ts';\nimport validateAttributes from './validateAttributes.ts';\nimport waitForAccess from './waitForAccess.ts';\n\nconst MANDATORY_ATTRIBUTES = ['mode', 'mtime', 'path'];\n\nimport type { Mode } from 'fs';\nimport type { ExtractOptions, FileAttributes, NoParamCallback, WriteFileFn } from './types.ts';\n\ninterface AbstractFileEntry {\n _writeFile: WriteFileFn;\n}\n\nexport default class FileEntry {\n mode: Mode;\n mtime: number;\n path: string;\n basename: string;\n type: string;\n\n constructor(attributes: FileAttributes) {\n validateAttributes(attributes, MANDATORY_ATTRIBUTES);\n objectAssign(this, attributes);\n if (this.basename === undefined) this.basename = path.basename(this.path);\n if (this.type === undefined) this.type = 'file';\n if ((this as unknown as AbstractFileEntry)._writeFile === undefined) throw new Error('File this missing _writeFile. Please implement this method in your subclass');\n }\n\n create(dest: string, callback: NoParamCallback): void;\n create(dest: string, options: ExtractOptions, callback: NoParamCallback): void;\n create(dest: string, options?: ExtractOptions): Promise<boolean>;\n create(dest: string, options?: ExtractOptions | NoParamCallback, callback?: NoParamCallback): void | Promise<boolean> {\n callback = typeof options === 'function' ? options : callback;\n options = typeof options === 'function' ? {} : ((options || {}) as ExtractOptions);\n\n if (typeof callback === 'function') {\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options));\n\n const queue = new Queue(1);\n if (options.force) {\n queue.defer((callback) => {\n rm(fullPath, (err) => {\n err && err.code !== 'ENOENT' ? callback(err) : callback();\n });\n });\n } else {\n // Check if file exists - throw EEXIST if it does\n queue.defer((callback) => {\n fs.stat(fullPath, (err) => {\n if (!err) {\n const existsErr = new Error(`EEXIST: file already exists, open '${fullPath}'`) as NodeJS.ErrnoException;\n existsErr.code = 'EEXIST';\n existsErr.path = fullPath;\n return callback(existsErr);\n }\n // ENOENT means file doesn't exist - that's what we want\n if (err.code === 'ENOENT') return callback();\n // Other errors should be reported\n callback(err);\n });\n });\n }\n queue.defer(mkdirp.bind(null, path.dirname(fullPath)));\n queue.defer((this as unknown as AbstractFileEntry)._writeFile.bind(this, fullPath, options));\n queue.defer(waitForAccess.bind(null, fullPath));\n queue.defer(chmod.bind(null, fullPath, this, options));\n queue.defer(chown.bind(null, fullPath, this, options));\n queue.defer(utimes.bind(null, fullPath, this, options));\n queue.await(callback);\n return;\n } catch (err) {\n callback(err);\n return;\n }\n }\n\n return new Promise((resolve, reject) => {\n this.create(dest, options, (err?: Error, done?: boolean) => (err ? reject(err) : resolve(done)));\n });\n }\n\n destroy() {}\n}\n"],"names":["FileEntry","MANDATORY_ATTRIBUTES","attributes","validateAttributes","objectAssign","basename","undefined","path","type","_writeFile","Error","create","dest","options","callback","normalizedPath","normalize","fullPath","join","stripPath","queue","Queue","force","defer","rm","err","code","fs","stat","existsErr","mkdirp","bind","dirname","waitForAccess","chmod","chown","utimes","await","Promise","resolve","reject","done","destroy"],"mappings":"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"}
@@ -48,16 +48,16 @@ var LinkEntry = /*#__PURE__*/ function() {
48
48
  var _proto = LinkEntry.prototype;
49
49
  _proto.create = function create(dest, options, callback) {
50
50
  var _this = this;
51
- var actualOptions = typeof options === 'function' ? {} : options || {};
52
- var actualCallback = typeof options === 'function' ? options : callback;
53
- if (typeof actualCallback === 'function') {
51
+ callback = typeof options === 'function' ? options : callback;
52
+ options = typeof options === 'function' ? {} : options || {};
53
+ if (typeof callback === 'function') {
54
54
  try {
55
55
  var normalizedPath = _path.default.normalize(this.path);
56
- var fullPath = _path.default.join(dest, (0, _stripPathts.default)(normalizedPath, actualOptions));
56
+ var fullPath = _path.default.join(dest, (0, _stripPathts.default)(normalizedPath, options));
57
57
  var normalizedLinkpath = _path.default.normalize(this.linkpath);
58
- var linkFullPath = _path.default.join(dest, (0, _stripPathts.default)(normalizedLinkpath, actualOptions));
58
+ var linkFullPath = _path.default.join(dest, (0, _stripPathts.default)(normalizedLinkpath, options));
59
59
  var queue = new _queuecb.default(1);
60
- if (actualOptions.force) {
60
+ if (options.force) {
61
61
  queue.defer(function(callback) {
62
62
  (0, _fsremovecompat.rm)(fullPath, function(err) {
63
63
  err && err.code !== 'ENOENT' ? callback(err) : callback();
@@ -78,7 +78,7 @@ var LinkEntry = /*#__PURE__*/ function() {
78
78
  }
79
79
  }
80
80
  return new Promise(function(resolve, reject) {
81
- _this.create(dest, actualOptions, function(err, done) {
81
+ _this.create(dest, options, function(err, done) {
82
82
  return err ? reject(err) : resolve(done);
83
83
  });
84
84
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/LinkEntry.ts"],"sourcesContent":["import { rm } from 'fs-remove-compat';\nimport fs from 'graceful-fs';\nimport mkdirp from 'mkdirp-classic';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport chmod from './fs/chmod.ts';\nimport chown from './fs/chown.ts';\nimport utimes from './fs/utimes.ts';\nimport { objectAssign } from './shared/index.ts';\nimport stripPath from './shared/stripPath.ts';\nimport validateAttributes from './validateAttributes.ts';\nimport waitForAccess from './waitForAccess.ts';\n\nconst MANDATORY_ATTRIBUTES = ['mode', 'mtime', 'path', 'linkpath'];\n\nimport type { Mode } from 'fs';\nimport type { ExtractOptions, LinkAttributes, NoParamCallback } from './types.ts';\n\nexport default class LinkEntry {\n mode: Mode;\n mtime: number;\n path: string;\n linkpath: string;\n basename: string;\n type: string;\n\n constructor(attributes: LinkAttributes) {\n validateAttributes(attributes, MANDATORY_ATTRIBUTES);\n objectAssign(this, attributes);\n if (this.basename === undefined) this.basename = path.basename(this.path);\n if (this.type === undefined) this.type = 'link';\n }\n\n create(dest: string, callback: NoParamCallback): void;\n create(dest: string, options: ExtractOptions, callback: NoParamCallback): void;\n create(dest: string, options?: ExtractOptions): Promise<boolean>;\n create(dest: string, options?: ExtractOptions | NoParamCallback, callback?: NoParamCallback): void | Promise<boolean> {\n const actualOptions = typeof options === 'function' ? {} : options || ({} as ExtractOptions);\n const actualCallback = typeof options === 'function' ? options : callback;\n\n if (typeof actualCallback === 'function') {\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, actualOptions));\n const normalizedLinkpath = path.normalize(this.linkpath);\n const linkFullPath = path.join(dest, stripPath(normalizedLinkpath, actualOptions));\n\n const queue = new Queue(1);\n if (actualOptions.force) {\n queue.defer((callback) => {\n rm(fullPath, (err) => {\n err && err.code !== 'ENOENT' ? callback(err) : callback();\n });\n });\n }\n queue.defer(mkdirp.bind(null, path.dirname(fullPath)));\n queue.defer(fs.link.bind(fs, linkFullPath, fullPath));\n queue.defer(waitForAccess.bind(null, fullPath));\n queue.defer(chmod.bind(null, fullPath, this, options));\n queue.defer(chown.bind(null, fullPath, this, options));\n queue.defer(utimes.bind(null, fullPath, this, options));\n queue.await(callback);\n return;\n } catch (err) {\n callback(err);\n return;\n }\n }\n\n return new Promise((resolve, reject) => {\n this.create(dest, actualOptions, (err?: Error, done?: boolean) => (err ? reject(err) : resolve(done)));\n });\n }\n\n destroy() {}\n}\n"],"names":["LinkEntry","MANDATORY_ATTRIBUTES","attributes","validateAttributes","objectAssign","basename","undefined","path","type","create","dest","options","callback","actualOptions","actualCallback","normalizedPath","normalize","fullPath","join","stripPath","normalizedLinkpath","linkpath","linkFullPath","queue","Queue","force","defer","rm","err","code","mkdirp","bind","dirname","fs","link","waitForAccess","chmod","chown","utimes","await","Promise","resolve","reject","done","destroy"],"mappings":";;;;;;;eAkBqBA;;;8BAlBF;iEACJ;oEACI;2DACF;8DACC;8DACA;8DACA;+DACC;uBACU;kEACP;2EACS;sEACL;;;;;;;;;;;AAE1B,IAAMC,uBAAuB;IAAC;IAAQ;IAAS;IAAQ;CAAW;AAKnD,IAAA,AAAMD,0BAAN;;aAAMA,UAQPE,UAA0B;gCARnBF;QASjBG,IAAAA,6BAAkB,EAACD,YAAYD;QAC/BG,IAAAA,qBAAY,EAAC,IAAI,EAAEF;QACnB,IAAI,IAAI,CAACG,QAAQ,KAAKC,WAAW,IAAI,CAACD,QAAQ,GAAGE,aAAI,CAACF,QAAQ,CAAC,IAAI,CAACE,IAAI;QACxE,IAAI,IAAI,CAACC,IAAI,KAAKF,WAAW,IAAI,CAACE,IAAI,GAAG;;iBAZxBR;IAkBnBS,OAAAA,MAoCC,GApCDA,SAAAA,OAAOC,IAAY,EAAEC,OAA0C,EAAEC,QAA0B;;QACzF,IAAMC,gBAAgB,OAAOF,YAAY,aAAa,CAAC,IAAIA,WAAY,CAAC;QACxE,IAAMG,iBAAiB,OAAOH,YAAY,aAAaA,UAAUC;QAEjE,IAAI,OAAOE,mBAAmB,YAAY;YACxC,IAAI;gBACF,IAAMC,iBAAiBR,aAAI,CAACS,SAAS,CAAC,IAAI,CAACT,IAAI;gBAC/C,IAAMU,WAAWV,aAAI,CAACW,IAAI,CAACR,MAAMS,IAAAA,oBAAS,EAACJ,gBAAgBF;gBAC3D,IAAMO,qBAAqBb,aAAI,CAACS,SAAS,CAAC,IAAI,CAACK,QAAQ;gBACvD,IAAMC,eAAef,aAAI,CAACW,IAAI,CAACR,MAAMS,IAAAA,oBAAS,EAACC,oBAAoBP;gBAEnE,IAAMU,QAAQ,IAAIC,gBAAK,CAAC;gBACxB,IAAIX,cAAcY,KAAK,EAAE;oBACvBF,MAAMG,KAAK,CAAC,SAACd;wBACXe,IAAAA,kBAAE,EAACV,UAAU,SAACW;4BACZA,OAAOA,IAAIC,IAAI,KAAK,WAAWjB,SAASgB,OAAOhB;wBACjD;oBACF;gBACF;gBACAW,MAAMG,KAAK,CAACI,sBAAM,CAACC,IAAI,CAAC,MAAMxB,aAAI,CAACyB,OAAO,CAACf;gBAC3CM,MAAMG,KAAK,CAACO,mBAAE,CAACC,IAAI,CAACH,IAAI,CAACE,mBAAE,EAAEX,cAAcL;gBAC3CM,MAAMG,KAAK,CAACS,wBAAa,CAACJ,IAAI,CAAC,MAAMd;gBACrCM,MAAMG,KAAK,CAACU,gBAAK,CAACL,IAAI,CAAC,MAAMd,UAAU,IAAI,EAAEN;gBAC7CY,MAAMG,KAAK,CAACW,gBAAK,CAACN,IAAI,CAAC,MAAMd,UAAU,IAAI,EAAEN;gBAC7CY,MAAMG,KAAK,CAACY,iBAAM,CAACP,IAAI,CAAC,MAAMd,UAAU,IAAI,EAAEN;gBAC9CY,MAAMgB,KAAK,CAAC3B;gBACZ;YACF,EAAE,OAAOgB,KAAK;gBACZhB,SAASgB;gBACT;YACF;QACF;QAEA,OAAO,IAAIY,QAAQ,SAACC,SAASC;YAC3B,MAAKjC,MAAM,CAACC,MAAMG,eAAe,SAACe,KAAae;uBAAoBf,MAAMc,OAAOd,OAAOa,QAAQE;;QACjG;IACF;IAEAC,OAAAA,OAAY,GAAZA,SAAAA,WAAW;WAxDQ5C"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/LinkEntry.ts"],"sourcesContent":["import { rm } from 'fs-remove-compat';\nimport fs from 'graceful-fs';\nimport mkdirp from 'mkdirp-classic';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport chmod from './fs/chmod.ts';\nimport chown from './fs/chown.ts';\nimport utimes from './fs/utimes.ts';\nimport { objectAssign } from './shared/index.ts';\nimport stripPath from './shared/stripPath.ts';\nimport validateAttributes from './validateAttributes.ts';\nimport waitForAccess from './waitForAccess.ts';\n\nconst MANDATORY_ATTRIBUTES = ['mode', 'mtime', 'path', 'linkpath'];\n\nimport type { Mode } from 'fs';\nimport type { ExtractOptions, LinkAttributes, NoParamCallback } from './types.ts';\n\nexport default class LinkEntry {\n mode: Mode;\n mtime: number;\n path: string;\n linkpath: string;\n basename: string;\n type: string;\n\n constructor(attributes: LinkAttributes) {\n validateAttributes(attributes, MANDATORY_ATTRIBUTES);\n objectAssign(this, attributes);\n if (this.basename === undefined) this.basename = path.basename(this.path);\n if (this.type === undefined) this.type = 'link';\n }\n\n create(dest: string, callback: NoParamCallback): void;\n create(dest: string, options: ExtractOptions, callback: NoParamCallback): void;\n create(dest: string, options?: ExtractOptions): Promise<boolean>;\n create(dest: string, options?: ExtractOptions | NoParamCallback, callback?: NoParamCallback): void | Promise<boolean> {\n callback = typeof options === 'function' ? options : callback;\n options = typeof options === 'function' ? {} : ((options || {}) as ExtractOptions);\n\n if (typeof callback === 'function') {\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options));\n const normalizedLinkpath = path.normalize(this.linkpath);\n const linkFullPath = path.join(dest, stripPath(normalizedLinkpath, options));\n\n const queue = new Queue(1);\n if (options.force) {\n queue.defer((callback) => {\n rm(fullPath, (err) => {\n err && err.code !== 'ENOENT' ? callback(err) : callback();\n });\n });\n }\n queue.defer(mkdirp.bind(null, path.dirname(fullPath)));\n queue.defer(fs.link.bind(fs, linkFullPath, fullPath));\n queue.defer(waitForAccess.bind(null, fullPath));\n queue.defer(chmod.bind(null, fullPath, this, options));\n queue.defer(chown.bind(null, fullPath, this, options));\n queue.defer(utimes.bind(null, fullPath, this, options));\n queue.await(callback);\n return;\n } catch (err) {\n callback(err);\n return;\n }\n }\n\n return new Promise((resolve, reject) => {\n this.create(dest, options, (err?: Error, done?: boolean) => (err ? reject(err) : resolve(done)));\n });\n }\n\n destroy() {}\n}\n"],"names":["LinkEntry","MANDATORY_ATTRIBUTES","attributes","validateAttributes","objectAssign","basename","undefined","path","type","create","dest","options","callback","normalizedPath","normalize","fullPath","join","stripPath","normalizedLinkpath","linkpath","linkFullPath","queue","Queue","force","defer","rm","err","code","mkdirp","bind","dirname","fs","link","waitForAccess","chmod","chown","utimes","await","Promise","resolve","reject","done","destroy"],"mappings":";;;;;;;eAkBqBA;;;8BAlBF;iEACJ;oEACI;2DACF;8DACC;8DACA;8DACA;+DACC;uBACU;kEACP;2EACS;sEACL;;;;;;;;;;;AAE1B,IAAMC,uBAAuB;IAAC;IAAQ;IAAS;IAAQ;CAAW;AAKnD,IAAA,AAAMD,0BAAN;;aAAMA,UAQPE,UAA0B;gCARnBF;QASjBG,IAAAA,6BAAkB,EAACD,YAAYD;QAC/BG,IAAAA,qBAAY,EAAC,IAAI,EAAEF;QACnB,IAAI,IAAI,CAACG,QAAQ,KAAKC,WAAW,IAAI,CAACD,QAAQ,GAAGE,aAAI,CAACF,QAAQ,CAAC,IAAI,CAACE,IAAI;QACxE,IAAI,IAAI,CAACC,IAAI,KAAKF,WAAW,IAAI,CAACE,IAAI,GAAG;;iBAZxBR;IAkBnBS,OAAAA,MAoCC,GApCDA,SAAAA,OAAOC,IAAY,EAAEC,OAA0C,EAAEC,QAA0B;;QACzFA,WAAW,OAAOD,YAAY,aAAaA,UAAUC;QACrDD,UAAU,OAAOA,YAAY,aAAa,CAAC,IAAMA,WAAW,CAAC;QAE7D,IAAI,OAAOC,aAAa,YAAY;YAClC,IAAI;gBACF,IAAMC,iBAAiBN,aAAI,CAACO,SAAS,CAAC,IAAI,CAACP,IAAI;gBAC/C,IAAMQ,WAAWR,aAAI,CAACS,IAAI,CAACN,MAAMO,IAAAA,oBAAS,EAACJ,gBAAgBF;gBAC3D,IAAMO,qBAAqBX,aAAI,CAACO,SAAS,CAAC,IAAI,CAACK,QAAQ;gBACvD,IAAMC,eAAeb,aAAI,CAACS,IAAI,CAACN,MAAMO,IAAAA,oBAAS,EAACC,oBAAoBP;gBAEnE,IAAMU,QAAQ,IAAIC,gBAAK,CAAC;gBACxB,IAAIX,QAAQY,KAAK,EAAE;oBACjBF,MAAMG,KAAK,CAAC,SAACZ;wBACXa,IAAAA,kBAAE,EAACV,UAAU,SAACW;4BACZA,OAAOA,IAAIC,IAAI,KAAK,WAAWf,SAASc,OAAOd;wBACjD;oBACF;gBACF;gBACAS,MAAMG,KAAK,CAACI,sBAAM,CAACC,IAAI,CAAC,MAAMtB,aAAI,CAACuB,OAAO,CAACf;gBAC3CM,MAAMG,KAAK,CAACO,mBAAE,CAACC,IAAI,CAACH,IAAI,CAACE,mBAAE,EAAEX,cAAcL;gBAC3CM,MAAMG,KAAK,CAACS,wBAAa,CAACJ,IAAI,CAAC,MAAMd;gBACrCM,MAAMG,KAAK,CAACU,gBAAK,CAACL,IAAI,CAAC,MAAMd,UAAU,IAAI,EAAEJ;gBAC7CU,MAAMG,KAAK,CAACW,gBAAK,CAACN,IAAI,CAAC,MAAMd,UAAU,IAAI,EAAEJ;gBAC7CU,MAAMG,KAAK,CAACY,iBAAM,CAACP,IAAI,CAAC,MAAMd,UAAU,IAAI,EAAEJ;gBAC9CU,MAAMgB,KAAK,CAACzB;gBACZ;YACF,EAAE,OAAOc,KAAK;gBACZd,SAASc;gBACT;YACF;QACF;QAEA,OAAO,IAAIY,QAAQ,SAACC,SAASC;YAC3B,MAAK/B,MAAM,CAACC,MAAMC,SAAS,SAACe,KAAae;uBAAoBf,MAAMc,OAAOd,OAAOa,QAAQE;;QAC3F;IACF;IAEAC,OAAAA,OAAY,GAAZA,SAAAA,WAAW;WAxDQ1C"}
@@ -51,21 +51,21 @@ var SymbolicLinkEntry = /*#__PURE__*/ function() {
51
51
  var _proto = SymbolicLinkEntry.prototype;
52
52
  _proto.create = function create(dest, options, callback) {
53
53
  var _this = this;
54
- var actualOptions = typeof options === 'function' ? {} : options || {};
55
- var actualCallback = typeof options === 'function' ? options : callback;
56
- if (typeof actualCallback === 'function') {
54
+ callback = typeof options === 'function' ? options : callback;
55
+ options = typeof options === 'function' ? {} : options || {};
56
+ if (typeof callback === 'function') {
57
57
  try {
58
58
  var normalizedPath = _path.default.normalize(this.path);
59
- var fullPath = _path.default.join(dest, (0, _stripPathts.default)(normalizedPath, actualOptions));
59
+ var fullPath = _path.default.join(dest, (0, _stripPathts.default)(normalizedPath, options));
60
60
  var normalizedLinkpath = _path.default.normalize(this.linkpath);
61
- var linkFullPath = _path.default.join(dest, (0, _stripPathts.default)(normalizedLinkpath, actualOptions));
61
+ var linkFullPath = _path.default.join(dest, (0, _stripPathts.default)(normalizedLinkpath, options));
62
62
  if (!(0, _isabsolute.default)(normalizedLinkpath)) {
63
63
  var linkRelativePath = _path.default.join(_path.default.dirname(normalizedPath), this.linkpath);
64
- linkFullPath = _path.default.join(dest, (0, _stripPathts.default)(linkRelativePath, actualOptions));
64
+ linkFullPath = _path.default.join(dest, (0, _stripPathts.default)(linkRelativePath, options));
65
65
  normalizedLinkpath = _path.default.relative(_path.default.dirname(fullPath), linkFullPath);
66
66
  }
67
67
  var queue = new _queuecb.default(1);
68
- if (actualOptions.force) {
68
+ if (options.force) {
69
69
  queue.defer(function(callback) {
70
70
  (0, _fsremovecompat.rm)(fullPath, function(err) {
71
71
  err && err.code !== 'ENOENT' ? callback(err) : callback();
@@ -87,7 +87,7 @@ var SymbolicLinkEntry = /*#__PURE__*/ function() {
87
87
  }
88
88
  }
89
89
  return new Promise(function(resolve, reject) {
90
- _this.create(dest, actualOptions, function(err, done) {
90
+ _this.create(dest, options, function(err, done) {
91
91
  return err ? reject(err) : resolve(done);
92
92
  });
93
93
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/SymbolicLinkEntry.ts"],"sourcesContent":["import { rm } from 'fs-remove-compat';\nimport fs from 'graceful-fs';\nimport isAbsolute from 'is-absolute';\nimport mkdirp from 'mkdirp-classic';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport chmod from './fs/chmod.ts';\nimport chown from './fs/chown.ts';\nimport lutimes from './fs/lutimes.ts';\nimport symlinkWin32 from './fs/symlinkWin32.ts';\nimport { objectAssign } from './shared/index.ts';\nimport stripPath from './shared/stripPath.ts';\nimport validateAttributes from './validateAttributes.ts';\nimport waitForAccess from './waitForAccess.ts';\n\nconst isWindows = process.platform === 'win32' || /^(msys|cygwin)$/.test(process.env.OSTYPE);\n\nconst MANDATORY_ATTRIBUTES = ['mode', 'mtime', 'path', 'linkpath'];\n\nimport type { Mode } from 'fs';\nimport type { ExtractOptions, LinkAttributes, NoParamCallback } from './types.ts';\n\nexport default class SymbolicLinkEntry {\n mode: Mode;\n mtime: number;\n path: string;\n linkpath: string;\n basename: string;\n type: string;\n\n constructor(attributes: LinkAttributes) {\n validateAttributes(attributes, MANDATORY_ATTRIBUTES);\n objectAssign(this, attributes);\n if (this.basename === undefined) this.basename = path.basename(this.path);\n if (this.type === undefined) this.type = 'symlink';\n }\n\n create(dest: string, callback: NoParamCallback): void;\n create(dest: string, options: ExtractOptions, callback: NoParamCallback): void;\n create(dest: string, options?: ExtractOptions): Promise<boolean>;\n create(dest: string, options?: ExtractOptions | NoParamCallback, callback?: NoParamCallback): void | Promise<boolean> {\n const actualOptions = typeof options === 'function' ? {} : options || ({} as ExtractOptions);\n const actualCallback = typeof options === 'function' ? options : callback;\n\n if (typeof actualCallback === 'function') {\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, actualOptions));\n let normalizedLinkpath = path.normalize(this.linkpath);\n let linkFullPath = path.join(dest, stripPath(normalizedLinkpath, actualOptions));\n if (!isAbsolute(normalizedLinkpath)) {\n const linkRelativePath = path.join(path.dirname(normalizedPath), this.linkpath);\n linkFullPath = path.join(dest, stripPath(linkRelativePath, actualOptions));\n normalizedLinkpath = path.relative(path.dirname(fullPath), linkFullPath);\n }\n\n const queue = new Queue(1);\n if (actualOptions.force) {\n queue.defer((callback) => {\n rm(fullPath, (err) => {\n err && err.code !== 'ENOENT' ? callback(err) : callback();\n });\n });\n }\n queue.defer(mkdirp.bind(null, path.dirname(fullPath)));\n if (isWindows) queue.defer(symlinkWin32.bind(null, linkFullPath, normalizedLinkpath, fullPath));\n else queue.defer(fs.symlink.bind(fs, normalizedLinkpath, fullPath));\n queue.defer(waitForAccess.bind(null, fullPath, true)); // noFollow=true for symlinks\n queue.defer(chmod.bind(null, fullPath, this, options));\n queue.defer(chown.bind(null, fullPath, this, options));\n queue.defer(lutimes.bind(null, fullPath, this, options));\n queue.await(callback);\n return;\n } catch (err) {\n callback(err);\n return;\n }\n }\n\n return new Promise((resolve, reject) => {\n this.create(dest, actualOptions, (err?: Error, done?: boolean) => (err ? reject(err) : resolve(done)));\n });\n }\n\n destroy() {}\n}\n"],"names":["SymbolicLinkEntry","isWindows","process","platform","test","env","OSTYPE","MANDATORY_ATTRIBUTES","attributes","validateAttributes","objectAssign","basename","undefined","path","type","create","dest","options","callback","actualOptions","actualCallback","normalizedPath","normalize","fullPath","join","stripPath","normalizedLinkpath","linkpath","linkFullPath","isAbsolute","linkRelativePath","dirname","relative","queue","Queue","force","defer","rm","err","code","mkdirp","bind","symlinkWin32","fs","symlink","waitForAccess","chmod","chown","lutimes","await","Promise","resolve","reject","done","destroy"],"mappings":"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"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/SymbolicLinkEntry.ts"],"sourcesContent":["import { rm } from 'fs-remove-compat';\nimport fs from 'graceful-fs';\nimport isAbsolute from 'is-absolute';\nimport mkdirp from 'mkdirp-classic';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport chmod from './fs/chmod.ts';\nimport chown from './fs/chown.ts';\nimport lutimes from './fs/lutimes.ts';\nimport symlinkWin32 from './fs/symlinkWin32.ts';\nimport { objectAssign } from './shared/index.ts';\nimport stripPath from './shared/stripPath.ts';\nimport validateAttributes from './validateAttributes.ts';\nimport waitForAccess from './waitForAccess.ts';\n\nconst isWindows = process.platform === 'win32' || /^(msys|cygwin)$/.test(process.env.OSTYPE);\n\nconst MANDATORY_ATTRIBUTES = ['mode', 'mtime', 'path', 'linkpath'];\n\nimport type { Mode } from 'fs';\nimport type { ExtractOptions, LinkAttributes, NoParamCallback } from './types.ts';\n\nexport default class SymbolicLinkEntry {\n mode: Mode;\n mtime: number;\n path: string;\n linkpath: string;\n basename: string;\n type: string;\n\n constructor(attributes: LinkAttributes) {\n validateAttributes(attributes, MANDATORY_ATTRIBUTES);\n objectAssign(this, attributes);\n if (this.basename === undefined) this.basename = path.basename(this.path);\n if (this.type === undefined) this.type = 'symlink';\n }\n\n create(dest: string, callback: NoParamCallback): void;\n create(dest: string, options: ExtractOptions, callback: NoParamCallback): void;\n create(dest: string, options?: ExtractOptions): Promise<boolean>;\n create(dest: string, options?: ExtractOptions | NoParamCallback, callback?: NoParamCallback): void | Promise<boolean> {\n callback = typeof options === 'function' ? options : callback;\n options = typeof options === 'function' ? {} : ((options || {}) as ExtractOptions);\n\n if (typeof callback === 'function') {\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options));\n let normalizedLinkpath = path.normalize(this.linkpath);\n let linkFullPath = path.join(dest, stripPath(normalizedLinkpath, options));\n if (!isAbsolute(normalizedLinkpath)) {\n const linkRelativePath = path.join(path.dirname(normalizedPath), this.linkpath);\n linkFullPath = path.join(dest, stripPath(linkRelativePath, options));\n normalizedLinkpath = path.relative(path.dirname(fullPath), linkFullPath);\n }\n\n const queue = new Queue(1);\n if (options.force) {\n queue.defer((callback) => {\n rm(fullPath, (err) => {\n err && err.code !== 'ENOENT' ? callback(err) : callback();\n });\n });\n }\n queue.defer(mkdirp.bind(null, path.dirname(fullPath)));\n if (isWindows) queue.defer(symlinkWin32.bind(null, linkFullPath, normalizedLinkpath, fullPath));\n else queue.defer(fs.symlink.bind(fs, normalizedLinkpath, fullPath));\n queue.defer(waitForAccess.bind(null, fullPath, true)); // noFollow=true for symlinks\n queue.defer(chmod.bind(null, fullPath, this, options));\n queue.defer(chown.bind(null, fullPath, this, options));\n queue.defer(lutimes.bind(null, fullPath, this, options));\n queue.await(callback);\n return;\n } catch (err) {\n callback(err);\n return;\n }\n }\n\n return new Promise((resolve, reject) => {\n this.create(dest, options, (err?: Error, done?: boolean) => (err ? reject(err) : resolve(done)));\n });\n }\n\n destroy() {}\n}\n"],"names":["SymbolicLinkEntry","isWindows","process","platform","test","env","OSTYPE","MANDATORY_ATTRIBUTES","attributes","validateAttributes","objectAssign","basename","undefined","path","type","create","dest","options","callback","normalizedPath","normalize","fullPath","join","stripPath","normalizedLinkpath","linkpath","linkFullPath","isAbsolute","linkRelativePath","dirname","relative","queue","Queue","force","defer","rm","err","code","mkdirp","bind","symlinkWin32","fs","symlink","waitForAccess","chmod","chown","lutimes","await","Promise","resolve","reject","done","destroy"],"mappings":"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"}
@@ -10,7 +10,7 @@
10
10
  * All utilities support Node.js 0.8+
11
11
  */
12
12
  export { default as BufferList } from './BufferList.js';
13
- export { allocBuffer, allocBufferUnsafe, bufferCompare, bufferConcat, bufferEquals, bufferFrom, bufferSliceCopy, createInflateRawStream, inflateRaw, isNaN, objectAssign, PassThrough, readUInt64LE, Transform, writeUInt64LE, } from './compat.js';
13
+ export { allocBuffer, allocBufferUnsafe, bufferCompare, bufferConcat, bufferEquals, bufferFrom, bufferSliceCopy, createInflateRawStream, inflateRaw, isNaN, objectAssign, PassThrough, Readable, readUInt64LE, Transform, Writable, writeUInt64LE, } from './compat.js';
14
14
  export { crc32, crc32Region, verifyCrc32, verifyCrc32Region } from './crc32.js';
15
15
  export { default as EntryStream } from './EntryStream.js';
16
16
  export { type CleanupFn, default as Lock } from './Lock.js';
@@ -10,7 +10,7 @@
10
10
  * All utilities support Node.js 0.8+
11
11
  */
12
12
  export { default as BufferList } from './BufferList.js';
13
- export { allocBuffer, allocBufferUnsafe, bufferCompare, bufferConcat, bufferEquals, bufferFrom, bufferSliceCopy, createInflateRawStream, inflateRaw, isNaN, objectAssign, PassThrough, readUInt64LE, Transform, writeUInt64LE, } from './compat.js';
13
+ export { allocBuffer, allocBufferUnsafe, bufferCompare, bufferConcat, bufferEquals, bufferFrom, bufferSliceCopy, createInflateRawStream, inflateRaw, isNaN, objectAssign, PassThrough, Readable, readUInt64LE, Transform, Writable, writeUInt64LE, } from './compat.js';
14
14
  export { crc32, crc32Region, verifyCrc32, verifyCrc32Region } from './crc32.js';
15
15
  export { default as EntryStream } from './EntryStream.js';
16
16
  export { type CleanupFn, default as Lock } from './Lock.js';
@@ -31,9 +31,15 @@ _export(exports, {
31
31
  get PassThrough () {
32
32
  return _compatts.PassThrough;
33
33
  },
34
+ get Readable () {
35
+ return _compatts.Readable;
36
+ },
34
37
  get Transform () {
35
38
  return _compatts.Transform;
36
39
  },
40
+ get Writable () {
41
+ return _compatts.Writable;
42
+ },
37
43
  get allocBuffer () {
38
44
  return _compatts.allocBuffer;
39
45
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/shared/index.ts"],"sourcesContent":["/**\n * Shared utilities for iterator libraries\n *\n * These utilities are designed to be used by:\n * - zip-iterator\n * - 7z-iterator\n * - tar-iterator\n * - Any other archive iterator library\n *\n * All utilities support Node.js 0.8+\n */\n\nexport { default as BufferList } from './BufferList.ts';\nexport {\n allocBuffer,\n allocBufferUnsafe,\n bufferCompare,\n bufferConcat,\n bufferEquals,\n bufferFrom,\n bufferSliceCopy,\n createInflateRawStream,\n inflateRaw,\n isNaN,\n objectAssign,\n PassThrough,\n readUInt64LE,\n Transform,\n writeUInt64LE,\n} from './compat.ts';\nexport { crc32, crc32Region, verifyCrc32, verifyCrc32Region } from './crc32.ts';\nexport { default as EntryStream } from './EntryStream.ts';\nexport { type CleanupFn, default as Lock } from './Lock.ts';\nexport { default as normalizePath } from './normalizePath.ts';\nexport { default as streamToString, type StreamToStringCallback } from './streamToString.ts';\nexport { default as stripPath } from './stripPath.ts';\n"],"names":["BufferList","EntryStream","Lock","PassThrough","Transform","allocBuffer","allocBufferUnsafe","bufferCompare","bufferConcat","bufferEquals","bufferFrom","bufferSliceCopy","crc32","crc32Region","createInflateRawStream","inflateRaw","isNaN","normalizePath","objectAssign","readUInt64LE","streamToString","stripPath","verifyCrc32","verifyCrc32Region","writeUInt64LE"],"mappings":"AAAA;;;;;;;;;;CAUC;;;;;;;;;;;QAEmBA;eAAAA,qBAAU;;QAmBVC;eAAAA,sBAAW;;QACKC;eAAAA,eAAI;;QAPtCC;eAAAA,qBAAW;;QAEXC;eAAAA,mBAAS;;QAbTC;eAAAA,qBAAW;;QACXC;eAAAA,2BAAiB;;QACjBC;eAAAA,uBAAa;;QACbC;eAAAA,sBAAY;;QACZC;eAAAA,sBAAY;;QACZC;eAAAA,oBAAU;;QACVC;eAAAA,yBAAe;;QAURC;eAAAA,cAAK;;QAAEC;eAAAA,oBAAW;;QATzBC;eAAAA,gCAAsB;;QACtBC;eAAAA,oBAAU;;QACVC;eAAAA,eAAK;;QAUaC;eAAAA,wBAAa;;QAT/BC;eAAAA,sBAAY;;QAEZC;eAAAA,sBAAY;;QAQMC;eAAAA,yBAAc;;QACdC;eAAAA,oBAAS;;QALAC;eAAAA,oBAAW;;QAAEC;eAAAA,0BAAiB;;QAFzDC;eAAAA,uBAAa;;;mEAhBuB;wBAiB/B;uBAC4D;oEAC5B;6DACS;sEACP;uEAC8B;kEAClC"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/shared/index.ts"],"sourcesContent":["/**\n * Shared utilities for iterator libraries\n *\n * These utilities are designed to be used by:\n * - zip-iterator\n * - 7z-iterator\n * - tar-iterator\n * - Any other archive iterator library\n *\n * All utilities support Node.js 0.8+\n */\n\nexport { default as BufferList } from './BufferList.ts';\nexport {\n allocBuffer,\n allocBufferUnsafe,\n bufferCompare,\n bufferConcat,\n bufferEquals,\n bufferFrom,\n bufferSliceCopy,\n createInflateRawStream,\n inflateRaw,\n isNaN,\n objectAssign,\n PassThrough,\n Readable,\n readUInt64LE,\n Transform,\n Writable,\n writeUInt64LE,\n} from './compat.ts';\nexport { crc32, crc32Region, verifyCrc32, verifyCrc32Region } from './crc32.ts';\nexport { default as EntryStream } from './EntryStream.ts';\nexport { type CleanupFn, default as Lock } from './Lock.ts';\nexport { default as normalizePath } from './normalizePath.ts';\nexport { default as streamToString, type StreamToStringCallback } from './streamToString.ts';\nexport { default as stripPath } from './stripPath.ts';\n"],"names":["BufferList","EntryStream","Lock","PassThrough","Readable","Transform","Writable","allocBuffer","allocBufferUnsafe","bufferCompare","bufferConcat","bufferEquals","bufferFrom","bufferSliceCopy","crc32","crc32Region","createInflateRawStream","inflateRaw","isNaN","normalizePath","objectAssign","readUInt64LE","streamToString","stripPath","verifyCrc32","verifyCrc32Region","writeUInt64LE"],"mappings":"AAAA;;;;;;;;;;CAUC;;;;;;;;;;;QAEmBA;eAAAA,qBAAU;;QAqBVC;eAAAA,sBAAW;;QACKC;eAAAA,eAAI;;QATtCC;eAAAA,qBAAW;;QACXC;eAAAA,kBAAQ;;QAERC;eAAAA,mBAAS;;QACTC;eAAAA,kBAAQ;;QAfRC;eAAAA,qBAAW;;QACXC;eAAAA,2BAAiB;;QACjBC;eAAAA,uBAAa;;QACbC;eAAAA,sBAAY;;QACZC;eAAAA,sBAAY;;QACZC;eAAAA,oBAAU;;QACVC;eAAAA,yBAAe;;QAYRC;eAAAA,cAAK;;QAAEC;eAAAA,oBAAW;;QAXzBC;eAAAA,gCAAsB;;QACtBC;eAAAA,oBAAU;;QACVC;eAAAA,eAAK;;QAYaC;eAAAA,wBAAa;;QAX/BC;eAAAA,sBAAY;;QAGZC;eAAAA,sBAAY;;QASMC;eAAAA,yBAAc;;QACdC;eAAAA,oBAAS;;QALAC;eAAAA,oBAAW;;QAAEC;eAAAA,0BAAiB;;QAFzDC;eAAAA,uBAAa;;;mEAlBuB;wBAmB/B;uBAC4D;oEAC5B;6DACS;sEACP;uEAC8B;kEAClC"}
@@ -15,12 +15,12 @@ const MANDATORY_ATTRIBUTES = [
15
15
  ];
16
16
  let DirectoryEntry = class DirectoryEntry {
17
17
  create(dest, options, callback) {
18
- const actualOptions = typeof options === 'function' ? {} : options || {};
19
- const actualCallback = typeof options === 'function' ? options : callback;
20
- if (typeof actualCallback === 'function') {
18
+ callback = typeof options === 'function' ? options : callback;
19
+ options = typeof options === 'function' ? {} : options || {};
20
+ if (typeof callback === 'function') {
21
21
  try {
22
22
  const normalizedPath = path.normalize(this.path);
23
- const fullPath = path.join(dest, stripPath(normalizedPath, actualOptions));
23
+ const fullPath = path.join(dest, stripPath(normalizedPath, options));
24
24
  // do not check for the existence of the directory but allow out-of-order calling
25
25
  const queue = new Queue(1);
26
26
  queue.defer(mkdirp.bind(null, fullPath));
@@ -36,7 +36,7 @@ let DirectoryEntry = class DirectoryEntry {
36
36
  }
37
37
  }
38
38
  return new Promise((resolve, reject)=>{
39
- this.create(dest, actualOptions, (err, done)=>err ? reject(err) : resolve(done));
39
+ this.create(dest, options, (err, done)=>err ? reject(err) : resolve(done));
40
40
  });
41
41
  }
42
42
  destroy() {}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/DirectoryEntry.ts"],"sourcesContent":["import mkdirp from 'mkdirp-classic';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport chmod from './fs/chmod.ts';\nimport chown from './fs/chown.ts';\nimport utimes from './fs/utimes.ts';\nimport { objectAssign } from './shared/index.ts';\nimport stripPath from './shared/stripPath.ts';\nimport validateAttributes from './validateAttributes.ts';\nimport waitForAccess from './waitForAccess.ts';\n\nconst MANDATORY_ATTRIBUTES = ['mode', 'mtime', 'path'];\n\nimport type { Mode } from 'fs';\nimport type { DirectoryAttributes, ExtractOptions, NoParamCallback } from './types.ts';\n\nexport default class DirectoryEntry {\n mode: Mode;\n mtime: number;\n path: string;\n basename: string;\n type: string;\n\n constructor(attributes: DirectoryAttributes) {\n validateAttributes(attributes, MANDATORY_ATTRIBUTES);\n objectAssign(this, attributes);\n if (this.type === undefined) this.type = 'directory';\n if (this.basename === undefined) this.basename = path.basename(this.path);\n }\n\n create(dest: string, callback: NoParamCallback): void;\n create(dest: string, options: ExtractOptions, callback: NoParamCallback): void;\n create(dest: string, options?: ExtractOptions): Promise<boolean>;\n create(dest: string, options?: ExtractOptions | NoParamCallback, callback?: NoParamCallback): void | Promise<boolean> {\n const actualOptions = typeof options === 'function' ? {} : options || ({} as ExtractOptions);\n const actualCallback = typeof options === 'function' ? options : callback;\n\n if (typeof actualCallback === 'function') {\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, actualOptions));\n\n // do not check for the existence of the directory but allow out-of-order calling\n const queue = new Queue(1);\n queue.defer(mkdirp.bind(null, fullPath));\n queue.defer(waitForAccess.bind(null, fullPath));\n queue.defer(chmod.bind(null, fullPath, this, options));\n queue.defer(chown.bind(null, fullPath, this, options));\n queue.defer(utimes.bind(null, fullPath, this, options));\n queue.await(callback);\n return;\n } catch (err) {\n callback(err);\n return;\n }\n }\n\n return new Promise((resolve, reject) => {\n this.create(dest, actualOptions, (err?: Error, done?: boolean) => (err ? reject(err) : resolve(done)));\n });\n }\n\n destroy() {}\n}\n"],"names":["mkdirp","path","Queue","chmod","chown","utimes","objectAssign","stripPath","validateAttributes","waitForAccess","MANDATORY_ATTRIBUTES","DirectoryEntry","create","dest","options","callback","actualOptions","actualCallback","normalizedPath","normalize","fullPath","join","queue","defer","bind","await","err","Promise","resolve","reject","done","destroy","attributes","type","undefined","basename"],"mappings":"AAAA,OAAOA,YAAY,iBAAiB;AACpC,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAC7B,OAAOC,WAAW,gBAAgB;AAClC,OAAOC,WAAW,gBAAgB;AAClC,OAAOC,YAAY,iBAAiB;AACpC,SAASC,YAAY,QAAQ,oBAAoB;AACjD,OAAOC,eAAe,wBAAwB;AAC9C,OAAOC,wBAAwB,0BAA0B;AACzD,OAAOC,mBAAmB,qBAAqB;AAE/C,MAAMC,uBAAuB;IAAC;IAAQ;IAAS;CAAO;AAKvC,IAAA,AAAMC,iBAAN,MAAMA;IAiBnBC,OAAOC,IAAY,EAAEC,OAA0C,EAAEC,QAA0B,EAA2B;QACpH,MAAMC,gBAAgB,OAAOF,YAAY,aAAa,CAAC,IAAIA,WAAY,CAAC;QACxE,MAAMG,iBAAiB,OAAOH,YAAY,aAAaA,UAAUC;QAEjE,IAAI,OAAOE,mBAAmB,YAAY;YACxC,IAAI;gBACF,MAAMC,iBAAiBjB,KAAKkB,SAAS,CAAC,IAAI,CAAClB,IAAI;gBAC/C,MAAMmB,WAAWnB,KAAKoB,IAAI,CAACR,MAAMN,UAAUW,gBAAgBF;gBAE3D,iFAAiF;gBACjF,MAAMM,QAAQ,IAAIpB,MAAM;gBACxBoB,MAAMC,KAAK,CAACvB,OAAOwB,IAAI,CAAC,MAAMJ;gBAC9BE,MAAMC,KAAK,CAACd,cAAce,IAAI,CAAC,MAAMJ;gBACrCE,MAAMC,KAAK,CAACpB,MAAMqB,IAAI,CAAC,MAAMJ,UAAU,IAAI,EAAEN;gBAC7CQ,MAAMC,KAAK,CAACnB,MAAMoB,IAAI,CAAC,MAAMJ,UAAU,IAAI,EAAEN;gBAC7CQ,MAAMC,KAAK,CAAClB,OAAOmB,IAAI,CAAC,MAAMJ,UAAU,IAAI,EAAEN;gBAC9CQ,MAAMG,KAAK,CAACV;gBACZ;YACF,EAAE,OAAOW,KAAK;gBACZX,SAASW;gBACT;YACF;QACF;QAEA,OAAO,IAAIC,QAAQ,CAACC,SAASC;YAC3B,IAAI,CAACjB,MAAM,CAACC,MAAMG,eAAe,CAACU,KAAaI,OAAoBJ,MAAMG,OAAOH,OAAOE,QAAQE;QACjG;IACF;IAEAC,UAAU,CAAC;IAvCX,YAAYC,UAA+B,CAAE;QAC3CxB,mBAAmBwB,YAAYtB;QAC/BJ,aAAa,IAAI,EAAE0B;QACnB,IAAI,IAAI,CAACC,IAAI,KAAKC,WAAW,IAAI,CAACD,IAAI,GAAG;QACzC,IAAI,IAAI,CAACE,QAAQ,KAAKD,WAAW,IAAI,CAACC,QAAQ,GAAGlC,KAAKkC,QAAQ,CAAC,IAAI,CAAClC,IAAI;IAC1E;AAmCF;AA/CA,SAAqBU,4BA+CpB"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/DirectoryEntry.ts"],"sourcesContent":["import mkdirp from 'mkdirp-classic';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport chmod from './fs/chmod.ts';\nimport chown from './fs/chown.ts';\nimport utimes from './fs/utimes.ts';\nimport { objectAssign } from './shared/index.ts';\nimport stripPath from './shared/stripPath.ts';\nimport validateAttributes from './validateAttributes.ts';\nimport waitForAccess from './waitForAccess.ts';\n\nconst MANDATORY_ATTRIBUTES = ['mode', 'mtime', 'path'];\n\nimport type { Mode } from 'fs';\nimport type { DirectoryAttributes, ExtractOptions, NoParamCallback } from './types.ts';\n\nexport default class DirectoryEntry {\n mode: Mode;\n mtime: number;\n path: string;\n basename: string;\n type: string;\n\n constructor(attributes: DirectoryAttributes) {\n validateAttributes(attributes, MANDATORY_ATTRIBUTES);\n objectAssign(this, attributes);\n if (this.type === undefined) this.type = 'directory';\n if (this.basename === undefined) this.basename = path.basename(this.path);\n }\n\n create(dest: string, callback: NoParamCallback): void;\n create(dest: string, options: ExtractOptions, callback: NoParamCallback): void;\n create(dest: string, options?: ExtractOptions): Promise<boolean>;\n create(dest: string, options?: ExtractOptions | NoParamCallback, callback?: NoParamCallback): void | Promise<boolean> {\n callback = typeof options === 'function' ? options : callback;\n options = typeof options === 'function' ? {} : ((options || {}) as ExtractOptions);\n\n if (typeof callback === 'function') {\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options));\n\n // do not check for the existence of the directory but allow out-of-order calling\n const queue = new Queue(1);\n queue.defer(mkdirp.bind(null, fullPath));\n queue.defer(waitForAccess.bind(null, fullPath));\n queue.defer(chmod.bind(null, fullPath, this, options));\n queue.defer(chown.bind(null, fullPath, this, options));\n queue.defer(utimes.bind(null, fullPath, this, options));\n queue.await(callback);\n return;\n } catch (err) {\n callback(err);\n return;\n }\n }\n\n return new Promise((resolve, reject) => {\n this.create(dest, options, (err?: Error, done?: boolean) => (err ? reject(err) : resolve(done)));\n });\n }\n\n destroy() {}\n}\n"],"names":["mkdirp","path","Queue","chmod","chown","utimes","objectAssign","stripPath","validateAttributes","waitForAccess","MANDATORY_ATTRIBUTES","DirectoryEntry","create","dest","options","callback","normalizedPath","normalize","fullPath","join","queue","defer","bind","await","err","Promise","resolve","reject","done","destroy","attributes","type","undefined","basename"],"mappings":"AAAA,OAAOA,YAAY,iBAAiB;AACpC,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAC7B,OAAOC,WAAW,gBAAgB;AAClC,OAAOC,WAAW,gBAAgB;AAClC,OAAOC,YAAY,iBAAiB;AACpC,SAASC,YAAY,QAAQ,oBAAoB;AACjD,OAAOC,eAAe,wBAAwB;AAC9C,OAAOC,wBAAwB,0BAA0B;AACzD,OAAOC,mBAAmB,qBAAqB;AAE/C,MAAMC,uBAAuB;IAAC;IAAQ;IAAS;CAAO;AAKvC,IAAA,AAAMC,iBAAN,MAAMA;IAiBnBC,OAAOC,IAAY,EAAEC,OAA0C,EAAEC,QAA0B,EAA2B;QACpHA,WAAW,OAAOD,YAAY,aAAaA,UAAUC;QACrDD,UAAU,OAAOA,YAAY,aAAa,CAAC,IAAMA,WAAW,CAAC;QAE7D,IAAI,OAAOC,aAAa,YAAY;YAClC,IAAI;gBACF,MAAMC,iBAAiBf,KAAKgB,SAAS,CAAC,IAAI,CAAChB,IAAI;gBAC/C,MAAMiB,WAAWjB,KAAKkB,IAAI,CAACN,MAAMN,UAAUS,gBAAgBF;gBAE3D,iFAAiF;gBACjF,MAAMM,QAAQ,IAAIlB,MAAM;gBACxBkB,MAAMC,KAAK,CAACrB,OAAOsB,IAAI,CAAC,MAAMJ;gBAC9BE,MAAMC,KAAK,CAACZ,cAAca,IAAI,CAAC,MAAMJ;gBACrCE,MAAMC,KAAK,CAAClB,MAAMmB,IAAI,CAAC,MAAMJ,UAAU,IAAI,EAAEJ;gBAC7CM,MAAMC,KAAK,CAACjB,MAAMkB,IAAI,CAAC,MAAMJ,UAAU,IAAI,EAAEJ;gBAC7CM,MAAMC,KAAK,CAAChB,OAAOiB,IAAI,CAAC,MAAMJ,UAAU,IAAI,EAAEJ;gBAC9CM,MAAMG,KAAK,CAACR;gBACZ;YACF,EAAE,OAAOS,KAAK;gBACZT,SAASS;gBACT;YACF;QACF;QAEA,OAAO,IAAIC,QAAQ,CAACC,SAASC;YAC3B,IAAI,CAACf,MAAM,CAACC,MAAMC,SAAS,CAACU,KAAaI,OAAoBJ,MAAMG,OAAOH,OAAOE,QAAQE;QAC3F;IACF;IAEAC,UAAU,CAAC;IAvCX,YAAYC,UAA+B,CAAE;QAC3CtB,mBAAmBsB,YAAYpB;QAC/BJ,aAAa,IAAI,EAAEwB;QACnB,IAAI,IAAI,CAACC,IAAI,KAAKC,WAAW,IAAI,CAACD,IAAI,GAAG;QACzC,IAAI,IAAI,CAACE,QAAQ,KAAKD,WAAW,IAAI,CAACC,QAAQ,GAAGhC,KAAKgC,QAAQ,CAAC,IAAI,CAAChC,IAAI;IAC1E;AAmCF;AA/CA,SAAqBU,4BA+CpB"}
@@ -17,14 +17,14 @@ const MANDATORY_ATTRIBUTES = [
17
17
  ];
18
18
  let FileEntry = class FileEntry {
19
19
  create(dest, options, callback) {
20
- const actualOptions = typeof options === 'function' ? {} : options || {};
21
- const actualCallback = typeof options === 'function' ? options : callback;
22
- if (typeof actualCallback === 'function') {
20
+ callback = typeof options === 'function' ? options : callback;
21
+ options = typeof options === 'function' ? {} : options || {};
22
+ if (typeof callback === 'function') {
23
23
  try {
24
24
  const normalizedPath = path.normalize(this.path);
25
- const fullPath = path.join(dest, stripPath(normalizedPath, actualOptions));
25
+ const fullPath = path.join(dest, stripPath(normalizedPath, options));
26
26
  const queue = new Queue(1);
27
- if (actualOptions.force) {
27
+ if (options.force) {
28
28
  queue.defer((callback)=>{
29
29
  rm(fullPath, (err)=>{
30
30
  err && err.code !== 'ENOENT' ? callback(err) : callback();
@@ -61,7 +61,7 @@ let FileEntry = class FileEntry {
61
61
  }
62
62
  }
63
63
  return new Promise((resolve, reject)=>{
64
- this.create(dest, actualOptions, (err, done)=>err ? reject(err) : resolve(done));
64
+ this.create(dest, options, (err, done)=>err ? reject(err) : resolve(done));
65
65
  });
66
66
  }
67
67
  destroy() {}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/FileEntry.ts"],"sourcesContent":["import fs from 'fs';\nimport { rm } from 'fs-remove-compat';\nimport mkdirp from 'mkdirp-classic';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport chmod from './fs/chmod.ts';\nimport chown from './fs/chown.ts';\nimport utimes from './fs/utimes.ts';\nimport { objectAssign } from './shared/index.ts';\nimport stripPath from './shared/stripPath.ts';\nimport validateAttributes from './validateAttributes.ts';\nimport waitForAccess from './waitForAccess.ts';\n\nconst MANDATORY_ATTRIBUTES = ['mode', 'mtime', 'path'];\n\nimport type { Mode } from 'fs';\nimport type { ExtractOptions, FileAttributes, NoParamCallback, WriteFileFn } from './types.ts';\n\ninterface AbstractFileEntry {\n _writeFile: WriteFileFn;\n}\n\nexport default class FileEntry {\n mode: Mode;\n mtime: number;\n path: string;\n basename: string;\n type: string;\n\n constructor(attributes: FileAttributes) {\n validateAttributes(attributes, MANDATORY_ATTRIBUTES);\n objectAssign(this, attributes);\n if (this.basename === undefined) this.basename = path.basename(this.path);\n if (this.type === undefined) this.type = 'file';\n if ((this as unknown as AbstractFileEntry)._writeFile === undefined) throw new Error('File this missing _writeFile. Please implement this method in your subclass');\n }\n\n create(dest: string, callback: NoParamCallback): void;\n create(dest: string, options: ExtractOptions, callback: NoParamCallback): void;\n create(dest: string, options?: ExtractOptions): Promise<boolean>;\n create(dest: string, options?: ExtractOptions | NoParamCallback, callback?: NoParamCallback): void | Promise<boolean> {\n const actualOptions = typeof options === 'function' ? {} : options || ({} as ExtractOptions);\n const actualCallback = typeof options === 'function' ? options : callback;\n\n if (typeof actualCallback === 'function') {\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, actualOptions));\n\n const queue = new Queue(1);\n if (actualOptions.force) {\n queue.defer((callback) => {\n rm(fullPath, (err) => {\n err && err.code !== 'ENOENT' ? callback(err) : callback();\n });\n });\n } else {\n // Check if file exists - throw EEXIST if it does\n queue.defer((callback) => {\n fs.stat(fullPath, (err) => {\n if (!err) {\n const existsErr = new Error(`EEXIST: file already exists, open '${fullPath}'`) as NodeJS.ErrnoException;\n existsErr.code = 'EEXIST';\n existsErr.path = fullPath;\n return callback(existsErr);\n }\n // ENOENT means file doesn't exist - that's what we want\n if (err.code === 'ENOENT') return callback();\n // Other errors should be reported\n callback(err);\n });\n });\n }\n queue.defer(mkdirp.bind(null, path.dirname(fullPath)));\n queue.defer((this as unknown as AbstractFileEntry)._writeFile.bind(this, fullPath, options));\n queue.defer(waitForAccess.bind(null, fullPath));\n queue.defer(chmod.bind(null, fullPath, this, options));\n queue.defer(chown.bind(null, fullPath, this, options));\n queue.defer(utimes.bind(null, fullPath, this, options));\n queue.await(callback);\n return;\n } catch (err) {\n callback(err);\n return;\n }\n }\n\n return new Promise((resolve, reject) => {\n this.create(dest, actualOptions, (err?: Error, done?: boolean) => (err ? reject(err) : resolve(done)));\n });\n }\n\n destroy() {}\n}\n"],"names":["fs","rm","mkdirp","path","Queue","chmod","chown","utimes","objectAssign","stripPath","validateAttributes","waitForAccess","MANDATORY_ATTRIBUTES","FileEntry","create","dest","options","callback","actualOptions","actualCallback","normalizedPath","normalize","fullPath","join","queue","force","defer","err","code","stat","existsErr","Error","bind","dirname","_writeFile","await","Promise","resolve","reject","done","destroy","attributes","basename","undefined","type"],"mappings":"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"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/FileEntry.ts"],"sourcesContent":["import fs from 'fs';\nimport { rm } from 'fs-remove-compat';\nimport mkdirp from 'mkdirp-classic';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport chmod from './fs/chmod.ts';\nimport chown from './fs/chown.ts';\nimport utimes from './fs/utimes.ts';\nimport { objectAssign } from './shared/index.ts';\nimport stripPath from './shared/stripPath.ts';\nimport validateAttributes from './validateAttributes.ts';\nimport waitForAccess from './waitForAccess.ts';\n\nconst MANDATORY_ATTRIBUTES = ['mode', 'mtime', 'path'];\n\nimport type { Mode } from 'fs';\nimport type { ExtractOptions, FileAttributes, NoParamCallback, WriteFileFn } from './types.ts';\n\ninterface AbstractFileEntry {\n _writeFile: WriteFileFn;\n}\n\nexport default class FileEntry {\n mode: Mode;\n mtime: number;\n path: string;\n basename: string;\n type: string;\n\n constructor(attributes: FileAttributes) {\n validateAttributes(attributes, MANDATORY_ATTRIBUTES);\n objectAssign(this, attributes);\n if (this.basename === undefined) this.basename = path.basename(this.path);\n if (this.type === undefined) this.type = 'file';\n if ((this as unknown as AbstractFileEntry)._writeFile === undefined) throw new Error('File this missing _writeFile. Please implement this method in your subclass');\n }\n\n create(dest: string, callback: NoParamCallback): void;\n create(dest: string, options: ExtractOptions, callback: NoParamCallback): void;\n create(dest: string, options?: ExtractOptions): Promise<boolean>;\n create(dest: string, options?: ExtractOptions | NoParamCallback, callback?: NoParamCallback): void | Promise<boolean> {\n callback = typeof options === 'function' ? options : callback;\n options = typeof options === 'function' ? {} : ((options || {}) as ExtractOptions);\n\n if (typeof callback === 'function') {\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options));\n\n const queue = new Queue(1);\n if (options.force) {\n queue.defer((callback) => {\n rm(fullPath, (err) => {\n err && err.code !== 'ENOENT' ? callback(err) : callback();\n });\n });\n } else {\n // Check if file exists - throw EEXIST if it does\n queue.defer((callback) => {\n fs.stat(fullPath, (err) => {\n if (!err) {\n const existsErr = new Error(`EEXIST: file already exists, open '${fullPath}'`) as NodeJS.ErrnoException;\n existsErr.code = 'EEXIST';\n existsErr.path = fullPath;\n return callback(existsErr);\n }\n // ENOENT means file doesn't exist - that's what we want\n if (err.code === 'ENOENT') return callback();\n // Other errors should be reported\n callback(err);\n });\n });\n }\n queue.defer(mkdirp.bind(null, path.dirname(fullPath)));\n queue.defer((this as unknown as AbstractFileEntry)._writeFile.bind(this, fullPath, options));\n queue.defer(waitForAccess.bind(null, fullPath));\n queue.defer(chmod.bind(null, fullPath, this, options));\n queue.defer(chown.bind(null, fullPath, this, options));\n queue.defer(utimes.bind(null, fullPath, this, options));\n queue.await(callback);\n return;\n } catch (err) {\n callback(err);\n return;\n }\n }\n\n return new Promise((resolve, reject) => {\n this.create(dest, options, (err?: Error, done?: boolean) => (err ? reject(err) : resolve(done)));\n });\n }\n\n destroy() {}\n}\n"],"names":["fs","rm","mkdirp","path","Queue","chmod","chown","utimes","objectAssign","stripPath","validateAttributes","waitForAccess","MANDATORY_ATTRIBUTES","FileEntry","create","dest","options","callback","normalizedPath","normalize","fullPath","join","queue","force","defer","err","code","stat","existsErr","Error","bind","dirname","_writeFile","await","Promise","resolve","reject","done","destroy","attributes","basename","undefined","type"],"mappings":"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"}
@@ -18,16 +18,16 @@ const MANDATORY_ATTRIBUTES = [
18
18
  ];
19
19
  let LinkEntry = class LinkEntry {
20
20
  create(dest, options, callback) {
21
- const actualOptions = typeof options === 'function' ? {} : options || {};
22
- const actualCallback = typeof options === 'function' ? options : callback;
23
- if (typeof actualCallback === 'function') {
21
+ callback = typeof options === 'function' ? options : callback;
22
+ options = typeof options === 'function' ? {} : options || {};
23
+ if (typeof callback === 'function') {
24
24
  try {
25
25
  const normalizedPath = path.normalize(this.path);
26
- const fullPath = path.join(dest, stripPath(normalizedPath, actualOptions));
26
+ const fullPath = path.join(dest, stripPath(normalizedPath, options));
27
27
  const normalizedLinkpath = path.normalize(this.linkpath);
28
- const linkFullPath = path.join(dest, stripPath(normalizedLinkpath, actualOptions));
28
+ const linkFullPath = path.join(dest, stripPath(normalizedLinkpath, options));
29
29
  const queue = new Queue(1);
30
- if (actualOptions.force) {
30
+ if (options.force) {
31
31
  queue.defer((callback)=>{
32
32
  rm(fullPath, (err)=>{
33
33
  err && err.code !== 'ENOENT' ? callback(err) : callback();
@@ -48,7 +48,7 @@ let LinkEntry = class LinkEntry {
48
48
  }
49
49
  }
50
50
  return new Promise((resolve, reject)=>{
51
- this.create(dest, actualOptions, (err, done)=>err ? reject(err) : resolve(done));
51
+ this.create(dest, options, (err, done)=>err ? reject(err) : resolve(done));
52
52
  });
53
53
  }
54
54
  destroy() {}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/LinkEntry.ts"],"sourcesContent":["import { rm } from 'fs-remove-compat';\nimport fs from 'graceful-fs';\nimport mkdirp from 'mkdirp-classic';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport chmod from './fs/chmod.ts';\nimport chown from './fs/chown.ts';\nimport utimes from './fs/utimes.ts';\nimport { objectAssign } from './shared/index.ts';\nimport stripPath from './shared/stripPath.ts';\nimport validateAttributes from './validateAttributes.ts';\nimport waitForAccess from './waitForAccess.ts';\n\nconst MANDATORY_ATTRIBUTES = ['mode', 'mtime', 'path', 'linkpath'];\n\nimport type { Mode } from 'fs';\nimport type { ExtractOptions, LinkAttributes, NoParamCallback } from './types.ts';\n\nexport default class LinkEntry {\n mode: Mode;\n mtime: number;\n path: string;\n linkpath: string;\n basename: string;\n type: string;\n\n constructor(attributes: LinkAttributes) {\n validateAttributes(attributes, MANDATORY_ATTRIBUTES);\n objectAssign(this, attributes);\n if (this.basename === undefined) this.basename = path.basename(this.path);\n if (this.type === undefined) this.type = 'link';\n }\n\n create(dest: string, callback: NoParamCallback): void;\n create(dest: string, options: ExtractOptions, callback: NoParamCallback): void;\n create(dest: string, options?: ExtractOptions): Promise<boolean>;\n create(dest: string, options?: ExtractOptions | NoParamCallback, callback?: NoParamCallback): void | Promise<boolean> {\n const actualOptions = typeof options === 'function' ? {} : options || ({} as ExtractOptions);\n const actualCallback = typeof options === 'function' ? options : callback;\n\n if (typeof actualCallback === 'function') {\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, actualOptions));\n const normalizedLinkpath = path.normalize(this.linkpath);\n const linkFullPath = path.join(dest, stripPath(normalizedLinkpath, actualOptions));\n\n const queue = new Queue(1);\n if (actualOptions.force) {\n queue.defer((callback) => {\n rm(fullPath, (err) => {\n err && err.code !== 'ENOENT' ? callback(err) : callback();\n });\n });\n }\n queue.defer(mkdirp.bind(null, path.dirname(fullPath)));\n queue.defer(fs.link.bind(fs, linkFullPath, fullPath));\n queue.defer(waitForAccess.bind(null, fullPath));\n queue.defer(chmod.bind(null, fullPath, this, options));\n queue.defer(chown.bind(null, fullPath, this, options));\n queue.defer(utimes.bind(null, fullPath, this, options));\n queue.await(callback);\n return;\n } catch (err) {\n callback(err);\n return;\n }\n }\n\n return new Promise((resolve, reject) => {\n this.create(dest, actualOptions, (err?: Error, done?: boolean) => (err ? reject(err) : resolve(done)));\n });\n }\n\n destroy() {}\n}\n"],"names":["rm","fs","mkdirp","path","Queue","chmod","chown","utimes","objectAssign","stripPath","validateAttributes","waitForAccess","MANDATORY_ATTRIBUTES","LinkEntry","create","dest","options","callback","actualOptions","actualCallback","normalizedPath","normalize","fullPath","join","normalizedLinkpath","linkpath","linkFullPath","queue","force","defer","err","code","bind","dirname","link","await","Promise","resolve","reject","done","destroy","attributes","basename","undefined","type"],"mappings":"AAAA,SAASA,EAAE,QAAQ,mBAAmB;AACtC,OAAOC,QAAQ,cAAc;AAC7B,OAAOC,YAAY,iBAAiB;AACpC,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAC7B,OAAOC,WAAW,gBAAgB;AAClC,OAAOC,WAAW,gBAAgB;AAClC,OAAOC,YAAY,iBAAiB;AACpC,SAASC,YAAY,QAAQ,oBAAoB;AACjD,OAAOC,eAAe,wBAAwB;AAC9C,OAAOC,wBAAwB,0BAA0B;AACzD,OAAOC,mBAAmB,qBAAqB;AAE/C,MAAMC,uBAAuB;IAAC;IAAQ;IAAS;IAAQ;CAAW;AAKnD,IAAA,AAAMC,YAAN,MAAMA;IAkBnBC,OAAOC,IAAY,EAAEC,OAA0C,EAAEC,QAA0B,EAA2B;QACpH,MAAMC,gBAAgB,OAAOF,YAAY,aAAa,CAAC,IAAIA,WAAY,CAAC;QACxE,MAAMG,iBAAiB,OAAOH,YAAY,aAAaA,UAAUC;QAEjE,IAAI,OAAOE,mBAAmB,YAAY;YACxC,IAAI;gBACF,MAAMC,iBAAiBjB,KAAKkB,SAAS,CAAC,IAAI,CAAClB,IAAI;gBAC/C,MAAMmB,WAAWnB,KAAKoB,IAAI,CAACR,MAAMN,UAAUW,gBAAgBF;gBAC3D,MAAMM,qBAAqBrB,KAAKkB,SAAS,CAAC,IAAI,CAACI,QAAQ;gBACvD,MAAMC,eAAevB,KAAKoB,IAAI,CAACR,MAAMN,UAAUe,oBAAoBN;gBAEnE,MAAMS,QAAQ,IAAIvB,MAAM;gBACxB,IAAIc,cAAcU,KAAK,EAAE;oBACvBD,MAAME,KAAK,CAAC,CAACZ;wBACXjB,GAAGsB,UAAU,CAACQ;4BACZA,OAAOA,IAAIC,IAAI,KAAK,WAAWd,SAASa,OAAOb;wBACjD;oBACF;gBACF;gBACAU,MAAME,KAAK,CAAC3B,OAAO8B,IAAI,CAAC,MAAM7B,KAAK8B,OAAO,CAACX;gBAC3CK,MAAME,KAAK,CAAC5B,GAAGiC,IAAI,CAACF,IAAI,CAAC/B,IAAIyB,cAAcJ;gBAC3CK,MAAME,KAAK,CAAClB,cAAcqB,IAAI,CAAC,MAAMV;gBACrCK,MAAME,KAAK,CAACxB,MAAM2B,IAAI,CAAC,MAAMV,UAAU,IAAI,EAAEN;gBAC7CW,MAAME,KAAK,CAACvB,MAAM0B,IAAI,CAAC,MAAMV,UAAU,IAAI,EAAEN;gBAC7CW,MAAME,KAAK,CAACtB,OAAOyB,IAAI,CAAC,MAAMV,UAAU,IAAI,EAAEN;gBAC9CW,MAAMQ,KAAK,CAAClB;gBACZ;YACF,EAAE,OAAOa,KAAK;gBACZb,SAASa;gBACT;YACF;QACF;QAEA,OAAO,IAAIM,QAAQ,CAACC,SAASC;YAC3B,IAAI,CAACxB,MAAM,CAACC,MAAMG,eAAe,CAACY,KAAaS,OAAoBT,MAAMQ,OAAOR,OAAOO,QAAQE;QACjG;IACF;IAEAC,UAAU,CAAC;IAhDX,YAAYC,UAA0B,CAAE;QACtC/B,mBAAmB+B,YAAY7B;QAC/BJ,aAAa,IAAI,EAAEiC;QACnB,IAAI,IAAI,CAACC,QAAQ,KAAKC,WAAW,IAAI,CAACD,QAAQ,GAAGvC,KAAKuC,QAAQ,CAAC,IAAI,CAACvC,IAAI;QACxE,IAAI,IAAI,CAACyC,IAAI,KAAKD,WAAW,IAAI,CAACC,IAAI,GAAG;IAC3C;AA4CF;AAzDA,SAAqB/B,uBAyDpB"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/LinkEntry.ts"],"sourcesContent":["import { rm } from 'fs-remove-compat';\nimport fs from 'graceful-fs';\nimport mkdirp from 'mkdirp-classic';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport chmod from './fs/chmod.ts';\nimport chown from './fs/chown.ts';\nimport utimes from './fs/utimes.ts';\nimport { objectAssign } from './shared/index.ts';\nimport stripPath from './shared/stripPath.ts';\nimport validateAttributes from './validateAttributes.ts';\nimport waitForAccess from './waitForAccess.ts';\n\nconst MANDATORY_ATTRIBUTES = ['mode', 'mtime', 'path', 'linkpath'];\n\nimport type { Mode } from 'fs';\nimport type { ExtractOptions, LinkAttributes, NoParamCallback } from './types.ts';\n\nexport default class LinkEntry {\n mode: Mode;\n mtime: number;\n path: string;\n linkpath: string;\n basename: string;\n type: string;\n\n constructor(attributes: LinkAttributes) {\n validateAttributes(attributes, MANDATORY_ATTRIBUTES);\n objectAssign(this, attributes);\n if (this.basename === undefined) this.basename = path.basename(this.path);\n if (this.type === undefined) this.type = 'link';\n }\n\n create(dest: string, callback: NoParamCallback): void;\n create(dest: string, options: ExtractOptions, callback: NoParamCallback): void;\n create(dest: string, options?: ExtractOptions): Promise<boolean>;\n create(dest: string, options?: ExtractOptions | NoParamCallback, callback?: NoParamCallback): void | Promise<boolean> {\n callback = typeof options === 'function' ? options : callback;\n options = typeof options === 'function' ? {} : ((options || {}) as ExtractOptions);\n\n if (typeof callback === 'function') {\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options));\n const normalizedLinkpath = path.normalize(this.linkpath);\n const linkFullPath = path.join(dest, stripPath(normalizedLinkpath, options));\n\n const queue = new Queue(1);\n if (options.force) {\n queue.defer((callback) => {\n rm(fullPath, (err) => {\n err && err.code !== 'ENOENT' ? callback(err) : callback();\n });\n });\n }\n queue.defer(mkdirp.bind(null, path.dirname(fullPath)));\n queue.defer(fs.link.bind(fs, linkFullPath, fullPath));\n queue.defer(waitForAccess.bind(null, fullPath));\n queue.defer(chmod.bind(null, fullPath, this, options));\n queue.defer(chown.bind(null, fullPath, this, options));\n queue.defer(utimes.bind(null, fullPath, this, options));\n queue.await(callback);\n return;\n } catch (err) {\n callback(err);\n return;\n }\n }\n\n return new Promise((resolve, reject) => {\n this.create(dest, options, (err?: Error, done?: boolean) => (err ? reject(err) : resolve(done)));\n });\n }\n\n destroy() {}\n}\n"],"names":["rm","fs","mkdirp","path","Queue","chmod","chown","utimes","objectAssign","stripPath","validateAttributes","waitForAccess","MANDATORY_ATTRIBUTES","LinkEntry","create","dest","options","callback","normalizedPath","normalize","fullPath","join","normalizedLinkpath","linkpath","linkFullPath","queue","force","defer","err","code","bind","dirname","link","await","Promise","resolve","reject","done","destroy","attributes","basename","undefined","type"],"mappings":"AAAA,SAASA,EAAE,QAAQ,mBAAmB;AACtC,OAAOC,QAAQ,cAAc;AAC7B,OAAOC,YAAY,iBAAiB;AACpC,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAC7B,OAAOC,WAAW,gBAAgB;AAClC,OAAOC,WAAW,gBAAgB;AAClC,OAAOC,YAAY,iBAAiB;AACpC,SAASC,YAAY,QAAQ,oBAAoB;AACjD,OAAOC,eAAe,wBAAwB;AAC9C,OAAOC,wBAAwB,0BAA0B;AACzD,OAAOC,mBAAmB,qBAAqB;AAE/C,MAAMC,uBAAuB;IAAC;IAAQ;IAAS;IAAQ;CAAW;AAKnD,IAAA,AAAMC,YAAN,MAAMA;IAkBnBC,OAAOC,IAAY,EAAEC,OAA0C,EAAEC,QAA0B,EAA2B;QACpHA,WAAW,OAAOD,YAAY,aAAaA,UAAUC;QACrDD,UAAU,OAAOA,YAAY,aAAa,CAAC,IAAMA,WAAW,CAAC;QAE7D,IAAI,OAAOC,aAAa,YAAY;YAClC,IAAI;gBACF,MAAMC,iBAAiBf,KAAKgB,SAAS,CAAC,IAAI,CAAChB,IAAI;gBAC/C,MAAMiB,WAAWjB,KAAKkB,IAAI,CAACN,MAAMN,UAAUS,gBAAgBF;gBAC3D,MAAMM,qBAAqBnB,KAAKgB,SAAS,CAAC,IAAI,CAACI,QAAQ;gBACvD,MAAMC,eAAerB,KAAKkB,IAAI,CAACN,MAAMN,UAAUa,oBAAoBN;gBAEnE,MAAMS,QAAQ,IAAIrB,MAAM;gBACxB,IAAIY,QAAQU,KAAK,EAAE;oBACjBD,MAAME,KAAK,CAAC,CAACV;wBACXjB,GAAGoB,UAAU,CAACQ;4BACZA,OAAOA,IAAIC,IAAI,KAAK,WAAWZ,SAASW,OAAOX;wBACjD;oBACF;gBACF;gBACAQ,MAAME,KAAK,CAACzB,OAAO4B,IAAI,CAAC,MAAM3B,KAAK4B,OAAO,CAACX;gBAC3CK,MAAME,KAAK,CAAC1B,GAAG+B,IAAI,CAACF,IAAI,CAAC7B,IAAIuB,cAAcJ;gBAC3CK,MAAME,KAAK,CAAChB,cAAcmB,IAAI,CAAC,MAAMV;gBACrCK,MAAME,KAAK,CAACtB,MAAMyB,IAAI,CAAC,MAAMV,UAAU,IAAI,EAAEJ;gBAC7CS,MAAME,KAAK,CAACrB,MAAMwB,IAAI,CAAC,MAAMV,UAAU,IAAI,EAAEJ;gBAC7CS,MAAME,KAAK,CAACpB,OAAOuB,IAAI,CAAC,MAAMV,UAAU,IAAI,EAAEJ;gBAC9CS,MAAMQ,KAAK,CAAChB;gBACZ;YACF,EAAE,OAAOW,KAAK;gBACZX,SAASW;gBACT;YACF;QACF;QAEA,OAAO,IAAIM,QAAQ,CAACC,SAASC;YAC3B,IAAI,CAACtB,MAAM,CAACC,MAAMC,SAAS,CAACY,KAAaS,OAAoBT,MAAMQ,OAAOR,OAAOO,QAAQE;QAC3F;IACF;IAEAC,UAAU,CAAC;IAhDX,YAAYC,UAA0B,CAAE;QACtC7B,mBAAmB6B,YAAY3B;QAC/BJ,aAAa,IAAI,EAAE+B;QACnB,IAAI,IAAI,CAACC,QAAQ,KAAKC,WAAW,IAAI,CAACD,QAAQ,GAAGrC,KAAKqC,QAAQ,CAAC,IAAI,CAACrC,IAAI;QACxE,IAAI,IAAI,CAACuC,IAAI,KAAKD,WAAW,IAAI,CAACC,IAAI,GAAG;IAC3C;AA4CF;AAzDA,SAAqB7B,uBAyDpB"}
@@ -21,21 +21,21 @@ const MANDATORY_ATTRIBUTES = [
21
21
  ];
22
22
  let SymbolicLinkEntry = class SymbolicLinkEntry {
23
23
  create(dest, options, callback) {
24
- const actualOptions = typeof options === 'function' ? {} : options || {};
25
- const actualCallback = typeof options === 'function' ? options : callback;
26
- if (typeof actualCallback === 'function') {
24
+ callback = typeof options === 'function' ? options : callback;
25
+ options = typeof options === 'function' ? {} : options || {};
26
+ if (typeof callback === 'function') {
27
27
  try {
28
28
  const normalizedPath = path.normalize(this.path);
29
- const fullPath = path.join(dest, stripPath(normalizedPath, actualOptions));
29
+ const fullPath = path.join(dest, stripPath(normalizedPath, options));
30
30
  let normalizedLinkpath = path.normalize(this.linkpath);
31
- let linkFullPath = path.join(dest, stripPath(normalizedLinkpath, actualOptions));
31
+ let linkFullPath = path.join(dest, stripPath(normalizedLinkpath, options));
32
32
  if (!isAbsolute(normalizedLinkpath)) {
33
33
  const linkRelativePath = path.join(path.dirname(normalizedPath), this.linkpath);
34
- linkFullPath = path.join(dest, stripPath(linkRelativePath, actualOptions));
34
+ linkFullPath = path.join(dest, stripPath(linkRelativePath, options));
35
35
  normalizedLinkpath = path.relative(path.dirname(fullPath), linkFullPath);
36
36
  }
37
37
  const queue = new Queue(1);
38
- if (actualOptions.force) {
38
+ if (options.force) {
39
39
  queue.defer((callback)=>{
40
40
  rm(fullPath, (err)=>{
41
41
  err && err.code !== 'ENOENT' ? callback(err) : callback();
@@ -57,7 +57,7 @@ let SymbolicLinkEntry = class SymbolicLinkEntry {
57
57
  }
58
58
  }
59
59
  return new Promise((resolve, reject)=>{
60
- this.create(dest, actualOptions, (err, done)=>err ? reject(err) : resolve(done));
60
+ this.create(dest, options, (err, done)=>err ? reject(err) : resolve(done));
61
61
  });
62
62
  }
63
63
  destroy() {}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/SymbolicLinkEntry.ts"],"sourcesContent":["import { rm } from 'fs-remove-compat';\nimport fs from 'graceful-fs';\nimport isAbsolute from 'is-absolute';\nimport mkdirp from 'mkdirp-classic';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport chmod from './fs/chmod.ts';\nimport chown from './fs/chown.ts';\nimport lutimes from './fs/lutimes.ts';\nimport symlinkWin32 from './fs/symlinkWin32.ts';\nimport { objectAssign } from './shared/index.ts';\nimport stripPath from './shared/stripPath.ts';\nimport validateAttributes from './validateAttributes.ts';\nimport waitForAccess from './waitForAccess.ts';\n\nconst isWindows = process.platform === 'win32' || /^(msys|cygwin)$/.test(process.env.OSTYPE);\n\nconst MANDATORY_ATTRIBUTES = ['mode', 'mtime', 'path', 'linkpath'];\n\nimport type { Mode } from 'fs';\nimport type { ExtractOptions, LinkAttributes, NoParamCallback } from './types.ts';\n\nexport default class SymbolicLinkEntry {\n mode: Mode;\n mtime: number;\n path: string;\n linkpath: string;\n basename: string;\n type: string;\n\n constructor(attributes: LinkAttributes) {\n validateAttributes(attributes, MANDATORY_ATTRIBUTES);\n objectAssign(this, attributes);\n if (this.basename === undefined) this.basename = path.basename(this.path);\n if (this.type === undefined) this.type = 'symlink';\n }\n\n create(dest: string, callback: NoParamCallback): void;\n create(dest: string, options: ExtractOptions, callback: NoParamCallback): void;\n create(dest: string, options?: ExtractOptions): Promise<boolean>;\n create(dest: string, options?: ExtractOptions | NoParamCallback, callback?: NoParamCallback): void | Promise<boolean> {\n const actualOptions = typeof options === 'function' ? {} : options || ({} as ExtractOptions);\n const actualCallback = typeof options === 'function' ? options : callback;\n\n if (typeof actualCallback === 'function') {\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, actualOptions));\n let normalizedLinkpath = path.normalize(this.linkpath);\n let linkFullPath = path.join(dest, stripPath(normalizedLinkpath, actualOptions));\n if (!isAbsolute(normalizedLinkpath)) {\n const linkRelativePath = path.join(path.dirname(normalizedPath), this.linkpath);\n linkFullPath = path.join(dest, stripPath(linkRelativePath, actualOptions));\n normalizedLinkpath = path.relative(path.dirname(fullPath), linkFullPath);\n }\n\n const queue = new Queue(1);\n if (actualOptions.force) {\n queue.defer((callback) => {\n rm(fullPath, (err) => {\n err && err.code !== 'ENOENT' ? callback(err) : callback();\n });\n });\n }\n queue.defer(mkdirp.bind(null, path.dirname(fullPath)));\n if (isWindows) queue.defer(symlinkWin32.bind(null, linkFullPath, normalizedLinkpath, fullPath));\n else queue.defer(fs.symlink.bind(fs, normalizedLinkpath, fullPath));\n queue.defer(waitForAccess.bind(null, fullPath, true)); // noFollow=true for symlinks\n queue.defer(chmod.bind(null, fullPath, this, options));\n queue.defer(chown.bind(null, fullPath, this, options));\n queue.defer(lutimes.bind(null, fullPath, this, options));\n queue.await(callback);\n return;\n } catch (err) {\n callback(err);\n return;\n }\n }\n\n return new Promise((resolve, reject) => {\n this.create(dest, actualOptions, (err?: Error, done?: boolean) => (err ? reject(err) : resolve(done)));\n });\n }\n\n destroy() {}\n}\n"],"names":["rm","fs","isAbsolute","mkdirp","path","Queue","chmod","chown","lutimes","symlinkWin32","objectAssign","stripPath","validateAttributes","waitForAccess","isWindows","process","platform","test","env","OSTYPE","MANDATORY_ATTRIBUTES","SymbolicLinkEntry","create","dest","options","callback","actualOptions","actualCallback","normalizedPath","normalize","fullPath","join","normalizedLinkpath","linkpath","linkFullPath","linkRelativePath","dirname","relative","queue","force","defer","err","code","bind","symlink","await","Promise","resolve","reject","done","destroy","attributes","basename","undefined","type"],"mappings":"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"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/SymbolicLinkEntry.ts"],"sourcesContent":["import { rm } from 'fs-remove-compat';\nimport fs from 'graceful-fs';\nimport isAbsolute from 'is-absolute';\nimport mkdirp from 'mkdirp-classic';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport chmod from './fs/chmod.ts';\nimport chown from './fs/chown.ts';\nimport lutimes from './fs/lutimes.ts';\nimport symlinkWin32 from './fs/symlinkWin32.ts';\nimport { objectAssign } from './shared/index.ts';\nimport stripPath from './shared/stripPath.ts';\nimport validateAttributes from './validateAttributes.ts';\nimport waitForAccess from './waitForAccess.ts';\n\nconst isWindows = process.platform === 'win32' || /^(msys|cygwin)$/.test(process.env.OSTYPE);\n\nconst MANDATORY_ATTRIBUTES = ['mode', 'mtime', 'path', 'linkpath'];\n\nimport type { Mode } from 'fs';\nimport type { ExtractOptions, LinkAttributes, NoParamCallback } from './types.ts';\n\nexport default class SymbolicLinkEntry {\n mode: Mode;\n mtime: number;\n path: string;\n linkpath: string;\n basename: string;\n type: string;\n\n constructor(attributes: LinkAttributes) {\n validateAttributes(attributes, MANDATORY_ATTRIBUTES);\n objectAssign(this, attributes);\n if (this.basename === undefined) this.basename = path.basename(this.path);\n if (this.type === undefined) this.type = 'symlink';\n }\n\n create(dest: string, callback: NoParamCallback): void;\n create(dest: string, options: ExtractOptions, callback: NoParamCallback): void;\n create(dest: string, options?: ExtractOptions): Promise<boolean>;\n create(dest: string, options?: ExtractOptions | NoParamCallback, callback?: NoParamCallback): void | Promise<boolean> {\n callback = typeof options === 'function' ? options : callback;\n options = typeof options === 'function' ? {} : ((options || {}) as ExtractOptions);\n\n if (typeof callback === 'function') {\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options));\n let normalizedLinkpath = path.normalize(this.linkpath);\n let linkFullPath = path.join(dest, stripPath(normalizedLinkpath, options));\n if (!isAbsolute(normalizedLinkpath)) {\n const linkRelativePath = path.join(path.dirname(normalizedPath), this.linkpath);\n linkFullPath = path.join(dest, stripPath(linkRelativePath, options));\n normalizedLinkpath = path.relative(path.dirname(fullPath), linkFullPath);\n }\n\n const queue = new Queue(1);\n if (options.force) {\n queue.defer((callback) => {\n rm(fullPath, (err) => {\n err && err.code !== 'ENOENT' ? callback(err) : callback();\n });\n });\n }\n queue.defer(mkdirp.bind(null, path.dirname(fullPath)));\n if (isWindows) queue.defer(symlinkWin32.bind(null, linkFullPath, normalizedLinkpath, fullPath));\n else queue.defer(fs.symlink.bind(fs, normalizedLinkpath, fullPath));\n queue.defer(waitForAccess.bind(null, fullPath, true)); // noFollow=true for symlinks\n queue.defer(chmod.bind(null, fullPath, this, options));\n queue.defer(chown.bind(null, fullPath, this, options));\n queue.defer(lutimes.bind(null, fullPath, this, options));\n queue.await(callback);\n return;\n } catch (err) {\n callback(err);\n return;\n }\n }\n\n return new Promise((resolve, reject) => {\n this.create(dest, options, (err?: Error, done?: boolean) => (err ? reject(err) : resolve(done)));\n });\n }\n\n destroy() {}\n}\n"],"names":["rm","fs","isAbsolute","mkdirp","path","Queue","chmod","chown","lutimes","symlinkWin32","objectAssign","stripPath","validateAttributes","waitForAccess","isWindows","process","platform","test","env","OSTYPE","MANDATORY_ATTRIBUTES","SymbolicLinkEntry","create","dest","options","callback","normalizedPath","normalize","fullPath","join","normalizedLinkpath","linkpath","linkFullPath","linkRelativePath","dirname","relative","queue","force","defer","err","code","bind","symlink","await","Promise","resolve","reject","done","destroy","attributes","basename","undefined","type"],"mappings":"AAAA,SAASA,EAAE,QAAQ,mBAAmB;AACtC,OAAOC,QAAQ,cAAc;AAC7B,OAAOC,gBAAgB,cAAc;AACrC,OAAOC,YAAY,iBAAiB;AACpC,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAC7B,OAAOC,WAAW,gBAAgB;AAClC,OAAOC,WAAW,gBAAgB;AAClC,OAAOC,aAAa,kBAAkB;AACtC,OAAOC,kBAAkB,uBAAuB;AAChD,SAASC,YAAY,QAAQ,oBAAoB;AACjD,OAAOC,eAAe,wBAAwB;AAC9C,OAAOC,wBAAwB,0BAA0B;AACzD,OAAOC,mBAAmB,qBAAqB;AAE/C,MAAMC,YAAYC,QAAQC,QAAQ,KAAK,WAAW,kBAAkBC,IAAI,CAACF,QAAQG,GAAG,CAACC,MAAM;AAE3F,MAAMC,uBAAuB;IAAC;IAAQ;IAAS;IAAQ;CAAW;AAKnD,IAAA,AAAMC,oBAAN,MAAMA;IAkBnBC,OAAOC,IAAY,EAAEC,OAA0C,EAAEC,QAA0B,EAA2B;QACpHA,WAAW,OAAOD,YAAY,aAAaA,UAAUC;QACrDD,UAAU,OAAOA,YAAY,aAAa,CAAC,IAAMA,WAAW,CAAC;QAE7D,IAAI,OAAOC,aAAa,YAAY;YAClC,IAAI;gBACF,MAAMC,iBAAiBtB,KAAKuB,SAAS,CAAC,IAAI,CAACvB,IAAI;gBAC/C,MAAMwB,WAAWxB,KAAKyB,IAAI,CAACN,MAAMZ,UAAUe,gBAAgBF;gBAC3D,IAAIM,qBAAqB1B,KAAKuB,SAAS,CAAC,IAAI,CAACI,QAAQ;gBACrD,IAAIC,eAAe5B,KAAKyB,IAAI,CAACN,MAAMZ,UAAUmB,oBAAoBN;gBACjE,IAAI,CAACtB,WAAW4B,qBAAqB;oBACnC,MAAMG,mBAAmB7B,KAAKyB,IAAI,CAACzB,KAAK8B,OAAO,CAACR,iBAAiB,IAAI,CAACK,QAAQ;oBAC9EC,eAAe5B,KAAKyB,IAAI,CAACN,MAAMZ,UAAUsB,kBAAkBT;oBAC3DM,qBAAqB1B,KAAK+B,QAAQ,CAAC/B,KAAK8B,OAAO,CAACN,WAAWI;gBAC7D;gBAEA,MAAMI,QAAQ,IAAI/B,MAAM;gBACxB,IAAImB,QAAQa,KAAK,EAAE;oBACjBD,MAAME,KAAK,CAAC,CAACb;wBACXzB,GAAG4B,UAAU,CAACW;4BACZA,OAAOA,IAAIC,IAAI,KAAK,WAAWf,SAASc,OAAOd;wBACjD;oBACF;gBACF;gBACAW,MAAME,KAAK,CAACnC,OAAOsC,IAAI,CAAC,MAAMrC,KAAK8B,OAAO,CAACN;gBAC3C,IAAId,WAAWsB,MAAME,KAAK,CAAC7B,aAAagC,IAAI,CAAC,MAAMT,cAAcF,oBAAoBF;qBAChFQ,MAAME,KAAK,CAACrC,GAAGyC,OAAO,CAACD,IAAI,CAACxC,IAAI6B,oBAAoBF;gBACzDQ,MAAME,KAAK,CAACzB,cAAc4B,IAAI,CAAC,MAAMb,UAAU,QAAQ,6BAA6B;gBACpFQ,MAAME,KAAK,CAAChC,MAAMmC,IAAI,CAAC,MAAMb,UAAU,IAAI,EAAEJ;gBAC7CY,MAAME,KAAK,CAAC/B,MAAMkC,IAAI,CAAC,MAAMb,UAAU,IAAI,EAAEJ;gBAC7CY,MAAME,KAAK,CAAC9B,QAAQiC,IAAI,CAAC,MAAMb,UAAU,IAAI,EAAEJ;gBAC/CY,MAAMO,KAAK,CAAClB;gBACZ;YACF,EAAE,OAAOc,KAAK;gBACZd,SAASc;gBACT;YACF;QACF;QAEA,OAAO,IAAIK,QAAQ,CAACC,SAASC;YAC3B,IAAI,CAACxB,MAAM,CAACC,MAAMC,SAAS,CAACe,KAAaQ,OAAoBR,MAAMO,OAAOP,OAAOM,QAAQE;QAC3F;IACF;IAEAC,UAAU,CAAC;IAtDX,YAAYC,UAA0B,CAAE;QACtCrC,mBAAmBqC,YAAY7B;QAC/BV,aAAa,IAAI,EAAEuC;QACnB,IAAI,IAAI,CAACC,QAAQ,KAAKC,WAAW,IAAI,CAACD,QAAQ,GAAG9C,KAAK8C,QAAQ,CAAC,IAAI,CAAC9C,IAAI;QACxE,IAAI,IAAI,CAACgD,IAAI,KAAKD,WAAW,IAAI,CAACC,IAAI,GAAG;IAC3C;AAkDF;AA/DA,SAAqB/B,+BA+DpB"}
@@ -10,7 +10,7 @@
10
10
  * All utilities support Node.js 0.8+
11
11
  */
12
12
  export { default as BufferList } from './BufferList.js';
13
- export { allocBuffer, allocBufferUnsafe, bufferCompare, bufferConcat, bufferEquals, bufferFrom, bufferSliceCopy, createInflateRawStream, inflateRaw, isNaN, objectAssign, PassThrough, readUInt64LE, Transform, writeUInt64LE, } from './compat.js';
13
+ export { allocBuffer, allocBufferUnsafe, bufferCompare, bufferConcat, bufferEquals, bufferFrom, bufferSliceCopy, createInflateRawStream, inflateRaw, isNaN, objectAssign, PassThrough, Readable, readUInt64LE, Transform, Writable, writeUInt64LE, } from './compat.js';
14
14
  export { crc32, crc32Region, verifyCrc32, verifyCrc32Region } from './crc32.js';
15
15
  export { default as EntryStream } from './EntryStream.js';
16
16
  export { type CleanupFn, default as Lock } from './Lock.js';
@@ -9,7 +9,7 @@
9
9
  *
10
10
  * All utilities support Node.js 0.8+
11
11
  */ export { default as BufferList } from './BufferList.js';
12
- export { allocBuffer, allocBufferUnsafe, bufferCompare, bufferConcat, bufferEquals, bufferFrom, bufferSliceCopy, createInflateRawStream, inflateRaw, isNaN, objectAssign, PassThrough, readUInt64LE, Transform, writeUInt64LE } from './compat.js';
12
+ export { allocBuffer, allocBufferUnsafe, bufferCompare, bufferConcat, bufferEquals, bufferFrom, bufferSliceCopy, createInflateRawStream, inflateRaw, isNaN, objectAssign, PassThrough, Readable, readUInt64LE, Transform, Writable, writeUInt64LE } from './compat.js';
13
13
  export { crc32, crc32Region, verifyCrc32, verifyCrc32Region } from './crc32.js';
14
14
  export { default as EntryStream } from './EntryStream.js';
15
15
  export { default as Lock } from './Lock.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/shared/index.ts"],"sourcesContent":["/**\n * Shared utilities for iterator libraries\n *\n * These utilities are designed to be used by:\n * - zip-iterator\n * - 7z-iterator\n * - tar-iterator\n * - Any other archive iterator library\n *\n * All utilities support Node.js 0.8+\n */\n\nexport { default as BufferList } from './BufferList.ts';\nexport {\n allocBuffer,\n allocBufferUnsafe,\n bufferCompare,\n bufferConcat,\n bufferEquals,\n bufferFrom,\n bufferSliceCopy,\n createInflateRawStream,\n inflateRaw,\n isNaN,\n objectAssign,\n PassThrough,\n readUInt64LE,\n Transform,\n writeUInt64LE,\n} from './compat.ts';\nexport { crc32, crc32Region, verifyCrc32, verifyCrc32Region } from './crc32.ts';\nexport { default as EntryStream } from './EntryStream.ts';\nexport { type CleanupFn, default as Lock } from './Lock.ts';\nexport { default as normalizePath } from './normalizePath.ts';\nexport { default as streamToString, type StreamToStringCallback } from './streamToString.ts';\nexport { default as stripPath } from './stripPath.ts';\n"],"names":["default","BufferList","allocBuffer","allocBufferUnsafe","bufferCompare","bufferConcat","bufferEquals","bufferFrom","bufferSliceCopy","createInflateRawStream","inflateRaw","isNaN","objectAssign","PassThrough","readUInt64LE","Transform","writeUInt64LE","crc32","crc32Region","verifyCrc32","verifyCrc32Region","EntryStream","Lock","normalizePath","streamToString","stripPath"],"mappings":"AAAA;;;;;;;;;;CAUC,GAED,SAASA,WAAWC,UAAU,QAAQ,kBAAkB;AACxD,SACEC,WAAW,EACXC,iBAAiB,EACjBC,aAAa,EACbC,YAAY,EACZC,YAAY,EACZC,UAAU,EACVC,eAAe,EACfC,sBAAsB,EACtBC,UAAU,EACVC,KAAK,EACLC,YAAY,EACZC,WAAW,EACXC,YAAY,EACZC,SAAS,EACTC,aAAa,QACR,cAAc;AACrB,SAASC,KAAK,EAAEC,WAAW,EAAEC,WAAW,EAAEC,iBAAiB,QAAQ,aAAa;AAChF,SAASpB,WAAWqB,WAAW,QAAQ,mBAAmB;AAC1D,SAAyBrB,WAAWsB,IAAI,QAAQ,YAAY;AAC5D,SAAStB,WAAWuB,aAAa,QAAQ,qBAAqB;AAC9D,SAASvB,WAAWwB,cAAc,QAAqC,sBAAsB;AAC7F,SAASxB,WAAWyB,SAAS,QAAQ,iBAAiB"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/shared/index.ts"],"sourcesContent":["/**\n * Shared utilities for iterator libraries\n *\n * These utilities are designed to be used by:\n * - zip-iterator\n * - 7z-iterator\n * - tar-iterator\n * - Any other archive iterator library\n *\n * All utilities support Node.js 0.8+\n */\n\nexport { default as BufferList } from './BufferList.ts';\nexport {\n allocBuffer,\n allocBufferUnsafe,\n bufferCompare,\n bufferConcat,\n bufferEquals,\n bufferFrom,\n bufferSliceCopy,\n createInflateRawStream,\n inflateRaw,\n isNaN,\n objectAssign,\n PassThrough,\n Readable,\n readUInt64LE,\n Transform,\n Writable,\n writeUInt64LE,\n} from './compat.ts';\nexport { crc32, crc32Region, verifyCrc32, verifyCrc32Region } from './crc32.ts';\nexport { default as EntryStream } from './EntryStream.ts';\nexport { type CleanupFn, default as Lock } from './Lock.ts';\nexport { default as normalizePath } from './normalizePath.ts';\nexport { default as streamToString, type StreamToStringCallback } from './streamToString.ts';\nexport { default as stripPath } from './stripPath.ts';\n"],"names":["default","BufferList","allocBuffer","allocBufferUnsafe","bufferCompare","bufferConcat","bufferEquals","bufferFrom","bufferSliceCopy","createInflateRawStream","inflateRaw","isNaN","objectAssign","PassThrough","Readable","readUInt64LE","Transform","Writable","writeUInt64LE","crc32","crc32Region","verifyCrc32","verifyCrc32Region","EntryStream","Lock","normalizePath","streamToString","stripPath"],"mappings":"AAAA;;;;;;;;;;CAUC,GAED,SAASA,WAAWC,UAAU,QAAQ,kBAAkB;AACxD,SACEC,WAAW,EACXC,iBAAiB,EACjBC,aAAa,EACbC,YAAY,EACZC,YAAY,EACZC,UAAU,EACVC,eAAe,EACfC,sBAAsB,EACtBC,UAAU,EACVC,KAAK,EACLC,YAAY,EACZC,WAAW,EACXC,QAAQ,EACRC,YAAY,EACZC,SAAS,EACTC,QAAQ,EACRC,aAAa,QACR,cAAc;AACrB,SAASC,KAAK,EAAEC,WAAW,EAAEC,WAAW,EAAEC,iBAAiB,QAAQ,aAAa;AAChF,SAAStB,WAAWuB,WAAW,QAAQ,mBAAmB;AAC1D,SAAyBvB,WAAWwB,IAAI,QAAQ,YAAY;AAC5D,SAASxB,WAAWyB,aAAa,QAAQ,qBAAqB;AAC9D,SAASzB,WAAW0B,cAAc,QAAqC,sBAAsB;AAC7F,SAAS1B,WAAW2B,SAAS,QAAQ,iBAAiB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "extract-base-iterator",
3
- "version": "3.2.0",
3
+ "version": "3.2.1",
4
4
  "description": "Base iterator for extract iterators like tar-iterator and zip-iterator",
5
5
  "keywords": [
6
6
  "extract",