UNPKG

extract-base-iterator

Version:

Base iterator for extract iterators like tar-iterator and zip-iterator

45 lines 1.46 kB
// adapted from https://github.com/mafintosh/tar-fs "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function() { return chmodFn; } }); var _fs = /*#__PURE__*/ _interop_require_default(require("fs")); function _interop_require_default(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var UMASK = process.umask ? process.umask() : null; var DMODE = 493; var FMODE = 420; var SMODE = 493; var LMODE = 420; function chmodFn(fullPath, entry, _options, callback) { var chmod = entry.type === 'symlink' ? _fs.default.lchmod : _fs.default.chmod; if (!chmod || UMASK === null) return callback(null); var mode = entry.mode; if (!mode) { switch(entry.type){ case 'directory': mode = DMODE; break; case 'file': mode = FMODE; break; case 'symlink': mode = SMODE; break; case 'link': mode = LMODE; break; } } chmod(fullPath, mode & ~UMASK, callback); } /* 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; }