Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

appcd-fs

Package Overview
Dependencies
Maintainers
3
Versions
57
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

appcd-fs - npm Package Compare versions

Comparing version 2.1.0 to 2.1.1

5

CHANGELOG.md

@@ -0,1 +1,6 @@

# v2.1.1 (Jun 8, 2021)
* fix: Writing a file with a mode was applying the mode to the file and newly created directories.
* fix: Default new directories to mode 777.
# v2.1.0 (Jun 8, 2021)

@@ -2,0 +7,0 @@

12

dist/fs.js

@@ -181,3 +181,5 @@ "use strict";

execute(dest, opts, opts => {
_fs.default.mkdirSync(dest, { ...opts,
_fs.default.mkdirSync(dest, {
mode: 0o777,
...opts,
recursive: true

@@ -205,3 +207,3 @@ });

_fs.default.renameSync(src, dest, opts);
_fs.default.renameSync(src, dest);
});

@@ -257,3 +259,5 @@ }

execute(dest, opts, opts => {
mkdirpSync(_path.default.dirname(dest), opts);
mkdirpSync(_path.default.dirname(dest), opts, { ...opts,
mode: undefined
});

@@ -263,2 +267,2 @@ _fs.default.writeFileSync(dest, contents, opts);

}
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZzLmpzIl0sIm5hbWVzIjpbIkVycm9yIiwicHJlcGFyZVN0YWNrVHJhY2UiLCJyZXF1aXJlIiwiZXhlY3V0ZSIsImRlc3QiLCJvcHRzIiwiZm4iLCJhcHBseU93bmVyIiwicHJvY2VzcyIsInBsYXRmb3JtIiwiZ2V0dWlkIiwicGF0aCIsInJlc29sdmUiLCJvcmlnaW4iLCJwYXJzZSIsInJvb3QiLCJ1aWQiLCJkaXJuYW1lIiwic3QiLCJmcyIsImxzdGF0U3luYyIsImlzRGlyZWN0b3J5IiwiT2JqZWN0IiwiYXNzaWduIiwiZ2lkIiwiZXJyIiwiY2hvd25TeW5jIiwibGNob3duU3luYyIsInN0YXQiLCJlIiwiZXhpc3RzU3luYyIsImZpbGUiLCJzdGF0U3luYyIsImlzRGlyIiwiZGlyIiwiaXNGaWxlIiwibG9jYXRlIiwiZmlsZW5hbWUiLCJkZXB0aCIsIm5hbWUiLCJyZWFkZGlyU3luYyIsImpvaW4iLCJyZXN1bHQiLCJ1bmRlZmluZWQiLCJSZWdFeHAiLCJ0ZXN0IiwibWtkaXJwU3luYyIsIm1rZGlyU3luYyIsInJlY3Vyc2l2ZSIsIm1vdmVTeW5jIiwic3JjIiwicmVuYW1lU3luYyIsInJlYWRkaXJTY29wZWRTeW5jIiwiY2hpbGRyZW4iLCJjaGlsZFBhdGgiLCJjaGFyQXQiLCJzY29wZWRQYWNrYWdlIiwicHVzaCIsIndyaXRlRmlsZVN5bmMiLCJjb250ZW50cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFLQTs7QUFDQTs7OztBQU5BO0FBQ0EsSUFBSSxDQUFDQSxLQUFLLENBQUNDLGlCQUFYLEVBQThCO0FBQzdCQyxFQUFBQSxPQUFPLENBQUMsNkJBQUQsQ0FBUDtBQUNBOztBQUtEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNDLE9BQVQsQ0FBaUJDLElBQWpCLEVBQXVCQyxJQUF2QixFQUE2QkMsRUFBN0IsRUFBaUM7QUFDaEMsTUFBSUQsSUFBSSxDQUFDRSxVQUFM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QzNCLFdBQUssTUFBTUMsYUFBWCxJQUE0QnJDLFlBQUdxQixXQUFILENBQWVjLFNBQWYsQ0FBNUIsRUFBdUQ7QUFDdEQsWUFBSXJCLEtBQUssQ0FBQ3RCLGNBQUs4QixJQUFMLENBQVVhLFNBQVYsRUFBcUJFLGFBQXJCLENBQUQsQ0FBVCxFQUFnRDtBQUMvQ0gsVUFBQUEsUUFBUSxDQUFDSSxJQUFULENBQWUsR0FBRWxCLElBQUssSUFBR2lCLGFBQWMsRUFBdkM7QUFDQTtBQUNEO0FBQ0QsS0FORCxNQU1PO0FBQ05ILE1BQUFBLFFBQVEsQ0FBQ0ksSUFBVCxDQUFjbEIsSUFBZDtBQUNBO0FBQ0Q7O0FBRUQsU0FBT2MsUUFBUDtBQUNBO0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDTyxTQUFTSyxhQUFULENBQXVCdEQsSUFBdkIsRUFBNkJ1RCxRQUE3QixFQUF1Q3RELElBQUksR0FBRyxFQUE5QyxFQUFrRDtBQUN4REYsRUFBQUEsT0FBTyxDQUFDQyxJQUFELEVBQU9DLElBQVAsRUFBYUEsSUFBSSxJQUFJO0FBQzNCeUMsSUFBQUEsVUFBVSxDQUFDbkMsY0FBS00sT0FBTCxDQUFhYixJQUFiLENBQUQsRUFBcUJDLElBQXJCLENBQVY7O0FBQ0FjLGdCQUFHdUMsYUFBSCxDQUFpQnRELElBQWpCLEVBQXVCdUQsUUFBdkIsRUFBaUN0RCxJQUFqQztBQUNBLEdBSE0sQ0FBUDtBQUlBIiwic291cmNlc0NvbnRlbnQiOlsiLyogaXN0YW5idWwgaWdub3JlIGlmICovXG5pZiAoIUVycm9yLnByZXBhcmVTdGFja1RyYWNlKSB7XG5cdHJlcXVpcmUoJ3NvdXJjZS1tYXAtc3VwcG9ydC9yZWdpc3RlcicpO1xufVxuXG5pbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5cbi8qKlxuICogRGV0ZXJtaW5lcyBvd25lciBvZiBleGlzdGluZyBwYXJlbnQgZGlyZWN0b3J5LCBjYWxscyB0aGUgb3BlcmF0aW9uJ3MgZnVuY3Rpb24sIHRoZW4gYXBwbGllcyB0aGVcbiAqIG93bmVyIHRvIHRoZSBkZXN0aW5hdGlvbiBhbmQgaXRzIG5ld2x5IGNyZWF0ZWQgcGFyZW50IGRpcmVjdG9yaWVzLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBkZXN0IC0gVGhlIGRlc3RpbmF0aW9uIG9mIHRoZSBmaWxlIG9yIGRpcmVjdG9yeSB0aGUgb3BlcmF0aW9uIGlzIHRhcmdldHRpbmcuXG4gKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIFZhcmlvdXMgb3B0aW9ucy5cbiAqIEBwYXJhbSB7Qm9vbGVhbn0gW29wdHMuYXBwbHlPd25lcj10cnVlXSAtIFdoZW4gYHRydWVgLCBkZXRlcm1pbmVzIHRoZSBvd25lciBvZiB0aGUgY2xvc2VzdFxuICogZXhpc3RpbmcgcGFyZW50IGRpcmVjdG9yeSBhbmQgYXBwbHkgdGhlIG93bmVyIHRvIHRoZSBmaWxlIGFuZCBhbnkgbmV3bHkgY3JlYXRlZCBkaXJlY3Rvcmllcy5cbiAqIEBwYXJhbSB7TnVtYmVyfSBbb3B0cy5naWRdIC0gVGhlIGdyb3VwIGlkIHRvIGFwcGx5IHRvIHRoZSBmaWxlIHdoZW4gYXNzaWduaW5nIGFuIG93bmVyLlxuICogQHBhcmFtIHtOdW1iZXJ9IFtvcHRzLnVpZF0gLSBUaGUgdXNlciBpZCB0byBhcHBseSB0byB0aGUgZmlsZSB3aGVuIGFzc2lnbmluZyBhbiBvd25lci5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZuIC0gQSBmdW5jdGlvbiB0byBjYWxsIHRvIHBlcmZvcm0gdGhlIG9yaWdpbmFsIGZpbGVzeXN0ZW0gb3BlcmF0aW9uLlxuICovXG5mdW5jdGlvbiBleGVjdXRlKGRlc3QsIG9wdHMsIGZuKSB7XG5cdGlmIChvcHRzLmFwcGx5T3duZXIgPT09IGZhbHNlIHx8IHByb2Nlc3MucGxhdGZvcm0gPT09ICd3aW4zMicgfHwgIXByb2Nlc3MuZ2V0dWlkIHx8IHByb2Nlc3MuZ2V0dWlkKCkgIT09IDApIHtcblx0XHRmbihvcHRzKTtcblx0XHRyZXR1cm47XG5cdH1cblxuXHRkZXN0ID0gcGF0aC5yZXNvbHZlKGRlc3QpO1xuXHRsZXQgb3JpZ2luID0gcGF0aC5wYXJzZShkZXN0KS5yb290O1xuXG5cdGlmICghb3B0cy51aWQpIHtcblx0XHRmb3IgKG9yaWdpbiA9IGRlc3Q7IHRydWU7IG9yaWdpbiA9IHBhdGguZGlybmFtZShvcmlnaW4pKSB7XG5cdFx0XHR0cnkge1xuXHRcdFx0XHRjb25zdCBzdCA9IGZzLmxzdGF0U3luYyhvcmlnaW4pO1xuXHRcdFx0XHRpZiAoc3QuaXNEaXJlY3RvcnkoKSkge1xuXHRcdFx0XHRcdG9wdHMgPSBPYmplY3QuYXNzaWduKHt9LCBvcHRzLCB7IGdpZDogc3QuZ2lkLCB1aWQ6IHN0LnVpZCB9KTtcblx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0fVxuXHRcdFx0fSBjYXRjaCAoZXJyKSB7XG5cdFx0XHRcdC8vIGNvbnRpbnVlXG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Zm4ob3B0cyk7XG5cblx0Y29uc3QgY2hvd25TeW5jID0gZnMubGNob3duU3luYyB8fCBmcy5jaG93blN5bmM7XG5cdGxldCBzdGF0ID0gZnMubHN0YXRTeW5jKGRlc3QpO1xuXHR3aGlsZSAoZGVzdCAhPT0gb3JpZ2luICYmIHN0YXQudWlkICE9PSBvcHRzLnVpZCkge1xuXHRcdHRyeSB7XG5cdFx0XHRjaG93blN5bmMoZGVzdCwgb3B0cy51aWQsIG9wdHMuZ2lkKTtcblx0XHRcdGRlc3QgPSBwYXRoLmRpcm5hbWUoZGVzdCk7XG5cdFx0XHRzdGF0ID0gZnMubHN0YXRTeW5jKGRlc3QpO1xuXHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdGJyZWFrO1xuXHRcdH1cblx0fVxufVxuXG4vKipcbiAqIERldGVybWluZXMgaWYgYSBmaWxlIG9yIGRpcmVjdG9yeSBleGlzdHMuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGZpbGUgLSBUaGUgZnVsbCBwYXRoIHRvIGNoZWNrIGlmIGV4aXN0cy5cbiAqIEByZXR1cm5zIHtCb29sZWFufVxuICovXG5leHBvcnQgZnVuY3Rpb24gZXhpc3RzU3luYyhmaWxlKSB7XG5cdHRyeSB7XG5cdFx0ZnMuc3RhdFN5bmMoZmlsZSk7XG5cdFx0cmV0dXJuIHRydWU7XG5cdH0gY2F0Y2ggKGUpIHtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIGlmIGEgZGlyZWN0b3J5IGV4aXN0cyBhbmQgdGhhdCBpdCBpcyBpbmRlZWQgYSBkaXJlY3RvcnkuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGRpciAtIFRoZSBkaXJlY3RvcnkgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Qm9vbGVhbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRGlyKGRpcikge1xuXHR0cnkge1xuXHRcdHJldHVybiBmcy5zdGF0U3luYyhkaXIpLmlzRGlyZWN0b3J5KCk7XG5cdH0gY2F0Y2ggKGUpIHtcblx0XHQvLyBzcXVlbGNoXG5cdH1cblx0cmV0dXJuIGZhbHNlO1xufVxuXG4vKipcbiAqIERldGVybWluZXMgaWYgYSBmaWxlIGV4aXN0cyBhbmQgdGhhdCBpdCBpcyBpbmRlZWQgYSBmaWxlLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBmaWxlIC0gVGhlIGZpbGUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Qm9vbGVhbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRmlsZShmaWxlKSB7XG5cdHRyeSB7XG5cdFx0cmV0dXJuIGZzLnN0YXRTeW5jKGZpbGUpLmlzRmlsZSgpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Ly8gc3F1ZWxjaFxuXHR9XG5cdHJldHVybiBmYWxzZTtcbn1cblxuLyoqXG4gKiBTY2FuIGEgZGlyZWN0b3J5IGZvciBhIHNwZWNpZmllZCBmaWxlLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBkaXIgLSBUaGUgZGlyZWN0b3J5IHRvIHN0YXJ0IHNlYXJjaGluZyBmcm9tLlxuICogQHBhcmFtIHtTdHJpbmd8UmVnRXhwfSBmaWxlbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBmaWxlIHRvIGxvb2sgZm9yLlxuICogQHBhcmFtIHtOdW1iZXJ9IGRlcHRoIC0gT3B0aW9uYWwgc2VhcmNoIGRlcHRoLCBkZWZhdWx0IDEgbGV2ZWwuXG4gKiBAcmV0dXJucyB7U3RyaW5nfG51bGx9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsb2NhdGUoZGlyLCBmaWxlbmFtZSwgZGVwdGgpIHtcblx0dHJ5IHtcblx0XHRpZiAoZnMuc3RhdFN5bmMoZGlyKS5pc0RpcmVjdG9yeSgpKSB7XG5cdFx0XHRmb3IgKGNvbnN0IG5hbWUgb2YgZnMucmVhZGRpclN5bmMoZGlyKSkge1xuXHRcdFx0XHRjb25zdCBmaWxlID0gcGF0aC5qb2luKGRpciwgbmFtZSk7XG5cdFx0XHRcdHRyeSB7XG5cdFx0XHRcdFx0LyogZXNsaW50LWRpc2FibGUgbWF4LWRlcHRoICovXG5cdFx0XHRcdFx0aWYgKGZzLnN0YXRTeW5jKGZpbGUpLmlzRGlyZWN0b3J5KCkpIHtcblx0XHRcdFx0XHRcdGlmICh0eXBlb2YgZGVwdGggPT09ICd1bmRlZmluZWQnIHx8IGRlcHRoID4gMCkge1xuXHRcdFx0XHRcdFx0XHRjb25zdCByZXN1bHQgPSBsb2NhdGUoZmlsZSwgZmlsZW5hbWUsIHR5cGVvZiBkZXB0aCA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBkZXB0aCAtIDEpO1xuXHRcdFx0XHRcdFx0XHRpZiAocmVzdWx0KSB7XG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0gZWxzZSBpZiAoKHR5cGVvZiBmaWxlbmFtZSA9PT0gJ3N0cmluZycgJiYgbmFtZSA9PT0gZmlsZW5hbWUpIHx8IChmaWxlbmFtZSBpbnN0YW5jZW9mIFJlZ0V4cCAmJiBmaWxlbmFtZS50ZXN0KG5hbWUpKSkge1xuXHRcdFx0XHRcdFx0cmV0dXJuIGZpbGU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRcdFx0Ly8gcHJvYmFibHkgYSBwZXJtaXNzaW9uIGlzc3VlLCBnbyB0byBuZXh0IGZpbGVcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fSBjYXRjaCAoZSkge1xuXHRcdC8vIGRpciBkb2VzIG5vdCBleGlzdCBvciBwZXJtaXNzaW9uIGlzc3VlXG5cdH1cblx0cmV0dXJuIG51bGw7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIGRpcmVjdG9yeSBhbmQgYW55IHBhcmVudCBkaXJlY3RvcmllcyBpZiBuZWVkZWQuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGRlc3QgLSBUaGUgZGlyZWN0b3J5IHBhdGggdG8gY3JlYXRlLlxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRzXSAtIFZhcmlvdXMgb3B0aW9ucyBwbHVzIG9wdGlvbnMgdG8gcGFzcyBpbnRvIGBmcy5ta2RpclN5bmMoKWAuXG4gKiBAcGFyYW0ge0Jvb2xlYW59IFtvcHRzLmFwcGx5T3duZXI9dHJ1ZV0gLSBXaGVuIGB0cnVlYCwgZGV0ZXJtaW5lcyB0aGUgb3duZXIgb2YgdGhlIGNsb3Nlc3RcbiAqIGV4aXN0aW5nIHBhcmVudCBkaXJlY3RvcnkgYW5kIGFwcGx5IHRoZSBvd25lciB0byB0aGUgZmlsZSBhbmQgYW55IG5ld2x5IGNyZWF0ZWQgZGlyZWN0b3JpZXMuXG4gKiBAcGFyYW0ge051bWJlcn0gW29wdHMuZ2lkXSAtIFRoZSBncm91cCBpZCB0byBhcHBseSB0byB0aGUgZmlsZSB3aGVuIGFzc2lnbmluZyBhbiBvd25lci5cbiAqIEBwYXJhbSB7TnVtYmVyfSBbb3B0cy51aWRdIC0gVGhlIHVzZXIgaWQgdG8gYXBwbHkgdG8gdGhlIGZpbGUgd2hlbiBhc3NpZ25pbmcgYW4gb3duZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBta2RpcnBTeW5jKGRlc3QsIG9wdHMgPSB7fSkge1xuXHRleGVjdXRlKGRlc3QsIG9wdHMsIG9wdHMgPT4ge1xuXHRcdGZzLm1rZGlyU3luYyhkZXN0LCB7IC4uLm9wdHMsIHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcblx0fSk7XG59XG5cbi8qKlxuICogTW92ZXMgYSBmaWxlLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBzcmMgLSBUaGUgZmlsZSBvciBkaXJlY3RvcnkgdG8gbW92ZS5cbiAqIEBwYXJhbSB7U3RyaW5nfSBkZXN0IC0gVGhlIGRlc3RpbmF0aW9uIHRvIG1vdmUgdGhlIGZpbGUgb3IgZGlyZWN0b3J5IHRvLlxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRzXSAtIFZhcmlvdXMgb3B0aW9ucyBwbHVzIG9wdGlvbnMgdG8gcGFzcyBpbnRvIGBmcy5ta2RpclN5bmMoKWAgYW5kXG4gKiBgZnMucmVuYW1lU3luYygpYC5cbiAqIEBwYXJhbSB7Qm9vbGVhbn0gW29wdHMuYXBwbHlPd25lcj10cnVlXSAtIFdoZW4gYHRydWVgLCBkZXRlcm1pbmVzIHRoZSBvd25lciBvZiB0aGUgY2xvc2VzdFxuICogZXhpc3RpbmcgcGFyZW50IGRpcmVjdG9yeSBhbmQgYXBwbHkgdGhlIG93bmVyIHRvIHRoZSBmaWxlIGFuZCBhbnkgbmV3bHkgY3JlYXRlZCBkaXJlY3Rvcmllcy5cbiAqIEBwYXJhbSB7TnVtYmVyfSBbb3B0cy5naWRdIC0gVGhlIGdyb3VwIGlkIHRvIGFwcGx5IHRvIHRoZSBmaWxlIHdoZW4gYXNzaWduaW5nIGFuIG93bmVyLlxuICogQHBhcmFtIHtOdW1iZXJ9IFtvcHRzLnVpZF0gLSBUaGUgdXNlciBpZCB0byBhcHBseSB0byB0aGUgZmlsZSB3aGVuIGFzc2lnbmluZyBhbiBvd25lci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1vdmVTeW5jKHNyYywgZGVzdCwgb3B0cyA9IHt9KSB7XG5cdGV4ZWN1dGUoZGVzdCwgb3B0cywgb3B0cyA9PiB7XG5cdFx0bWtkaXJwU3luYyhwYXRoLmRpcm5hbWUoZGVzdCksIG9wdHMpO1xuXHRcdGZzLnJlbmFtZVN5bmMoc3JjLCBkZXN0LCBvcHRzKTtcblx0fSk7XG59XG5cbi8qKlxuICogUmVhZCBhIGRpcmVjdG9yeSBpbmNsdWRpbmcgc2NvcGVkIHBhY2thZ2VzIGFzIGEgc2luZ2xlIGVudHJ5IGluIHRoZSBBcnJheVxuICogYW5kIGZpbHRlcmluZyBvdXQgYWxsIGZpbGVzLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBkaXIgLSBEaXJlY3RvcnkgdG8gcmVhZC5cbiAqIEByZXR1cm5zIHtBcnJheX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlYWRkaXJTY29wZWRTeW5jKGRpcikge1xuXHRjb25zdCBjaGlsZHJlbiA9IFtdO1xuXG5cdGZvciAoY29uc3QgbmFtZSBvZiBmcy5yZWFkZGlyU3luYyhkaXIpKSB7XG5cdFx0Y29uc3QgY2hpbGRQYXRoID0gcGF0aC5qb2luKGRpciwgbmFtZSk7XG5cdFx0aWYgKCFpc0RpcihjaGlsZFBhdGgpKSB7XG5cdFx0XHRjb250aW51ZTtcblx0XHR9XG5cdFx0aWYgKG5hbWUuY2hhckF0KDApID09PSAnQCcpIHtcblx0XHRcdGZvciAoY29uc3Qgc2NvcGVkUGFja2FnZSBvZiBmcy5yZWFkZGlyU3luYyhjaGlsZFBhdGgpKSB7XG5cdFx0XHRcdGlmIChpc0RpcihwYXRoLmpvaW4oY2hpbGRQYXRoLCBzY29wZWRQYWNrYWdlKSkpIHtcblx0XHRcdFx0XHRjaGlsZHJlbi5wdXNoKGAke25hbWV9LyR7c2NvcGVkUGFja2FnZX1gKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHRjaGlsZHJlbi5wdXNoKG5hbWUpO1xuXHRcdH1cblx0fVxuXG5cdHJldHVybiBjaGlsZHJlbjtcbn1cblxuLyoqXG4gKiBXcml0ZXMgYSBmaWxlIHRvIGRpc2suXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGRlc3QgLSBUaGUgbmFtZSBvZiB0aGUgZmlsZSB0byB3cml0ZS5cbiAqIEBwYXJhbSB7U3RyaW5nfSBjb250ZW50cyAtIFRoZSBjb250ZW50cyBvZiB0aGUgZmlsZSB0byB3cml0ZS5cbiAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0c10gLSBWYXJpb3VzIG9wdGlvbnMgcGx1cyBvcHRpb25zIHRvIHBhc3MgaW50byBgZnMubWtkaXJTeW5jKClgIGFuZFxuICogYGZzLndyaXRlRmlsZVN5bmMoKWAuXG4gKiBAcGFyYW0ge0Jvb2xlYW59IFtvcHRzLmFwcGx5T3duZXI9dHJ1ZV0gLSBXaGVuIGB0cnVlYCwgZGV0ZXJtaW5lcyB0aGUgb3duZXIgb2YgdGhlIGNsb3Nlc3RcbiAqIGV4aXN0aW5nIHBhcmVudCBkaXJlY3RvcnkgYW5kIGFwcGx5IHRoZSBvd25lciB0byB0aGUgZmlsZSBhbmQgYW55IG5ld2x5IGNyZWF0ZWQgZGlyZWN0b3JpZXMuXG4gKiBAcGFyYW0ge051bWJlcn0gW29wdHMuZ2lkXSAtIFRoZSBncm91cCBpZCB0byBhcHBseSB0byB0aGUgZmlsZSB3aGVuIGFzc2lnbmluZyBhbiBvd25lci5cbiAqIEBwYXJhbSB7TnVtYmVyfSBbb3B0cy51aWRdIC0gVGhlIHVzZXIgaWQgdG8gYXBwbHkgdG8gdGhlIGZpbGUgd2hlbiBhc3NpZ25pbmcgYW4gb3duZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3cml0ZUZpbGVTeW5jKGRlc3QsIGNvbnRlbnRzLCBvcHRzID0ge30pIHtcblx0ZXhlY3V0ZShkZXN0LCBvcHRzLCBvcHRzID0+IHtcblx0XHRta2RpcnBTeW5jKHBhdGguZGlybmFtZShkZXN0KSwgb3B0cyk7XG5cdFx0ZnMud3JpdGVGaWxlU3luYyhkZXN0LCBjb250ZW50cywgb3B0cyk7XG5cdH0pO1xufVxuIl0sImZpbGUiOiJmcy5qcyJ9
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZzLmpzIl0sIm5hbWVzIjpbIkVycm9yIiwicHJlcGFyZVN0YWNrVHJhY2UiLCJyZXF1aXJlIiwiZXhlY3V0ZSIsImRlc3QiLCJvcHRzIiwiZm4iLCJhcHBseU93bmVyIiwicHJvY2VzcyIsInBsYXRmb3JtIiwiZ2V0dWlkIiwicGF0aCIsInJlc29sdmUiLCJvcmlnaW4iLCJwYXJzZSIsInJvb3QiLCJ1aWQiLCJkaXJuYW1lIiwic3QiLCJmcyIsImxzdGF0U3luYyIsImlzRGlyZWN0b3J5IiwiT2JqZWN0IiwiYXNzaWduIiwiZ2lkIiwiZXJyIiwiY2hvd25TeW5jIiwibGNob3duU3luYyIsInN0YXQiLCJlIiwiZXhpc3RzU3luYyIsImZpbGUiLCJzdGF0U3luYyIsImlzRGlyIiwiZGlyIiwiaXNGaWxlIiwibG9jYXRlIiwiZmlsZW5hbWUiLCJkZXB0aCIsIm5hbWUiLCJyZWFkZGlyU3luYyIsImpvaW4iLCJyZXN1bHQiLCJ1bmRlZmluZWQiLCJSZWdFeHAiLCJ0ZXN0IiwibWtkaXJwU3luYyIsIm1rZGlyU3luYyIsIm1vZGUiLCJyZWN1cnNpdmUiLCJtb3ZlU3luYyIsInNyYyIsInJlbmFtZVN5bmMiLCJyZWFkZGlyU2NvcGVkU3luYyIsImNoaWxkcmVuIiwiY2hpbGRQYXRoIiwiY2hhckF0Iiwic2NvcGVkUGFja2FnZSIsInB1c2giLCJ3cml0ZUZpbGVTeW5jIiwiY29udGVudHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBS0E7O0FBQ0E7Ozs7QUFOQTtBQUNBLElBQUksQ0FBQ0EsS0FBSyxDQUFDQyxpQkFBWCxFQUE4QjtBQUM3QkMsRUFBQUEsT0FBTyxDQUFDLDZCQUFELENBQVA7QUFDQTs7QUFLRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQyxPQUFULENBQWlCQyxJQUFqQixFQUF1QkMsSUFBdkIsRUFBNkJDLEVBQTdCLEVBQWlDO0FBQ2hDLE1BQUlELElBQUksQ0FB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LENBQVosTUFBbUIsR0FBdkIsRUFBNEI7QUFDM0IsV0FBSyxNQUFNQyxhQUFYLElBQTRCdEMsWUFBR3FCLFdBQUgsQ0FBZWUsU0FBZixDQUE1QixFQUF1RDtBQUN0RCxZQUFJdEIsS0FBSyxDQUFDdEIsY0FBSzhCLElBQUwsQ0FBVWMsU0FBVixFQUFxQkUsYUFBckIsQ0FBRCxDQUFULEVBQWdEO0FBQy9DSCxVQUFBQSxRQUFRLENBQUNJLElBQVQsQ0FBZSxHQUFFbkIsSUFBSyxJQUFHa0IsYUFBYyxFQUF2QztBQUNBO0FBQ0Q7QUFDRCxLQU5ELE1BTU87QUFDTkgsTUFBQUEsUUFBUSxDQUFDSSxJQUFULENBQWNuQixJQUFkO0FBQ0E7QUFDRDs7QUFFRCxTQUFPZSxRQUFQO0FBQ0E7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLFNBQVNLLGFBQVQsQ0FBdUJ2RCxJQUF2QixFQUE2QndELFFBQTdCLEVBQXVDdkQsSUFBSSxHQUFHLEVBQTlDLEVBQWtEO0FBQ3hERixFQUFBQSxPQUFPLENBQUNDLElBQUQsRUFBT0MsSUFBUCxFQUFhQSxJQUFJLElBQUk7QUFDM0J5QyxJQUFBQSxVQUFVLENBQUNuQyxjQUFLTSxPQUFMLENBQWFiLElBQWIsQ0FBRCxFQUFxQkMsSUFBckIsRUFBMkIsRUFBRSxHQUFHQSxJQUFMO0FBQVcyQyxNQUFBQSxJQUFJLEVBQUVMO0FBQWpCLEtBQTNCLENBQVY7O0FBQ0F4QixnQkFBR3dDLGFBQUgsQ0FBaUJ2RCxJQUFqQixFQUF1QndELFFBQXZCLEVBQWlDdkQsSUFBakM7QUFDQSxHQUhNLENBQVA7QUFJQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuaWYgKCFFcnJvci5wcmVwYXJlU3RhY2tUcmFjZSkge1xuXHRyZXF1aXJlKCdzb3VyY2UtbWFwLXN1cHBvcnQvcmVnaXN0ZXInKTtcbn1cblxuaW1wb3J0IGZzIGZyb20gJ2ZzJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuXG4vKipcbiAqIERldGVybWluZXMgb3duZXIgb2YgZXhpc3RpbmcgcGFyZW50IGRpcmVjdG9yeSwgY2FsbHMgdGhlIG9wZXJhdGlvbidzIGZ1bmN0aW9uLCB0aGVuIGFwcGxpZXMgdGhlXG4gKiBvd25lciB0byB0aGUgZGVzdGluYXRpb24gYW5kIGl0cyBuZXdseSBjcmVhdGVkIHBhcmVudCBkaXJlY3Rvcmllcy5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gZGVzdCAtIFRoZSBkZXN0aW5hdGlvbiBvZiB0aGUgZmlsZSBvciBkaXJlY3RvcnkgdGhlIG9wZXJhdGlvbiBpcyB0YXJnZXR0aW5nLlxuICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBWYXJpb3VzIG9wdGlvbnMuXG4gKiBAcGFyYW0ge0Jvb2xlYW59IFtvcHRzLmFwcGx5T3duZXI9dHJ1ZV0gLSBXaGVuIGB0cnVlYCwgZGV0ZXJtaW5lcyB0aGUgb3duZXIgb2YgdGhlIGNsb3Nlc3RcbiAqIGV4aXN0aW5nIHBhcmVudCBkaXJlY3RvcnkgYW5kIGFwcGx5IHRoZSBvd25lciB0byB0aGUgZmlsZSBhbmQgYW55IG5ld2x5IGNyZWF0ZWQgZGlyZWN0b3JpZXMuXG4gKiBAcGFyYW0ge051bWJlcn0gW29wdHMuZ2lkXSAtIFRoZSBncm91cCBpZCB0byBhcHBseSB0byB0aGUgZmlsZSB3aGVuIGFzc2lnbmluZyBhbiBvd25lci5cbiAqIEBwYXJhbSB7TnVtYmVyfSBbb3B0cy51aWRdIC0gVGhlIHVzZXIgaWQgdG8gYXBwbHkgdG8gdGhlIGZpbGUgd2hlbiBhc3NpZ25pbmcgYW4gb3duZXIuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmbiAtIEEgZnVuY3Rpb24gdG8gY2FsbCB0byBwZXJmb3JtIHRoZSBvcmlnaW5hbCBmaWxlc3lzdGVtIG9wZXJhdGlvbi5cbiAqL1xuZnVuY3Rpb24gZXhlY3V0ZShkZXN0LCBvcHRzLCBmbikge1xuXHRpZiAob3B0cy5hcHBseU93bmVyID09PSBmYWxzZSB8fCBwcm9jZXNzLnBsYXRmb3JtID09PSAnd2luMzInIHx8ICFwcm9jZXNzLmdldHVpZCB8fCBwcm9jZXNzLmdldHVpZCgpICE9PSAwKSB7XG5cdFx0Zm4ob3B0cyk7XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0ZGVzdCA9IHBhdGgucmVzb2x2ZShkZXN0KTtcblx0bGV0IG9yaWdpbiA9IHBhdGgucGFyc2UoZGVzdCkucm9vdDtcblxuXHRpZiAoIW9wdHMudWlkKSB7XG5cdFx0Zm9yIChvcmlnaW4gPSBkZXN0OyB0cnVlOyBvcmlnaW4gPSBwYXRoLmRpcm5hbWUob3JpZ2luKSkge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3Qgc3QgPSBmcy5sc3RhdFN5bmMob3JpZ2luKTtcblx0XHRcdFx0aWYgKHN0LmlzRGlyZWN0b3J5KCkpIHtcblx0XHRcdFx0XHRvcHRzID0gT2JqZWN0LmFzc2lnbih7fSwgb3B0cywgeyBnaWQ6IHN0LmdpZCwgdWlkOiBzdC51aWQgfSk7XG5cdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdH1cblx0XHRcdH0gY2F0Y2ggKGVycikge1xuXHRcdFx0XHQvLyBjb250aW51ZVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdGZuKG9wdHMpO1xuXG5cdGNvbnN0IGNob3duU3luYyA9IGZzLmxjaG93blN5bmMgfHwgZnMuY2hvd25TeW5jO1xuXHRsZXQgc3RhdCA9IGZzLmxzdGF0U3luYyhkZXN0KTtcblx0d2hpbGUgKGRlc3QgIT09IG9yaWdpbiAmJiBzdGF0LnVpZCAhPT0gb3B0cy51aWQpIHtcblx0XHR0cnkge1xuXHRcdFx0Y2hvd25TeW5jKGRlc3QsIG9wdHMudWlkLCBvcHRzLmdpZCk7XG5cdFx0XHRkZXN0ID0gcGF0aC5kaXJuYW1lKGRlc3QpO1xuXHRcdFx0c3RhdCA9IGZzLmxzdGF0U3luYyhkZXN0KTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRicmVhaztcblx0XHR9XG5cdH1cbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIGlmIGEgZmlsZSBvciBkaXJlY3RvcnkgZXhpc3RzLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBmaWxlIC0gVGhlIGZ1bGwgcGF0aCB0byBjaGVjayBpZiBleGlzdHMuXG4gKiBAcmV0dXJucyB7Qm9vbGVhbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4aXN0c1N5bmMoZmlsZSkge1xuXHR0cnkge1xuXHRcdGZzLnN0YXRTeW5jKGZpbGUpO1xuXHRcdHJldHVybiB0cnVlO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyBpZiBhIGRpcmVjdG9yeSBleGlzdHMgYW5kIHRoYXQgaXQgaXMgaW5kZWVkIGEgZGlyZWN0b3J5LlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBkaXIgLSBUaGUgZGlyZWN0b3J5IHRvIGNoZWNrLlxuICogQHJldHVybnMge0Jvb2xlYW59XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0RpcihkaXIpIHtcblx0dHJ5IHtcblx0XHRyZXR1cm4gZnMuc3RhdFN5bmMoZGlyKS5pc0RpcmVjdG9yeSgpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Ly8gc3F1ZWxjaFxuXHR9XG5cdHJldHVybiBmYWxzZTtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIGlmIGEgZmlsZSBleGlzdHMgYW5kIHRoYXQgaXQgaXMgaW5kZWVkIGEgZmlsZS5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gZmlsZSAtIFRoZSBmaWxlIHRvIGNoZWNrLlxuICogQHJldHVybnMge0Jvb2xlYW59XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0ZpbGUoZmlsZSkge1xuXHR0cnkge1xuXHRcdHJldHVybiBmcy5zdGF0U3luYyhmaWxlKS5pc0ZpbGUoKTtcblx0fSBjYXRjaCAoZSkge1xuXHRcdC8vIHNxdWVsY2hcblx0fVxuXHRyZXR1cm4gZmFsc2U7XG59XG5cbi8qKlxuICogU2NhbiBhIGRpcmVjdG9yeSBmb3IgYSBzcGVjaWZpZWQgZmlsZS5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gZGlyIC0gVGhlIGRpcmVjdG9yeSB0byBzdGFydCBzZWFyY2hpbmcgZnJvbS5cbiAqIEBwYXJhbSB7U3RyaW5nfFJlZ0V4cH0gZmlsZW5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgZmlsZSB0byBsb29rIGZvci5cbiAqIEBwYXJhbSB7TnVtYmVyfSBkZXB0aCAtIE9wdGlvbmFsIHNlYXJjaCBkZXB0aCwgZGVmYXVsdCAxIGxldmVsLlxuICogQHJldHVybnMge1N0cmluZ3xudWxsfVxuICovXG5leHBvcnQgZnVuY3Rpb24gbG9jYXRlKGRpciwgZmlsZW5hbWUsIGRlcHRoKSB7XG5cdHRyeSB7XG5cdFx0aWYgKGZzLnN0YXRTeW5jKGRpcikuaXNEaXJlY3RvcnkoKSkge1xuXHRcdFx0Zm9yIChjb25zdCBuYW1lIG9mIGZzLnJlYWRkaXJTeW5jKGRpcikpIHtcblx0XHRcdFx0Y29uc3QgZmlsZSA9IHBhdGguam9pbihkaXIsIG5hbWUpO1xuXHRcdFx0XHR0cnkge1xuXHRcdFx0XHRcdC8qIGVzbGludC1kaXNhYmxlIG1heC1kZXB0aCAqL1xuXHRcdFx0XHRcdGlmIChmcy5zdGF0U3luYyhmaWxlKS5pc0RpcmVjdG9yeSgpKSB7XG5cdFx0XHRcdFx0XHRpZiAodHlwZW9mIGRlcHRoID09PSAndW5kZWZpbmVkJyB8fCBkZXB0aCA+IDApIHtcblx0XHRcdFx0XHRcdFx0Y29uc3QgcmVzdWx0ID0gbG9jYXRlKGZpbGUsIGZpbGVuYW1lLCB0eXBlb2YgZGVwdGggPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkIDogZGVwdGggLSAxKTtcblx0XHRcdFx0XHRcdFx0aWYgKHJlc3VsdCkge1xuXHRcdFx0XHRcdFx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9IGVsc2UgaWYgKCh0eXBlb2YgZmlsZW5hbWUgPT09ICdzdHJpbmcnICYmIG5hbWUgPT09IGZpbGVuYW1lKSB8fCAoZmlsZW5hbWUgaW5zdGFuY2VvZiBSZWdFeHAgJiYgZmlsZW5hbWUudGVzdChuYW1lKSkpIHtcblx0XHRcdFx0XHRcdHJldHVybiBmaWxlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0XHRcdC8vIHByb2JhYmx5IGEgcGVybWlzc2lvbiBpc3N1ZSwgZ28gdG8gbmV4dCBmaWxlXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH0gY2F0Y2ggKGUpIHtcblx0XHQvLyBkaXIgZG9lcyBub3QgZXhpc3Qgb3IgcGVybWlzc2lvbiBpc3N1ZVxuXHR9XG5cdHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBkaXJlY3RvcnkgYW5kIGFueSBwYXJlbnQgZGlyZWN0b3JpZXMgaWYgbmVlZGVkLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBkZXN0IC0gVGhlIGRpcmVjdG9yeSBwYXRoIHRvIGNyZWF0ZS5cbiAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0c10gLSBWYXJpb3VzIG9wdGlvbnMgcGx1cyBvcHRpb25zIHRvIHBhc3MgaW50byBgZnMubWtkaXJTeW5jKClgLlxuICogQHBhcmFtIHtCb29sZWFufSBbb3B0cy5hcHBseU93bmVyPXRydWVdIC0gV2hlbiBgdHJ1ZWAsIGRldGVybWluZXMgdGhlIG93bmVyIG9mIHRoZSBjbG9zZXN0XG4gKiBleGlzdGluZyBwYXJlbnQgZGlyZWN0b3J5IGFuZCBhcHBseSB0aGUgb3duZXIgdG8gdGhlIGZpbGUgYW5kIGFueSBuZXdseSBjcmVhdGVkIGRpcmVjdG9yaWVzLlxuICogQHBhcmFtIHtOdW1iZXJ9IFtvcHRzLmdpZF0gLSBUaGUgZ3JvdXAgaWQgdG8gYXBwbHkgdG8gdGhlIGZpbGUgd2hlbiBhc3NpZ25pbmcgYW4gb3duZXIuXG4gKiBAcGFyYW0ge051bWJlcn0gW29wdHMudWlkXSAtIFRoZSB1c2VyIGlkIHRvIGFwcGx5IHRvIHRoZSBmaWxlIHdoZW4gYXNzaWduaW5nIGFuIG93bmVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWtkaXJwU3luYyhkZXN0LCBvcHRzID0ge30pIHtcblx0ZXhlY3V0ZShkZXN0LCBvcHRzLCBvcHRzID0+IHtcblx0XHRmcy5ta2RpclN5bmMoZGVzdCwgeyBtb2RlOiAwbzc3NywgLi4ub3B0cywgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXHR9KTtcbn1cblxuLyoqXG4gKiBNb3ZlcyBhIGZpbGUuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHNyYyAtIFRoZSBmaWxlIG9yIGRpcmVjdG9yeSB0byBtb3ZlLlxuICogQHBhcmFtIHtTdHJpbmd9IGRlc3QgLSBUaGUgZGVzdGluYXRpb24gdG8gbW92ZSB0aGUgZmlsZSBvciBkaXJlY3RvcnkgdG8uXG4gKiBAcGFyYW0ge09iamVjdH0gW29wdHNdIC0gVmFyaW91cyBvcHRpb25zIHBsdXMgb3B0aW9ucyB0byBwYXNzIGludG8gYGZzLm1rZGlyU3luYygpYCBhbmRcbiAqIGBmcy5yZW5hbWVTeW5jKClgLlxuICogQHBhcmFtIHtCb29sZWFufSBbb3B0cy5hcHBseU93bmVyPXRydWVdIC0gV2hlbiBgdHJ1ZWAsIGRldGVybWluZXMgdGhlIG93bmVyIG9mIHRoZSBjbG9zZXN0XG4gKiBleGlzdGluZyBwYXJlbnQgZGlyZWN0b3J5IGFuZCBhcHBseSB0aGUgb3duZXIgdG8gdGhlIGZpbGUgYW5kIGFueSBuZXdseSBjcmVhdGVkIGRpcmVjdG9yaWVzLlxuICogQHBhcmFtIHtOdW1iZXJ9IFtvcHRzLmdpZF0gLSBUaGUgZ3JvdXAgaWQgdG8gYXBwbHkgdG8gdGhlIGZpbGUgd2hlbiBhc3NpZ25pbmcgYW4gb3duZXIuXG4gKiBAcGFyYW0ge051bWJlcn0gW29wdHMudWlkXSAtIFRoZSB1c2VyIGlkIHRvIGFwcGx5IHRvIHRoZSBmaWxlIHdoZW4gYXNzaWduaW5nIGFuIG93bmVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbW92ZVN5bmMoc3JjLCBkZXN0LCBvcHRzID0ge30pIHtcblx0ZXhlY3V0ZShkZXN0LCBvcHRzLCBvcHRzID0+IHtcblx0XHRta2RpcnBTeW5jKHBhdGguZGlybmFtZShkZXN0KSwgb3B0cyk7XG5cdFx0ZnMucmVuYW1lU3luYyhzcmMsIGRlc3QpO1xuXHR9KTtcbn1cblxuLyoqXG4gKiBSZWFkIGEgZGlyZWN0b3J5IGluY2x1ZGluZyBzY29wZWQgcGFja2FnZXMgYXMgYSBzaW5nbGUgZW50cnkgaW4gdGhlIEFycmF5XG4gKiBhbmQgZmlsdGVyaW5nIG91dCBhbGwgZmlsZXMuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGRpciAtIERpcmVjdG9yeSB0byByZWFkLlxuICogQHJldHVybnMge0FycmF5fVxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVhZGRpclNjb3BlZFN5bmMoZGlyKSB7XG5cdGNvbnN0IGNoaWxkcmVuID0gW107XG5cblx0Zm9yIChjb25zdCBuYW1lIG9mIGZzLnJlYWRkaXJTeW5jKGRpcikpIHtcblx0XHRjb25zdCBjaGlsZFBhdGggPSBwYXRoLmpvaW4oZGlyLCBuYW1lKTtcblx0XHRpZiAoIWlzRGlyKGNoaWxkUGF0aCkpIHtcblx0XHRcdGNvbnRpbnVlO1xuXHRcdH1cblx0XHRpZiAobmFtZS5jaGFyQXQoMCkgPT09ICdAJykge1xuXHRcdFx0Zm9yIChjb25zdCBzY29wZWRQYWNrYWdlIG9mIGZzLnJlYWRkaXJTeW5jKGNoaWxkUGF0aCkpIHtcblx0XHRcdFx0aWYgKGlzRGlyKHBhdGguam9pbihjaGlsZFBhdGgsIHNjb3BlZFBhY2thZ2UpKSkge1xuXHRcdFx0XHRcdGNoaWxkcmVuLnB1c2goYCR7bmFtZX0vJHtzY29wZWRQYWNrYWdlfWApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdGNoaWxkcmVuLnB1c2gobmFtZSk7XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIGNoaWxkcmVuO1xufVxuXG4vKipcbiAqIFdyaXRlcyBhIGZpbGUgdG8gZGlzay5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gZGVzdCAtIFRoZSBuYW1lIG9mIHRoZSBmaWxlIHRvIHdyaXRlLlxuICogQHBhcmFtIHtTdHJpbmd9IGNvbnRlbnRzIC0gVGhlIGNvbnRlbnRzIG9mIHRoZSBmaWxlIHRvIHdyaXRlLlxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRzXSAtIFZhcmlvdXMgb3B0aW9ucyBwbHVzIG9wdGlvbnMgdG8gcGFzcyBpbnRvIGBmcy5ta2RpclN5bmMoKWAgYW5kXG4gKiBgZnMud3JpdGVGaWxlU3luYygpYC5cbiAqIEBwYXJhbSB7Qm9vbGVhbn0gW29wdHMuYXBwbHlPd25lcj10cnVlXSAtIFdoZW4gYHRydWVgLCBkZXRlcm1pbmVzIHRoZSBvd25lciBvZiB0aGUgY2xvc2VzdFxuICogZXhpc3RpbmcgcGFyZW50IGRpcmVjdG9yeSBhbmQgYXBwbHkgdGhlIG93bmVyIHRvIHRoZSBmaWxlIGFuZCBhbnkgbmV3bHkgY3JlYXRlZCBkaXJlY3Rvcmllcy5cbiAqIEBwYXJhbSB7TnVtYmVyfSBbb3B0cy5naWRdIC0gVGhlIGdyb3VwIGlkIHRvIGFwcGx5IHRvIHRoZSBmaWxlIHdoZW4gYXNzaWduaW5nIGFuIG93bmVyLlxuICogQHBhcmFtIHtOdW1iZXJ9IFtvcHRzLnVpZF0gLSBUaGUgdXNlciBpZCB0byBhcHBseSB0byB0aGUgZmlsZSB3aGVuIGFzc2lnbmluZyBhbiBvd25lci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdyaXRlRmlsZVN5bmMoZGVzdCwgY29udGVudHMsIG9wdHMgPSB7fSkge1xuXHRleGVjdXRlKGRlc3QsIG9wdHMsIG9wdHMgPT4ge1xuXHRcdG1rZGlycFN5bmMocGF0aC5kaXJuYW1lKGRlc3QpLCBvcHRzLCB7IC4uLm9wdHMsIG1vZGU6IHVuZGVmaW5lZCB9KTtcblx0XHRmcy53cml0ZUZpbGVTeW5jKGRlc3QsIGNvbnRlbnRzLCBvcHRzKTtcblx0fSk7XG59XG4iXSwiZmlsZSI6ImZzLmpzIn0=
{
"name": "appcd-fs",
"version": "2.1.0",
"version": "2.1.1",
"description": "Library of useful filesystem functions.",

@@ -5,0 +5,0 @@ "main": "./dist/fs",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc