extract-base-iterator 2.0.2 → 2.0.3

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.
Files changed (63) hide show
  1. package/dist/cjs/DirectoryEntry.d.cts +1 -1
  2. package/dist/cjs/DirectoryEntry.d.ts +1 -1
  3. package/dist/cjs/DirectoryEntry.js +10 -10
  4. package/dist/cjs/DirectoryEntry.js.map +1 -1
  5. package/dist/cjs/FileEntry.d.cts +1 -1
  6. package/dist/cjs/FileEntry.d.ts +1 -1
  7. package/dist/cjs/FileEntry.js +10 -10
  8. package/dist/cjs/FileEntry.js.map +1 -1
  9. package/dist/cjs/LinkEntry.d.cts +1 -1
  10. package/dist/cjs/LinkEntry.d.ts +1 -1
  11. package/dist/cjs/LinkEntry.js +11 -11
  12. package/dist/cjs/LinkEntry.js.map +1 -1
  13. package/dist/cjs/SymbolicLinkEntry.d.cts +1 -1
  14. package/dist/cjs/SymbolicLinkEntry.d.ts +1 -1
  15. package/dist/cjs/SymbolicLinkEntry.js +14 -14
  16. package/dist/cjs/SymbolicLinkEntry.js.map +1 -1
  17. package/dist/cjs/fs/chmod.d.cts +1 -1
  18. package/dist/cjs/fs/chmod.d.ts +1 -1
  19. package/dist/cjs/fs/chmod.js.map +1 -1
  20. package/dist/cjs/fs/chown.d.cts +1 -1
  21. package/dist/cjs/fs/chown.d.ts +1 -1
  22. package/dist/cjs/fs/chown.js.map +1 -1
  23. package/dist/cjs/fs/symlinkWin32.js +2 -2
  24. package/dist/cjs/fs/symlinkWin32.js.map +1 -1
  25. package/dist/cjs/fs/utimes.d.cts +1 -1
  26. package/dist/cjs/fs/utimes.d.ts +1 -1
  27. package/dist/cjs/fs/utimes.js.map +1 -1
  28. package/dist/cjs/index.d.cts +7 -7
  29. package/dist/cjs/index.d.ts +7 -7
  30. package/dist/cjs/index.js +10 -10
  31. package/dist/cjs/index.js.map +1 -1
  32. package/dist/cjs/stripPath.d.cts +1 -1
  33. package/dist/cjs/stripPath.d.ts +1 -1
  34. package/dist/cjs/stripPath.js.map +1 -1
  35. package/dist/cjs/types.d.cts +4 -4
  36. package/dist/cjs/types.d.ts +4 -4
  37. package/dist/cjs/waitForAccess.d.cts +1 -1
  38. package/dist/cjs/waitForAccess.d.ts +1 -1
  39. package/dist/cjs/waitForAccess.js.map +1 -1
  40. package/dist/esm/DirectoryEntry.d.ts +1 -1
  41. package/dist/esm/DirectoryEntry.js.map +1 -1
  42. package/dist/esm/FileEntry.d.ts +1 -1
  43. package/dist/esm/FileEntry.js.map +1 -1
  44. package/dist/esm/LinkEntry.d.ts +1 -1
  45. package/dist/esm/LinkEntry.js.map +1 -1
  46. package/dist/esm/SymbolicLinkEntry.d.ts +1 -1
  47. package/dist/esm/SymbolicLinkEntry.js.map +1 -1
  48. package/dist/esm/fs/chmod.d.ts +1 -1
  49. package/dist/esm/fs/chmod.js.map +1 -1
  50. package/dist/esm/fs/chown.d.ts +1 -1
  51. package/dist/esm/fs/chown.js.map +1 -1
  52. package/dist/esm/fs/symlinkWin32.js.map +1 -1
  53. package/dist/esm/fs/utimes.d.ts +1 -1
  54. package/dist/esm/fs/utimes.js.map +1 -1
  55. package/dist/esm/index.d.ts +7 -7
  56. package/dist/esm/index.js.map +1 -1
  57. package/dist/esm/stripPath.d.ts +1 -1
  58. package/dist/esm/stripPath.js.map +1 -1
  59. package/dist/esm/types.d.ts +4 -4
  60. package/dist/esm/types.js.map +1 -1
  61. package/dist/esm/waitForAccess.d.ts +1 -1
  62. package/dist/esm/waitForAccess.js.map +1 -1
  63. package/package.json +3 -3
@@ -1,5 +1,5 @@
1
1
  import type { Mode } from 'fs';
2
- import type { DirectoryAttributes, ExtractOptions, NoParamCallback } from './types.js';
2
+ import type { DirectoryAttributes, ExtractOptions, NoParamCallback } from './types.ts';
3
3
  export default class DirectoryEntry {
4
4
  mode: Mode;
5
5
  mtime: number;
@@ -1,5 +1,5 @@
1
1
  import type { Mode } from 'fs';
2
- import type { DirectoryAttributes, ExtractOptions, NoParamCallback } from './types.js';
2
+ import type { DirectoryAttributes, ExtractOptions, NoParamCallback } from './types.ts';
3
3
  export default class DirectoryEntry {
4
4
  mode: Mode;
5
5
  mtime: number;
@@ -12,11 +12,11 @@ var _mkdirpclassic = /*#__PURE__*/ _interop_require_default(require("mkdirp-clas
12
12
  var _objectassign = /*#__PURE__*/ _interop_require_default(require("object-assign"));
13
13
  var _path = /*#__PURE__*/ _interop_require_default(require("path"));
14
14
  var _queuecb = /*#__PURE__*/ _interop_require_default(require("queue-cb"));
15
- var _chmod = /*#__PURE__*/ _interop_require_default(require("./fs/chmod.js"));
16
- var _chown = /*#__PURE__*/ _interop_require_default(require("./fs/chown.js"));
17
- var _utimes = /*#__PURE__*/ _interop_require_default(require("./fs/utimes.js"));
18
- var _stripPath = /*#__PURE__*/ _interop_require_default(require("./stripPath.js"));
19
- var _validateAttributes = /*#__PURE__*/ _interop_require_default(require("./validateAttributes.js"));
15
+ var _chmodts = /*#__PURE__*/ _interop_require_default(require("./fs/chmod.js"));
16
+ var _chownts = /*#__PURE__*/ _interop_require_default(require("./fs/chown.js"));
17
+ var _utimests = /*#__PURE__*/ _interop_require_default(require("./fs/utimes.js"));
18
+ var _stripPathts = /*#__PURE__*/ _interop_require_default(require("./stripPath.js"));
19
+ var _validateAttributests = /*#__PURE__*/ _interop_require_default(require("./validateAttributes.js"));
20
20
  function _class_call_check(instance, Constructor) {
21
21
  if (!(instance instanceof Constructor)) {
22
22
  throw new TypeError("Cannot call a class as a function");
@@ -36,7 +36,7 @@ var DirectoryEntry = /*#__PURE__*/ function() {
36
36
  "use strict";
37
37
  function DirectoryEntry(attributes) {
38
38
  _class_call_check(this, DirectoryEntry);
39
- (0, _validateAttributes.default)(attributes, MANDATORY_ATTRIBUTES);
39
+ (0, _validateAttributests.default)(attributes, MANDATORY_ATTRIBUTES);
40
40
  (0, _objectassign.default)(this, attributes);
41
41
  if (this.type === undefined) this.type = 'directory';
42
42
  if (this.basename === undefined) this.basename = _path.default.basename(this.path);
@@ -52,13 +52,13 @@ var DirectoryEntry = /*#__PURE__*/ function() {
52
52
  options = options || {};
53
53
  try {
54
54
  var normalizedPath = _path.default.normalize(this.path);
55
- var fullPath = _path.default.join(dest, (0, _stripPath.default)(normalizedPath, options));
55
+ var fullPath = _path.default.join(dest, (0, _stripPathts.default)(normalizedPath, options));
56
56
  // do not check for the existence of the directory but allow out-of-order calling
57
57
  var queue = new _queuecb.default(1);
58
58
  queue.defer(_mkdirpclassic.default.bind(null, fullPath));
59
- queue.defer(_chmod.default.bind(null, fullPath, this, options));
60
- queue.defer(_chown.default.bind(null, fullPath, this, options));
61
- queue.defer(_utimes.default.bind(null, fullPath, this, options));
59
+ queue.defer(_chmodts.default.bind(null, fullPath, this, options));
60
+ queue.defer(_chownts.default.bind(null, fullPath, this, options));
61
+ queue.defer(_utimests.default.bind(null, fullPath, this, options));
62
62
  queue.await(callback);
63
63
  return;
64
64
  } catch (err) {
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/DirectoryEntry.ts"],"sourcesContent":["import mkdirp from 'mkdirp-classic';\nimport objectAssign from 'object-assign';\nimport path from 'path';\nimport Queue from 'queue-cb';\n\nimport chmod from './fs/chmod.js';\nimport chown from './fs/chown.js';\nimport utimes from './fs/utimes.js';\nimport stripPath from './stripPath.js';\nimport validateAttributes from './validateAttributes.js';\n\nconst MANDATORY_ATTRIBUTES = ['mode', 'mtime', 'path'];\n\nimport type { Mode } from 'fs';\nimport type { DirectoryAttributes, ExtractOptions, NoParamCallback } from './types.js';\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, options: ExtractOptions | NoParamCallback, callback?: NoParamCallback): undefined | Promise<boolean> {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n\n if (typeof callback === 'function') {\n options = options || {};\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options as ExtractOptions));\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(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","chmod","chown","utimes","await","err","Promise","resolve","reject","done","destroy"],"mappings":";;;;;;;eAgBqBA;;;oEAhBF;mEACM;2DACR;8DACC;4DAEA;4DACA;6DACC;gEACG;yEACS;;;;;;;;;;;AAE/B,IAAMC,uBAAuB;IAAC;IAAQ;IAAS;CAAO;AAKvC,IAAA,AAAMD,+BAAN;;aAAMA,eAOPE,UAA+B;gCAPxBF;QAQjBG,IAAAA,2BAAkB,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;IAcnBS,OAAAA,MA6BC,GA7BDA,SAAAA,OAAOC,IAAY,EAAEC,OAAyC,EAAEC,QAA0B;;QACxF,IAAI,OAAOD,YAAY,YAAY;YACjCC,WAAWD;YACXA,UAAU;QACZ;QAEA,IAAI,OAAOC,aAAa,YAAY;YAClCD,UAAUA,WAAW,CAAC;YACtB,IAAI;gBACF,IAAME,iBAAiBL,aAAI,CAACM,SAAS,CAAC,IAAI,CAACN,IAAI;gBAC/C,IAAMO,WAAWP,aAAI,CAACQ,IAAI,CAACN,MAAMO,IAAAA,kBAAS,EAACJ,gBAAgBF;gBAE3D,iFAAiF;gBACjF,IAAMO,QAAQ,IAAIC,gBAAK,CAAC;gBACxBD,MAAME,KAAK,CAACC,sBAAM,CAACC,IAAI,CAAC,MAAMP;gBAC9BG,MAAME,KAAK,CAACG,cAAK,CAACD,IAAI,CAAC,MAAMP,UAAU,IAAI,EAAEJ;gBAC7CO,MAAME,KAAK,CAACI,cAAK,CAACF,IAAI,CAAC,MAAMP,UAAU,IAAI,EAAEJ;gBAC7CO,MAAME,KAAK,CAACK,eAAM,CAACH,IAAI,CAAC,MAAMP,UAAU,IAAI,EAAEJ;gBAC9CO,MAAMQ,KAAK,CAACd;gBACZ;YACF,EAAE,OAAOe,KAAK;gBACZf,SAASe;gBACT;YACF;QACF;QAEA,OAAO,IAAIC,QAAQ,SAACC,SAASC;YAC3B,MAAKrB,MAAM,CAACC,MAAMC,SAAS,SAACgB,KAAaI;uBAAoBJ,MAAMG,OAAOH,OAAOE,QAAQE;;QAC3F;IACF;IAEAC,OAAAA,OAAY,GAAZA,SAAAA,WAAW;WA7CQhC"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/DirectoryEntry.ts"],"sourcesContent":["import mkdirp from 'mkdirp-classic';\nimport objectAssign from 'object-assign';\nimport path from 'path';\nimport Queue from 'queue-cb';\n\nimport chmod from './fs/chmod.ts';\nimport chown from './fs/chown.ts';\nimport utimes from './fs/utimes.ts';\nimport stripPath from './stripPath.ts';\nimport validateAttributes from './validateAttributes.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, options: ExtractOptions | NoParamCallback, callback?: NoParamCallback): undefined | Promise<boolean> {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n\n if (typeof callback === 'function') {\n options = options || {};\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options as ExtractOptions));\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(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","chmod","chown","utimes","await","err","Promise","resolve","reject","done","destroy"],"mappings":";;;;;;;eAgBqBA;;;oEAhBF;mEACM;2DACR;8DACC;8DAEA;8DACA;+DACC;kEACG;2EACS;;;;;;;;;;;AAE/B,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;IAcnBS,OAAAA,MA6BC,GA7BDA,SAAAA,OAAOC,IAAY,EAAEC,OAAyC,EAAEC,QAA0B;;QACxF,IAAI,OAAOD,YAAY,YAAY;YACjCC,WAAWD;YACXA,UAAU;QACZ;QAEA,IAAI,OAAOC,aAAa,YAAY;YAClCD,UAAUA,WAAW,CAAC;YACtB,IAAI;gBACF,IAAME,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,gBAAK,CAACD,IAAI,CAAC,MAAMP,UAAU,IAAI,EAAEJ;gBAC7CO,MAAME,KAAK,CAACI,gBAAK,CAACF,IAAI,CAAC,MAAMP,UAAU,IAAI,EAAEJ;gBAC7CO,MAAME,KAAK,CAACK,iBAAM,CAACH,IAAI,CAAC,MAAMP,UAAU,IAAI,EAAEJ;gBAC9CO,MAAMQ,KAAK,CAACd;gBACZ;YACF,EAAE,OAAOe,KAAK;gBACZf,SAASe;gBACT;YACF;QACF;QAEA,OAAO,IAAIC,QAAQ,SAACC,SAASC;YAC3B,MAAKrB,MAAM,CAACC,MAAMC,SAAS,SAACgB,KAAaI;uBAAoBJ,MAAMG,OAAOH,OAAOE,QAAQE;;QAC3F;IACF;IAEAC,OAAAA,OAAY,GAAZA,SAAAA,WAAW;WA7CQhC"}
@@ -1,5 +1,5 @@
1
1
  import type { Mode } from 'fs';
2
- import type { ExtractOptions, FileAttributes, NoParamCallback } from './types.js';
2
+ import type { ExtractOptions, FileAttributes, NoParamCallback } from './types.ts';
3
3
  export default class FileEntry {
4
4
  mode: Mode;
5
5
  mtime: number;
@@ -1,5 +1,5 @@
1
1
  import type { Mode } from 'fs';
2
- import type { ExtractOptions, FileAttributes, NoParamCallback } from './types.js';
2
+ import type { ExtractOptions, FileAttributes, NoParamCallback } from './types.ts';
3
3
  export default class FileEntry {
4
4
  mode: Mode;
5
5
  mtime: number;
@@ -13,11 +13,11 @@ var _objectassign = /*#__PURE__*/ _interop_require_default(require("object-assig
13
13
  var _path = /*#__PURE__*/ _interop_require_default(require("path"));
14
14
  var _queuecb = /*#__PURE__*/ _interop_require_default(require("queue-cb"));
15
15
  var _rimraf2 = /*#__PURE__*/ _interop_require_default(require("rimraf2"));
16
- var _chmod = /*#__PURE__*/ _interop_require_default(require("./fs/chmod.js"));
17
- var _chown = /*#__PURE__*/ _interop_require_default(require("./fs/chown.js"));
18
- var _utimes = /*#__PURE__*/ _interop_require_default(require("./fs/utimes.js"));
19
- var _stripPath = /*#__PURE__*/ _interop_require_default(require("./stripPath.js"));
20
- var _validateAttributes = /*#__PURE__*/ _interop_require_default(require("./validateAttributes.js"));
16
+ var _chmodts = /*#__PURE__*/ _interop_require_default(require("./fs/chmod.js"));
17
+ var _chownts = /*#__PURE__*/ _interop_require_default(require("./fs/chown.js"));
18
+ var _utimests = /*#__PURE__*/ _interop_require_default(require("./fs/utimes.js"));
19
+ var _stripPathts = /*#__PURE__*/ _interop_require_default(require("./stripPath.js"));
20
+ var _validateAttributests = /*#__PURE__*/ _interop_require_default(require("./validateAttributes.js"));
21
21
  function _class_call_check(instance, Constructor) {
22
22
  if (!(instance instanceof Constructor)) {
23
23
  throw new TypeError("Cannot call a class as a function");
@@ -37,7 +37,7 @@ var FileEntry = /*#__PURE__*/ function() {
37
37
  "use strict";
38
38
  function FileEntry(attributes) {
39
39
  _class_call_check(this, FileEntry);
40
- (0, _validateAttributes.default)(attributes, MANDATORY_ATTRIBUTES);
40
+ (0, _validateAttributests.default)(attributes, MANDATORY_ATTRIBUTES);
41
41
  (0, _objectassign.default)(this, attributes);
42
42
  if (this.basename === undefined) this.basename = _path.default.basename(this.path);
43
43
  if (this.type === undefined) this.type = 'file';
@@ -54,7 +54,7 @@ var FileEntry = /*#__PURE__*/ function() {
54
54
  options = options || {};
55
55
  try {
56
56
  var normalizedPath = _path.default.normalize(this.path);
57
- var fullPath = _path.default.join(dest, (0, _stripPath.default)(normalizedPath, options));
57
+ var fullPath = _path.default.join(dest, (0, _stripPathts.default)(normalizedPath, options));
58
58
  var queue = new _queuecb.default(1);
59
59
  if (options.force) {
60
60
  queue.defer(function(callback) {
@@ -67,9 +67,9 @@ var FileEntry = /*#__PURE__*/ function() {
67
67
  }
68
68
  queue.defer(_mkdirpclassic.default.bind(null, _path.default.dirname(fullPath)));
69
69
  queue.defer(this._writeFile.bind(this, fullPath, options));
70
- queue.defer(_chmod.default.bind(null, fullPath, this, options));
71
- queue.defer(_chown.default.bind(null, fullPath, this, options));
72
- queue.defer(_utimes.default.bind(null, fullPath, this, options));
70
+ queue.defer(_chmodts.default.bind(null, fullPath, this, options));
71
+ queue.defer(_chownts.default.bind(null, fullPath, this, options));
72
+ queue.defer(_utimests.default.bind(null, fullPath, this, options));
73
73
  queue.await(callback);
74
74
  return;
75
75
  } catch (err) {
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/FileEntry.ts"],"sourcesContent":["import mkdirp from 'mkdirp-classic';\nimport objectAssign from 'object-assign';\nimport path from 'path';\nimport Queue from 'queue-cb';\n\nimport rimraf2 from 'rimraf2';\nimport chmod from './fs/chmod.js';\nimport chown from './fs/chown.js';\nimport utimes from './fs/utimes.js';\nimport stripPath from './stripPath.js';\nimport validateAttributes from './validateAttributes.js';\n\nconst MANDATORY_ATTRIBUTES = ['mode', 'mtime', 'path'];\n\nimport type { Mode } from 'fs';\nimport type { ExtractOptions, FileAttributes, NoParamCallback, WriteFileFn } from './types.js';\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, options: ExtractOptions | NoParamCallback, callback?: NoParamCallback): undefined | Promise<boolean> {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n\n if (typeof callback === 'function') {\n options = options || {};\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options as ExtractOptions));\n\n const queue = new Queue(1);\n if ((options as ExtractOptions).force) {\n queue.defer((callback) => {\n rimraf2(fullPath, { disableGlob: true }, (err) => {\n err && err.code !== 'ENOENT' ? callback(err) : callback();\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(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","rimraf2","disableGlob","err","code","mkdirp","bind","dirname","chmod","chown","utimes","await","Promise","resolve","reject","done","destroy"],"mappings":";;;;;;;eAqBqBA;;;oEArBF;mEACM;2DACR;8DACC;8DAEE;4DACF;4DACA;6DACC;gEACG;yEACS;;;;;;;;;;;AAE/B,IAAMC,uBAAuB;IAAC;IAAQ;IAAS;CAAO;AASvC,IAAA,AAAMD,0BAAN;;aAAMA,UAOPE,UAA0B;gCAPnBF;QAQjBG,IAAAA,2BAAkB,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;QACzC,IAAI,AAAC,IAAI,CAAkCC,UAAU,KAAKH,WAAW,MAAM,IAAII,MAAM;;iBAZpEV;IAenBW,OAAAA,MAoCC,GApCDA,SAAAA,OAAOC,IAAY,EAAEC,OAAyC,EAAEC,QAA0B;;QACxF,IAAI,OAAOD,YAAY,YAAY;YACjCC,WAAWD;YACXA,UAAU;QACZ;QAEA,IAAI,OAAOC,aAAa,YAAY;YAClCD,UAAUA,WAAW,CAAC;YACtB,IAAI;gBACF,IAAME,iBAAiBR,aAAI,CAACS,SAAS,CAAC,IAAI,CAACT,IAAI;gBAC/C,IAAMU,WAAWV,aAAI,CAACW,IAAI,CAACN,MAAMO,IAAAA,kBAAS,EAACJ,gBAAgBF;gBAE3D,IAAMO,QAAQ,IAAIC,gBAAK,CAAC;gBACxB,IAAI,AAACR,QAA2BS,KAAK,EAAE;oBACrCF,MAAMG,KAAK,CAAC,SAACT;wBACXU,IAAAA,gBAAO,EAACP,UAAU;4BAAEQ,aAAa;wBAAK,GAAG,SAACC;4BACxCA,OAAOA,IAAIC,IAAI,KAAK,WAAWb,SAASY,OAAOZ;wBACjD;oBACF;gBACF;gBACAM,MAAMG,KAAK,CAACK,sBAAM,CAACC,IAAI,CAAC,MAAMtB,aAAI,CAACuB,OAAO,CAACb;gBAC3CG,MAAMG,KAAK,CAAC,AAAC,IAAI,CAAkCd,UAAU,CAACoB,IAAI,CAAC,IAAI,EAAEZ,UAAUJ;gBACnFO,MAAMG,KAAK,CAACQ,cAAK,CAACF,IAAI,CAAC,MAAMZ,UAAU,IAAI,EAAEJ;gBAC7CO,MAAMG,KAAK,CAACS,cAAK,CAACH,IAAI,CAAC,MAAMZ,UAAU,IAAI,EAAEJ;gBAC7CO,MAAMG,KAAK,CAACU,eAAM,CAACJ,IAAI,CAAC,MAAMZ,UAAU,IAAI,EAAEJ;gBAC9CO,MAAMc,KAAK,CAACpB;gBACZ;YACF,EAAE,OAAOY,KAAK;gBACZZ,SAASY;gBACT;YACF;QACF;QAEA,OAAO,IAAIS,QAAQ,SAACC,SAASC;YAC3B,MAAK1B,MAAM,CAACC,MAAMC,SAAS,SAACa,KAAaY;uBAAoBZ,MAAMW,OAAOX,OAAOU,QAAQE;;QAC3F;IACF;IAEAC,OAAAA,OAAY,GAAZA,SAAAA,WAAW;WArDQvC"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/FileEntry.ts"],"sourcesContent":["import mkdirp from 'mkdirp-classic';\nimport objectAssign from 'object-assign';\nimport path from 'path';\nimport Queue from 'queue-cb';\n\nimport rimraf2 from 'rimraf2';\nimport chmod from './fs/chmod.ts';\nimport chown from './fs/chown.ts';\nimport utimes from './fs/utimes.ts';\nimport stripPath from './stripPath.ts';\nimport validateAttributes from './validateAttributes.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, options: ExtractOptions | NoParamCallback, callback?: NoParamCallback): undefined | Promise<boolean> {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n\n if (typeof callback === 'function') {\n options = options || {};\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options as ExtractOptions));\n\n const queue = new Queue(1);\n if ((options as ExtractOptions).force) {\n queue.defer((callback) => {\n rimraf2(fullPath, { disableGlob: true }, (err) => {\n err && err.code !== 'ENOENT' ? callback(err) : callback();\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(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","rimraf2","disableGlob","err","code","mkdirp","bind","dirname","chmod","chown","utimes","await","Promise","resolve","reject","done","destroy"],"mappings":";;;;;;;eAqBqBA;;;oEArBF;mEACM;2DACR;8DACC;8DAEE;8DACF;8DACA;+DACC;kEACG;2EACS;;;;;;;;;;;AAE/B,IAAMC,uBAAuB;IAAC;IAAQ;IAAS;CAAO;AASvC,IAAA,AAAMD,0BAAN;;aAAMA,UAOPE,UAA0B;gCAPnBF;QAQjBG,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;QACzC,IAAI,AAAC,IAAI,CAAkCC,UAAU,KAAKH,WAAW,MAAM,IAAII,MAAM;;iBAZpEV;IAenBW,OAAAA,MAoCC,GApCDA,SAAAA,OAAOC,IAAY,EAAEC,OAAyC,EAAEC,QAA0B;;QACxF,IAAI,OAAOD,YAAY,YAAY;YACjCC,WAAWD;YACXA,UAAU;QACZ;QAEA,IAAI,OAAOC,aAAa,YAAY;YAClCD,UAAUA,WAAW,CAAC;YACtB,IAAI;gBACF,IAAME,iBAAiBR,aAAI,CAACS,SAAS,CAAC,IAAI,CAACT,IAAI;gBAC/C,IAAMU,WAAWV,aAAI,CAACW,IAAI,CAACN,MAAMO,IAAAA,oBAAS,EAACJ,gBAAgBF;gBAE3D,IAAMO,QAAQ,IAAIC,gBAAK,CAAC;gBACxB,IAAI,AAACR,QAA2BS,KAAK,EAAE;oBACrCF,MAAMG,KAAK,CAAC,SAACT;wBACXU,IAAAA,gBAAO,EAACP,UAAU;4BAAEQ,aAAa;wBAAK,GAAG,SAACC;4BACxCA,OAAOA,IAAIC,IAAI,KAAK,WAAWb,SAASY,OAAOZ;wBACjD;oBACF;gBACF;gBACAM,MAAMG,KAAK,CAACK,sBAAM,CAACC,IAAI,CAAC,MAAMtB,aAAI,CAACuB,OAAO,CAACb;gBAC3CG,MAAMG,KAAK,CAAC,AAAC,IAAI,CAAkCd,UAAU,CAACoB,IAAI,CAAC,IAAI,EAAEZ,UAAUJ;gBACnFO,MAAMG,KAAK,CAACQ,gBAAK,CAACF,IAAI,CAAC,MAAMZ,UAAU,IAAI,EAAEJ;gBAC7CO,MAAMG,KAAK,CAACS,gBAAK,CAACH,IAAI,CAAC,MAAMZ,UAAU,IAAI,EAAEJ;gBAC7CO,MAAMG,KAAK,CAACU,iBAAM,CAACJ,IAAI,CAAC,MAAMZ,UAAU,IAAI,EAAEJ;gBAC9CO,MAAMc,KAAK,CAACpB;gBACZ;YACF,EAAE,OAAOY,KAAK;gBACZZ,SAASY;gBACT;YACF;QACF;QAEA,OAAO,IAAIS,QAAQ,SAACC,SAASC;YAC3B,MAAK1B,MAAM,CAACC,MAAMC,SAAS,SAACa,KAAaY;uBAAoBZ,MAAMW,OAAOX,OAAOU,QAAQE;;QAC3F;IACF;IAEAC,OAAAA,OAAY,GAAZA,SAAAA,WAAW;WArDQvC"}
@@ -1,5 +1,5 @@
1
1
  import type { Mode } from 'fs';
2
- import type { ExtractOptions, LinkAttributes, NoParamCallback } from './types.js';
2
+ import type { ExtractOptions, LinkAttributes, NoParamCallback } from './types.ts';
3
3
  export default class LinkEntry {
4
4
  mode: Mode;
5
5
  mtime: number;
@@ -1,5 +1,5 @@
1
1
  import type { Mode } from 'fs';
2
- import type { ExtractOptions, LinkAttributes, NoParamCallback } from './types.js';
2
+ import type { ExtractOptions, LinkAttributes, NoParamCallback } from './types.ts';
3
3
  export default class LinkEntry {
4
4
  mode: Mode;
5
5
  mtime: number;
@@ -14,11 +14,11 @@ var _objectassign = /*#__PURE__*/ _interop_require_default(require("object-assig
14
14
  var _path = /*#__PURE__*/ _interop_require_default(require("path"));
15
15
  var _queuecb = /*#__PURE__*/ _interop_require_default(require("queue-cb"));
16
16
  var _rimraf2 = /*#__PURE__*/ _interop_require_default(require("rimraf2"));
17
- var _chmod = /*#__PURE__*/ _interop_require_default(require("./fs/chmod.js"));
18
- var _chown = /*#__PURE__*/ _interop_require_default(require("./fs/chown.js"));
19
- var _utimes = /*#__PURE__*/ _interop_require_default(require("./fs/utimes.js"));
20
- var _stripPath = /*#__PURE__*/ _interop_require_default(require("./stripPath.js"));
21
- var _validateAttributes = /*#__PURE__*/ _interop_require_default(require("./validateAttributes.js"));
17
+ var _chmodts = /*#__PURE__*/ _interop_require_default(require("./fs/chmod.js"));
18
+ var _chownts = /*#__PURE__*/ _interop_require_default(require("./fs/chown.js"));
19
+ var _utimests = /*#__PURE__*/ _interop_require_default(require("./fs/utimes.js"));
20
+ var _stripPathts = /*#__PURE__*/ _interop_require_default(require("./stripPath.js"));
21
+ var _validateAttributests = /*#__PURE__*/ _interop_require_default(require("./validateAttributes.js"));
22
22
  function _class_call_check(instance, Constructor) {
23
23
  if (!(instance instanceof Constructor)) {
24
24
  throw new TypeError("Cannot call a class as a function");
@@ -39,7 +39,7 @@ var LinkEntry = /*#__PURE__*/ function() {
39
39
  "use strict";
40
40
  function LinkEntry(attributes) {
41
41
  _class_call_check(this, LinkEntry);
42
- (0, _validateAttributes.default)(attributes, MANDATORY_ATTRIBUTES);
42
+ (0, _validateAttributests.default)(attributes, MANDATORY_ATTRIBUTES);
43
43
  (0, _objectassign.default)(this, attributes);
44
44
  if (this.basename === undefined) this.basename = _path.default.basename(this.path);
45
45
  if (this.type === undefined) this.type = 'link';
@@ -55,9 +55,9 @@ var LinkEntry = /*#__PURE__*/ function() {
55
55
  options = options || {};
56
56
  try {
57
57
  var normalizedPath = _path.default.normalize(this.path);
58
- var fullPath = _path.default.join(dest, (0, _stripPath.default)(normalizedPath, options));
58
+ var fullPath = _path.default.join(dest, (0, _stripPathts.default)(normalizedPath, options));
59
59
  var normalizedLinkpath = _path.default.normalize(this.linkpath);
60
- var linkFullPath = _path.default.join(dest, (0, _stripPath.default)(normalizedLinkpath, options));
60
+ var linkFullPath = _path.default.join(dest, (0, _stripPathts.default)(normalizedLinkpath, options));
61
61
  var queue = new _queuecb.default(1);
62
62
  if (options.force) {
63
63
  queue.defer(function(callback) {
@@ -70,9 +70,9 @@ var LinkEntry = /*#__PURE__*/ function() {
70
70
  }
71
71
  queue.defer(_mkdirpclassic.default.bind(null, _path.default.dirname(fullPath)));
72
72
  queue.defer(_gracefulfs.default.link.bind(_gracefulfs.default, linkFullPath, fullPath));
73
- queue.defer(_chmod.default.bind(null, fullPath, this, options));
74
- queue.defer(_chown.default.bind(null, fullPath, this, options));
75
- queue.defer(_utimes.default.bind(null, fullPath, this, options));
73
+ queue.defer(_chmodts.default.bind(null, fullPath, this, options));
74
+ queue.defer(_chownts.default.bind(null, fullPath, this, options));
75
+ queue.defer(_utimests.default.bind(null, fullPath, this, options));
76
76
  queue.await(callback);
77
77
  return;
78
78
  } catch (err) {
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/LinkEntry.ts"],"sourcesContent":["import fs from 'graceful-fs';\nimport mkdirp from 'mkdirp-classic';\nimport objectAssign from 'object-assign';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport rimraf2 from 'rimraf2';\n\nimport chmod from './fs/chmod.js';\nimport chown from './fs/chown.js';\nimport utimes from './fs/utimes.js';\nimport stripPath from './stripPath.js';\nimport validateAttributes from './validateAttributes.js';\n\nconst MANDATORY_ATTRIBUTES = ['mode', 'mtime', 'path', 'linkpath'];\n\nimport type { Mode } from 'fs';\nimport type { ExtractOptions, LinkAttributes, NoParamCallback } from './types.js';\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, options: ExtractOptions | NoParamCallback, callback?: NoParamCallback): undefined | Promise<boolean> {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n\n if (typeof callback === 'function') {\n options = options || {};\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options as ExtractOptions));\n const normalizedLinkpath = path.normalize(this.linkpath);\n const linkFullPath = path.join(dest, stripPath(normalizedLinkpath, options as ExtractOptions));\n\n const queue = new Queue(1);\n if ((options as ExtractOptions).force) {\n queue.defer((callback) => {\n rimraf2(fullPath, { disableGlob: true }, (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(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","rimraf2","disableGlob","err","code","mkdirp","bind","dirname","fs","link","chmod","chown","utimes","await","Promise","resolve","reject","done","destroy"],"mappings":";;;;;;;eAkBqBA;;;iEAlBN;oEACI;mEACM;2DACR;8DACC;8DACE;4DAEF;4DACA;6DACC;gEACG;yEACS;;;;;;;;;;;AAE/B,IAAMC,uBAAuB;IAAC;IAAQ;IAAS;IAAQ;CAAW;AAKnD,IAAA,AAAMD,0BAAN;;aAAMA,UAQPE,UAA0B;gCARnBF;QASjBG,IAAAA,2BAAkB,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;IAenBS,OAAAA,MAsCC,GAtCDA,SAAAA,OAAOC,IAAY,EAAEC,OAAyC,EAAEC,QAA0B;;QACxF,IAAI,OAAOD,YAAY,YAAY;YACjCC,WAAWD;YACXA,UAAU;QACZ;QAEA,IAAI,OAAOC,aAAa,YAAY;YAClCD,UAAUA,WAAW,CAAC;YACtB,IAAI;gBACF,IAAME,iBAAiBN,aAAI,CAACO,SAAS,CAAC,IAAI,CAACP,IAAI;gBAC/C,IAAMQ,WAAWR,aAAI,CAACS,IAAI,CAACN,MAAMO,IAAAA,kBAAS,EAACJ,gBAAgBF;gBAC3D,IAAMO,qBAAqBX,aAAI,CAACO,SAAS,CAAC,IAAI,CAACK,QAAQ;gBACvD,IAAMC,eAAeb,aAAI,CAACS,IAAI,CAACN,MAAMO,IAAAA,kBAAS,EAACC,oBAAoBP;gBAEnE,IAAMU,QAAQ,IAAIC,gBAAK,CAAC;gBACxB,IAAI,AAACX,QAA2BY,KAAK,EAAE;oBACrCF,MAAMG,KAAK,CAAC,SAACZ;wBACXa,IAAAA,gBAAO,EAACV,UAAU;4BAAEW,aAAa;wBAAK,GAAG,SAACC;4BACxCA,OAAOA,IAAIC,IAAI,KAAK,WAAWhB,SAASe,OAAOf;wBACjD;oBACF;gBACF;gBACAS,MAAMG,KAAK,CAACK,sBAAM,CAACC,IAAI,CAAC,MAAMvB,aAAI,CAACwB,OAAO,CAAChB;gBAC3CM,MAAMG,KAAK,CAACQ,mBAAE,CAACC,IAAI,CAACH,IAAI,CAACE,mBAAE,EAAEZ,cAAcL;gBAC3CM,MAAMG,KAAK,CAACU,cAAK,CAACJ,IAAI,CAAC,MAAMf,UAAU,IAAI,EAAEJ;gBAC7CU,MAAMG,KAAK,CAACW,cAAK,CAACL,IAAI,CAAC,MAAMf,UAAU,IAAI,EAAEJ;gBAC7CU,MAAMG,KAAK,CAACY,eAAM,CAACN,IAAI,CAAC,MAAMf,UAAU,IAAI,EAAEJ;gBAC9CU,MAAMgB,KAAK,CAACzB;gBACZ;YACF,EAAE,OAAOe,KAAK;gBACZf,SAASe;gBACT;YACF;QACF;QAEA,OAAO,IAAIW,QAAQ,SAACC,SAASC;YAC3B,MAAK/B,MAAM,CAACC,MAAMC,SAAS,SAACgB,KAAac;uBAAoBd,MAAMa,OAAOb,OAAOY,QAAQE;;QAC3F;IACF;IAEAC,OAAAA,OAAY,GAAZA,SAAAA,WAAW;WAvDQ1C"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/LinkEntry.ts"],"sourcesContent":["import fs from 'graceful-fs';\nimport mkdirp from 'mkdirp-classic';\nimport objectAssign from 'object-assign';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport rimraf2 from 'rimraf2';\n\nimport chmod from './fs/chmod.ts';\nimport chown from './fs/chown.ts';\nimport utimes from './fs/utimes.ts';\nimport stripPath from './stripPath.ts';\nimport validateAttributes from './validateAttributes.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, options: ExtractOptions | NoParamCallback, callback?: NoParamCallback): undefined | Promise<boolean> {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n\n if (typeof callback === 'function') {\n options = options || {};\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options as ExtractOptions));\n const normalizedLinkpath = path.normalize(this.linkpath);\n const linkFullPath = path.join(dest, stripPath(normalizedLinkpath, options as ExtractOptions));\n\n const queue = new Queue(1);\n if ((options as ExtractOptions).force) {\n queue.defer((callback) => {\n rimraf2(fullPath, { disableGlob: true }, (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(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","rimraf2","disableGlob","err","code","mkdirp","bind","dirname","fs","link","chmod","chown","utimes","await","Promise","resolve","reject","done","destroy"],"mappings":";;;;;;;eAkBqBA;;;iEAlBN;oEACI;mEACM;2DACR;8DACC;8DACE;8DAEF;8DACA;+DACC;kEACG;2EACS;;;;;;;;;;;AAE/B,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;IAenBS,OAAAA,MAsCC,GAtCDA,SAAAA,OAAOC,IAAY,EAAEC,OAAyC,EAAEC,QAA0B;;QACxF,IAAI,OAAOD,YAAY,YAAY;YACjCC,WAAWD;YACXA,UAAU;QACZ;QAEA,IAAI,OAAOC,aAAa,YAAY;YAClCD,UAAUA,WAAW,CAAC;YACtB,IAAI;gBACF,IAAME,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,IAAI,AAACX,QAA2BY,KAAK,EAAE;oBACrCF,MAAMG,KAAK,CAAC,SAACZ;wBACXa,IAAAA,gBAAO,EAACV,UAAU;4BAAEW,aAAa;wBAAK,GAAG,SAACC;4BACxCA,OAAOA,IAAIC,IAAI,KAAK,WAAWhB,SAASe,OAAOf;wBACjD;oBACF;gBACF;gBACAS,MAAMG,KAAK,CAACK,sBAAM,CAACC,IAAI,CAAC,MAAMvB,aAAI,CAACwB,OAAO,CAAChB;gBAC3CM,MAAMG,KAAK,CAACQ,mBAAE,CAACC,IAAI,CAACH,IAAI,CAACE,mBAAE,EAAEZ,cAAcL;gBAC3CM,MAAMG,KAAK,CAACU,gBAAK,CAACJ,IAAI,CAAC,MAAMf,UAAU,IAAI,EAAEJ;gBAC7CU,MAAMG,KAAK,CAACW,gBAAK,CAACL,IAAI,CAAC,MAAMf,UAAU,IAAI,EAAEJ;gBAC7CU,MAAMG,KAAK,CAACY,iBAAM,CAACN,IAAI,CAAC,MAAMf,UAAU,IAAI,EAAEJ;gBAC9CU,MAAMgB,KAAK,CAACzB;gBACZ;YACF,EAAE,OAAOe,KAAK;gBACZf,SAASe;gBACT;YACF;QACF;QAEA,OAAO,IAAIW,QAAQ,SAACC,SAASC;YAC3B,MAAK/B,MAAM,CAACC,MAAMC,SAAS,SAACgB,KAAac;uBAAoBd,MAAMa,OAAOb,OAAOY,QAAQE;;QAC3F;IACF;IAEAC,OAAAA,OAAY,GAAZA,SAAAA,WAAW;WAvDQ1C"}
@@ -1,5 +1,5 @@
1
1
  import type { Mode } from 'fs';
2
- import type { ExtractOptions, LinkAttributes, NoParamCallback } from './types.js';
2
+ import type { ExtractOptions, LinkAttributes, NoParamCallback } from './types.ts';
3
3
  export default class SymbolicLinkEntry {
4
4
  mode: Mode;
5
5
  mtime: number;
@@ -1,5 +1,5 @@
1
1
  import type { Mode } from 'fs';
2
- import type { ExtractOptions, LinkAttributes, NoParamCallback } from './types.js';
2
+ import type { ExtractOptions, LinkAttributes, NoParamCallback } from './types.ts';
3
3
  export default class SymbolicLinkEntry {
4
4
  mode: Mode;
5
5
  mtime: number;
@@ -15,12 +15,12 @@ var _objectassign = /*#__PURE__*/ _interop_require_default(require("object-assig
15
15
  var _path = /*#__PURE__*/ _interop_require_default(require("path"));
16
16
  var _queuecb = /*#__PURE__*/ _interop_require_default(require("queue-cb"));
17
17
  var _rimraf2 = /*#__PURE__*/ _interop_require_default(require("rimraf2"));
18
- var _chmod = /*#__PURE__*/ _interop_require_default(require("./fs/chmod.js"));
19
- var _chown = /*#__PURE__*/ _interop_require_default(require("./fs/chown.js"));
20
- var _symlinkWin32 = /*#__PURE__*/ _interop_require_default(require("./fs/symlinkWin32.js"));
21
- var _utimes = /*#__PURE__*/ _interop_require_default(require("./fs/utimes.js"));
22
- var _stripPath = /*#__PURE__*/ _interop_require_default(require("./stripPath.js"));
23
- var _validateAttributes = /*#__PURE__*/ _interop_require_default(require("./validateAttributes.js"));
18
+ var _chmodts = /*#__PURE__*/ _interop_require_default(require("./fs/chmod.js"));
19
+ var _chownts = /*#__PURE__*/ _interop_require_default(require("./fs/chown.js"));
20
+ var _symlinkWin32ts = /*#__PURE__*/ _interop_require_default(require("./fs/symlinkWin32.js"));
21
+ var _utimests = /*#__PURE__*/ _interop_require_default(require("./fs/utimes.js"));
22
+ var _stripPathts = /*#__PURE__*/ _interop_require_default(require("./stripPath.js"));
23
+ var _validateAttributests = /*#__PURE__*/ _interop_require_default(require("./validateAttributes.js"));
24
24
  function _class_call_check(instance, Constructor) {
25
25
  if (!(instance instanceof Constructor)) {
26
26
  throw new TypeError("Cannot call a class as a function");
@@ -42,7 +42,7 @@ var SymbolicLinkEntry = /*#__PURE__*/ function() {
42
42
  "use strict";
43
43
  function SymbolicLinkEntry(attributes) {
44
44
  _class_call_check(this, SymbolicLinkEntry);
45
- (0, _validateAttributes.default)(attributes, MANDATORY_ATTRIBUTES);
45
+ (0, _validateAttributests.default)(attributes, MANDATORY_ATTRIBUTES);
46
46
  (0, _objectassign.default)(this, attributes);
47
47
  if (this.basename === undefined) this.basename = _path.default.basename(this.path);
48
48
  if (this.type === undefined) this.type = 'symlink';
@@ -58,12 +58,12 @@ var SymbolicLinkEntry = /*#__PURE__*/ function() {
58
58
  options = options || {};
59
59
  try {
60
60
  var normalizedPath = _path.default.normalize(this.path);
61
- var fullPath = _path.default.join(dest, (0, _stripPath.default)(normalizedPath, options));
61
+ var fullPath = _path.default.join(dest, (0, _stripPathts.default)(normalizedPath, options));
62
62
  var normalizedLinkpath = _path.default.normalize(this.linkpath);
63
- var linkFullPath = _path.default.join(dest, (0, _stripPath.default)(normalizedLinkpath, options));
63
+ var linkFullPath = _path.default.join(dest, (0, _stripPathts.default)(normalizedLinkpath, options));
64
64
  if (!(0, _isabsolute.default)(normalizedLinkpath)) {
65
65
  var linkRelativePath = _path.default.join(_path.default.dirname(normalizedPath), this.linkpath);
66
- linkFullPath = _path.default.join(dest, (0, _stripPath.default)(linkRelativePath, options));
66
+ linkFullPath = _path.default.join(dest, (0, _stripPathts.default)(linkRelativePath, options));
67
67
  normalizedLinkpath = _path.default.relative(_path.default.dirname(fullPath), linkFullPath);
68
68
  }
69
69
  var queue = new _queuecb.default(1);
@@ -77,11 +77,11 @@ var SymbolicLinkEntry = /*#__PURE__*/ function() {
77
77
  });
78
78
  }
79
79
  queue.defer(_mkdirpclassic.default.bind(null, _path.default.dirname(fullPath)));
80
- if (isWindows) queue.defer(_symlinkWin32.default.bind(null, linkFullPath, normalizedLinkpath, fullPath));
80
+ if (isWindows) queue.defer(_symlinkWin32ts.default.bind(null, linkFullPath, normalizedLinkpath, fullPath));
81
81
  else queue.defer(_gracefulfs.default.symlink.bind(_gracefulfs.default, normalizedLinkpath, fullPath));
82
- queue.defer(_chmod.default.bind(null, fullPath, this, options));
83
- queue.defer(_chown.default.bind(null, fullPath, this, options));
84
- queue.defer(_utimes.default.bind(null, fullPath, this, options));
82
+ queue.defer(_chmodts.default.bind(null, fullPath, this, options));
83
+ queue.defer(_chownts.default.bind(null, fullPath, this, options));
84
+ queue.defer(_utimests.default.bind(null, fullPath, this, options));
85
85
  queue.await(callback);
86
86
  return;
87
87
  } catch (err) {
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/SymbolicLinkEntry.ts"],"sourcesContent":["import fs from 'graceful-fs';\nimport isAbsolute from 'is-absolute';\nimport mkdirp from 'mkdirp-classic';\nimport objectAssign from 'object-assign';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport rimraf2 from 'rimraf2';\n\nimport chmod from './fs/chmod.js';\nimport chown from './fs/chown.js';\nimport symlinkWin32 from './fs/symlinkWin32.js';\nimport utimes from './fs/utimes.js';\nimport stripPath from './stripPath.js';\nimport validateAttributes from './validateAttributes.js';\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.js';\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, options: ExtractOptions | NoParamCallback, callback?: NoParamCallback): undefined | Promise<boolean> {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n\n if (typeof callback === 'function') {\n options = options || {};\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options as ExtractOptions));\n let normalizedLinkpath = path.normalize(this.linkpath);\n let linkFullPath = path.join(dest, stripPath(normalizedLinkpath, options as ExtractOptions));\n if (!isAbsolute(normalizedLinkpath)) {\n const linkRelativePath = path.join(path.dirname(normalizedPath), this.linkpath);\n linkFullPath = path.join(dest, stripPath(linkRelativePath, options as ExtractOptions));\n normalizedLinkpath = path.relative(path.dirname(fullPath), linkFullPath);\n }\n\n const queue = new Queue(1);\n if ((options as ExtractOptions).force) {\n queue.defer((callback) => {\n rimraf2(fullPath, { disableGlob: true }, (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(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":["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","rimraf2","disableGlob","err","code","mkdirp","bind","symlinkWin32","fs","symlink","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/SymbolicLinkEntry.ts"],"sourcesContent":["import fs from 'graceful-fs';\nimport isAbsolute from 'is-absolute';\nimport mkdirp from 'mkdirp-classic';\nimport objectAssign from 'object-assign';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport rimraf2 from 'rimraf2';\n\nimport chmod from './fs/chmod.ts';\nimport chown from './fs/chown.ts';\nimport symlinkWin32 from './fs/symlinkWin32.ts';\nimport utimes from './fs/utimes.ts';\nimport stripPath from './stripPath.ts';\nimport validateAttributes from './validateAttributes.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, options: ExtractOptions | NoParamCallback, callback?: NoParamCallback): undefined | Promise<boolean> {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n\n if (typeof callback === 'function') {\n options = options || {};\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options as ExtractOptions));\n let normalizedLinkpath = path.normalize(this.linkpath);\n let linkFullPath = path.join(dest, stripPath(normalizedLinkpath, options as ExtractOptions));\n if (!isAbsolute(normalizedLinkpath)) {\n const linkRelativePath = path.join(path.dirname(normalizedPath), this.linkpath);\n linkFullPath = path.join(dest, stripPath(linkRelativePath, options as ExtractOptions));\n normalizedLinkpath = path.relative(path.dirname(fullPath), linkFullPath);\n }\n\n const queue = new Queue(1);\n if ((options as ExtractOptions).force) {\n queue.defer((callback) => {\n rimraf2(fullPath, { disableGlob: true }, (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(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":["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","rimraf2","disableGlob","err","code","mkdirp","bind","symlinkWin32","fs","symlink","chmod","chown","utimes","await","Promise","resolve","reject","done","destroy"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import type { NoParamCallback } from 'fs';
2
- import type { AbstractEntry, ExtractOptions } from '../types.js';
2
+ import type { AbstractEntry, ExtractOptions } from '../types.ts';
3
3
  export default function chmodFn(fullPath: string, entry: AbstractEntry, _options: ExtractOptions, callback: NoParamCallback): void;
@@ -1,3 +1,3 @@
1
1
  import type { NoParamCallback } from 'fs';
2
- import type { AbstractEntry, ExtractOptions } from '../types.js';
2
+ import type { AbstractEntry, ExtractOptions } from '../types.ts';
3
3
  export default function chmodFn(fullPath: string, entry: AbstractEntry, _options: ExtractOptions, callback: NoParamCallback): void;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/fs/chmod.ts"],"sourcesContent":["// adapted from https://github.com/mafintosh/tar-fs\n\nimport type { NoParamCallback } from 'fs';\nimport fs from 'graceful-fs';\nimport type { AbstractEntry, ExtractOptions } from '../types.js';\n\nconst UMASK = process.umask ? process.umask() : null;\nconst DMODE = 0o755;\nconst FMODE = 0o644;\nconst SMODE = 0o755;\nconst LMODE = 0o644;\n\nexport default function chmodFn(fullPath: string, entry: AbstractEntry, _options: ExtractOptions, callback: NoParamCallback) {\n const chmod = entry.type === 'symlink' ? fs.lchmod : fs.chmod;\n if (!chmod || UMASK === null) {\n callback(null);\n return;\n }\n\n let mode = entry.mode;\n if (!mode) {\n switch (entry.type) {\n case 'directory':\n mode = DMODE;\n break;\n case 'file':\n mode = FMODE;\n break;\n case 'symlink':\n mode = SMODE;\n break;\n case 'link':\n mode = LMODE;\n break;\n }\n }\n chmod(fullPath, (mode as number) & ~UMASK, callback);\n}\n"],"names":["chmodFn","UMASK","process","umask","DMODE","FMODE","SMODE","LMODE","fullPath","entry","_options","callback","chmod","type","fs","lchmod","mode"],"mappings":"AAAA,mDAAmD;;;;;+BAYnD;;;eAAwBA;;;iEATT;;;;;;AAGf,IAAMC,QAAQC,QAAQC,KAAK,GAAGD,QAAQC,KAAK,KAAK;AAChD,IAAMC,QAAQ;AACd,IAAMC,QAAQ;AACd,IAAMC,QAAQ;AACd,IAAMC,QAAQ;AAEC,SAASP,QAAQQ,QAAgB,EAAEC,KAAoB,EAAEC,QAAwB,EAAEC,QAAyB;IACzH,IAAMC,QAAQH,MAAMI,IAAI,KAAK,YAAYC,mBAAE,CAACC,MAAM,GAAGD,mBAAE,CAACF,KAAK;IAC7D,IAAI,CAACA,SAASX,UAAU,MAAM;QAC5BU,SAAS;QACT;IACF;IAEA,IAAIK,OAAOP,MAAMO,IAAI;IACrB,IAAI,CAACA,MAAM;QACT,OAAQP,MAAMI,IAAI;YAChB,KAAK;gBACHG,OAAOZ;gBACP;YACF,KAAK;gBACHY,OAAOX;gBACP;YACF,KAAK;gBACHW,OAAOV;gBACP;YACF,KAAK;gBACHU,OAAOT;gBACP;QACJ;IACF;IACAK,MAAMJ,UAAU,AAACQ,OAAkB,CAACf,OAAOU;AAC7C"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/fs/chmod.ts"],"sourcesContent":["// adapted from https://github.com/mafintosh/tar-fs\n\nimport type { NoParamCallback } from 'fs';\nimport fs from 'graceful-fs';\nimport type { AbstractEntry, ExtractOptions } from '../types.ts';\n\nconst UMASK = process.umask ? process.umask() : null;\nconst DMODE = 0o755;\nconst FMODE = 0o644;\nconst SMODE = 0o755;\nconst LMODE = 0o644;\n\nexport default function chmodFn(fullPath: string, entry: AbstractEntry, _options: ExtractOptions, callback: NoParamCallback) {\n const chmod = entry.type === 'symlink' ? fs.lchmod : fs.chmod;\n if (!chmod || UMASK === null) {\n callback(null);\n return;\n }\n\n let mode = entry.mode;\n if (!mode) {\n switch (entry.type) {\n case 'directory':\n mode = DMODE;\n break;\n case 'file':\n mode = FMODE;\n break;\n case 'symlink':\n mode = SMODE;\n break;\n case 'link':\n mode = LMODE;\n break;\n }\n }\n chmod(fullPath, (mode as number) & ~UMASK, callback);\n}\n"],"names":["chmodFn","UMASK","process","umask","DMODE","FMODE","SMODE","LMODE","fullPath","entry","_options","callback","chmod","type","fs","lchmod","mode"],"mappings":"AAAA,mDAAmD;;;;;+BAYnD;;;eAAwBA;;;iEATT;;;;;;AAGf,IAAMC,QAAQC,QAAQC,KAAK,GAAGD,QAAQC,KAAK,KAAK;AAChD,IAAMC,QAAQ;AACd,IAAMC,QAAQ;AACd,IAAMC,QAAQ;AACd,IAAMC,QAAQ;AAEC,SAASP,QAAQQ,QAAgB,EAAEC,KAAoB,EAAEC,QAAwB,EAAEC,QAAyB;IACzH,IAAMC,QAAQH,MAAMI,IAAI,KAAK,YAAYC,mBAAE,CAACC,MAAM,GAAGD,mBAAE,CAACF,KAAK;IAC7D,IAAI,CAACA,SAASX,UAAU,MAAM;QAC5BU,SAAS;QACT;IACF;IAEA,IAAIK,OAAOP,MAAMO,IAAI;IACrB,IAAI,CAACA,MAAM;QACT,OAAQP,MAAMI,IAAI;YAChB,KAAK;gBACHG,OAAOZ;gBACP;YACF,KAAK;gBACHY,OAAOX;gBACP;YACF,KAAK;gBACHW,OAAOV;gBACP;YACF,KAAK;gBACHU,OAAOT;gBACP;QACJ;IACF;IACAK,MAAMJ,UAAU,AAACQ,OAAkB,CAACf,OAAOU;AAC7C"}
@@ -1,3 +1,3 @@
1
1
  import type { NoParamCallback } from 'fs';
2
- import type { AbstractEntry, ExtractOptions } from '../types.js';
2
+ import type { AbstractEntry, ExtractOptions } from '../types.ts';
3
3
  export default function chownFn(fullPath: string, entry: AbstractEntry, _options: ExtractOptions, callback: NoParamCallback): void;
@@ -1,3 +1,3 @@
1
1
  import type { NoParamCallback } from 'fs';
2
- import type { AbstractEntry, ExtractOptions } from '../types.js';
2
+ import type { AbstractEntry, ExtractOptions } from '../types.ts';
3
3
  export default function chownFn(fullPath: string, entry: AbstractEntry, _options: ExtractOptions, callback: NoParamCallback): void;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/fs/chown.ts"],"sourcesContent":["// adapted from https://github.com/mafintosh/tar-fs\n\nimport type { NoParamCallback } from 'fs';\nimport fs from 'graceful-fs';\nimport type { AbstractEntry, ExtractOptions } from '../types.js';\n\nconst UID = process.getuid ? process.getuid() : -1;\nconst OWN = process.platform !== 'win32' && UID === 0;\n\nexport default function chownFn(fullPath: string, entry: AbstractEntry, _options: ExtractOptions, callback: NoParamCallback) {\n const chown = entry.type === 'symlink' ? fs.lchown : fs.chown;\n if (!chown || !OWN || !entry.uid || !entry.gid) {\n callback(null);\n return;\n }\n chown(fullPath, entry.uid, entry.gid, callback);\n}\n"],"names":["chownFn","UID","process","getuid","OWN","platform","fullPath","entry","_options","callback","chown","type","fs","lchown","uid","gid"],"mappings":"AAAA,mDAAmD;;;;;+BASnD;;;eAAwBA;;;iEANT;;;;;;AAGf,IAAMC,MAAMC,QAAQC,MAAM,GAAGD,QAAQC,MAAM,KAAK,CAAC;AACjD,IAAMC,MAAMF,QAAQG,QAAQ,KAAK,WAAWJ,QAAQ;AAErC,SAASD,QAAQM,QAAgB,EAAEC,KAAoB,EAAEC,QAAwB,EAAEC,QAAyB;IACzH,IAAMC,QAAQH,MAAMI,IAAI,KAAK,YAAYC,mBAAE,CAACC,MAAM,GAAGD,mBAAE,CAACF,KAAK;IAC7D,IAAI,CAACA,SAAS,CAACN,OAAO,CAACG,MAAMO,GAAG,IAAI,CAACP,MAAMQ,GAAG,EAAE;QAC9CN,SAAS;QACT;IACF;IACAC,MAAMJ,UAAUC,MAAMO,GAAG,EAAEP,MAAMQ,GAAG,EAAEN;AACxC"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/fs/chown.ts"],"sourcesContent":["// adapted from https://github.com/mafintosh/tar-fs\n\nimport type { NoParamCallback } from 'fs';\nimport fs from 'graceful-fs';\nimport type { AbstractEntry, ExtractOptions } from '../types.ts';\n\nconst UID = process.getuid ? process.getuid() : -1;\nconst OWN = process.platform !== 'win32' && UID === 0;\n\nexport default function chownFn(fullPath: string, entry: AbstractEntry, _options: ExtractOptions, callback: NoParamCallback) {\n const chown = entry.type === 'symlink' ? fs.lchown : fs.chown;\n if (!chown || !OWN || !entry.uid || !entry.gid) {\n callback(null);\n return;\n }\n chown(fullPath, entry.uid, entry.gid, callback);\n}\n"],"names":["chownFn","UID","process","getuid","OWN","platform","fullPath","entry","_options","callback","chown","type","fs","lchown","uid","gid"],"mappings":"AAAA,mDAAmD;;;;;+BASnD;;;eAAwBA;;;iEANT;;;;;;AAGf,IAAMC,MAAMC,QAAQC,MAAM,GAAGD,QAAQC,MAAM,KAAK,CAAC;AACjD,IAAMC,MAAMF,QAAQG,QAAQ,KAAK,WAAWJ,QAAQ;AAErC,SAASD,QAAQM,QAAgB,EAAEC,KAAoB,EAAEC,QAAwB,EAAEC,QAAyB;IACzH,IAAMC,QAAQH,MAAMI,IAAI,KAAK,YAAYC,mBAAE,CAACC,MAAM,GAAGD,mBAAE,CAACF,KAAK;IAC7D,IAAI,CAACA,SAAS,CAACN,OAAO,CAACG,MAAMO,GAAG,IAAI,CAACP,MAAMQ,GAAG,EAAE;QAC9CN,SAAS;QACT;IACF;IACAC,MAAMJ,UAAUC,MAAMO,GAAG,EAAEP,MAAMQ,GAAG,EAAEN;AACxC"}
@@ -9,14 +9,14 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  var _gracefulfs = /*#__PURE__*/ _interop_require_default(require("graceful-fs"));
12
- var _lstatReal = /*#__PURE__*/ _interop_require_default(require("./lstatReal.js"));
12
+ var _lstatRealts = /*#__PURE__*/ _interop_require_default(require("./lstatReal.js"));
13
13
  function _interop_require_default(obj) {
14
14
  return obj && obj.__esModule ? obj : {
15
15
  default: obj
16
16
  };
17
17
  }
18
18
  function symlinkWin32(linkFullPath, linkpath, fullPath, callback) {
19
- (0, _lstatReal.default)(linkFullPath, function(err, targetStat) {
19
+ (0, _lstatRealts.default)(linkFullPath, function(err, targetStat) {
20
20
  if (err || !targetStat) return callback(err || new Error("Symlink path does not exist".concat(linkFullPath)));
21
21
  var type = targetStat.isDirectory() ? 'dir' : 'file';
22
22
  _gracefulfs.default.symlink(linkpath, fullPath, type, callback);
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/fs/symlinkWin32.ts"],"sourcesContent":["import type { NoParamCallback } from 'fs';\nimport fs from 'graceful-fs';\nimport lstatReal from './lstatReal.js';\n\nexport default function symlinkWin32(linkFullPath: string, linkpath: string, fullPath: string, callback: NoParamCallback) {\n lstatReal(linkFullPath, (err, targetStat) => {\n if (err || !targetStat) return callback(err || new Error(`Symlink path does not exist${linkFullPath}`));\n const type = targetStat.isDirectory() ? 'dir' : 'file';\n fs.symlink(linkpath, fullPath, type, callback);\n });\n}\n"],"names":["symlinkWin32","linkFullPath","linkpath","fullPath","callback","lstatReal","err","targetStat","Error","type","isDirectory","fs","symlink"],"mappings":";;;;+BAIA;;;eAAwBA;;;iEAHT;gEACO;;;;;;AAEP,SAASA,aAAaC,YAAoB,EAAEC,QAAgB,EAAEC,QAAgB,EAAEC,QAAyB;IACtHC,IAAAA,kBAAS,EAACJ,cAAc,SAACK,KAAKC;QAC5B,IAAID,OAAO,CAACC,YAAY,OAAOH,SAASE,OAAO,IAAIE,MAAM,AAAC,8BAA0C,OAAbP;QACvF,IAAMQ,OAAOF,WAAWG,WAAW,KAAK,QAAQ;QAChDC,mBAAE,CAACC,OAAO,CAACV,UAAUC,UAAUM,MAAML;IACvC;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/fs/symlinkWin32.ts"],"sourcesContent":["import type { NoParamCallback } from 'fs';\nimport fs from 'graceful-fs';\nimport lstatReal from './lstatReal.ts';\n\nexport default function symlinkWin32(linkFullPath: string, linkpath: string, fullPath: string, callback: NoParamCallback) {\n lstatReal(linkFullPath, (err, targetStat) => {\n if (err || !targetStat) return callback(err || new Error(`Symlink path does not exist${linkFullPath}`));\n const type = targetStat.isDirectory() ? 'dir' : 'file';\n fs.symlink(linkpath, fullPath, type, callback);\n });\n}\n"],"names":["symlinkWin32","linkFullPath","linkpath","fullPath","callback","lstatReal","err","targetStat","Error","type","isDirectory","fs","symlink"],"mappings":";;;;+BAIA;;;eAAwBA;;;iEAHT;kEACO;;;;;;AAEP,SAASA,aAAaC,YAAoB,EAAEC,QAAgB,EAAEC,QAAgB,EAAEC,QAAyB;IACtHC,IAAAA,oBAAS,EAACJ,cAAc,SAACK,KAAKC;QAC5B,IAAID,OAAO,CAACC,YAAY,OAAOH,SAASE,OAAO,IAAIE,MAAM,AAAC,8BAA0C,OAAbP;QACvF,IAAMQ,OAAOF,WAAWG,WAAW,KAAK,QAAQ;QAChDC,mBAAE,CAACC,OAAO,CAACV,UAAUC,UAAUM,MAAML;IACvC;AACF"}
@@ -1,3 +1,3 @@
1
1
  import type { NoParamCallback } from 'fs';
2
- import type { AbstractEntry, ExtractOptions } from '../types.js';
2
+ import type { AbstractEntry, ExtractOptions } from '../types.ts';
3
3
  export default function utimes(fullPath: string, entry: AbstractEntry, options: ExtractOptions, callback: NoParamCallback): undefined;
@@ -1,3 +1,3 @@
1
1
  import type { NoParamCallback } from 'fs';
2
- import type { AbstractEntry, ExtractOptions } from '../types.js';
2
+ import type { AbstractEntry, ExtractOptions } from '../types.ts';
3
3
  export default function utimes(fullPath: string, entry: AbstractEntry, options: ExtractOptions, callback: NoParamCallback): undefined;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/fs/utimes.ts"],"sourcesContent":["// adapted from https://github.com/mafintosh/tar-fs\n\nimport type { NoParamCallback } from 'fs';\nimport fs from 'graceful-fs';\nimport type { AbstractEntry, ExtractOptions } from '../types.js';\n\nexport default function utimes(fullPath: string, entry: AbstractEntry, options: ExtractOptions, callback: NoParamCallback): undefined {\n const now = options.now || new Date();\n fs.utimes(fullPath, now, new Date(entry.mtime), callback);\n}\n"],"names":["utimes","fullPath","entry","options","callback","now","Date","fs","mtime"],"mappings":"AAAA,mDAAmD;;;;;+BAMnD;;;eAAwBA;;;iEAHT;;;;;;AAGA,SAASA,OAAOC,QAAgB,EAAEC,KAAoB,EAAEC,OAAuB,EAAEC,QAAyB;IACvH,IAAMC,MAAMF,QAAQE,GAAG,IAAI,IAAIC;IAC/BC,mBAAE,CAACP,MAAM,CAACC,UAAUI,KAAK,IAAIC,KAAKJ,MAAMM,KAAK,GAAGJ;AAClD"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/fs/utimes.ts"],"sourcesContent":["// adapted from https://github.com/mafintosh/tar-fs\n\nimport type { NoParamCallback } from 'fs';\nimport fs from 'graceful-fs';\nimport type { AbstractEntry, ExtractOptions } from '../types.ts';\n\nexport default function utimes(fullPath: string, entry: AbstractEntry, options: ExtractOptions, callback: NoParamCallback): undefined {\n const now = options.now || new Date();\n fs.utimes(fullPath, now, new Date(entry.mtime), callback);\n}\n"],"names":["utimes","fullPath","entry","options","callback","now","Date","fs","mtime"],"mappings":"AAAA,mDAAmD;;;;;+BAMnD;;;eAAwBA;;;iEAHT;;;;;;AAGA,SAASA,OAAOC,QAAgB,EAAEC,KAAoB,EAAEC,OAAuB,EAAEC,QAAyB;IACvH,IAAMC,MAAMF,QAAQE,GAAG,IAAI,IAAIC;IAC/BC,mBAAE,CAACP,MAAM,CAACC,UAAUI,KAAK,IAAIC,KAAKJ,MAAMM,KAAK,GAAGJ;AAClD"}
@@ -1,8 +1,8 @@
1
- import './polyfills.js';
1
+ import './polyfills.ts';
2
2
  export { default } from 'stack-base-iterator';
3
- export { default as DirectoryEntry } from './DirectoryEntry.js';
4
- export { default as FileEntry } from './FileEntry.js';
5
- export { default as LinkEntry } from './LinkEntry.js';
6
- export { default as SymbolicLinkEntry } from './SymbolicLinkEntry.js';
7
- export * from './types.js';
8
- export { default as waitForAccess } from './waitForAccess.js';
3
+ export { default as DirectoryEntry } from './DirectoryEntry.ts';
4
+ export { default as FileEntry } from './FileEntry.ts';
5
+ export { default as LinkEntry } from './LinkEntry.ts';
6
+ export { default as SymbolicLinkEntry } from './SymbolicLinkEntry.ts';
7
+ export * from './types.ts';
8
+ export { default as waitForAccess } from './waitForAccess.ts';
@@ -1,8 +1,8 @@
1
- import './polyfills.js';
1
+ import './polyfills.ts';
2
2
  export { default } from 'stack-base-iterator';
3
- export { default as DirectoryEntry } from './DirectoryEntry.js';
4
- export { default as FileEntry } from './FileEntry.js';
5
- export { default as LinkEntry } from './LinkEntry.js';
6
- export { default as SymbolicLinkEntry } from './SymbolicLinkEntry.js';
7
- export * from './types.js';
8
- export { default as waitForAccess } from './waitForAccess.js';
3
+ export { default as DirectoryEntry } from './DirectoryEntry.ts';
4
+ export { default as FileEntry } from './FileEntry.ts';
5
+ export { default as LinkEntry } from './LinkEntry.ts';
6
+ export { default as SymbolicLinkEntry } from './SymbolicLinkEntry.ts';
7
+ export * from './types.ts';
8
+ export { default as waitForAccess } from './waitForAccess.ts';
package/dist/cjs/index.js CHANGED
@@ -10,32 +10,32 @@ function _export(target, all) {
10
10
  }
11
11
  _export(exports, {
12
12
  get DirectoryEntry () {
13
- return _DirectoryEntry.default;
13
+ return _DirectoryEntryts.default;
14
14
  },
15
15
  get FileEntry () {
16
- return _FileEntry.default;
16
+ return _FileEntryts.default;
17
17
  },
18
18
  get LinkEntry () {
19
- return _LinkEntry.default;
19
+ return _LinkEntryts.default;
20
20
  },
21
21
  get SymbolicLinkEntry () {
22
- return _SymbolicLinkEntry.default;
22
+ return _SymbolicLinkEntryts.default;
23
23
  },
24
24
  get default () {
25
25
  return _stackbaseiterator.default;
26
26
  },
27
27
  get waitForAccess () {
28
- return _waitForAccess.default;
28
+ return _waitForAccessts.default;
29
29
  }
30
30
  });
31
31
  require("./polyfills.js");
32
32
  var _stackbaseiterator = /*#__PURE__*/ _interop_require_default(require("stack-base-iterator"));
33
- var _DirectoryEntry = /*#__PURE__*/ _interop_require_default(require("./DirectoryEntry.js"));
34
- var _FileEntry = /*#__PURE__*/ _interop_require_default(require("./FileEntry.js"));
35
- var _LinkEntry = /*#__PURE__*/ _interop_require_default(require("./LinkEntry.js"));
36
- var _SymbolicLinkEntry = /*#__PURE__*/ _interop_require_default(require("./SymbolicLinkEntry.js"));
33
+ var _DirectoryEntryts = /*#__PURE__*/ _interop_require_default(require("./DirectoryEntry.js"));
34
+ var _FileEntryts = /*#__PURE__*/ _interop_require_default(require("./FileEntry.js"));
35
+ var _LinkEntryts = /*#__PURE__*/ _interop_require_default(require("./LinkEntry.js"));
36
+ var _SymbolicLinkEntryts = /*#__PURE__*/ _interop_require_default(require("./SymbolicLinkEntry.js"));
37
37
  _export_star(require("./types.js"), exports);
38
- var _waitForAccess = /*#__PURE__*/ _interop_require_default(require("./waitForAccess.js"));
38
+ var _waitForAccessts = /*#__PURE__*/ _interop_require_default(require("./waitForAccess.js"));
39
39
  function _export_star(from, to) {
40
40
  Object.keys(from).forEach(function(k) {
41
41
  if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/index.ts"],"sourcesContent":["import './polyfills.js';\n\nexport { default } from 'stack-base-iterator';\nexport { default as DirectoryEntry } from './DirectoryEntry.js';\nexport { default as FileEntry } from './FileEntry.js';\nexport { default as LinkEntry } from './LinkEntry.js';\nexport { default as SymbolicLinkEntry } from './SymbolicLinkEntry.js';\nexport * from './types.js';\nexport { default as waitForAccess } from './waitForAccess.js';\n"],"names":["DirectoryEntry","FileEntry","LinkEntry","SymbolicLinkEntry","default","waitForAccess"],"mappings":";;;;;;;;;;;QAGoBA;eAAAA,uBAAc;;QACdC;eAAAA,kBAAS;;QACTC;eAAAA,kBAAS;;QACTC;eAAAA,0BAAiB;;QAJ5BC;eAAAA,0BAAO;;QAMIC;eAAAA,sBAAa;;;QAR1B;wEAEiB;qEACkB;gEACL;gEACA;wEACQ;qBAC/B;oEAC2B"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/index.ts"],"sourcesContent":["import './polyfills.ts';\n\nexport { default } from 'stack-base-iterator';\nexport { default as DirectoryEntry } from './DirectoryEntry.ts';\nexport { default as FileEntry } from './FileEntry.ts';\nexport { default as LinkEntry } from './LinkEntry.ts';\nexport { default as SymbolicLinkEntry } from './SymbolicLinkEntry.ts';\nexport * from './types.ts';\nexport { default as waitForAccess } from './waitForAccess.ts';\n"],"names":["DirectoryEntry","FileEntry","LinkEntry","SymbolicLinkEntry","default","waitForAccess"],"mappings":";;;;;;;;;;;QAGoBA;eAAAA,yBAAc;;QACdC;eAAAA,oBAAS;;QACTC;eAAAA,oBAAS;;QACTC;eAAAA,4BAAiB;;QAJ5BC;eAAAA,0BAAO;;QAMIC;eAAAA,wBAAa;;;QAR1B;wEAEiB;uEACkB;kEACL;kEACA;0EACQ;qBAC/B;sEAC2B"}
@@ -1,2 +1,2 @@
1
- import type { ExtractOptions } from './types.js';
1
+ import type { ExtractOptions } from './types.ts';
2
2
  export default function stripPath(relativePath: string, options: ExtractOptions): string;
@@ -1,2 +1,2 @@
1
- import type { ExtractOptions } from './types.js';
1
+ import type { ExtractOptions } from './types.ts';
2
2
  export default function stripPath(relativePath: string, options: ExtractOptions): string;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/stripPath.ts"],"sourcesContent":["import compact from 'lodash.compact';\nimport path from 'path';\n\nimport type { ExtractOptions } from './types.js';\n\nexport default function stripPath(relativePath: string, options: ExtractOptions): string {\n const strip = options.strip || 0;\n if (!strip) return relativePath;\n const parts = compact(relativePath.split(path.sep));\n if (parts.length < strip) throw new Error(`You cannot strip more levels than there are directories. Strip: ${strip}. Path: ${relativePath}`);\n return parts.slice(strip).join(path.sep);\n}\n"],"names":["stripPath","relativePath","options","strip","parts","compact","split","path","sep","length","Error","slice","join"],"mappings":";;;;+BAKA;;;eAAwBA;;;oEALJ;2DACH;;;;;;AAIF,SAASA,UAAUC,YAAoB,EAAEC,OAAuB;IAC7E,IAAMC,QAAQD,QAAQC,KAAK,IAAI;IAC/B,IAAI,CAACA,OAAO,OAAOF;IACnB,IAAMG,QAAQC,IAAAA,sBAAO,EAACJ,aAAaK,KAAK,CAACC,aAAI,CAACC,GAAG;IACjD,IAAIJ,MAAMK,MAAM,GAAGN,OAAO,MAAM,IAAIO,MAAM,AAAC,mEAAkFT,OAAhBE,OAAM,YAAuB,OAAbF;IAC7H,OAAOG,MAAMO,KAAK,CAACR,OAAOS,IAAI,CAACL,aAAI,CAACC,GAAG;AACzC"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/stripPath.ts"],"sourcesContent":["import compact from 'lodash.compact';\nimport path from 'path';\n\nimport type { ExtractOptions } from './types.ts';\n\nexport default function stripPath(relativePath: string, options: ExtractOptions): string {\n const strip = options.strip || 0;\n if (!strip) return relativePath;\n const parts = compact(relativePath.split(path.sep));\n if (parts.length < strip) throw new Error(`You cannot strip more levels than there are directories. Strip: ${strip}. Path: ${relativePath}`);\n return parts.slice(strip).join(path.sep);\n}\n"],"names":["stripPath","relativePath","options","strip","parts","compact","split","path","sep","length","Error","slice","join"],"mappings":";;;;+BAKA;;;eAAwBA;;;oEALJ;2DACH;;;;;;AAIF,SAASA,UAAUC,YAAoB,EAAEC,OAAuB;IAC7E,IAAMC,QAAQD,QAAQC,KAAK,IAAI;IAC/B,IAAI,CAACA,OAAO,OAAOF;IACnB,IAAMG,QAAQC,IAAAA,sBAAO,EAACJ,aAAaK,KAAK,CAACC,aAAI,CAACC,GAAG;IACjD,IAAIJ,MAAMK,MAAM,GAAGN,OAAO,MAAM,IAAIO,MAAM,AAAC,mEAAkFT,OAAhBE,OAAM,YAAuB,OAAbF;IAC7H,OAAOG,MAAMO,KAAK,CAACR,OAAOS,IAAI,CAACL,aAAI,CAACC,GAAG;AACzC"}
@@ -23,10 +23,10 @@ export interface LinkAttributes {
23
23
  path: string;
24
24
  linkpath: string;
25
25
  }
26
- import type { default as DirectoryEntry } from './DirectoryEntry.js';
27
- import type { default as FileEntry } from './FileEntry.js';
28
- import type { default as LinkEntry } from './LinkEntry.js';
29
- import type { default as SymbolicLinkEntry } from './SymbolicLinkEntry.js';
26
+ import type { default as DirectoryEntry } from './DirectoryEntry.ts';
27
+ import type { default as FileEntry } from './FileEntry.ts';
28
+ import type { default as LinkEntry } from './LinkEntry.ts';
29
+ import type { default as SymbolicLinkEntry } from './SymbolicLinkEntry.ts';
30
30
  export type Entry = DirectoryEntry | FileEntry | LinkEntry | SymbolicLinkEntry;
31
31
  export interface AbstractEntry {
32
32
  mode: Mode;
@@ -23,10 +23,10 @@ export interface LinkAttributes {
23
23
  path: string;
24
24
  linkpath: string;
25
25
  }
26
- import type { default as DirectoryEntry } from './DirectoryEntry.js';
27
- import type { default as FileEntry } from './FileEntry.js';
28
- import type { default as LinkEntry } from './LinkEntry.js';
29
- import type { default as SymbolicLinkEntry } from './SymbolicLinkEntry.js';
26
+ import type { default as DirectoryEntry } from './DirectoryEntry.ts';
27
+ import type { default as FileEntry } from './FileEntry.ts';
28
+ import type { default as LinkEntry } from './LinkEntry.ts';
29
+ import type { default as SymbolicLinkEntry } from './SymbolicLinkEntry.ts';
30
30
  export type Entry = DirectoryEntry | FileEntry | LinkEntry | SymbolicLinkEntry;
31
31
  export interface AbstractEntry {
32
32
  mode: Mode;
@@ -1,2 +1,2 @@
1
- import type { NoParamCallback } from './types.js';
1
+ import type { NoParamCallback } from './types.ts';
2
2
  export default function waitForAccess(fullPath: string, callback: NoParamCallback): undefined;
@@ -1,2 +1,2 @@
1
- import type { NoParamCallback } from './types.js';
1
+ import type { NoParamCallback } from './types.ts';
2
2
  export default function waitForAccess(fullPath: string, callback: NoParamCallback): undefined;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/waitForAccess.ts"],"sourcesContent":["import fs from 'fs';\n\nimport type { NoParamCallback } from './types.js';\n\nexport default function waitForAccess(fullPath: string, callback: NoParamCallback): undefined {\n fs.stat(fullPath, (err) => {\n if (err) return setImmediate(() => waitForAccess(fullPath, callback));\n callback();\n });\n}\n"],"names":["waitForAccess","fullPath","callback","fs","stat","err","setImmediate"],"mappings":";;;;+BAIA;;;eAAwBA;;;yDAJT;;;;;;AAIA,SAASA,cAAcC,QAAgB,EAAEC,QAAyB;IAC/EC,WAAE,CAACC,IAAI,CAACH,UAAU,SAACI;QACjB,IAAIA,KAAK,OAAOC,aAAa;mBAAMN,cAAcC,UAAUC;;QAC3DA;IACF;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/waitForAccess.ts"],"sourcesContent":["import fs from 'fs';\n\nimport type { NoParamCallback } from './types.ts';\n\nexport default function waitForAccess(fullPath: string, callback: NoParamCallback): undefined {\n fs.stat(fullPath, (err) => {\n if (err) return setImmediate(() => waitForAccess(fullPath, callback));\n callback();\n });\n}\n"],"names":["waitForAccess","fullPath","callback","fs","stat","err","setImmediate"],"mappings":";;;;+BAIA;;;eAAwBA;;;yDAJT;;;;;;AAIA,SAASA,cAAcC,QAAgB,EAAEC,QAAyB;IAC/EC,WAAE,CAACC,IAAI,CAACH,UAAU,SAACI;QACjB,IAAIA,KAAK,OAAOC,aAAa;mBAAMN,cAAcC,UAAUC;;QAC3DA;IACF;AACF"}
@@ -1,5 +1,5 @@
1
1
  import type { Mode } from 'fs';
2
- import type { DirectoryAttributes, ExtractOptions, NoParamCallback } from './types.js';
2
+ import type { DirectoryAttributes, ExtractOptions, NoParamCallback } from './types.ts';
3
3
  export default class DirectoryEntry {
4
4
  mode: Mode;
5
5
  mtime: number;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/DirectoryEntry.ts"],"sourcesContent":["import mkdirp from 'mkdirp-classic';\nimport objectAssign from 'object-assign';\nimport path from 'path';\nimport Queue from 'queue-cb';\n\nimport chmod from './fs/chmod.js';\nimport chown from './fs/chown.js';\nimport utimes from './fs/utimes.js';\nimport stripPath from './stripPath.js';\nimport validateAttributes from './validateAttributes.js';\n\nconst MANDATORY_ATTRIBUTES = ['mode', 'mtime', 'path'];\n\nimport type { Mode } from 'fs';\nimport type { DirectoryAttributes, ExtractOptions, NoParamCallback } from './types.js';\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, options: ExtractOptions | NoParamCallback, callback?: NoParamCallback): undefined | Promise<boolean> {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n\n if (typeof callback === 'function') {\n options = options || {};\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options as ExtractOptions));\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(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","objectAssign","path","Queue","chmod","chown","utimes","stripPath","validateAttributes","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,kBAAkB,gBAAgB;AACzC,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAE7B,OAAOC,WAAW,gBAAgB;AAClC,OAAOC,WAAW,gBAAgB;AAClC,OAAOC,YAAY,iBAAiB;AACpC,OAAOC,eAAe,iBAAiB;AACvC,OAAOC,wBAAwB,0BAA0B;AAEzD,MAAMC,uBAAuB;IAAC;IAAQ;IAAS;CAAO;AAKvC,IAAA,AAAMC,iBAAN,MAAMA;IAcnBC,OAAOC,IAAY,EAAEC,OAAyC,EAAEC,QAA0B,EAAgC;QACxH,IAAI,OAAOD,YAAY,YAAY;YACjCC,WAAWD;YACXA,UAAU;QACZ;QAEA,IAAI,OAAOC,aAAa,YAAY;YAClCD,UAAUA,WAAW,CAAC;YACtB,IAAI;gBACF,MAAME,iBAAiBb,KAAKc,SAAS,CAAC,IAAI,CAACd,IAAI;gBAC/C,MAAMe,WAAWf,KAAKgB,IAAI,CAACN,MAAML,UAAUQ,gBAAgBF;gBAE3D,iFAAiF;gBACjF,MAAMM,QAAQ,IAAIhB,MAAM;gBACxBgB,MAAMC,KAAK,CAACpB,OAAOqB,IAAI,CAAC,MAAMJ;gBAC9BE,MAAMC,KAAK,CAAChB,MAAMiB,IAAI,CAAC,MAAMJ,UAAU,IAAI,EAAEJ;gBAC7CM,MAAMC,KAAK,CAACf,MAAMgB,IAAI,CAAC,MAAMJ,UAAU,IAAI,EAAEJ;gBAC7CM,MAAMC,KAAK,CAACd,OAAOe,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;IAtCX,YAAYC,UAA+B,CAAE;QAC3CrB,mBAAmBqB,YAAYpB;QAC/BR,aAAa,IAAI,EAAE4B;QACnB,IAAI,IAAI,CAACC,IAAI,KAAKC,WAAW,IAAI,CAACD,IAAI,GAAG;QACzC,IAAI,IAAI,CAACE,QAAQ,KAAKD,WAAW,IAAI,CAACC,QAAQ,GAAG9B,KAAK8B,QAAQ,CAAC,IAAI,CAAC9B,IAAI;IAC1E;AAkCF;AA9CA,SAAqBQ,4BA8CpB"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/DirectoryEntry.ts"],"sourcesContent":["import mkdirp from 'mkdirp-classic';\nimport objectAssign from 'object-assign';\nimport path from 'path';\nimport Queue from 'queue-cb';\n\nimport chmod from './fs/chmod.ts';\nimport chown from './fs/chown.ts';\nimport utimes from './fs/utimes.ts';\nimport stripPath from './stripPath.ts';\nimport validateAttributes from './validateAttributes.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, options: ExtractOptions | NoParamCallback, callback?: NoParamCallback): undefined | Promise<boolean> {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n\n if (typeof callback === 'function') {\n options = options || {};\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options as ExtractOptions));\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(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","objectAssign","path","Queue","chmod","chown","utimes","stripPath","validateAttributes","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,kBAAkB,gBAAgB;AACzC,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAE7B,OAAOC,WAAW,gBAAgB;AAClC,OAAOC,WAAW,gBAAgB;AAClC,OAAOC,YAAY,iBAAiB;AACpC,OAAOC,eAAe,iBAAiB;AACvC,OAAOC,wBAAwB,0BAA0B;AAEzD,MAAMC,uBAAuB;IAAC;IAAQ;IAAS;CAAO;AAKvC,IAAA,AAAMC,iBAAN,MAAMA;IAcnBC,OAAOC,IAAY,EAAEC,OAAyC,EAAEC,QAA0B,EAAgC;QACxH,IAAI,OAAOD,YAAY,YAAY;YACjCC,WAAWD;YACXA,UAAU;QACZ;QAEA,IAAI,OAAOC,aAAa,YAAY;YAClCD,UAAUA,WAAW,CAAC;YACtB,IAAI;gBACF,MAAME,iBAAiBb,KAAKc,SAAS,CAAC,IAAI,CAACd,IAAI;gBAC/C,MAAMe,WAAWf,KAAKgB,IAAI,CAACN,MAAML,UAAUQ,gBAAgBF;gBAE3D,iFAAiF;gBACjF,MAAMM,QAAQ,IAAIhB,MAAM;gBACxBgB,MAAMC,KAAK,CAACpB,OAAOqB,IAAI,CAAC,MAAMJ;gBAC9BE,MAAMC,KAAK,CAAChB,MAAMiB,IAAI,CAAC,MAAMJ,UAAU,IAAI,EAAEJ;gBAC7CM,MAAMC,KAAK,CAACf,MAAMgB,IAAI,CAAC,MAAMJ,UAAU,IAAI,EAAEJ;gBAC7CM,MAAMC,KAAK,CAACd,OAAOe,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;IAtCX,YAAYC,UAA+B,CAAE;QAC3CrB,mBAAmBqB,YAAYpB;QAC/BR,aAAa,IAAI,EAAE4B;QACnB,IAAI,IAAI,CAACC,IAAI,KAAKC,WAAW,IAAI,CAACD,IAAI,GAAG;QACzC,IAAI,IAAI,CAACE,QAAQ,KAAKD,WAAW,IAAI,CAACC,QAAQ,GAAG9B,KAAK8B,QAAQ,CAAC,IAAI,CAAC9B,IAAI;IAC1E;AAkCF;AA9CA,SAAqBQ,4BA8CpB"}
@@ -1,5 +1,5 @@
1
1
  import type { Mode } from 'fs';
2
- import type { ExtractOptions, FileAttributes, NoParamCallback } from './types.js';
2
+ import type { ExtractOptions, FileAttributes, NoParamCallback } from './types.ts';
3
3
  export default class FileEntry {
4
4
  mode: Mode;
5
5
  mtime: number;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/FileEntry.ts"],"sourcesContent":["import mkdirp from 'mkdirp-classic';\nimport objectAssign from 'object-assign';\nimport path from 'path';\nimport Queue from 'queue-cb';\n\nimport rimraf2 from 'rimraf2';\nimport chmod from './fs/chmod.js';\nimport chown from './fs/chown.js';\nimport utimes from './fs/utimes.js';\nimport stripPath from './stripPath.js';\nimport validateAttributes from './validateAttributes.js';\n\nconst MANDATORY_ATTRIBUTES = ['mode', 'mtime', 'path'];\n\nimport type { Mode } from 'fs';\nimport type { ExtractOptions, FileAttributes, NoParamCallback, WriteFileFn } from './types.js';\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, options: ExtractOptions | NoParamCallback, callback?: NoParamCallback): undefined | Promise<boolean> {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n\n if (typeof callback === 'function') {\n options = options || {};\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options as ExtractOptions));\n\n const queue = new Queue(1);\n if ((options as ExtractOptions).force) {\n queue.defer((callback) => {\n rimraf2(fullPath, { disableGlob: true }, (err) => {\n err && err.code !== 'ENOENT' ? callback(err) : callback();\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(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","objectAssign","path","Queue","rimraf2","chmod","chown","utimes","stripPath","validateAttributes","MANDATORY_ATTRIBUTES","FileEntry","create","dest","options","callback","normalizedPath","normalize","fullPath","join","queue","force","defer","disableGlob","err","code","bind","dirname","_writeFile","await","Promise","resolve","reject","done","destroy","attributes","basename","undefined","type","Error"],"mappings":"AAAA,OAAOA,YAAY,iBAAiB;AACpC,OAAOC,kBAAkB,gBAAgB;AACzC,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAE7B,OAAOC,aAAa,UAAU;AAC9B,OAAOC,WAAW,gBAAgB;AAClC,OAAOC,WAAW,gBAAgB;AAClC,OAAOC,YAAY,iBAAiB;AACpC,OAAOC,eAAe,iBAAiB;AACvC,OAAOC,wBAAwB,0BAA0B;AAEzD,MAAMC,uBAAuB;IAAC;IAAQ;IAAS;CAAO;AASvC,IAAA,AAAMC,YAAN,MAAMA;IAenBC,OAAOC,IAAY,EAAEC,OAAyC,EAAEC,QAA0B,EAAgC;QACxH,IAAI,OAAOD,YAAY,YAAY;YACjCC,WAAWD;YACXA,UAAU;QACZ;QAEA,IAAI,OAAOC,aAAa,YAAY;YAClCD,UAAUA,WAAW,CAAC;YACtB,IAAI;gBACF,MAAME,iBAAiBd,KAAKe,SAAS,CAAC,IAAI,CAACf,IAAI;gBAC/C,MAAMgB,WAAWhB,KAAKiB,IAAI,CAACN,MAAML,UAAUQ,gBAAgBF;gBAE3D,MAAMM,QAAQ,IAAIjB,MAAM;gBACxB,IAAI,AAACW,QAA2BO,KAAK,EAAE;oBACrCD,MAAME,KAAK,CAAC,CAACP;wBACXX,QAAQc,UAAU;4BAAEK,aAAa;wBAAK,GAAG,CAACC;4BACxCA,OAAOA,IAAIC,IAAI,KAAK,WAAWV,SAASS,OAAOT;wBACjD;oBACF;gBACF;gBACAK,MAAME,KAAK,CAACtB,OAAO0B,IAAI,CAAC,MAAMxB,KAAKyB,OAAO,CAACT;gBAC3CE,MAAME,KAAK,CAAC,AAAC,IAAI,CAAkCM,UAAU,CAACF,IAAI,CAAC,IAAI,EAAER,UAAUJ;gBACnFM,MAAME,KAAK,CAACjB,MAAMqB,IAAI,CAAC,MAAMR,UAAU,IAAI,EAAEJ;gBAC7CM,MAAME,KAAK,CAAChB,MAAMoB,IAAI,CAAC,MAAMR,UAAU,IAAI,EAAEJ;gBAC7CM,MAAME,KAAK,CAACf,OAAOmB,IAAI,CAAC,MAAMR,UAAU,IAAI,EAAEJ;gBAC9CM,MAAMS,KAAK,CAACd;gBACZ;YACF,EAAE,OAAOS,KAAK;gBACZT,SAASS;gBACT;YACF;QACF;QAEA,OAAO,IAAIM,QAAQ,CAACC,SAASC;YAC3B,IAAI,CAACpB,MAAM,CAACC,MAAMC,SAAS,CAACU,KAAaS,OAAoBT,MAAMQ,OAAOR,OAAOO,QAAQE;QAC3F;IACF;IAEAC,UAAU,CAAC;IA9CX,YAAYC,UAA0B,CAAE;QACtC1B,mBAAmB0B,YAAYzB;QAC/BT,aAAa,IAAI,EAAEkC;QACnB,IAAI,IAAI,CAACC,QAAQ,KAAKC,WAAW,IAAI,CAACD,QAAQ,GAAGlC,KAAKkC,QAAQ,CAAC,IAAI,CAAClC,IAAI;QACxE,IAAI,IAAI,CAACoC,IAAI,KAAKD,WAAW,IAAI,CAACC,IAAI,GAAG;QACzC,IAAI,AAAC,IAAI,CAAkCV,UAAU,KAAKS,WAAW,MAAM,IAAIE,MAAM;IACvF;AAyCF;AAtDA,SAAqB5B,uBAsDpB"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/FileEntry.ts"],"sourcesContent":["import mkdirp from 'mkdirp-classic';\nimport objectAssign from 'object-assign';\nimport path from 'path';\nimport Queue from 'queue-cb';\n\nimport rimraf2 from 'rimraf2';\nimport chmod from './fs/chmod.ts';\nimport chown from './fs/chown.ts';\nimport utimes from './fs/utimes.ts';\nimport stripPath from './stripPath.ts';\nimport validateAttributes from './validateAttributes.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, options: ExtractOptions | NoParamCallback, callback?: NoParamCallback): undefined | Promise<boolean> {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n\n if (typeof callback === 'function') {\n options = options || {};\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options as ExtractOptions));\n\n const queue = new Queue(1);\n if ((options as ExtractOptions).force) {\n queue.defer((callback) => {\n rimraf2(fullPath, { disableGlob: true }, (err) => {\n err && err.code !== 'ENOENT' ? callback(err) : callback();\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(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","objectAssign","path","Queue","rimraf2","chmod","chown","utimes","stripPath","validateAttributes","MANDATORY_ATTRIBUTES","FileEntry","create","dest","options","callback","normalizedPath","normalize","fullPath","join","queue","force","defer","disableGlob","err","code","bind","dirname","_writeFile","await","Promise","resolve","reject","done","destroy","attributes","basename","undefined","type","Error"],"mappings":"AAAA,OAAOA,YAAY,iBAAiB;AACpC,OAAOC,kBAAkB,gBAAgB;AACzC,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAE7B,OAAOC,aAAa,UAAU;AAC9B,OAAOC,WAAW,gBAAgB;AAClC,OAAOC,WAAW,gBAAgB;AAClC,OAAOC,YAAY,iBAAiB;AACpC,OAAOC,eAAe,iBAAiB;AACvC,OAAOC,wBAAwB,0BAA0B;AAEzD,MAAMC,uBAAuB;IAAC;IAAQ;IAAS;CAAO;AASvC,IAAA,AAAMC,YAAN,MAAMA;IAenBC,OAAOC,IAAY,EAAEC,OAAyC,EAAEC,QAA0B,EAAgC;QACxH,IAAI,OAAOD,YAAY,YAAY;YACjCC,WAAWD;YACXA,UAAU;QACZ;QAEA,IAAI,OAAOC,aAAa,YAAY;YAClCD,UAAUA,WAAW,CAAC;YACtB,IAAI;gBACF,MAAME,iBAAiBd,KAAKe,SAAS,CAAC,IAAI,CAACf,IAAI;gBAC/C,MAAMgB,WAAWhB,KAAKiB,IAAI,CAACN,MAAML,UAAUQ,gBAAgBF;gBAE3D,MAAMM,QAAQ,IAAIjB,MAAM;gBACxB,IAAI,AAACW,QAA2BO,KAAK,EAAE;oBACrCD,MAAME,KAAK,CAAC,CAACP;wBACXX,QAAQc,UAAU;4BAAEK,aAAa;wBAAK,GAAG,CAACC;4BACxCA,OAAOA,IAAIC,IAAI,KAAK,WAAWV,SAASS,OAAOT;wBACjD;oBACF;gBACF;gBACAK,MAAME,KAAK,CAACtB,OAAO0B,IAAI,CAAC,MAAMxB,KAAKyB,OAAO,CAACT;gBAC3CE,MAAME,KAAK,CAAC,AAAC,IAAI,CAAkCM,UAAU,CAACF,IAAI,CAAC,IAAI,EAAER,UAAUJ;gBACnFM,MAAME,KAAK,CAACjB,MAAMqB,IAAI,CAAC,MAAMR,UAAU,IAAI,EAAEJ;gBAC7CM,MAAME,KAAK,CAAChB,MAAMoB,IAAI,CAAC,MAAMR,UAAU,IAAI,EAAEJ;gBAC7CM,MAAME,KAAK,CAACf,OAAOmB,IAAI,CAAC,MAAMR,UAAU,IAAI,EAAEJ;gBAC9CM,MAAMS,KAAK,CAACd;gBACZ;YACF,EAAE,OAAOS,KAAK;gBACZT,SAASS;gBACT;YACF;QACF;QAEA,OAAO,IAAIM,QAAQ,CAACC,SAASC;YAC3B,IAAI,CAACpB,MAAM,CAACC,MAAMC,SAAS,CAACU,KAAaS,OAAoBT,MAAMQ,OAAOR,OAAOO,QAAQE;QAC3F;IACF;IAEAC,UAAU,CAAC;IA9CX,YAAYC,UAA0B,CAAE;QACtC1B,mBAAmB0B,YAAYzB;QAC/BT,aAAa,IAAI,EAAEkC;QACnB,IAAI,IAAI,CAACC,QAAQ,KAAKC,WAAW,IAAI,CAACD,QAAQ,GAAGlC,KAAKkC,QAAQ,CAAC,IAAI,CAAClC,IAAI;QACxE,IAAI,IAAI,CAACoC,IAAI,KAAKD,WAAW,IAAI,CAACC,IAAI,GAAG;QACzC,IAAI,AAAC,IAAI,CAAkCV,UAAU,KAAKS,WAAW,MAAM,IAAIE,MAAM;IACvF;AAyCF;AAtDA,SAAqB5B,uBAsDpB"}
@@ -1,5 +1,5 @@
1
1
  import type { Mode } from 'fs';
2
- import type { ExtractOptions, LinkAttributes, NoParamCallback } from './types.js';
2
+ import type { ExtractOptions, LinkAttributes, NoParamCallback } from './types.ts';
3
3
  export default class LinkEntry {
4
4
  mode: Mode;
5
5
  mtime: number;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/LinkEntry.ts"],"sourcesContent":["import fs from 'graceful-fs';\nimport mkdirp from 'mkdirp-classic';\nimport objectAssign from 'object-assign';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport rimraf2 from 'rimraf2';\n\nimport chmod from './fs/chmod.js';\nimport chown from './fs/chown.js';\nimport utimes from './fs/utimes.js';\nimport stripPath from './stripPath.js';\nimport validateAttributes from './validateAttributes.js';\n\nconst MANDATORY_ATTRIBUTES = ['mode', 'mtime', 'path', 'linkpath'];\n\nimport type { Mode } from 'fs';\nimport type { ExtractOptions, LinkAttributes, NoParamCallback } from './types.js';\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, options: ExtractOptions | NoParamCallback, callback?: NoParamCallback): undefined | Promise<boolean> {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n\n if (typeof callback === 'function') {\n options = options || {};\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options as ExtractOptions));\n const normalizedLinkpath = path.normalize(this.linkpath);\n const linkFullPath = path.join(dest, stripPath(normalizedLinkpath, options as ExtractOptions));\n\n const queue = new Queue(1);\n if ((options as ExtractOptions).force) {\n queue.defer((callback) => {\n rimraf2(fullPath, { disableGlob: true }, (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(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","mkdirp","objectAssign","path","Queue","rimraf2","chmod","chown","utimes","stripPath","validateAttributes","MANDATORY_ATTRIBUTES","LinkEntry","create","dest","options","callback","normalizedPath","normalize","fullPath","join","normalizedLinkpath","linkpath","linkFullPath","queue","force","defer","disableGlob","err","code","bind","dirname","link","await","Promise","resolve","reject","done","destroy","attributes","basename","undefined","type"],"mappings":"AAAA,OAAOA,QAAQ,cAAc;AAC7B,OAAOC,YAAY,iBAAiB;AACpC,OAAOC,kBAAkB,gBAAgB;AACzC,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAC7B,OAAOC,aAAa,UAAU;AAE9B,OAAOC,WAAW,gBAAgB;AAClC,OAAOC,WAAW,gBAAgB;AAClC,OAAOC,YAAY,iBAAiB;AACpC,OAAOC,eAAe,iBAAiB;AACvC,OAAOC,wBAAwB,0BAA0B;AAEzD,MAAMC,uBAAuB;IAAC;IAAQ;IAAS;IAAQ;CAAW;AAKnD,IAAA,AAAMC,YAAN,MAAMA;IAenBC,OAAOC,IAAY,EAAEC,OAAyC,EAAEC,QAA0B,EAAgC;QACxH,IAAI,OAAOD,YAAY,YAAY;YACjCC,WAAWD;YACXA,UAAU;QACZ;QAEA,IAAI,OAAOC,aAAa,YAAY;YAClCD,UAAUA,WAAW,CAAC;YACtB,IAAI;gBACF,MAAME,iBAAiBd,KAAKe,SAAS,CAAC,IAAI,CAACf,IAAI;gBAC/C,MAAMgB,WAAWhB,KAAKiB,IAAI,CAACN,MAAML,UAAUQ,gBAAgBF;gBAC3D,MAAMM,qBAAqBlB,KAAKe,SAAS,CAAC,IAAI,CAACI,QAAQ;gBACvD,MAAMC,eAAepB,KAAKiB,IAAI,CAACN,MAAML,UAAUY,oBAAoBN;gBAEnE,MAAMS,QAAQ,IAAIpB,MAAM;gBACxB,IAAI,AAACW,QAA2BU,KAAK,EAAE;oBACrCD,MAAME,KAAK,CAAC,CAACV;wBACXX,QAAQc,UAAU;4BAAEQ,aAAa;wBAAK,GAAG,CAACC;4BACxCA,OAAOA,IAAIC,IAAI,KAAK,WAAWb,SAASY,OAAOZ;wBACjD;oBACF;gBACF;gBACAQ,MAAME,KAAK,CAACzB,OAAO6B,IAAI,CAAC,MAAM3B,KAAK4B,OAAO,CAACZ;gBAC3CK,MAAME,KAAK,CAAC1B,GAAGgC,IAAI,CAACF,IAAI,CAAC9B,IAAIuB,cAAcJ;gBAC3CK,MAAME,KAAK,CAACpB,MAAMwB,IAAI,CAAC,MAAMX,UAAU,IAAI,EAAEJ;gBAC7CS,MAAME,KAAK,CAACnB,MAAMuB,IAAI,CAAC,MAAMX,UAAU,IAAI,EAAEJ;gBAC7CS,MAAME,KAAK,CAAClB,OAAOsB,IAAI,CAAC,MAAMX,UAAU,IAAI,EAAEJ;gBAC9CS,MAAMS,KAAK,CAACjB;gBACZ;YACF,EAAE,OAAOY,KAAK;gBACZZ,SAASY;gBACT;YACF;QACF;QAEA,OAAO,IAAIM,QAAQ,CAACC,SAASC;YAC3B,IAAI,CAACvB,MAAM,CAACC,MAAMC,SAAS,CAACa,KAAaS,OAAoBT,MAAMQ,OAAOR,OAAOO,QAAQE;QAC3F;IACF;IAEAC,UAAU,CAAC;IA/CX,YAAYC,UAA0B,CAAE;QACtC7B,mBAAmB6B,YAAY5B;QAC/BT,aAAa,IAAI,EAAEqC;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;AA2CF;AAxDA,SAAqB9B,uBAwDpB"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/LinkEntry.ts"],"sourcesContent":["import fs from 'graceful-fs';\nimport mkdirp from 'mkdirp-classic';\nimport objectAssign from 'object-assign';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport rimraf2 from 'rimraf2';\n\nimport chmod from './fs/chmod.ts';\nimport chown from './fs/chown.ts';\nimport utimes from './fs/utimes.ts';\nimport stripPath from './stripPath.ts';\nimport validateAttributes from './validateAttributes.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, options: ExtractOptions | NoParamCallback, callback?: NoParamCallback): undefined | Promise<boolean> {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n\n if (typeof callback === 'function') {\n options = options || {};\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options as ExtractOptions));\n const normalizedLinkpath = path.normalize(this.linkpath);\n const linkFullPath = path.join(dest, stripPath(normalizedLinkpath, options as ExtractOptions));\n\n const queue = new Queue(1);\n if ((options as ExtractOptions).force) {\n queue.defer((callback) => {\n rimraf2(fullPath, { disableGlob: true }, (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(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","mkdirp","objectAssign","path","Queue","rimraf2","chmod","chown","utimes","stripPath","validateAttributes","MANDATORY_ATTRIBUTES","LinkEntry","create","dest","options","callback","normalizedPath","normalize","fullPath","join","normalizedLinkpath","linkpath","linkFullPath","queue","force","defer","disableGlob","err","code","bind","dirname","link","await","Promise","resolve","reject","done","destroy","attributes","basename","undefined","type"],"mappings":"AAAA,OAAOA,QAAQ,cAAc;AAC7B,OAAOC,YAAY,iBAAiB;AACpC,OAAOC,kBAAkB,gBAAgB;AACzC,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAC7B,OAAOC,aAAa,UAAU;AAE9B,OAAOC,WAAW,gBAAgB;AAClC,OAAOC,WAAW,gBAAgB;AAClC,OAAOC,YAAY,iBAAiB;AACpC,OAAOC,eAAe,iBAAiB;AACvC,OAAOC,wBAAwB,0BAA0B;AAEzD,MAAMC,uBAAuB;IAAC;IAAQ;IAAS;IAAQ;CAAW;AAKnD,IAAA,AAAMC,YAAN,MAAMA;IAenBC,OAAOC,IAAY,EAAEC,OAAyC,EAAEC,QAA0B,EAAgC;QACxH,IAAI,OAAOD,YAAY,YAAY;YACjCC,WAAWD;YACXA,UAAU;QACZ;QAEA,IAAI,OAAOC,aAAa,YAAY;YAClCD,UAAUA,WAAW,CAAC;YACtB,IAAI;gBACF,MAAME,iBAAiBd,KAAKe,SAAS,CAAC,IAAI,CAACf,IAAI;gBAC/C,MAAMgB,WAAWhB,KAAKiB,IAAI,CAACN,MAAML,UAAUQ,gBAAgBF;gBAC3D,MAAMM,qBAAqBlB,KAAKe,SAAS,CAAC,IAAI,CAACI,QAAQ;gBACvD,MAAMC,eAAepB,KAAKiB,IAAI,CAACN,MAAML,UAAUY,oBAAoBN;gBAEnE,MAAMS,QAAQ,IAAIpB,MAAM;gBACxB,IAAI,AAACW,QAA2BU,KAAK,EAAE;oBACrCD,MAAME,KAAK,CAAC,CAACV;wBACXX,QAAQc,UAAU;4BAAEQ,aAAa;wBAAK,GAAG,CAACC;4BACxCA,OAAOA,IAAIC,IAAI,KAAK,WAAWb,SAASY,OAAOZ;wBACjD;oBACF;gBACF;gBACAQ,MAAME,KAAK,CAACzB,OAAO6B,IAAI,CAAC,MAAM3B,KAAK4B,OAAO,CAACZ;gBAC3CK,MAAME,KAAK,CAAC1B,GAAGgC,IAAI,CAACF,IAAI,CAAC9B,IAAIuB,cAAcJ;gBAC3CK,MAAME,KAAK,CAACpB,MAAMwB,IAAI,CAAC,MAAMX,UAAU,IAAI,EAAEJ;gBAC7CS,MAAME,KAAK,CAACnB,MAAMuB,IAAI,CAAC,MAAMX,UAAU,IAAI,EAAEJ;gBAC7CS,MAAME,KAAK,CAAClB,OAAOsB,IAAI,CAAC,MAAMX,UAAU,IAAI,EAAEJ;gBAC9CS,MAAMS,KAAK,CAACjB;gBACZ;YACF,EAAE,OAAOY,KAAK;gBACZZ,SAASY;gBACT;YACF;QACF;QAEA,OAAO,IAAIM,QAAQ,CAACC,SAASC;YAC3B,IAAI,CAACvB,MAAM,CAACC,MAAMC,SAAS,CAACa,KAAaS,OAAoBT,MAAMQ,OAAOR,OAAOO,QAAQE;QAC3F;IACF;IAEAC,UAAU,CAAC;IA/CX,YAAYC,UAA0B,CAAE;QACtC7B,mBAAmB6B,YAAY5B;QAC/BT,aAAa,IAAI,EAAEqC;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;AA2CF;AAxDA,SAAqB9B,uBAwDpB"}
@@ -1,5 +1,5 @@
1
1
  import type { Mode } from 'fs';
2
- import type { ExtractOptions, LinkAttributes, NoParamCallback } from './types.js';
2
+ import type { ExtractOptions, LinkAttributes, NoParamCallback } from './types.ts';
3
3
  export default class SymbolicLinkEntry {
4
4
  mode: Mode;
5
5
  mtime: number;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/SymbolicLinkEntry.ts"],"sourcesContent":["import fs from 'graceful-fs';\nimport isAbsolute from 'is-absolute';\nimport mkdirp from 'mkdirp-classic';\nimport objectAssign from 'object-assign';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport rimraf2 from 'rimraf2';\n\nimport chmod from './fs/chmod.js';\nimport chown from './fs/chown.js';\nimport symlinkWin32 from './fs/symlinkWin32.js';\nimport utimes from './fs/utimes.js';\nimport stripPath from './stripPath.js';\nimport validateAttributes from './validateAttributes.js';\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.js';\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, options: ExtractOptions | NoParamCallback, callback?: NoParamCallback): undefined | Promise<boolean> {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n\n if (typeof callback === 'function') {\n options = options || {};\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options as ExtractOptions));\n let normalizedLinkpath = path.normalize(this.linkpath);\n let linkFullPath = path.join(dest, stripPath(normalizedLinkpath, options as ExtractOptions));\n if (!isAbsolute(normalizedLinkpath)) {\n const linkRelativePath = path.join(path.dirname(normalizedPath), this.linkpath);\n linkFullPath = path.join(dest, stripPath(linkRelativePath, options as ExtractOptions));\n normalizedLinkpath = path.relative(path.dirname(fullPath), linkFullPath);\n }\n\n const queue = new Queue(1);\n if ((options as ExtractOptions).force) {\n queue.defer((callback) => {\n rimraf2(fullPath, { disableGlob: true }, (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(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","isAbsolute","mkdirp","objectAssign","path","Queue","rimraf2","chmod","chown","symlinkWin32","utimes","stripPath","validateAttributes","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","disableGlob","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 fs from 'graceful-fs';\nimport isAbsolute from 'is-absolute';\nimport mkdirp from 'mkdirp-classic';\nimport objectAssign from 'object-assign';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport rimraf2 from 'rimraf2';\n\nimport chmod from './fs/chmod.ts';\nimport chown from './fs/chown.ts';\nimport symlinkWin32 from './fs/symlinkWin32.ts';\nimport utimes from './fs/utimes.ts';\nimport stripPath from './stripPath.ts';\nimport validateAttributes from './validateAttributes.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, options: ExtractOptions | NoParamCallback, callback?: NoParamCallback): undefined | Promise<boolean> {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n\n if (typeof callback === 'function') {\n options = options || {};\n try {\n const normalizedPath = path.normalize(this.path);\n const fullPath = path.join(dest, stripPath(normalizedPath, options as ExtractOptions));\n let normalizedLinkpath = path.normalize(this.linkpath);\n let linkFullPath = path.join(dest, stripPath(normalizedLinkpath, options as ExtractOptions));\n if (!isAbsolute(normalizedLinkpath)) {\n const linkRelativePath = path.join(path.dirname(normalizedPath), this.linkpath);\n linkFullPath = path.join(dest, stripPath(linkRelativePath, options as ExtractOptions));\n normalizedLinkpath = path.relative(path.dirname(fullPath), linkFullPath);\n }\n\n const queue = new Queue(1);\n if ((options as ExtractOptions).force) {\n queue.defer((callback) => {\n rimraf2(fullPath, { disableGlob: true }, (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(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","isAbsolute","mkdirp","objectAssign","path","Queue","rimraf2","chmod","chown","symlinkWin32","utimes","stripPath","validateAttributes","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","disableGlob","err","code","bind","symlink","await","Promise","resolve","reject","done","destroy","attributes","basename","undefined","type"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import type { NoParamCallback } from 'fs';
2
- import type { AbstractEntry, ExtractOptions } from '../types.js';
2
+ import type { AbstractEntry, ExtractOptions } from '../types.ts';
3
3
  export default function chmodFn(fullPath: string, entry: AbstractEntry, _options: ExtractOptions, callback: NoParamCallback): void;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/fs/chmod.ts"],"sourcesContent":["// adapted from https://github.com/mafintosh/tar-fs\n\nimport type { NoParamCallback } from 'fs';\nimport fs from 'graceful-fs';\nimport type { AbstractEntry, ExtractOptions } from '../types.js';\n\nconst UMASK = process.umask ? process.umask() : null;\nconst DMODE = 0o755;\nconst FMODE = 0o644;\nconst SMODE = 0o755;\nconst LMODE = 0o644;\n\nexport default function chmodFn(fullPath: string, entry: AbstractEntry, _options: ExtractOptions, callback: NoParamCallback) {\n const chmod = entry.type === 'symlink' ? fs.lchmod : fs.chmod;\n if (!chmod || UMASK === null) {\n callback(null);\n return;\n }\n\n let mode = entry.mode;\n if (!mode) {\n switch (entry.type) {\n case 'directory':\n mode = DMODE;\n break;\n case 'file':\n mode = FMODE;\n break;\n case 'symlink':\n mode = SMODE;\n break;\n case 'link':\n mode = LMODE;\n break;\n }\n }\n chmod(fullPath, (mode as number) & ~UMASK, callback);\n}\n"],"names":["fs","UMASK","process","umask","DMODE","FMODE","SMODE","LMODE","chmodFn","fullPath","entry","_options","callback","chmod","type","lchmod","mode"],"mappings":"AAAA,mDAAmD;AAGnD,OAAOA,QAAQ,cAAc;AAG7B,MAAMC,QAAQC,QAAQC,KAAK,GAAGD,QAAQC,KAAK,KAAK;AAChD,MAAMC,QAAQ;AACd,MAAMC,QAAQ;AACd,MAAMC,QAAQ;AACd,MAAMC,QAAQ;AAEd,eAAe,SAASC,QAAQC,QAAgB,EAAEC,KAAoB,EAAEC,QAAwB,EAAEC,QAAyB;IACzH,MAAMC,QAAQH,MAAMI,IAAI,KAAK,YAAYd,GAAGe,MAAM,GAAGf,GAAGa,KAAK;IAC7D,IAAI,CAACA,SAASZ,UAAU,MAAM;QAC5BW,SAAS;QACT;IACF;IAEA,IAAII,OAAON,MAAMM,IAAI;IACrB,IAAI,CAACA,MAAM;QACT,OAAQN,MAAMI,IAAI;YAChB,KAAK;gBACHE,OAAOZ;gBACP;YACF,KAAK;gBACHY,OAAOX;gBACP;YACF,KAAK;gBACHW,OAAOV;gBACP;YACF,KAAK;gBACHU,OAAOT;gBACP;QACJ;IACF;IACAM,MAAMJ,UAAU,AAACO,OAAkB,CAACf,OAAOW;AAC7C"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/fs/chmod.ts"],"sourcesContent":["// adapted from https://github.com/mafintosh/tar-fs\n\nimport type { NoParamCallback } from 'fs';\nimport fs from 'graceful-fs';\nimport type { AbstractEntry, ExtractOptions } from '../types.ts';\n\nconst UMASK = process.umask ? process.umask() : null;\nconst DMODE = 0o755;\nconst FMODE = 0o644;\nconst SMODE = 0o755;\nconst LMODE = 0o644;\n\nexport default function chmodFn(fullPath: string, entry: AbstractEntry, _options: ExtractOptions, callback: NoParamCallback) {\n const chmod = entry.type === 'symlink' ? fs.lchmod : fs.chmod;\n if (!chmod || UMASK === null) {\n callback(null);\n return;\n }\n\n let mode = entry.mode;\n if (!mode) {\n switch (entry.type) {\n case 'directory':\n mode = DMODE;\n break;\n case 'file':\n mode = FMODE;\n break;\n case 'symlink':\n mode = SMODE;\n break;\n case 'link':\n mode = LMODE;\n break;\n }\n }\n chmod(fullPath, (mode as number) & ~UMASK, callback);\n}\n"],"names":["fs","UMASK","process","umask","DMODE","FMODE","SMODE","LMODE","chmodFn","fullPath","entry","_options","callback","chmod","type","lchmod","mode"],"mappings":"AAAA,mDAAmD;AAGnD,OAAOA,QAAQ,cAAc;AAG7B,MAAMC,QAAQC,QAAQC,KAAK,GAAGD,QAAQC,KAAK,KAAK;AAChD,MAAMC,QAAQ;AACd,MAAMC,QAAQ;AACd,MAAMC,QAAQ;AACd,MAAMC,QAAQ;AAEd,eAAe,SAASC,QAAQC,QAAgB,EAAEC,KAAoB,EAAEC,QAAwB,EAAEC,QAAyB;IACzH,MAAMC,QAAQH,MAAMI,IAAI,KAAK,YAAYd,GAAGe,MAAM,GAAGf,GAAGa,KAAK;IAC7D,IAAI,CAACA,SAASZ,UAAU,MAAM;QAC5BW,SAAS;QACT;IACF;IAEA,IAAII,OAAON,MAAMM,IAAI;IACrB,IAAI,CAACA,MAAM;QACT,OAAQN,MAAMI,IAAI;YAChB,KAAK;gBACHE,OAAOZ;gBACP;YACF,KAAK;gBACHY,OAAOX;gBACP;YACF,KAAK;gBACHW,OAAOV;gBACP;YACF,KAAK;gBACHU,OAAOT;gBACP;QACJ;IACF;IACAM,MAAMJ,UAAU,AAACO,OAAkB,CAACf,OAAOW;AAC7C"}
@@ -1,3 +1,3 @@
1
1
  import type { NoParamCallback } from 'fs';
2
- import type { AbstractEntry, ExtractOptions } from '../types.js';
2
+ import type { AbstractEntry, ExtractOptions } from '../types.ts';
3
3
  export default function chownFn(fullPath: string, entry: AbstractEntry, _options: ExtractOptions, callback: NoParamCallback): void;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/fs/chown.ts"],"sourcesContent":["// adapted from https://github.com/mafintosh/tar-fs\n\nimport type { NoParamCallback } from 'fs';\nimport fs from 'graceful-fs';\nimport type { AbstractEntry, ExtractOptions } from '../types.js';\n\nconst UID = process.getuid ? process.getuid() : -1;\nconst OWN = process.platform !== 'win32' && UID === 0;\n\nexport default function chownFn(fullPath: string, entry: AbstractEntry, _options: ExtractOptions, callback: NoParamCallback) {\n const chown = entry.type === 'symlink' ? fs.lchown : fs.chown;\n if (!chown || !OWN || !entry.uid || !entry.gid) {\n callback(null);\n return;\n }\n chown(fullPath, entry.uid, entry.gid, callback);\n}\n"],"names":["fs","UID","process","getuid","OWN","platform","chownFn","fullPath","entry","_options","callback","chown","type","lchown","uid","gid"],"mappings":"AAAA,mDAAmD;AAGnD,OAAOA,QAAQ,cAAc;AAG7B,MAAMC,MAAMC,QAAQC,MAAM,GAAGD,QAAQC,MAAM,KAAK,CAAC;AACjD,MAAMC,MAAMF,QAAQG,QAAQ,KAAK,WAAWJ,QAAQ;AAEpD,eAAe,SAASK,QAAQC,QAAgB,EAAEC,KAAoB,EAAEC,QAAwB,EAAEC,QAAyB;IACzH,MAAMC,QAAQH,MAAMI,IAAI,KAAK,YAAYZ,GAAGa,MAAM,GAAGb,GAAGW,KAAK;IAC7D,IAAI,CAACA,SAAS,CAACP,OAAO,CAACI,MAAMM,GAAG,IAAI,CAACN,MAAMO,GAAG,EAAE;QAC9CL,SAAS;QACT;IACF;IACAC,MAAMJ,UAAUC,MAAMM,GAAG,EAAEN,MAAMO,GAAG,EAAEL;AACxC"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/fs/chown.ts"],"sourcesContent":["// adapted from https://github.com/mafintosh/tar-fs\n\nimport type { NoParamCallback } from 'fs';\nimport fs from 'graceful-fs';\nimport type { AbstractEntry, ExtractOptions } from '../types.ts';\n\nconst UID = process.getuid ? process.getuid() : -1;\nconst OWN = process.platform !== 'win32' && UID === 0;\n\nexport default function chownFn(fullPath: string, entry: AbstractEntry, _options: ExtractOptions, callback: NoParamCallback) {\n const chown = entry.type === 'symlink' ? fs.lchown : fs.chown;\n if (!chown || !OWN || !entry.uid || !entry.gid) {\n callback(null);\n return;\n }\n chown(fullPath, entry.uid, entry.gid, callback);\n}\n"],"names":["fs","UID","process","getuid","OWN","platform","chownFn","fullPath","entry","_options","callback","chown","type","lchown","uid","gid"],"mappings":"AAAA,mDAAmD;AAGnD,OAAOA,QAAQ,cAAc;AAG7B,MAAMC,MAAMC,QAAQC,MAAM,GAAGD,QAAQC,MAAM,KAAK,CAAC;AACjD,MAAMC,MAAMF,QAAQG,QAAQ,KAAK,WAAWJ,QAAQ;AAEpD,eAAe,SAASK,QAAQC,QAAgB,EAAEC,KAAoB,EAAEC,QAAwB,EAAEC,QAAyB;IACzH,MAAMC,QAAQH,MAAMI,IAAI,KAAK,YAAYZ,GAAGa,MAAM,GAAGb,GAAGW,KAAK;IAC7D,IAAI,CAACA,SAAS,CAACP,OAAO,CAACI,MAAMM,GAAG,IAAI,CAACN,MAAMO,GAAG,EAAE;QAC9CL,SAAS;QACT;IACF;IACAC,MAAMJ,UAAUC,MAAMM,GAAG,EAAEN,MAAMO,GAAG,EAAEL;AACxC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/fs/symlinkWin32.ts"],"sourcesContent":["import type { NoParamCallback } from 'fs';\nimport fs from 'graceful-fs';\nimport lstatReal from './lstatReal.js';\n\nexport default function symlinkWin32(linkFullPath: string, linkpath: string, fullPath: string, callback: NoParamCallback) {\n lstatReal(linkFullPath, (err, targetStat) => {\n if (err || !targetStat) return callback(err || new Error(`Symlink path does not exist${linkFullPath}`));\n const type = targetStat.isDirectory() ? 'dir' : 'file';\n fs.symlink(linkpath, fullPath, type, callback);\n });\n}\n"],"names":["fs","lstatReal","symlinkWin32","linkFullPath","linkpath","fullPath","callback","err","targetStat","Error","type","isDirectory","symlink"],"mappings":"AACA,OAAOA,QAAQ,cAAc;AAC7B,OAAOC,eAAe,iBAAiB;AAEvC,eAAe,SAASC,aAAaC,YAAoB,EAAEC,QAAgB,EAAEC,QAAgB,EAAEC,QAAyB;IACtHL,UAAUE,cAAc,CAACI,KAAKC;QAC5B,IAAID,OAAO,CAACC,YAAY,OAAOF,SAASC,OAAO,IAAIE,MAAM,CAAC,2BAA2B,EAAEN,cAAc;QACrG,MAAMO,OAAOF,WAAWG,WAAW,KAAK,QAAQ;QAChDX,GAAGY,OAAO,CAACR,UAAUC,UAAUK,MAAMJ;IACvC;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/fs/symlinkWin32.ts"],"sourcesContent":["import type { NoParamCallback } from 'fs';\nimport fs from 'graceful-fs';\nimport lstatReal from './lstatReal.ts';\n\nexport default function symlinkWin32(linkFullPath: string, linkpath: string, fullPath: string, callback: NoParamCallback) {\n lstatReal(linkFullPath, (err, targetStat) => {\n if (err || !targetStat) return callback(err || new Error(`Symlink path does not exist${linkFullPath}`));\n const type = targetStat.isDirectory() ? 'dir' : 'file';\n fs.symlink(linkpath, fullPath, type, callback);\n });\n}\n"],"names":["fs","lstatReal","symlinkWin32","linkFullPath","linkpath","fullPath","callback","err","targetStat","Error","type","isDirectory","symlink"],"mappings":"AACA,OAAOA,QAAQ,cAAc;AAC7B,OAAOC,eAAe,iBAAiB;AAEvC,eAAe,SAASC,aAAaC,YAAoB,EAAEC,QAAgB,EAAEC,QAAgB,EAAEC,QAAyB;IACtHL,UAAUE,cAAc,CAACI,KAAKC;QAC5B,IAAID,OAAO,CAACC,YAAY,OAAOF,SAASC,OAAO,IAAIE,MAAM,CAAC,2BAA2B,EAAEN,cAAc;QACrG,MAAMO,OAAOF,WAAWG,WAAW,KAAK,QAAQ;QAChDX,GAAGY,OAAO,CAACR,UAAUC,UAAUK,MAAMJ;IACvC;AACF"}
@@ -1,3 +1,3 @@
1
1
  import type { NoParamCallback } from 'fs';
2
- import type { AbstractEntry, ExtractOptions } from '../types.js';
2
+ import type { AbstractEntry, ExtractOptions } from '../types.ts';
3
3
  export default function utimes(fullPath: string, entry: AbstractEntry, options: ExtractOptions, callback: NoParamCallback): undefined;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/fs/utimes.ts"],"sourcesContent":["// adapted from https://github.com/mafintosh/tar-fs\n\nimport type { NoParamCallback } from 'fs';\nimport fs from 'graceful-fs';\nimport type { AbstractEntry, ExtractOptions } from '../types.js';\n\nexport default function utimes(fullPath: string, entry: AbstractEntry, options: ExtractOptions, callback: NoParamCallback): undefined {\n const now = options.now || new Date();\n fs.utimes(fullPath, now, new Date(entry.mtime), callback);\n}\n"],"names":["fs","utimes","fullPath","entry","options","callback","now","Date","mtime"],"mappings":"AAAA,mDAAmD;AAGnD,OAAOA,QAAQ,cAAc;AAG7B,eAAe,SAASC,OAAOC,QAAgB,EAAEC,KAAoB,EAAEC,OAAuB,EAAEC,QAAyB;IACvH,MAAMC,MAAMF,QAAQE,GAAG,IAAI,IAAIC;IAC/BP,GAAGC,MAAM,CAACC,UAAUI,KAAK,IAAIC,KAAKJ,MAAMK,KAAK,GAAGH;AAClD"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/fs/utimes.ts"],"sourcesContent":["// adapted from https://github.com/mafintosh/tar-fs\n\nimport type { NoParamCallback } from 'fs';\nimport fs from 'graceful-fs';\nimport type { AbstractEntry, ExtractOptions } from '../types.ts';\n\nexport default function utimes(fullPath: string, entry: AbstractEntry, options: ExtractOptions, callback: NoParamCallback): undefined {\n const now = options.now || new Date();\n fs.utimes(fullPath, now, new Date(entry.mtime), callback);\n}\n"],"names":["fs","utimes","fullPath","entry","options","callback","now","Date","mtime"],"mappings":"AAAA,mDAAmD;AAGnD,OAAOA,QAAQ,cAAc;AAG7B,eAAe,SAASC,OAAOC,QAAgB,EAAEC,KAAoB,EAAEC,OAAuB,EAAEC,QAAyB;IACvH,MAAMC,MAAMF,QAAQE,GAAG,IAAI,IAAIC;IAC/BP,GAAGC,MAAM,CAACC,UAAUI,KAAK,IAAIC,KAAKJ,MAAMK,KAAK,GAAGH;AAClD"}
@@ -1,8 +1,8 @@
1
- import './polyfills.js';
1
+ import './polyfills.ts';
2
2
  export { default } from 'stack-base-iterator';
3
- export { default as DirectoryEntry } from './DirectoryEntry.js';
4
- export { default as FileEntry } from './FileEntry.js';
5
- export { default as LinkEntry } from './LinkEntry.js';
6
- export { default as SymbolicLinkEntry } from './SymbolicLinkEntry.js';
7
- export * from './types.js';
8
- export { default as waitForAccess } from './waitForAccess.js';
3
+ export { default as DirectoryEntry } from './DirectoryEntry.ts';
4
+ export { default as FileEntry } from './FileEntry.ts';
5
+ export { default as LinkEntry } from './LinkEntry.ts';
6
+ export { default as SymbolicLinkEntry } from './SymbolicLinkEntry.ts';
7
+ export * from './types.ts';
8
+ export { default as waitForAccess } from './waitForAccess.ts';
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/index.ts"],"sourcesContent":["import './polyfills.js';\n\nexport { default } from 'stack-base-iterator';\nexport { default as DirectoryEntry } from './DirectoryEntry.js';\nexport { default as FileEntry } from './FileEntry.js';\nexport { default as LinkEntry } from './LinkEntry.js';\nexport { default as SymbolicLinkEntry } from './SymbolicLinkEntry.js';\nexport * from './types.js';\nexport { default as waitForAccess } from './waitForAccess.js';\n"],"names":["default","DirectoryEntry","FileEntry","LinkEntry","SymbolicLinkEntry","waitForAccess"],"mappings":"AAAA,OAAO,iBAAiB;AAExB,SAASA,OAAO,QAAQ,sBAAsB;AAC9C,SAASA,WAAWC,cAAc,QAAQ,sBAAsB;AAChE,SAASD,WAAWE,SAAS,QAAQ,iBAAiB;AACtD,SAASF,WAAWG,SAAS,QAAQ,iBAAiB;AACtD,SAASH,WAAWI,iBAAiB,QAAQ,yBAAyB;AACtE,cAAc,aAAa;AAC3B,SAASJ,WAAWK,aAAa,QAAQ,qBAAqB"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/index.ts"],"sourcesContent":["import './polyfills.ts';\n\nexport { default } from 'stack-base-iterator';\nexport { default as DirectoryEntry } from './DirectoryEntry.ts';\nexport { default as FileEntry } from './FileEntry.ts';\nexport { default as LinkEntry } from './LinkEntry.ts';\nexport { default as SymbolicLinkEntry } from './SymbolicLinkEntry.ts';\nexport * from './types.ts';\nexport { default as waitForAccess } from './waitForAccess.ts';\n"],"names":["default","DirectoryEntry","FileEntry","LinkEntry","SymbolicLinkEntry","waitForAccess"],"mappings":"AAAA,OAAO,iBAAiB;AAExB,SAASA,OAAO,QAAQ,sBAAsB;AAC9C,SAASA,WAAWC,cAAc,QAAQ,sBAAsB;AAChE,SAASD,WAAWE,SAAS,QAAQ,iBAAiB;AACtD,SAASF,WAAWG,SAAS,QAAQ,iBAAiB;AACtD,SAASH,WAAWI,iBAAiB,QAAQ,yBAAyB;AACtE,cAAc,aAAa;AAC3B,SAASJ,WAAWK,aAAa,QAAQ,qBAAqB"}
@@ -1,2 +1,2 @@
1
- import type { ExtractOptions } from './types.js';
1
+ import type { ExtractOptions } from './types.ts';
2
2
  export default function stripPath(relativePath: string, options: ExtractOptions): string;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/stripPath.ts"],"sourcesContent":["import compact from 'lodash.compact';\nimport path from 'path';\n\nimport type { ExtractOptions } from './types.js';\n\nexport default function stripPath(relativePath: string, options: ExtractOptions): string {\n const strip = options.strip || 0;\n if (!strip) return relativePath;\n const parts = compact(relativePath.split(path.sep));\n if (parts.length < strip) throw new Error(`You cannot strip more levels than there are directories. Strip: ${strip}. Path: ${relativePath}`);\n return parts.slice(strip).join(path.sep);\n}\n"],"names":["compact","path","stripPath","relativePath","options","strip","parts","split","sep","length","Error","slice","join"],"mappings":"AAAA,OAAOA,aAAa,iBAAiB;AACrC,OAAOC,UAAU,OAAO;AAIxB,eAAe,SAASC,UAAUC,YAAoB,EAAEC,OAAuB;IAC7E,MAAMC,QAAQD,QAAQC,KAAK,IAAI;IAC/B,IAAI,CAACA,OAAO,OAAOF;IACnB,MAAMG,QAAQN,QAAQG,aAAaI,KAAK,CAACN,KAAKO,GAAG;IACjD,IAAIF,MAAMG,MAAM,GAAGJ,OAAO,MAAM,IAAIK,MAAM,CAAC,gEAAgE,EAAEL,MAAM,QAAQ,EAAEF,cAAc;IAC3I,OAAOG,MAAMK,KAAK,CAACN,OAAOO,IAAI,CAACX,KAAKO,GAAG;AACzC"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/stripPath.ts"],"sourcesContent":["import compact from 'lodash.compact';\nimport path from 'path';\n\nimport type { ExtractOptions } from './types.ts';\n\nexport default function stripPath(relativePath: string, options: ExtractOptions): string {\n const strip = options.strip || 0;\n if (!strip) return relativePath;\n const parts = compact(relativePath.split(path.sep));\n if (parts.length < strip) throw new Error(`You cannot strip more levels than there are directories. Strip: ${strip}. Path: ${relativePath}`);\n return parts.slice(strip).join(path.sep);\n}\n"],"names":["compact","path","stripPath","relativePath","options","strip","parts","split","sep","length","Error","slice","join"],"mappings":"AAAA,OAAOA,aAAa,iBAAiB;AACrC,OAAOC,UAAU,OAAO;AAIxB,eAAe,SAASC,UAAUC,YAAoB,EAAEC,OAAuB;IAC7E,MAAMC,QAAQD,QAAQC,KAAK,IAAI;IAC/B,IAAI,CAACA,OAAO,OAAOF;IACnB,MAAMG,QAAQN,QAAQG,aAAaI,KAAK,CAACN,KAAKO,GAAG;IACjD,IAAIF,MAAMG,MAAM,GAAGJ,OAAO,MAAM,IAAIK,MAAM,CAAC,gEAAgE,EAAEL,MAAM,QAAQ,EAAEF,cAAc;IAC3I,OAAOG,MAAMK,KAAK,CAACN,OAAOO,IAAI,CAACX,KAAKO,GAAG;AACzC"}
@@ -23,10 +23,10 @@ export interface LinkAttributes {
23
23
  path: string;
24
24
  linkpath: string;
25
25
  }
26
- import type { default as DirectoryEntry } from './DirectoryEntry.js';
27
- import type { default as FileEntry } from './FileEntry.js';
28
- import type { default as LinkEntry } from './LinkEntry.js';
29
- import type { default as SymbolicLinkEntry } from './SymbolicLinkEntry.js';
26
+ import type { default as DirectoryEntry } from './DirectoryEntry.ts';
27
+ import type { default as FileEntry } from './FileEntry.ts';
28
+ import type { default as LinkEntry } from './LinkEntry.ts';
29
+ import type { default as SymbolicLinkEntry } from './SymbolicLinkEntry.ts';
30
30
  export type Entry = DirectoryEntry | FileEntry | LinkEntry | SymbolicLinkEntry;
31
31
  export interface AbstractEntry {
32
32
  mode: Mode;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/types.ts"],"sourcesContent":["import type { Mode } from 'fs';\nimport type { StackOptions } from 'stack-base-iterator';\n\nexport interface ExtractOptions extends StackOptions {\n force?: boolean;\n strip?: number;\n now?: Date;\n}\n\nexport type NoParamCallback = (error?: Error) => void;\nexport type WriteFileFn = (path: string, options: object, callback: NoParamCallback) => void;\n\nexport interface FileAttributes {\n mode: Mode;\n mtime: number;\n path: string;\n}\n\nexport interface DirectoryAttributes {\n mode: Mode;\n mtime: number;\n path: string;\n}\n\nexport interface LinkAttributes {\n mode: Mode;\n mtime: number;\n path: string;\n linkpath: string;\n}\n\nimport type { default as DirectoryEntry } from './DirectoryEntry.js';\nimport type { default as FileEntry } from './FileEntry.js';\nimport type { default as LinkEntry } from './LinkEntry.js';\nimport type { default as SymbolicLinkEntry } from './SymbolicLinkEntry.js';\nexport type Entry = DirectoryEntry | FileEntry | LinkEntry | SymbolicLinkEntry;\n\nexport interface AbstractEntry {\n mode: Mode;\n mtime: number;\n path: string;\n basename: string;\n type: string;\n linkpath?: string;\n uid?: number;\n gid?: number;\n}\n"],"names":[],"mappings":"AAqCA,WASC"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/types.ts"],"sourcesContent":["import type { Mode } from 'fs';\nimport type { StackOptions } from 'stack-base-iterator';\n\nexport interface ExtractOptions extends StackOptions {\n force?: boolean;\n strip?: number;\n now?: Date;\n}\n\nexport type NoParamCallback = (error?: Error) => void;\nexport type WriteFileFn = (path: string, options: object, callback: NoParamCallback) => void;\n\nexport interface FileAttributes {\n mode: Mode;\n mtime: number;\n path: string;\n}\n\nexport interface DirectoryAttributes {\n mode: Mode;\n mtime: number;\n path: string;\n}\n\nexport interface LinkAttributes {\n mode: Mode;\n mtime: number;\n path: string;\n linkpath: string;\n}\n\nimport type { default as DirectoryEntry } from './DirectoryEntry.ts';\nimport type { default as FileEntry } from './FileEntry.ts';\nimport type { default as LinkEntry } from './LinkEntry.ts';\nimport type { default as SymbolicLinkEntry } from './SymbolicLinkEntry.ts';\nexport type Entry = DirectoryEntry | FileEntry | LinkEntry | SymbolicLinkEntry;\n\nexport interface AbstractEntry {\n mode: Mode;\n mtime: number;\n path: string;\n basename: string;\n type: string;\n linkpath?: string;\n uid?: number;\n gid?: number;\n}\n"],"names":[],"mappings":"AAqCA,WASC"}
@@ -1,2 +1,2 @@
1
- import type { NoParamCallback } from './types.js';
1
+ import type { NoParamCallback } from './types.ts';
2
2
  export default function waitForAccess(fullPath: string, callback: NoParamCallback): undefined;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/waitForAccess.ts"],"sourcesContent":["import fs from 'fs';\n\nimport type { NoParamCallback } from './types.js';\n\nexport default function waitForAccess(fullPath: string, callback: NoParamCallback): undefined {\n fs.stat(fullPath, (err) => {\n if (err) return setImmediate(() => waitForAccess(fullPath, callback));\n callback();\n });\n}\n"],"names":["fs","waitForAccess","fullPath","callback","stat","err","setImmediate"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AAIpB,eAAe,SAASC,cAAcC,QAAgB,EAAEC,QAAyB;IAC/EH,GAAGI,IAAI,CAACF,UAAU,CAACG;QACjB,IAAIA,KAAK,OAAOC,aAAa,IAAML,cAAcC,UAAUC;QAC3DA;IACF;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/waitForAccess.ts"],"sourcesContent":["import fs from 'fs';\n\nimport type { NoParamCallback } from './types.ts';\n\nexport default function waitForAccess(fullPath: string, callback: NoParamCallback): undefined {\n fs.stat(fullPath, (err) => {\n if (err) return setImmediate(() => waitForAccess(fullPath, callback));\n callback();\n });\n}\n"],"names":["fs","waitForAccess","fullPath","callback","stat","err","setImmediate"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AAIpB,eAAe,SAASC,cAAcC,QAAgB,EAAEC,QAAyB;IAC/EH,GAAGI,IAAI,CAACF,UAAU,CAACG;QACjB,IAAIA,KAAK,OAAOC,aAAa,IAAML,cAAcC,UAAUC;QAC3DA;IACF;AACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "extract-base-iterator",
3
- "version": "2.0.2",
3
+ "version": "2.0.3",
4
4
  "description": "Base iterator for extract iterators like tar-iterator and zip-iterator",
5
5
  "keywords": [
6
6
  "extract",
@@ -47,9 +47,9 @@
47
47
  "mkdirp-classic": "^0.5.3",
48
48
  "next-tick": "^1.1.0",
49
49
  "object-assign": "^4.1.1",
50
- "queue-cb": "^1.5.4",
50
+ "queue-cb": "^1.5.5",
51
51
  "rimraf2": "^2.8.2",
52
- "stack-base-iterator": "2.0.2"
52
+ "stack-base-iterator": "2.0.3"
53
53
  },
54
54
  "devDependencies": {
55
55
  "@types/mocha": "*",