extract-base-iterator 1.3.14 → 1.3.16

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.
@@ -1,3 +1,3 @@
1
1
  import type { NoParamCallback } from 'fs';
2
- import type { Entry, ExtractOptions } from '../types.js';
3
- export default function chmodFn(fullPath: string, entry: Entry, _options: ExtractOptions, callback: NoParamCallback): void;
2
+ import type { AbstractEntry, ExtractOptions } from '../types.js';
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 { Entry, ExtractOptions } from '../types.js';
3
- export default function chmodFn(fullPath: string, entry: Entry, _options: ExtractOptions, callback: NoParamCallback): void;
2
+ import type { AbstractEntry, ExtractOptions } from '../types.js';
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 fs from 'graceful-fs';\n\nimport type { NoParamCallback } from 'fs';\nimport type { Entry, 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: Entry, _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;;;;;+BAanD;;;eAAwBA;;;iEAXT;;;;;;AAKf,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,KAAY,EAAEC,QAAwB,EAAEC,QAAyB;IACjH,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 fs from 'graceful-fs';\n\nimport type { NoParamCallback } from '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;;;;;+BAanD;;;eAAwBA;;;iEAXT;;;;;;AAKf,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 { Entry, ExtractOptions } from '../types.js';
3
- export default function chownFn(fullPath: string, entry: Entry, _options: ExtractOptions, callback: NoParamCallback): void;
2
+ import type { AbstractEntry, ExtractOptions } from '../types.js';
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 { Entry, ExtractOptions } from '../types.js';
3
- export default function chownFn(fullPath: string, entry: Entry, _options: ExtractOptions, callback: NoParamCallback): void;
2
+ import type { AbstractEntry, ExtractOptions } from '../types.js';
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 { Entry, 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: Entry, _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,KAAY,EAAEC,QAAwB,EAAEC,QAAyB;IACjH,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.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,3 +1,3 @@
1
1
  import type { NoParamCallback } from 'fs';
2
- import type { Entry, ExtractOptions } from '../types.js';
3
- export default function utimes(fullPath: string, entry: Entry, options: ExtractOptions, callback: NoParamCallback): undefined;
2
+ import type { AbstractEntry, ExtractOptions } from '../types.js';
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 { Entry, ExtractOptions } from '../types.js';
3
- export default function utimes(fullPath: string, entry: Entry, options: ExtractOptions, callback: NoParamCallback): undefined;
2
+ import type { AbstractEntry, ExtractOptions } from '../types.js';
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 fs from 'graceful-fs';\n\nimport type { NoParamCallback } from 'fs';\nimport type { Entry, ExtractOptions } from '../types.js';\n\nexport default function utimes(fullPath: string, entry: Entry, 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;;;;;+BAOnD;;;eAAwBA;;;iEALT;;;;;;AAKA,SAASA,OAAOC,QAAgB,EAAEC,KAAY,EAAEC,OAAuB,EAAEC,QAAyB;IAC/G,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 fs from 'graceful-fs';\n\nimport type { NoParamCallback } from '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;;;;;+BAOnD;;;eAAwBA;;;iEALT;;;;;;AAKA,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,6 +1,5 @@
1
1
  import './polyfills.js';
2
- import StackBaseIterator from 'stack-base-iterator';
3
- export default StackBaseIterator;
2
+ export { default, type AbstractIterator } from 'stack-base-iterator';
4
3
  export { default as waitForAccess } from './waitForAccess.js';
5
4
  export { default as DirectoryEntry } from './DirectoryEntry.js';
6
5
  export { default as FileEntry } from './FileEntry.js';
@@ -1,6 +1,5 @@
1
1
  import './polyfills.js';
2
- import StackBaseIterator from 'stack-base-iterator';
3
- export default StackBaseIterator;
2
+ export { default, type AbstractIterator } from 'stack-base-iterator';
4
3
  export { default as waitForAccess } from './waitForAccess.js';
5
4
  export { default as DirectoryEntry } from './DirectoryEntry.js';
6
5
  export { default as FileEntry } from './FileEntry.js';
package/dist/cjs/index.js CHANGED
@@ -22,7 +22,7 @@ _export(exports, {
22
22
  return _SymbolicLinkEntry.default;
23
23
  },
24
24
  get default () {
25
- return _default;
25
+ return _stackbaseiterator.default;
26
26
  },
27
27
  get waitForAccess () {
28
28
  return _waitForAccess.default;
@@ -54,5 +54,4 @@ function _interop_require_default(obj) {
54
54
  default: obj
55
55
  };
56
56
  }
57
- var _default = _stackbaseiterator.default;
58
57
  /* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/index.ts"],"sourcesContent":["import './polyfills.js';\nimport StackBaseIterator from 'stack-base-iterator';\n\nexport default StackBaseIterator;\nexport { default as waitForAccess } from './waitForAccess.js';\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';\n"],"names":["DirectoryEntry","FileEntry","LinkEntry","SymbolicLinkEntry","waitForAccess","StackBaseIterator"],"mappings":";;;;;;;;;;;QAKoBA;eAAAA,uBAAc;;QACdC;eAAAA,kBAAS;;QACTC;eAAAA,kBAAS;;QACTC;eAAAA,0BAAiB;;QALrC;eAAA;;QACoBC;eAAAA,sBAAa;;;QAJ1B;wEACuB;oEAGW;qEACC;gEACL;gEACA;wEACQ;qBAC/B;;;;;;;;;;;;;;;;;;;IANd,WAAeC,0BAAiB"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/index.ts"],"sourcesContent":["import './polyfills.js';\n\nexport { default, type AbstractIterator } from 'stack-base-iterator';\nexport { default as waitForAccess } from './waitForAccess.js';\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';\n"],"names":["DirectoryEntry","FileEntry","LinkEntry","SymbolicLinkEntry","default","waitForAccess"],"mappings":";;;;;;;;;;;QAIoBA;eAAAA,uBAAc;;QACdC;eAAAA,kBAAS;;QACTC;eAAAA,kBAAS;;QACTC;eAAAA,0BAAiB;;QAL5BC;eAAAA,0BAAO;;QACIC;eAAAA,sBAAa;;;QAH1B;wEAEwC;oEACN;qEACC;gEACL;gEACA;wEACQ;qBAC/B"}
@@ -23,7 +23,12 @@ export interface LinkAttributes {
23
23
  path: string;
24
24
  linkpath: string;
25
25
  }
26
- export interface Entry {
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';
30
+ export type Entry = DirectoryEntry | FileEntry | LinkEntry | SymbolicLinkEntry;
31
+ export interface AbstractEntry {
27
32
  mode: Mode;
28
33
  mtime: number;
29
34
  path: string;
@@ -23,7 +23,12 @@ export interface LinkAttributes {
23
23
  path: string;
24
24
  linkpath: string;
25
25
  }
26
- export interface Entry {
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';
30
+ export type Entry = DirectoryEntry | FileEntry | LinkEntry | SymbolicLinkEntry;
31
+ export interface AbstractEntry {
27
32
  mode: Mode;
28
33
  mtime: number;
29
34
  path: string;
@@ -1,3 +1,3 @@
1
1
  import type { NoParamCallback } from 'fs';
2
- import type { Entry, ExtractOptions } from '../types.js';
3
- export default function chmodFn(fullPath: string, entry: Entry, _options: ExtractOptions, callback: NoParamCallback): void;
2
+ import type { AbstractEntry, ExtractOptions } from '../types.js';
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 fs from 'graceful-fs';\n\nimport type { NoParamCallback } from 'fs';\nimport type { Entry, 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: Entry, _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;AAEnD,OAAOA,QAAQ,cAAc;AAK7B,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,KAAY,EAAEC,QAAwB,EAAEC,QAAyB;IACjH,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 fs from 'graceful-fs';\n\nimport type { NoParamCallback } from '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;AAEnD,OAAOA,QAAQ,cAAc;AAK7B,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 { Entry, ExtractOptions } from '../types.js';
3
- export default function chownFn(fullPath: string, entry: Entry, _options: ExtractOptions, callback: NoParamCallback): void;
2
+ import type { AbstractEntry, ExtractOptions } from '../types.js';
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 { Entry, 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: Entry, _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,KAAY,EAAEC,QAAwB,EAAEC,QAAyB;IACjH,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.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,3 +1,3 @@
1
1
  import type { NoParamCallback } from 'fs';
2
- import type { Entry, ExtractOptions } from '../types.js';
3
- export default function utimes(fullPath: string, entry: Entry, options: ExtractOptions, callback: NoParamCallback): undefined;
2
+ import type { AbstractEntry, ExtractOptions } from '../types.js';
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 fs from 'graceful-fs';\n\nimport type { NoParamCallback } from 'fs';\nimport type { Entry, ExtractOptions } from '../types.js';\n\nexport default function utimes(fullPath: string, entry: Entry, 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;AAEnD,OAAOA,QAAQ,cAAc;AAK7B,eAAe,SAASC,OAAOC,QAAgB,EAAEC,KAAY,EAAEC,OAAuB,EAAEC,QAAyB;IAC/G,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 fs from 'graceful-fs';\n\nimport type { NoParamCallback } from '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;AAEnD,OAAOA,QAAQ,cAAc;AAK7B,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,6 +1,5 @@
1
1
  import './polyfills.js';
2
- import StackBaseIterator from 'stack-base-iterator';
3
- export default StackBaseIterator;
2
+ export { default, type AbstractIterator } from 'stack-base-iterator';
4
3
  export { default as waitForAccess } from './waitForAccess.js';
5
4
  export { default as DirectoryEntry } from './DirectoryEntry.js';
6
5
  export { default as FileEntry } from './FileEntry.js';
package/dist/esm/index.js CHANGED
@@ -1,6 +1,5 @@
1
1
  import './polyfills.js';
2
- import StackBaseIterator from 'stack-base-iterator';
3
- export default StackBaseIterator;
2
+ export { default } from 'stack-base-iterator';
4
3
  export { default as waitForAccess } from './waitForAccess.js';
5
4
  export { default as DirectoryEntry } from './DirectoryEntry.js';
6
5
  export { default as FileEntry } from './FileEntry.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/index.ts"],"sourcesContent":["import './polyfills.js';\nimport StackBaseIterator from 'stack-base-iterator';\n\nexport default StackBaseIterator;\nexport { default as waitForAccess } from './waitForAccess.js';\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';\n"],"names":["StackBaseIterator","default","waitForAccess","DirectoryEntry","FileEntry","LinkEntry","SymbolicLinkEntry"],"mappings":"AAAA,OAAO,iBAAiB;AACxB,OAAOA,uBAAuB,sBAAsB;AAEpD,eAAeA,kBAAkB;AACjC,SAASC,WAAWC,aAAa,QAAQ,qBAAqB;AAC9D,SAASD,WAAWE,cAAc,QAAQ,sBAAsB;AAChE,SAASF,WAAWG,SAAS,QAAQ,iBAAiB;AACtD,SAASH,WAAWI,SAAS,QAAQ,iBAAiB;AACtD,SAASJ,WAAWK,iBAAiB,QAAQ,yBAAyB;AACtE,cAAc,aAAa"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/index.ts"],"sourcesContent":["import './polyfills.js';\n\nexport { default, type AbstractIterator } from 'stack-base-iterator';\nexport { default as waitForAccess } from './waitForAccess.js';\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';\n"],"names":["default","waitForAccess","DirectoryEntry","FileEntry","LinkEntry","SymbolicLinkEntry"],"mappings":"AAAA,OAAO,iBAAiB;AAExB,SAASA,OAAO,QAA+B,sBAAsB;AACrE,SAASA,WAAWC,aAAa,QAAQ,qBAAqB;AAC9D,SAASD,WAAWE,cAAc,QAAQ,sBAAsB;AAChE,SAASF,WAAWG,SAAS,QAAQ,iBAAiB;AACtD,SAASH,WAAWI,SAAS,QAAQ,iBAAiB;AACtD,SAASJ,WAAWK,iBAAiB,QAAQ,yBAAyB;AACtE,cAAc,aAAa"}
@@ -23,7 +23,12 @@ export interface LinkAttributes {
23
23
  path: string;
24
24
  linkpath: string;
25
25
  }
26
- export interface Entry {
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';
30
+ export type Entry = DirectoryEntry | FileEntry | LinkEntry | SymbolicLinkEntry;
31
+ export interface AbstractEntry {
27
32
  mode: Mode;
28
33
  mtime: number;
29
34
  path: string;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/extract-base-iterator/src/types.ts"],"sourcesContent":["import type { Mode } from 'fs';\n\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\nexport interface Entry {\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":"AAgCA,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.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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "extract-base-iterator",
3
- "version": "1.3.14",
3
+ "version": "1.3.16",
4
4
  "description": "Base iterator for extract iterators like tar-iterator and zip-iterator",
5
5
  "keywords": [
6
6
  "extract",
@@ -49,7 +49,7 @@
49
49
  "object-assign": "^4.1.1",
50
50
  "queue-cb": "^1.5.2",
51
51
  "rimraf2": "^2.8.2",
52
- "stack-base-iterator": "^1.2.13"
52
+ "stack-base-iterator": "^1.2.14"
53
53
  },
54
54
  "devDependencies": {
55
55
  "@types/mocha": "*",