@angular-devkit/schematics 0.0.21 → 0.0.25
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.
- package/bin/schematics.js +62 -17
- package/collection-schema.json +40 -0
- package/package.json +2 -2
- package/src/engine/engine.d.ts +8 -3
- package/src/engine/engine.js +28 -9
- package/src/engine/interface.d.ts +10 -6
- package/src/engine/interface.js +1 -1
- package/src/engine/schematic.d.ts +4 -4
- package/src/engine/schematic.js +10 -12
- package/src/exception/exception.d.ts +2 -4
- package/src/exception/exception.js +11 -16
- package/src/index.d.ts +2 -2
- package/src/index.js +3 -3
- package/src/rules/call.d.ts +2 -2
- package/src/rules/call.js +8 -5
- package/src/rules/move.d.ts +0 -7
- package/src/rules/move.js +12 -5
- package/src/rules/schematic.js +3 -3
- package/src/rules/template.d.ts +1 -1
- package/src/rules/template.js +14 -9
- package/src/rules/url.js +2 -2
- package/src/sink/dryrun.js +1 -1
- package/src/tree/action.d.ts +7 -8
- package/src/tree/action.js +3 -3
- package/src/tree/entry.d.ts +5 -5
- package/src/tree/entry.js +1 -1
- package/src/tree/filesystem.d.ts +2 -2
- package/src/tree/filesystem.js +3 -3
- package/src/tree/interface.d.ts +3 -3
- package/src/tree/interface.js +1 -1
- package/src/tree/memory-host.d.ts +1 -1
- package/src/tree/memory-host.js +7 -7
- package/src/tree/null.d.ts +1 -1
- package/src/tree/null.js +3 -2
- package/src/tree/virtual.d.ts +18 -11
- package/src/tree/virtual.js +3 -3
- package/src/utility/update-buffer.d.ts +1 -1
- package/src/utility/update-buffer.js +4 -4
- package/tools/description.d.ts +3 -1
- package/tools/description.js +1 -1
- package/tools/fallback-engine-host.d.ts +34 -0
- package/tools/fallback-engine-host.js +52 -0
- package/tools/file-system-engine-host-base.d.ts +41 -13
- package/tools/file-system-engine-host-base.js +93 -38
- package/tools/file-system-engine-host.d.ts +5 -10
- package/tools/file-system-engine-host.js +8 -10
- package/tools/file-system-utility.d.ts +1 -1
- package/tools/file-system-utility.js +3 -3
- package/tools/index.d.ts +3 -1
- package/tools/index.js +5 -10
- package/tools/node-module-engine-host.d.ts +8 -17
- package/tools/node-module-engine-host.js +53 -15
- package/tools/node-modules-test-engine-host.d.ts +17 -0
- package/tools/node-modules-test-engine-host.js +32 -0
- package/src/rules/template/template.d.ts +0 -16
- package/src/rules/template/template.js +0 -110
- package/src/utility/path.d.ts +0 -16
- package/src/utility/path.js +0 -61
- package/test/index.d.ts +0 -8
- package/test/index.js +0 -14
- package/test/schematic-test-runner.d.ts +0 -21
- package/test/schematic-test-runner.js +0 -50
- package/tools/registry-engine-host.d.ts +0 -32
- package/tools/registry-engine-host.js +0 -86
package/src/tree/action.js
CHANGED
|
@@ -7,8 +7,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
7
7
|
* Use of this source code is governed by an MIT-style license that can be
|
|
8
8
|
* found in the LICENSE file at https://angular.io/license
|
|
9
9
|
*/
|
|
10
|
-
const
|
|
11
|
-
class UnknownActionException extends
|
|
10
|
+
const core_1 = require("@angular-devkit/core");
|
|
11
|
+
class UnknownActionException extends core_1.BaseException {
|
|
12
12
|
constructor(action) { super(`Unknown action: "${action.kind}".`); }
|
|
13
13
|
}
|
|
14
14
|
exports.UnknownActionException = UnknownActionException;
|
|
@@ -134,4 +134,4 @@ function isAction(action) {
|
|
|
134
134
|
&& (kind == 'c' || kind == 'o' || kind == 'r' || kind == 'd');
|
|
135
135
|
}
|
|
136
136
|
exports.isAction = isAction;
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9oYW5zbC9Tb3VyY2VzL2RldmtpdC8iLCJzb3VyY2VzIjpbInBhY2thZ2VzL2FuZ3VsYXJfZGV2a2l0L3NjaGVtYXRpY3Mvc3JjL3RyZWUvYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUE7Ozs7OztHQU1HO0FBQ0gsc0RBQXVEO0FBSXZELDRCQUFvQyxTQUFRLHlCQUFhO0lBQ3ZELFlBQVksTUFBYyxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0NBQzVFO0FBRkQsd0RBRUM7QUFnQkQsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0FBRVo7SUFBQTtRQUNVLGFBQVEsR0FBYSxFQUFFLENBQUM7SUE0RmxDLENBQUM7SUExRlcsT0FBTyxDQUFDLE1BQXVCO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDL0IsRUFBRSxFQUFFLEdBQUcsRUFBRTtZQUNULE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDckQsRUFBRSxNQUFNLENBQVcsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBbUIsRUFBRSxPQUFlO1FBQ3pDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFDRCxTQUFTLENBQUMsSUFBbUIsRUFBRSxPQUFlO1FBQzVDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFDRCxNQUFNLENBQUMsSUFBbUIsRUFBRSxFQUFp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QUFJLElBQUksSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDO0FBQ3BFLENBQUM7QUFQRCw0QkFPQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7IEJhc2VFeGNlcHRpb24gfSBmcm9tICcuLi9leGNlcHRpb24vZXhjZXB0aW9uJztcbmltcG9ydCB7IFNjaGVtYXRpY1BhdGggfSBmcm9tICcuLi91dGlsaXR5L3BhdGgnO1xuXG5cbmV4cG9ydCBjbGFzcyBVbmtub3duQWN0aW9uRXhjZXB0aW9uIGV4dGVuZHMgQmFzZUV4Y2VwdGlvbiB7XG4gIGNvbnN0cnVjdG9yKGFjdGlvbjogQWN0aW9uKSB7IHN1cGVyKGBVbmtub3duIGFjdGlvbjogXCIke2FjdGlvbi5raW5kfVwiLmApOyB9XG59XG5cblxuZXhwb3J0IHR5cGUgQWN0aW9uID0gQ3JlYXRlRmlsZUFjdGlvblxuICAgICAgICAgICAgICAgICAgIHwgT3ZlcndyaXRlRmlsZUFjdGlvblxuICAgICAgICAgICAgICAgICAgIHwgUmVuYW1lRmlsZUFjdGlvblxuICAgICAgICAgICAgICAgICAgIHwgRGVsZXRlRmlsZUFjdGlvbjtcblxuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbkJhc2Uge1xuICByZWFkb25seSBpZDogbnVtYmVyO1xuICByZWFkb25seSBwYXJlbnQ6IG51bWJlcjtcbiAgcmVhZG9ubHkgcGF0aDogU2NoZW1hdGljUGF0aDtcbn1cblxuXG5sZXQgX2lkID0gMTtcblxuZXhwb3J0IGNsYXNzIEFjdGlvbkxpc3QgaW1wbGVtZW50cyBJdGVyYWJsZTxBY3Rpb24+IHtcbiAgcHJpdmF0ZSBfYWN0aW9uczogQWN0aW9uW10gPSBbXTtcblxuICBwcm90ZWN0ZWQgX2FjdGlvbihhY3Rpb246IFBhcnRpYWw8QWN0aW9uPikge1xuICAgIHRoaXMuX2FjdGlvbnMucHVzaChPYmplY3QuYXNzaWduKHtcbiAgICAgIGlkOiBfaWQrKyxcbiAgICAgIHBhcmVudDogdGhpcy5fYWN0aW9uc1t0aGlzLl9hY3Rpb25zLmxlbmd0aCAtIDFdIHx8IDAsXG4gICAgfSwgYWN0aW9uKSBhcyBBY3Rpb24pO1xuICB9XG5cbiAgY3JlYXRlKHBhdGg6IFNjaGVtYXRpY1BhdGgsIGNvbnRlbnQ6IEJ1ZmZlcikge1xuICAgIHRoaXMuX2FjdGlvbih7IGtpbmQ6ICdjJywgcGF0aCwgY29udGVudCB9KTtcbiAgfVxuICBvdmVyd3JpdGUocGF0aDogU2NoZW1hdGljUGF0aCwgY29udGVudDogQnVmZmVyKSB7XG4gICAgdGhpcy5fYWN0aW9uKHsga2luZDogJ28nLCBwYXRoLCBjb250ZW50IH0pO1xuICB9XG4gIHJlbmFtZShwYXRoOiBTY2hlbWF0aWNQYXRoLCB0bzogU2NoZW1hdGljUGF0aCkge1xuICAgIHRoaXMuX2FjdGlvbih7IGtpbmQ6ICdyJywgcGF0aCwgdG8gfSk7XG4gIH1cbiAgZGVsZXRlKHBhdGg6IFNjaGVtYXRpY1BhdGgpIHtcbiAgICB0aGlzLl9hY3Rpb24oeyBraW5kOiAnZCcsIHBhdGggfSk7XG4gIH1cblxuXG4gIG9wdGltaXplKCkge1xuICAgIGNvbnN0IGFjdGlvbnMgPSB0aGlzLl9hY3Rpb25zO1xuICAgIGNvbnN0IGRlbGV0ZWQgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICB0aGlzLl9hY3Rpb25zID0gW107XG5cbiAgICAvLyBIYW5kbGVzIGZpbGVzIHdlIGNyZWF0ZS5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFjdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGlBY3Rpb24gPSBhY3Rpb25zW2ldO1xuICAgICAgaWYgKGlBY3Rpb24ua2luZCA9PSAnYycpIHtcbiAgICAgICAgbGV0IHBhdGggPSBpQWN0aW9uLnBhdGg7XG4gICAgICAgIGxldCBjb250ZW50ID0gaUFjdGlvbi5jb250ZW50O1xuICAgICAgICBsZXQgdG9EZWxldGUgPSBmYWxzZTtcbiAgICAgICAgZGVsZXRlZC5kZWxldGUocGF0aCk7XG5cbiAgICAgICAgZm9yIChsZXQgaiA9IGkgKyAxOyBqIDwgYWN0aW9ucy5sZW5ndGg7IGorKykge1xuICAgICAgICAgIGNvbnN0IGFjdGlvbiA9IGFjdGlvbnNbal07XG4gICAgICAgICAgaWYgKHBhdGggPT0gYWN0aW9uLnBhdGgpIHtcbiAgICAgICAgICAgIHN3aXRjaCAoYWN0aW9uLmtpbmQpIHtcbiAgICAgICAgICAgICAgY2FzZSAnYyc6IGNvbnRlbnQgPSBhY3Rpb24uY29udGVudDsgYWN0aW9ucy5zcGxpY2Uoai0tLCAxKTsgYnJlYWs7XG4gICAgICAgICAgICAgIGNhc2UgJ28nOiBjb250ZW50ID0gYWN0aW9uLmNvbnRlbnQ7IGFjdGlvbnMuc3BsaWNlKGotLSwgMSk7IGJyZWFrO1xuICAgICAgICAgICAgICBjYXNlICdyJzogcGF0aCA9IGFjdGlvbi50bzsgYWN0aW9ucy5zcGxpY2Uoai0tLCAxKTsgYnJlYWs7XG4gICAgICAgICAgICAgIGNhc2UgJ2QnOiB0b0RlbGV0ZSA9IHRydWU7IGFjdGlvbnMuc3BsaWNlKGotLSwgMSk7IGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodG9EZWxldGUpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdG9EZWxldGUpIHtcbiAgICAgICAgICB0aGlzLmNyZWF0ZShwYXRoLCBjb250ZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkZWxldGVkLmFkZChwYXRoKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChkZWxldGVkLmhhcyhpQWN0aW9uLnBhdGgpKSB7XG4gICAgICAgIC8vIERvTm90aGluZ1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3dpdGNoIChpQWN0aW9uLmtpbmQpIHtcbiAgICAgICAgICBjYXNlICdvJzogdGhpcy5vdmVyd3JpdGUoaUFjdGlvbi5wYXRoLCBpQWN0aW9uLmNvbnRlbnQpOyBicmVhaztcbiAgICAgICAgICBjYXNlICdyJzogdGhpcy5yZW5hbWUoaUFjdGlvbi5wYXRoLCBpQWN0aW9uLnRvKTsgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnZCc6IHRoaXMuZGVsZXRlKGlBY3Rpb24ucGF0aCk7IGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVzaChhY3Rpb246IEFjdGlvbikgeyB0aGlzLl9hY3Rpb25zLnB1c2goYWN0aW9uKTsgfVxuICBnZXQoaTogbnVtYmVyKSB7IHJldHVybiB0aGlzLl9hY3Rpb25zW2ldOyB9XG4gIGhhcyhhY3Rpb246IEFjdGlvbikge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5fYWN0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgYSA9IHRoaXMuX2FjdGlvbnNbaV07XG4gICAgICBpZiAoYS5pZCA9PSBhY3Rpb24uaWQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBpZiAoYS5pZCA+IGFjdGlvbi5pZCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGZpbmQocHJlZGljYXRlOiAodmFsdWU6IEFjdGlvbikgPT4gYm9vbGVhbik6IEFjdGlvbiB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9hY3Rpb25zLmZpbmQocHJlZGljYXRlKSB8fCBudWxsO1xuICB9XG4gIGZvckVhY2goZm46ICh2YWx1ZTogQWN0aW9uLCBpbmRleDogbnVtYmVyLCBhcnJheTogQWN0aW9uW10pID0+IHZvaWQsIHRoaXNBcmc/OiB7fSkge1xuICAgIHRoaXMuX2FjdGlvbnMuZm9yRWFjaChmbiwgdGhpc0FyZyk7XG4gIH1cbiAgZ2V0IGxlbmd0aCgpIHsgcmV0dXJuIHRoaXMuX2FjdGlvbnMubGVuZ3RoOyB9XG4gIFtTeW1ib2wuaXRlcmF0b3JdKCkgeyByZXR1cm4gdGhpcy5fYWN0aW9uc1tTeW1ib2wuaXRlcmF0b3JdKCk7IH1cbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gaXNDb250ZW50QWN0aW9uKGFjdGlvbjogQWN0aW9uKTogYWN0aW9uIGlzIENyZWF0ZUZpbGVBY3Rpb24gfCBPdmVyd3JpdGVGaWxlQWN0aW9uIHtcbiAgcmV0dXJuIGFjdGlvbi5raW5kID09ICdjJyB8fCBhY3Rpb24ua2luZCA9PSAnbyc7XG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQWN0aW9uKGFjdGlvbjogYW55KTogYWN0aW9uIGlzIEFjdGlvbiB7ICAvLyB0c2xpbnQ6ZGlzYWJsZS1saW5lOm5vLWFueVxuICBjb25zdCBraW5kID0gYWN0aW9uICYmIGFjdGlvbi5raW5kO1xuXG4gIHJldHVybiBhY3Rpb24gIT09IG51bGxcbiAgICAgICYmIHR5cGVvZiBhY3Rpb24uaWQgPT0gJ251bWJlcidcbiAgICAgICYmIHR5cGVvZiBhY3Rpb24ucGF0aCA9PSAnc3RyaW5nJ1xuICAgICAgJiYgKGtpbmQgPT0gJ2MnIHx8IGtpbmQgPT0gJ28nIHx8IGtpbmQgPT0gJ3InIHx8IGtpbmQgPT0gJ2QnKTtcbn1cblxuXG4vLyBDcmVhdGUgYSBmaWxlLiBJZiB0aGUgZmlsZSBhbHJlYWR5IGV4aXN0cyB0aGVuIHRoaXMgaXMgYW4gZXJyb3IuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUZpbGVBY3Rpb24gZXh0ZW5kcyBBY3Rpb25CYXNlIHtcbiAgcmVhZG9ubHkga2luZDogJ2MnO1xuICByZWFkb25seSBjb250ZW50OiBCdWZmZXI7XG59XG5cbi8vIE92ZXJ3cml0ZSBhIGZpbGUuIElmIHRoZSBmaWxlIGRvZXMgbm90IGFscmVhZHkgZXhpc3QsIHRoaXMgaXMgYW4gZXJyb3IuXG5leHBvcnQgaW50ZXJmYWNlIE92ZXJ3cml0ZUZpbGVBY3Rpb24gZXh0ZW5kcyBBY3Rpb25CYXNlIHtcbiAgcmVhZG9ubHkga2luZDogJ28nO1xuICByZWFkb25seSBjb250ZW50OiBCdWZmZXI7XG59XG5cbi8vIE1vdmUgYSBmaWxlIGZyb20gb25lIHBhdGggdG8gYW5vdGhlci4gSWYgdGhlIHNvdXJjZSBmaWxlcyBkb2VzIG5vdCBleGlzdCwgdGhpcyBpcyBhbiBlcnJvci5cbi8vIElmIHRoZSB0YXJnZXQgcGF0aCBhbHJlYWR5IGV4aXN0cywgdGhpcyBpcyBhbiBlcnJvci5cbmV4cG9ydCBpbnRlcmZhY2UgUmVuYW1lRmlsZUFjdGlvbiBleHRlbmRzIEFjdGlvbkJhc2Uge1xuICByZWFkb25seSBraW5kOiAncic7XG4gIHJlYWRvbmx5IHRvOiBTY2hlbWF0aWNQYXRoO1xufVxuXG4vLyBEZWxldGUgYSBmaWxlLiBJZiB0aGUgZmlsZSBkb2VzIG5vdCBleGlzdCwgdGhpcyBpcyBhbiBlcnJvci5cbmV4cG9ydCBpbnRlcmZhY2UgRGVsZXRlRmlsZUFjdGlvbiBleHRlbmRzIEFjdGlvbkJhc2Uge1xuICByZWFkb25seSBraW5kOiAnZCc7XG59XG4iXX0=
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9oYW5zbC9Tb3VyY2VzL2RldmtpdC8iLCJzb3VyY2VzIjpbInBhY2thZ2VzL2FuZ3VsYXJfZGV2a2l0L3NjaGVtYXRpY3Mvc3JjL3RyZWUvYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUE7Ozs7OztHQU1HO0FBQ0gsK0NBQTJEO0FBRzNELDRCQUFvQyxTQUFRLG9CQUFhO0lBQ3ZELFlBQVksTUFBYyxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0NBQzVFO0FBRkQsd0RBRUM7QUFnQkQsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0FBRVo7SUFBQTtRQUNVLGFBQVEsR0FBYSxFQUFFLENBQUM7SUE0RmxDLENBQUM7SUExRlcsT0FBTyxDQUFDLE1BQXVCO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDL0IsRUFBRSxFQUFFLEdBQUcsRUFBRTtZQUNULE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDckQsRUFBRSxNQUFNLENBQVcsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBVSxFQUFFLE9BQWU7UUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUNELFNBQVMsQ0FBQyxJQUFVLEVBQUUsT0FBZTtRQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBQ0QsTUFBTSxDQUFDLElBQVUsRUFBRSxFQUFRO1FB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QUksSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDO0FBQ3BFLENBQUM7QUFQRCw0QkFPQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7IEJhc2VFeGNlcHRpb24sIFBhdGggfSBmcm9tICdAYW5ndWxhci1kZXZraXQvY29yZSc7XG5cblxuZXhwb3J0IGNsYXNzIFVua25vd25BY3Rpb25FeGNlcHRpb24gZXh0ZW5kcyBCYXNlRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IoYWN0aW9uOiBBY3Rpb24pIHsgc3VwZXIoYFVua25vd24gYWN0aW9uOiBcIiR7YWN0aW9uLmtpbmR9XCIuYCk7IH1cbn1cblxuXG5leHBvcnQgdHlwZSBBY3Rpb24gPSBDcmVhdGVGaWxlQWN0aW9uXG4gICAgICAgICAgICAgICAgICAgfCBPdmVyd3JpdGVGaWxlQWN0aW9uXG4gICAgICAgICAgICAgICAgICAgfCBSZW5hbWVGaWxlQWN0aW9uXG4gICAgICAgICAgICAgICAgICAgfCBEZWxldGVGaWxlQWN0aW9uO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uQmFzZSB7XG4gIHJlYWRvbmx5IGlkOiBudW1iZXI7XG4gIHJlYWRvbmx5IHBhcmVudDogbnVtYmVyO1xuICByZWFkb25seSBwYXRoOiBQYXRoO1xufVxuXG5cbmxldCBfaWQgPSAxO1xuXG5leHBvcnQgY2xhc3MgQWN0aW9uTGlzdCBpbXBsZW1lbnRzIEl0ZXJhYmxlPEFjdGlvbj4ge1xuICBwcml2YXRlIF9hY3Rpb25zOiBBY3Rpb25bXSA9IFtdO1xuXG4gIHByb3RlY3RlZCBfYWN0aW9uKGFjdGlvbjogUGFydGlhbDxBY3Rpb24+KSB7XG4gICAgdGhpcy5fYWN0aW9ucy5wdXNoKE9iamVjdC5hc3NpZ24oe1xuICAgICAgaWQ6IF9pZCsrLFxuICAgICAgcGFyZW50OiB0aGlzLl9hY3Rpb25zW3RoaXMuX2FjdGlvbnMubGVuZ3RoIC0gMV0gfHwgMCxcbiAgICB9LCBhY3Rpb24pIGFzIEFjdGlvbik7XG4gIH1cblxuICBjcmVhdGUocGF0aDogUGF0aCwgY29udGVudDogQnVmZmVyKSB7XG4gICAgdGhpcy5fYWN0aW9uKHsga2luZDogJ2MnLCBwYXRoLCBjb250ZW50IH0pO1xuICB9XG4gIG92ZXJ3cml0ZShwYXRoOiBQYXRoLCBjb250ZW50OiBCdWZmZXIpIHtcbiAgICB0aGlzLl9hY3Rpb24oeyBraW5kOiAnbycsIHBhdGgsIGNvbnRlbnQgfSk7XG4gIH1cbiAgcmVuYW1lKHBhdGg6IFBhdGgsIHRvOiBQYXRoKSB7XG4gICAgdGhpcy5fYWN0aW9uKHsga2luZDogJ3InLCBwYXRoLCB0byB9KTtcbiAgfVxuICBkZWxldGUocGF0aDogUGF0aCkge1xuICAgIHRoaXMuX2FjdGlvbih7IGtpbmQ6ICdkJywgcGF0aCB9KTtcbiAgfVxuXG5cbiAgb3B0aW1pemUoKSB7XG4gICAgY29uc3QgYWN0aW9ucyA9IHRoaXMuX2FjdGlvbnM7XG4gICAgY29uc3QgZGVsZXRlZCA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgIHRoaXMuX2FjdGlvbnMgPSBbXTtcblxuICAgIC8vIEhhbmRsZXMgZmlsZXMgd2UgY3JlYXRlLlxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYWN0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgaUFjdGlvbiA9IGFjdGlvbnNbaV07XG4gICAgICBpZiAoaUFjdGlvbi5raW5kID09ICdjJykge1xuICAgICAgICBsZXQgcGF0aCA9IGlBY3Rpb24ucGF0aDtcbiAgICAgICAgbGV0IGNvbnRlbnQgPSBpQWN0aW9uLmNvbnRlbnQ7XG4gICAgICAgIGxldCB0b0RlbGV0ZSA9IGZhbHNlO1xuICAgICAgICBkZWxldGVkLmRlbGV0ZShwYXRoKTtcblxuICAgICAgICBmb3IgKGxldCBqID0gaSArIDE7IGogPCBhY3Rpb25zLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgY29uc3QgYWN0aW9uID0gYWN0aW9uc1tqXTtcbiAgICAgICAgICBpZiAocGF0aCA9PSBhY3Rpb24ucGF0aCkge1xuICAgICAgICAgICAgc3dpdGNoIChhY3Rpb24ua2luZCkge1xuICAgICAgICAgICAgICBjYXNlICdjJzogY29udGVudCA9IGFjdGlvbi5jb250ZW50OyBhY3Rpb25zLnNwbGljZShqLS0sIDEpOyBicmVhaztcbiAgICAgICAgICAgICAgY2FzZSAnbyc6IGNvbnRlbnQgPSBhY3Rpb24uY29udGVudDsgYWN0aW9ucy5zcGxpY2Uoai0tLCAxKTsgYnJlYWs7XG4gICAgICAgICAgICAgIGNhc2UgJ3InOiBwYXRoID0gYWN0aW9uLnRvOyBhY3Rpb25zLnNwbGljZShqLS0sIDEpOyBicmVhaztcbiAgICAgICAgICAgICAgY2FzZSAnZCc6IHRvRGVsZXRlID0gdHJ1ZTsgYWN0aW9ucy5zcGxpY2Uoai0tLCAxKTsgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0b0RlbGV0ZSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0b0RlbGV0ZSkge1xuICAgICAgICAgIHRoaXMuY3JlYXRlKHBhdGgsIGNvbnRlbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRlbGV0ZWQuYWRkKHBhdGgpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGRlbGV0ZWQuaGFzKGlBY3Rpb24ucGF0aCkpIHtcbiAgICAgICAgLy8gRG9Ob3RoaW5nXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzd2l0Y2ggKGlBY3Rpb24ua2luZCkge1xuICAgICAgICAgIGNhc2UgJ28nOiB0aGlzLm92ZXJ3cml0ZShpQWN0aW9uLnBhdGgsIGlBY3Rpb24uY29udGVudCk7IGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ3InOiB0aGlzLnJlbmFtZShpQWN0aW9uLnBhdGgsIGlBY3Rpb24udG8pOyBicmVhaztcbiAgICAgICAgICBjYXNlICdkJzogdGhpcy5kZWxldGUoaUFjdGlvbi5wYXRoKTsgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdXNoKGFjdGlvbjogQWN0aW9uKSB7IHRoaXMuX2FjdGlvbnMucHVzaChhY3Rpb24pOyB9XG4gIGdldChpOiBudW1iZXIpIHsgcmV0dXJuIHRoaXMuX2FjdGlvbnNbaV07IH1cbiAgaGFzKGFjdGlvbjogQWN0aW9uKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLl9hY3Rpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBhID0gdGhpcy5fYWN0aW9uc1tpXTtcbiAgICAgIGlmIChhLmlkID09IGFjdGlvbi5pZCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmIChhLmlkID4gYWN0aW9uLmlkKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgZmluZChwcmVkaWNhdGU6ICh2YWx1ZTogQWN0aW9uKSA9PiBib29sZWFuKTogQWN0aW9uIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGlvbnMuZmluZChwcmVkaWNhdGUpIHx8IG51bGw7XG4gIH1cbiAgZm9yRWFjaChmbjogKHZhbHVlOiBBY3Rpb24sIGluZGV4OiBudW1iZXIsIGFycmF5OiBBY3Rpb25bXSkgPT4gdm9pZCwgdGhpc0FyZz86IHt9KSB7XG4gICAgdGhpcy5fYWN0aW9ucy5mb3JFYWNoKGZuLCB0aGlzQXJnKTtcbiAgfVxuICBnZXQgbGVuZ3RoKCkgeyByZXR1cm4gdGhpcy5fYWN0aW9ucy5sZW5ndGg7IH1cbiAgW1N5bWJvbC5pdGVyYXRvcl0oKSB7IHJldHVybiB0aGlzLl9hY3Rpb25zW1N5bWJvbC5pdGVyYXRvcl0oKTsgfVxufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBpc0NvbnRlbnRBY3Rpb24oYWN0aW9uOiBBY3Rpb24pOiBhY3Rpb24gaXMgQ3JlYXRlRmlsZUFjdGlvbiB8IE92ZXJ3cml0ZUZpbGVBY3Rpb24ge1xuICByZXR1cm4gYWN0aW9uLmtpbmQgPT0gJ2MnIHx8IGFjdGlvbi5raW5kID09ICdvJztcbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gaXNBY3Rpb24oYWN0aW9uOiBhbnkpOiBhY3Rpb24gaXMgQWN0aW9uIHsgIC8vIHRzbGludDpkaXNhYmxlLWxpbmU6bm8tYW55XG4gIGNvbnN0IGtpbmQgPSBhY3Rpb24gJiYgYWN0aW9uLmtpbmQ7XG5cbiAgcmV0dXJuIGFjdGlvbiAhPT0gbnVsbFxuICAgICAgJiYgdHlwZW9mIGFjdGlvbi5pZCA9PSAnbnVtYmVyJ1xuICAgICAgJiYgdHlwZW9mIGFjdGlvbi5wYXRoID09ICdzdHJpbmcnXG4gICAgICAmJiAoa2luZCA9PSAnYycgfHwga2luZCA9PSAnbycgfHwga2luZCA9PSAncicgfHwga2luZCA9PSAnZCcpO1xufVxuXG5cbi8vIENyZWF0ZSBhIGZpbGUuIElmIHRoZSBmaWxlIGFscmVhZHkgZXhpc3RzIHRoZW4gdGhpcyBpcyBhbiBlcnJvci5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlRmlsZUFjdGlvbiBleHRlbmRzIEFjdGlvbkJhc2Uge1xuICByZWFkb25seSBraW5kOiAnYyc7XG4gIHJlYWRvbmx5IGNvbnRlbnQ6IEJ1ZmZlcjtcbn1cblxuLy8gT3ZlcndyaXRlIGEgZmlsZS4gSWYgdGhlIGZpbGUgZG9lcyBub3QgYWxyZWFkeSBleGlzdCwgdGhpcyBpcyBhbiBlcnJvci5cbmV4cG9ydCBpbnRlcmZhY2UgT3ZlcndyaXRlRmlsZUFjdGlvbiBleHRlbmRzIEFjdGlvbkJhc2Uge1xuICByZWFkb25seSBraW5kOiAnbyc7XG4gIHJlYWRvbmx5IGNvbnRlbnQ6IEJ1ZmZlcjtcbn1cblxuLy8gTW92ZSBhIGZpbGUgZnJvbSBvbmUgcGF0aCB0byBhbm90aGVyLiBJZiB0aGUgc291cmNlIGZpbGVzIGRvZXMgbm90IGV4aXN0LCB0aGlzIGlzIGFuIGVycm9yLlxuLy8gSWYgdGhlIHRhcmdldCBwYXRoIGFscmVhZHkgZXhpc3RzLCB0aGlzIGlzIGFuIGVycm9yLlxuZXhwb3J0IGludGVyZmFjZSBSZW5hbWVGaWxlQWN0aW9uIGV4dGVuZHMgQWN0aW9uQmFzZSB7XG4gIHJlYWRvbmx5IGtpbmQ6ICdyJztcbiAgcmVhZG9ubHkgdG86IFBhdGg7XG59XG5cbi8vIERlbGV0ZSBhIGZpbGUuIElmIHRoZSBmaWxlIGRvZXMgbm90IGV4aXN0LCB0aGlzIGlzIGFuIGVycm9yLlxuZXhwb3J0IGludGVyZmFjZSBEZWxldGVGaWxlQWN0aW9uIGV4dGVuZHMgQWN0aW9uQmFzZSB7XG4gIHJlYWRvbmx5IGtpbmQ6ICdkJztcbn1cbiJdfQ==
|
package/src/tree/entry.d.ts
CHANGED
|
@@ -6,20 +6,20 @@
|
|
|
6
6
|
* Use of this source code is governed by an MIT-style license that can be
|
|
7
7
|
* found in the LICENSE file at https://angular.io/license
|
|
8
8
|
*/
|
|
9
|
-
import {
|
|
9
|
+
import { Path } from '@angular-devkit/core';
|
|
10
10
|
import { FileEntry } from './interface';
|
|
11
11
|
export declare class SimpleFileEntry implements FileEntry {
|
|
12
12
|
private _path;
|
|
13
13
|
private _content;
|
|
14
|
-
constructor(_path:
|
|
15
|
-
readonly path:
|
|
14
|
+
constructor(_path: Path, _content: Buffer);
|
|
15
|
+
readonly path: Path;
|
|
16
16
|
readonly content: Buffer;
|
|
17
17
|
}
|
|
18
18
|
export declare class LazyFileEntry implements FileEntry {
|
|
19
19
|
private _path;
|
|
20
20
|
private _load;
|
|
21
21
|
private _content;
|
|
22
|
-
constructor(_path:
|
|
23
|
-
readonly path:
|
|
22
|
+
constructor(_path: Path, _load: (path?: Path) => Buffer);
|
|
23
|
+
readonly path: Path;
|
|
24
24
|
readonly content: Buffer;
|
|
25
25
|
}
|
package/src/tree/entry.js
CHANGED
|
@@ -19,4 +19,4 @@ class LazyFileEntry {
|
|
|
19
19
|
get content() { return this._content || (this._content = this._load(this._path)); }
|
|
20
20
|
}
|
|
21
21
|
exports.LazyFileEntry = LazyFileEntry;
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnkuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL2hhbnNsL1NvdXJjZXMvZGV2a2l0LyIsInNvdXJjZXMiOlsicGFja2FnZXMvYW5ndWxhcl9kZXZraXQvc2NoZW1hdGljcy9zcmMvdHJlZS9lbnRyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVdBO0lBQ0UsWUFBb0IsS0FBVyxFQUFVLFFBQWdCO1FBQXJDLFVBQUssR0FBTCxLQUFLLENBQU07UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFRO0lBQUcsQ0FBQztJQUU3RCxJQUFJLElBQUksS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDakMsSUFBSSxPQUFPLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0NBQ3hDO0FBTEQsMENBS0M7QUFHRDtJQUdFLFlBQW9CLEtBQVcsRUFBVSxLQUE4QjtRQUFuRCxVQUFLLEdBQUwsS0FBSyxDQUFNO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBeUI7UUFGL0QsYUFBUSxHQUFrQixJQUFJLENBQUM7SUFFbUMsQ0FBQztJQUUzRSxJQUFJLElBQUksS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDakMsSUFBSSxPQUFPLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0NBQ3BGO0FBUEQsc0NBT0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQgeyBQYXRoIH0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L2NvcmUnO1xuaW1wb3J0IHsgRmlsZUVudHJ5IH0gZnJvbSAnLi9pbnRlcmZhY2UnO1xuXG5cbmV4cG9ydCBjbGFzcyBTaW1wbGVGaWxlRW50cnkgaW1wbGVtZW50cyBGaWxlRW50cnkge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9wYXRoOiBQYXRoLCBwcml2YXRlIF9jb250ZW50OiBCdWZmZXIpIHt9XG5cbiAgZ2V0IHBhdGgoKSB7IHJldHVybiB0aGlzLl9wYXRoOyB9XG4gIGdldCBjb250ZW50KCkgeyByZXR1cm4gdGhpcy5fY29udGVudDsgfVxufVxuXG5cbmV4cG9ydCBjbGFzcyBMYXp5RmlsZUVudHJ5IGltcGxlbWVudHMgRmlsZUVudHJ5IHtcbiAgcHJpdmF0ZSBfY29udGVudDogQnVmZmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfcGF0aDogUGF0aCwgcHJpdmF0ZSBfbG9hZDogKHBhdGg/OiBQYXRoKSA9PiBCdWZmZXIpIHt9XG5cbiAgZ2V0IHBhdGgoKSB7IHJldHVybiB0aGlzLl9wYXRoOyB9XG4gIGdldCBjb250ZW50KCkgeyByZXR1cm4gdGhpcy5fY29udGVudCB8fCAodGhpcy5fY29udGVudCA9IHRoaXMuX2xvYWQodGhpcy5fcGF0aCkpOyB9XG59XG4iXX0=
|
package/src/tree/filesystem.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* Use of this source code is governed by an MIT-style license that can be
|
|
7
7
|
* found in the LICENSE file at https://angular.io/license
|
|
8
8
|
*/
|
|
9
|
-
import {
|
|
9
|
+
import { Path } from '@angular-devkit/core';
|
|
10
10
|
import { VirtualTree } from './virtual';
|
|
11
11
|
export interface FileSystemTreeHost {
|
|
12
12
|
listDirectory: (path: string) => string[];
|
|
@@ -17,5 +17,5 @@ export interface FileSystemTreeHost {
|
|
|
17
17
|
export declare class FileSystemTree extends VirtualTree {
|
|
18
18
|
private _host;
|
|
19
19
|
constructor(_host: FileSystemTreeHost, asCreate?: boolean);
|
|
20
|
-
protected _recursiveFileList(): [string,
|
|
20
|
+
protected _recursiveFileList(): [string, Path][];
|
|
21
21
|
}
|
package/src/tree/filesystem.js
CHANGED
|
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
7
7
|
* Use of this source code is governed by an MIT-style license that can be
|
|
8
8
|
* found in the LICENSE file at https://angular.io/license
|
|
9
9
|
*/
|
|
10
|
-
const
|
|
10
|
+
const core_1 = require("@angular-devkit/core");
|
|
11
11
|
const entry_1 = require("./entry");
|
|
12
12
|
const virtual_1 = require("./virtual");
|
|
13
13
|
class FileSystemTree extends virtual_1.VirtualTree {
|
|
@@ -29,7 +29,7 @@ class FileSystemTree extends virtual_1.VirtualTree {
|
|
|
29
29
|
function recurse(systemPath, schematicPath) {
|
|
30
30
|
for (const name of host.listDirectory(systemPath)) {
|
|
31
31
|
const systemName = host.join(systemPath, name);
|
|
32
|
-
const normalizedPath =
|
|
32
|
+
const normalizedPath = core_1.normalize(schematicPath + '/' + name);
|
|
33
33
|
if (host.isDirectory(normalizedPath)) {
|
|
34
34
|
recurse(systemName, normalizedPath);
|
|
35
35
|
}
|
|
@@ -43,4 +43,4 @@ class FileSystemTree extends virtual_1.VirtualTree {
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
exports.FileSystemTree = FileSystemTree;
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXN5c3RlbS5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvaGFuc2wvU291cmNlcy9kZXZraXQvIiwic291cmNlcyI6WyJwYWNrYWdlcy9hbmd1bGFyX2RldmtpdC9zY2hlbWF0aWNzL3NyYy90cmVlL2ZpbGVzeXN0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7Ozs7O0dBTUc7QUFDSCwrQ0FBdUQ7QUFDdkQsbUNBQXdDO0FBQ3hDLHVDQUF3QztBQVl4QyxvQkFBNEIsU0FBUSxxQkFBVztJQUM3QyxZQUFvQixLQUF5QixFQUFFLFFBQVEsR0FBRyxLQUFLO1FBQzdELEtBQUssRUFBRSxDQUFDO1FBRFUsVUFBSyxHQUFMLEtBQUssQ0FBb0I7UUFHM0MsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDO1lBQ3BELEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7Z0JBQ2IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ2pELENBQUM7WUFBQyxJQUFJLENBQUMsQ0FBQztnQkFDTixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxxQkFBYSxDQUFDLFNBQVMsRUFBRSxNQUFNLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hGLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUyxrQkFBa0I7UUFDMUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN4QixNQUFNLElBQUksR0FBcUIsRUFBRSxDQUFDO1FBRWxDLGlCQUFpQixVQUFrQixFQUFFLGFBQXFCO1lBQ3hELEdBQUcsQ0FBQyxDQUFDLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNsRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDL0MsTUFBTSxjQUFjLEdBQUcsZ0JBQVMsQ0FBQyxhQUFhLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDO2dCQUM3RCxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDckMsT0FBTyxDQUFDLFVBQVUsRUFBRSxjQUFjLENBQUMsQ0FBQztnQkFDdEMsQ0FBQztnQkFBQyxJQUFJLENBQUMsQ0FBQztvQkFDTixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7Z0JBQzFDLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFakIsTUFBTSxDQUFDLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRjtBQWpDRCx3Q0FpQ0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQgeyBQYXRoLCBub3JtYWxpemUgfSBmcm9tICdAYW5ndWxhci1kZXZraXQvY29yZSc7XG5pbXBvcnQgeyBMYXp5RmlsZUVudHJ5IH0gZnJvbSAnLi9lbnRyeSc7XG5pbXBvcnQgeyBWaXJ0dWFsVHJlZSB9IGZyb20gJy4vdmlydHVhbCc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBGaWxlU3lzdGVtVHJlZUhvc3Qge1xuICBsaXN0RGlyZWN0b3J5OiAocGF0aDogc3RyaW5nKSA9PiBzdHJpbmdbXTtcbiAgaXNEaXJlY3Rvcnk6IChwYXRoOiBzdHJpbmcpID0+IGJvb2xlYW47XG4gIHJlYWRGaWxlOiAocGF0aDogc3RyaW5nKSA9PiBCdWZmZXI7XG5cbiAgam9pbjogKHBhdGgxOiBzdHJpbmcsIG90aGVyOiBzdHJpbmcpID0+IHN0cmluZztcbn1cblxuXG5leHBvcnQgY2xhc3MgRmlsZVN5c3RlbVRyZWUgZXh0ZW5kcyBWaXJ0dWFsVHJlZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2hvc3Q6IEZpbGVTeXN0ZW1UcmVlSG9zdCwgYXNDcmVhdGUgPSBmYWxzZSkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLl9yZWN1cnNpdmVGaWxlTGlzdCgpLmZvckVhY2goKFtzeXN0ZW0sIHNjaGVtYXRpY10pID0+IHtcbiAgICAgIGlmIChhc0NyZWF0ZSkge1xuICAgICAgICB0aGlzLmNyZWF0ZShzY2hlbWF0aWMsIF9ob3N0LnJlYWRGaWxlKHN5c3RlbSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fcm9vdC5zZXQoc2NoZW1hdGljLCBuZXcgTGF6eUZpbGVFbnRyeShzY2hlbWF0aWMsICgpID0+IF9ob3N0LnJlYWRGaWxlKHN5c3RlbSkpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfcmVjdXJzaXZlRmlsZUxpc3QoKTogWyBzdHJpbmcsIFBhdGggXVtdIHtcbiAgICBjb25zdCBob3N0ID0gdGhpcy5faG9zdDtcbiAgICBjb25zdCBsaXN0OiBbc3RyaW5nLCBQYXRoXVtdID0gW107XG5cbiAgICBmdW5jdGlvbiByZWN1cnNlKHN5c3RlbVBhdGg6IHN0cmluZywgc2NoZW1hdGljUGF0aDogc3RyaW5nKSB7XG4gICAgICBmb3IgKGNvbnN0IG5hbWUgb2YgaG9zdC5saXN0RGlyZWN0b3J5KHN5c3RlbVBhdGgpKSB7XG4gICAgICAgIGNvbnN0IHN5c3RlbU5hbWUgPSBob3N0LmpvaW4oc3lzdGVtUGF0aCwgbmFtZSk7XG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZWRQYXRoID0gbm9ybWFsaXplKHNjaGVtYXRpY1BhdGggKyAnLycgKyBuYW1lKTtcbiAgICAgICAgaWYgKGhvc3QuaXNEaXJlY3Rvcnkobm9ybWFsaXplZFBhdGgpKSB7XG4gICAgICAgICAgcmVjdXJzZShzeXN0ZW1OYW1lLCBub3JtYWxpemVkUGF0aCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbGlzdC5wdXNoKFtzeXN0ZW1OYW1lLCBub3JtYWxpemVkUGF0aF0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmVjdXJzZSgnJywgJy8nKTtcblxuICAgIHJldHVybiBsaXN0O1xuICB9XG59XG4iXX0=
|
package/src/tree/interface.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* Use of this source code is governed by an MIT-style license that can be
|
|
7
7
|
* found in the LICENSE file at https://angular.io/license
|
|
8
8
|
*/
|
|
9
|
-
import {
|
|
9
|
+
import { Path } from '@angular-devkit/core';
|
|
10
10
|
import { Action } from './action';
|
|
11
11
|
export declare enum MergeStrategy {
|
|
12
12
|
AllowOverwriteConflict = 2,
|
|
@@ -18,11 +18,11 @@ export declare enum MergeStrategy {
|
|
|
18
18
|
Overwrite = 14,
|
|
19
19
|
}
|
|
20
20
|
export interface FileEntry {
|
|
21
|
-
readonly path:
|
|
21
|
+
readonly path: Path;
|
|
22
22
|
readonly content: Buffer;
|
|
23
23
|
}
|
|
24
24
|
export interface FilePredicate<T> {
|
|
25
|
-
(path:
|
|
25
|
+
(path: Path, entry?: Readonly<FileEntry> | null): T;
|
|
26
26
|
}
|
|
27
27
|
export interface Tree {
|
|
28
28
|
readonly files: string[];
|
package/src/tree/interface.js
CHANGED
|
@@ -15,4 +15,4 @@ var MergeStrategy;
|
|
|
15
15
|
// Overwrite everything with the latest change.
|
|
16
16
|
MergeStrategy[MergeStrategy["Overwrite"] = 14] = "Overwrite";
|
|
17
17
|
})(MergeStrategy = exports.MergeStrategy || (exports.MergeStrategy = {}));
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9oYW5zbC9Tb3VyY2VzL2RldmtpdC8iLCJzb3VyY2VzIjpbInBhY2thZ2VzL2FuZ3VsYXJfZGV2a2l0L3NjaGVtYXRpY3Mvc3JjL3RyZWUvaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBV0EsSUFBWSxhQW1CWDtBQW5CRCxXQUFZLGFBQWE7SUFDdkIscUZBQWtDLENBQUE7SUFDbEMsbUZBQWtDLENBQUE7SUFDbEMsK0VBQWtDLENBQUE7SUFFbEMsNkJBQTZCO0lBQzdCLHVEQUE2QixDQUFBO0lBRTdCLHVGQUF1RjtJQUN2Riw0REFBNEQ7SUFDNUQsbURBQWtDLENBQUE7SUFFbEMsMENBQTBDO0lBQzFDLCtEQUFnRSxDQUFBO0lBRWhFLCtDQUErQztJQUMvQyw0REFFNkQsQ0FBQTtBQUMvRCxDQUFDLEVBbkJXLGFBQWEsR0FBYixxQkFBYSxLQUFiLHFCQUFhLFFBbUJ4QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7IFBhdGggfSBmcm9tICdAYW5ndWxhci1kZXZraXQvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb24gfSBmcm9tICcuL2FjdGlvbic7XG5cblxuZXhwb3J0IGVudW0gTWVyZ2VTdHJhdGVneSB7XG4gIEFsbG93T3ZlcndyaXRlQ29uZmxpY3QgICAgPSAxIDw8IDEsXG4gIEFsbG93Q3JlYXRpb25Db25mbGljdCAgICAgPSAxIDw8IDIsXG4gIEFsbG93RGVsZXRlQ29uZmxpY3QgICAgICAgPSAxIDw8IDMsXG5cbiAgLy8gVXNlcyB0aGUgZGVmYXVsdCBzdHJhdGVneS5cbiAgRGVmYXVsdCAgICAgICAgICAgICAgICAgICA9IDAsXG5cbiAgLy8gRXJyb3Igb3V0IGlmIDIgZmlsZXMgaGF2ZSB0aGUgc2FtZSBwYXRoLiBJdCBpcyB1c2VmdWwgdG8gaGF2ZSBhIGRpZmZlcmVudCB2YWx1ZSB0aGFuXG4gIC8vIERlZmF1bHQgaW4gdGhpcyBjYXNlIGFzIHRoZSB0b29saW5nIERlZmF1bHQgbWlnaHQgZGlmZmVyLlxuICBFcnJvciAgICAgICAgICAgICAgICAgICAgID0gMSA8PCAwLFxuXG4gIC8vIE9ubHkgY29udGVudCBjb25mbGljdHMgYXJlIG92ZXJ3cml0dGVuLlxuICBDb250ZW50T25seSAgICAgICAgICAgICAgID0gTWVyZ2VTdHJhdGVneS5BbGxvd092ZXJ3cml0ZUNvbmZsaWN0LFxuXG4gIC8vIE92ZXJ3cml0ZSBldmVyeXRoaW5nIHdpdGggdGhlIGxhdGVzdCBjaGFuZ2UuXG4gIE92ZXJ3cml0ZSAgICAgICAgICAgICAgICAgPSBNZXJnZVN0cmF0ZWd5LkFsbG93T3ZlcndyaXRlQ29uZmxpY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICArIE1lcmdlU3RyYXRlZ3kuQWxsb3dDcmVhdGlvbkNvbmZsaWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKyBNZXJnZVN0cmF0ZWd5LkFsbG93RGVsZXRlQ29uZmxpY3QsXG59XG5cblxuZXhwb3J0IGludGVyZmFjZSBGaWxlRW50cnkge1xuICByZWFkb25seSBwYXRoOiBQYXRoO1xuICByZWFkb25seSBjb250ZW50OiBCdWZmZXI7XG59XG5cblxuZXhwb3J0IGludGVyZmFjZSBGaWxlUHJlZGljYXRlPFQ+IHtcbiAgKHBhdGg6IFBhdGgsIGVudHJ5PzogUmVhZG9ubHk8RmlsZUVudHJ5PiB8IG51bGwpOiBUO1xufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJlZSB7XG4gIC8vIFJlYWRvbmx5LlxuICByZWFkb25seSBmaWxlczogc3RyaW5nW107XG4gIGV4aXN0cyhwYXRoOiBzdHJpbmcpOiBib29sZWFuO1xuXG4gIC8vIENvbnRlbnQgYWNjZXNzLlxuICByZWFkKHBhdGg6IHN0cmluZyk6IEJ1ZmZlciB8IG51bGw7XG4gIGdldChwYXRoOiBzdHJpbmcpOiBGaWxlRW50cnkgfCBudWxsO1xuXG4gIC8vIENoYW5nZSBjb250ZW50IG9mIGhvc3QgZmlsZXMuXG4gIG92ZXJ3cml0ZShwYXRoOiBzdHJpbmcsIGNvbnRlbnQ6IEJ1ZmZlciB8IHN0cmluZyk6IHZvaWQ7XG4gIGJlZ2luVXBkYXRlKHBhdGg6IHN0cmluZyk6IFVwZGF0ZVJlY29yZGVyO1xuICBjb21taXRVcGRhdGUocmVjb3JkOiBVcGRhdGVSZWNvcmRlcik6IHZvaWQ7XG5cbiAgLy8gU3RydWN0dXJhbCBtZXRob2RzLlxuICBjcmVhdGUocGF0aDogc3RyaW5nLCBjb250ZW50OiBCdWZmZXIgfCBzdHJpbmcpOiB2b2lkO1xuICBkZWxldGUocGF0aDogc3RyaW5nKTogdm9pZDtcbiAgcmVuYW1lKGZyb206IHN0cmluZywgdG86IHN0cmluZyk6IHZvaWQ7XG5cbiAgYXBwbHkoYWN0aW9uOiBBY3Rpb24sIHN0cmF0ZWd5PzogTWVyZ2VTdHJhdGVneSk6IHZvaWQ7XG4gIHJlYWRvbmx5IGFjdGlvbnM6IEFjdGlvbltdO1xufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlUmVjb3JkZXIge1xuICAvLyBUaGVzZSBqdXN0IHJlY29yZCBjaGFuZ2VzLlxuICBpbnNlcnRMZWZ0KGluZGV4OiBudW1iZXIsIGNvbnRlbnQ6IEJ1ZmZlciB8IHN0cmluZyk6IFVwZGF0ZVJlY29yZGVyO1xuICBpbnNlcnRSaWdodChpbmRleDogbnVtYmVyLCBjb250ZW50OiBCdWZmZXIgfCBzdHJpbmcpOiBVcGRhdGVSZWNvcmRlcjtcbiAgcmVtb3ZlKGluZGV4OiBudW1iZXIsIGxlbmd0aDogbnVtYmVyKTogVXBkYXRlUmVjb3JkZXI7XG59XG4iXX0=
|
|
@@ -10,6 +10,6 @@ export declare class InMemoryFileSystemTreeHost implements FileSystemTreeHost {
|
|
|
10
10
|
isDirectory(path: string): boolean;
|
|
11
11
|
readFile(path: string): Buffer;
|
|
12
12
|
join(path1: string, path2: string): string & {
|
|
13
|
-
|
|
13
|
+
__PRIVATE_DEVKIT_PATH: void;
|
|
14
14
|
};
|
|
15
15
|
}
|
package/src/tree/memory-host.js
CHANGED
|
@@ -7,18 +7,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
7
7
|
* Use of this source code is governed by an MIT-style license that can be
|
|
8
8
|
* found in the LICENSE file at https://angular.io/license
|
|
9
9
|
*/
|
|
10
|
-
const
|
|
10
|
+
const core_1 = require("@angular-devkit/core");
|
|
11
11
|
class InMemoryFileSystemTreeHost {
|
|
12
12
|
constructor(content) {
|
|
13
13
|
this._content = Object.create(null);
|
|
14
14
|
Object.keys(content).forEach(path => {
|
|
15
|
-
path =
|
|
15
|
+
path = core_1.normalize(path);
|
|
16
16
|
this._content[path] = new Buffer(content[path]);
|
|
17
17
|
});
|
|
18
18
|
this._files = Object.keys(this._content);
|
|
19
19
|
}
|
|
20
20
|
listDirectory(path) {
|
|
21
|
-
path =
|
|
21
|
+
path = core_1.normalize(path).replace(/\/?$/, '/');
|
|
22
22
|
return Object.keys(this._files
|
|
23
23
|
.filter(p => p.startsWith(path))
|
|
24
24
|
.map(p => p.substr(path.length))
|
|
@@ -26,16 +26,16 @@ class InMemoryFileSystemTreeHost {
|
|
|
26
26
|
.reduce((acc, p) => (acc[p] = true, acc), {})).sort();
|
|
27
27
|
}
|
|
28
28
|
isDirectory(path) {
|
|
29
|
-
path =
|
|
29
|
+
path = core_1.normalize(path);
|
|
30
30
|
return path == '/' || this._files.some(p => p.split('/').slice(0, -1).join('/') == path);
|
|
31
31
|
}
|
|
32
32
|
readFile(path) {
|
|
33
|
-
path =
|
|
33
|
+
path = core_1.normalize(path);
|
|
34
34
|
return this._content[path] || new Buffer('');
|
|
35
35
|
}
|
|
36
36
|
join(path1, path2) {
|
|
37
|
-
return
|
|
37
|
+
return core_1.normalize(path1 + '/' + path2);
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
exports.InMemoryFileSystemTreeHost = InMemoryFileSystemTreeHost;
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb3J5LWhvc3QuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL2hhbnNsL1NvdXJjZXMvZGV2a2l0LyIsInNvdXJjZXMiOlsicGFja2FnZXMvYW5ndWxhcl9kZXZraXQvc2NoZW1hdGljcy9zcmMvdHJlZS9tZW1vcnktaG9zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOzs7Ozs7R0FNRztBQUNILCtDQUFpRDtBQUlqRDtJQUdFLFlBQVksT0FBbUM7UUFDN0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUk7WUFDL0IsSUFBSSxHQUFHLGdCQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFZO1FBQ3hCLElBQUksR0FBRyxnQkFBUyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFNUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLElBQUksQ0FBQyxNQUFNO2FBQ1IsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQy9CLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDL0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQzthQUNoQyxNQUFNLENBQUMsQ0FBQyxHQUEyQixFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQ3hFLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDWCxDQUFDO0lBQ0QsV0FBVyxDQUFDLElBQVk7UUFDdEIsSUFBSSxHQUFHLGdCQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdkIsTUFBTSxDQUFDLElBQUksSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBQ0QsUUFBUSxDQUFDLElBQVk7UUFDbkIsSUFBSSxHQUFHLGdCQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdkIsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksQ0FBQyxLQUFhLEVBQUUsS0FBYTtRQUMvQixNQUFNLENBQUMsZ0JBQVMsQ0FBQyxLQUFLLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7Q0FDRjtBQXJDRCxnRUFxQ0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQgeyBub3JtYWxpemUgfSBmcm9tICdAYW5ndWxhci1kZXZraXQvY29yZSc7XG5pbXBvcnQgeyBGaWxlU3lzdGVtVHJlZUhvc3QgfSBmcm9tICcuL2ZpbGVzeXN0ZW0nO1xuXG5cbmV4cG9ydCBjbGFzcyBJbk1lbW9yeUZpbGVTeXN0ZW1UcmVlSG9zdCBpbXBsZW1lbnRzIEZpbGVTeXN0ZW1UcmVlSG9zdCB7XG4gIHByaXZhdGUgX2NvbnRlbnQ6IHsgW3BhdGg6IHN0cmluZ106IEJ1ZmZlciB9O1xuICBwcml2YXRlIF9maWxlczogc3RyaW5nW107XG4gIGNvbnN0cnVjdG9yKGNvbnRlbnQ6IHsgW3BhdGg6IHN0cmluZ106IHN0cmluZyB9KSB7XG4gICAgdGhpcy5fY29udGVudCA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgT2JqZWN0LmtleXMoY29udGVudCkuZm9yRWFjaChwYXRoID0+IHtcbiAgICAgIHBhdGggPSBub3JtYWxpemUocGF0aCk7XG4gICAgICB0aGlzLl9jb250ZW50W3BhdGhdID0gbmV3IEJ1ZmZlcihjb250ZW50W3BhdGhdKTtcbiAgICB9KTtcbiAgICB0aGlzLl9maWxlcyA9IE9iamVjdC5rZXlzKHRoaXMuX2NvbnRlbnQpO1xuICB9XG5cbiAgbGlzdERpcmVjdG9yeShwYXRoOiBzdHJpbmcpIHtcbiAgICBwYXRoID0gbm9ybWFsaXplKHBhdGgpLnJlcGxhY2UoL1xcLz8kLywgJy8nKTtcblxuICAgIHJldHVybiBPYmplY3Qua2V5cyhcbiAgICAgIHRoaXMuX2ZpbGVzXG4gICAgICAgIC5maWx0ZXIocCA9PiBwLnN0YXJ0c1dpdGgocGF0aCkpXG4gICAgICAgIC5tYXAocCA9PiBwLnN1YnN0cihwYXRoLmxlbmd0aCkpXG4gICAgICAgIC5tYXAocCA9PiBwLnJlcGxhY2UoL1xcLy4qJC8sICcnKSlcbiAgICAgICAgLnJlZHVjZSgoYWNjOiB7W2s6IHN0cmluZ106IGJvb2xlYW59LCBwKSA9PiAoYWNjW3BdID0gdHJ1ZSwgYWNjKSwge30pLFxuICAgICkuc29ydCgpO1xuICB9XG4gIGlzRGlyZWN0b3J5KHBhdGg6IHN0cmluZykge1xuICAgIHBhdGggPSBub3JtYWxpemUocGF0aCk7XG5cbiAgICByZXR1cm4gcGF0aCA9PSAnLycgfHwgdGhpcy5fZmlsZXMuc29tZShwID0+IHAuc3BsaXQoJy8nKS5zbGljZSgwLCAtMSkuam9pbignLycpID09IHBhdGgpO1xuICB9XG4gIHJlYWRGaWxlKHBhdGg6IHN0cmluZykge1xuICAgIHBhdGggPSBub3JtYWxpemUocGF0aCk7XG5cbiAgICByZXR1cm4gdGhpcy5fY29udGVudFtwYXRoXSB8fCBuZXcgQnVmZmVyKCcnKTtcbiAgfVxuXG4gIGpvaW4ocGF0aDE6IHN0cmluZywgcGF0aDI6IHN0cmluZykge1xuICAgIHJldHVybiBub3JtYWxpemUocGF0aDEgKyAnLycgKyBwYXRoMik7XG4gIH1cbn1cbiJdfQ==
|
package/src/tree/null.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* Use of this source code is governed by an MIT-style license that can be
|
|
7
7
|
* found in the LICENSE file at https://angular.io/license
|
|
8
8
|
*/
|
|
9
|
-
import { BaseException } from '
|
|
9
|
+
import { BaseException } from '@angular-devkit/core';
|
|
10
10
|
import { Action } from './action';
|
|
11
11
|
import { MergeStrategy, Tree, UpdateRecorder } from './interface';
|
|
12
12
|
export declare class CannotCreateFileException extends BaseException {
|
package/src/tree/null.js
CHANGED
|
@@ -7,9 +7,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
7
7
|
* Use of this source code is governed by an MIT-style license that can be
|
|
8
8
|
* found in the LICENSE file at https://angular.io/license
|
|
9
9
|
*/
|
|
10
|
+
const core_1 = require("@angular-devkit/core");
|
|
10
11
|
const exception_1 = require("../exception/exception");
|
|
11
12
|
const recorder_1 = require("./recorder");
|
|
12
|
-
class CannotCreateFileException extends
|
|
13
|
+
class CannotCreateFileException extends core_1.BaseException {
|
|
13
14
|
constructor(path) { super(`Cannot create file "${path}".`); }
|
|
14
15
|
}
|
|
15
16
|
exports.CannotCreateFileException = CannotCreateFileException;
|
|
@@ -50,4 +51,4 @@ class NullTree {
|
|
|
50
51
|
}
|
|
51
52
|
}
|
|
52
53
|
exports.NullTree = NullTree;
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVsbC5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvaGFuc2wvU291cmNlcy9kZXZraXQvIiwic291cmNlcyI6WyJwYWNrYWdlcy9hbmd1bGFyX2RldmtpdC9zY2hlbWF0aWNzL3NyYy90cmVlL251bGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7Ozs7O0dBTUc7QUFDSCwrQ0FBcUQ7QUFDckQsc0RBQW1FO0FBR25FLHlDQUFnRDtBQUdoRCwrQkFBdUMsU0FBUSxvQkFBYTtJQUMxRCxZQUFZLElBQVksSUFBSSxLQUFLLENBQUMsdUJBQXVCLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0NBQ3RFO0FBRkQsOERBRUM7QUFHRDtJQUNFLDBDQUEwQztJQUMxQyxNQUFNLENBQUMsS0FBYSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3ZDLElBQUksQ0FBQyxLQUFhLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDcEMsR0FBRyxDQUFDLEtBQWEsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNuQyxJQUFJLEtBQUssS0FBZSxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUVwQyxnQ0FBZ0M7SUFDaEMsV0FBVyxDQUFDLElBQVk7UUFDdEIsTUFBTSxJQUFJLHFDQUF5QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFDRCxZQUFZLENBQUMsTUFBc0I7UUFDakMsTUFBTSxJQUFJLHFDQUF5QixDQUFDLE1BQU0sWUFBWSw2QkFBa0I7Y0FDcEUsTUFBTSxDQUFDLElBQUk7Y0FDWCxXQUFXLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBRUQsZ0NBQWdDO0lBQ2hDLElBQUksQ0FBQyxJQUFZLEVBQUUsR0FBVztRQUM1QixNQUFNLElBQUkscUNBQXlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFZO1FBQ2pCLE1BQU0sSUFBSSxxQ0FBeUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBQ0QsTUFBTSxDQUFDLElBQVksRUFBRSxRQUF5QjtRQUM1QyxNQUFNLElBQUkseUJBQXlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFZLEVBQUUsR0FBVztRQUM5QixNQUFNLElBQUkscUNBQXlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUNELFNBQVMsQ0FBQyxJQUFZLEVBQUUsUUFBeUI7UUFDL0MsTUFBTSxJQUFJLHFDQUF5QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBZSxFQUFFLFNBQXlCLElBQVMsQ0FBQztJQUMxRCxJQUFJLE9BQU87UUFDVCxNQUFNLENBQUMsRUFBRSxDQUFDO0lBQ1osQ0FBQztDQUNGO0FBdENELDRCQXNDQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7IEJhc2VFeGNlcHRpb24gfSBmcm9tICdAYW5ndWxhci1kZXZraXQvY29yZSc7XG5pbXBvcnQgeyBGaWxlRG9lc05vdEV4aXN0RXhjZXB0aW9uIH0gZnJvbSAnLi4vZXhjZXB0aW9uL2V4Y2VwdGlvbic7XG5pbXBvcnQgeyBBY3Rpb24gfSBmcm9tICcuL2FjdGlvbic7XG5pbXBvcnQgeyBNZXJnZVN0cmF0ZWd5LCBUcmVlLCBVcGRhdGVSZWNvcmRlciB9IGZyb20gJy4vaW50ZXJmYWNlJztcbmltcG9ydCB7IFVwZGF0ZVJlY29yZGVyQmFzZSB9IGZyb20gJy4vcmVjb3JkZXInO1xuXG5cbmV4cG9ydCBjbGFzcyBDYW5ub3RDcmVhdGVGaWxlRXhjZXB0aW9uIGV4dGVuZHMgQmFzZUV4Y2VwdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHBhdGg6IHN0cmluZykgeyBzdXBlcihgQ2Fubm90IGNyZWF0ZSBmaWxlIFwiJHtwYXRofVwiLmApOyB9XG59XG5cblxuZXhwb3J0IGNsYXNzIE51bGxUcmVlIGltcGxlbWVudHMgVHJlZSB7XG4gIC8vIFNpbXBsZSByZWFkb25seSBmaWxlIHN5c3RlbSBvcGVyYXRpb25zLlxuICBleGlzdHMoX3BhdGg6IHN0cmluZykgeyByZXR1cm4gZmFsc2U7IH1cbiAgcmVhZChfcGF0aDogc3RyaW5nKSB7IHJldHVybiBudWxsOyB9XG4gIGdldChfcGF0aDogc3RyaW5nKSB7IHJldHVybiBudWxsOyB9XG4gIGdldCBmaWxlcygpOiBzdHJpbmdbXSB7IHJldHVybiBbXTsgfVxuXG4gIC8vIENoYW5nZSBjb250ZW50IG9mIGhvc3QgZmlsZXMuXG4gIGJlZ2luVXBkYXRlKHBhdGg6IHN0cmluZyk6IG5ldmVyIHtcbiAgICB0aHJvdyBuZXcgRmlsZURvZXNOb3RFeGlzdEV4Y2VwdGlvbihwYXRoKTtcbiAgfVxuICBjb21taXRVcGRhdGUocmVjb3JkOiBVcGRhdGVSZWNvcmRlcik6IG5ldmVyIHtcbiAgICB0aHJvdyBuZXcgRmlsZURvZXNOb3RFeGlzdEV4Y2VwdGlvbihyZWNvcmQgaW5zdGFuY2VvZiBVcGRhdGVSZWNvcmRlckJhc2VcbiAgICAgID8gcmVjb3JkLnBhdGhcbiAgICAgIDogJzx1bmtub3duPicpO1xuICB9XG5cbiAgLy8gQ2hhbmdlIHN0cnVjdHVyZSBvZiB0aGUgaG9zdC5cbiAgY29weShwYXRoOiBzdHJpbmcsIF90bzogc3RyaW5nKTogbmV2ZXIge1xuICAgIHRocm93IG5ldyBGaWxlRG9lc05vdEV4aXN0RXhjZXB0aW9uKHBhdGgpO1xuICB9XG4gIGRlbGV0ZShwYXRoOiBzdHJpbmcpOiBuZXZlciB7XG4gICAgdGhyb3cgbmV3IEZpbGVEb2VzTm90RXhpc3RFeGNlcHRpb24ocGF0aCk7XG4gIH1cbiAgY3JlYXRlKHBhdGg6IHN0cmluZywgX2NvbnRlbnQ6IEJ1ZmZlciB8IHN0cmluZyk6IG5ldmVyIHtcbiAgICB0aHJvdyBuZXcgQ2Fubm90Q3JlYXRlRmlsZUV4Y2VwdGlvbihwYXRoKTtcbiAgfVxuICByZW5hbWUocGF0aDogc3RyaW5nLCBfdG86IHN0cmluZyk6IG5ldmVyIHtcbiAgICB0aHJvdyBuZXcgRmlsZURvZXNOb3RFeGlzdEV4Y2VwdGlvbihwYXRoKTtcbiAgfVxuICBvdmVyd3JpdGUocGF0aDogc3RyaW5nLCBfY29udGVudDogQnVmZmVyIHwgc3RyaW5nKTogbmV2ZXIge1xuICAgIHRocm93IG5ldyBGaWxlRG9lc05vdEV4aXN0RXhjZXB0aW9uKHBhdGgpO1xuICB9XG5cbiAgYXBwbHkoX2FjdGlvbjogQWN0aW9uLCBfc3RyYXRlZ3k/OiBNZXJnZVN0cmF0ZWd5KTogdm9pZCB7fVxuICBnZXQgYWN0aW9ucygpOiBBY3Rpb25bXSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG59XG4iXX0=
|
package/src/tree/virtual.d.ts
CHANGED
|
@@ -1,30 +1,37 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google Inc. All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.io/license
|
|
8
|
+
*/
|
|
9
|
+
import { Path } from '@angular-devkit/core';
|
|
3
10
|
import { Action, ActionList } from './action';
|
|
4
11
|
import { FileEntry, MergeStrategy, Tree, UpdateRecorder } from './interface';
|
|
5
12
|
/**
|
|
6
13
|
* The root class of most trees.
|
|
7
14
|
*/
|
|
8
15
|
export declare class VirtualTree implements Tree {
|
|
9
|
-
protected _root: Map<
|
|
16
|
+
protected _root: Map<Path, FileEntry>;
|
|
10
17
|
protected _actions: ActionList;
|
|
11
|
-
protected _cacheMap: Map<
|
|
18
|
+
protected _cacheMap: Map<Path, FileEntry>;
|
|
12
19
|
/**
|
|
13
20
|
* Normalize the path. Made available to subclasses to overload.
|
|
14
21
|
* @param path The path to normalize.
|
|
15
22
|
* @returns {string} A path that is resolved and normalized.
|
|
16
23
|
*/
|
|
17
|
-
protected _normalizePath(path: string):
|
|
24
|
+
protected _normalizePath(path: string): Path;
|
|
18
25
|
/**
|
|
19
26
|
* A list of file names contained by this Tree.
|
|
20
27
|
* @returns {[string]} File paths.
|
|
21
28
|
*/
|
|
22
29
|
readonly files: string[];
|
|
23
|
-
readonly root: Map<
|
|
24
|
-
readonly staging: Map<
|
|
30
|
+
readonly root: Map<Path, FileEntry>;
|
|
31
|
+
readonly staging: Map<Path, FileEntry>;
|
|
25
32
|
get(path: string): FileEntry | null;
|
|
26
33
|
has(path: string): boolean;
|
|
27
|
-
set(entry: FileEntry): Map<
|
|
34
|
+
set(entry: FileEntry): Map<Path, FileEntry>;
|
|
28
35
|
exists(path: string): boolean;
|
|
29
36
|
read(path: string): Buffer | null;
|
|
30
37
|
beginUpdate(path: string): UpdateRecorder;
|
|
@@ -33,10 +40,10 @@ export declare class VirtualTree implements Tree {
|
|
|
33
40
|
create(path: string, content: Buffer | string): void;
|
|
34
41
|
rename(path: string, to: string): void;
|
|
35
42
|
delete(path: string): void;
|
|
36
|
-
protected _overwrite(path:
|
|
37
|
-
protected _create(path:
|
|
38
|
-
protected _rename(path:
|
|
39
|
-
protected _delete(path:
|
|
43
|
+
protected _overwrite(path: Path, content: Buffer, action?: Action): void;
|
|
44
|
+
protected _create(path: Path, content: Buffer, action?: Action): void;
|
|
45
|
+
protected _rename(path: Path, to: Path, action?: Action, force?: boolean): void;
|
|
46
|
+
protected _delete(path: Path, action?: Action): void;
|
|
40
47
|
apply(action: Action, strategy: MergeStrategy): void;
|
|
41
48
|
readonly actions: Action[];
|
|
42
49
|
/**
|
package/src/tree/virtual.js
CHANGED
|
@@ -7,8 +7,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
7
7
|
* Use of this source code is governed by an MIT-style license that can be
|
|
8
8
|
* found in the LICENSE file at https://angular.io/license
|
|
9
9
|
*/
|
|
10
|
+
const core_1 = require("@angular-devkit/core");
|
|
10
11
|
const exception_1 = require("../exception/exception");
|
|
11
|
-
const path_1 = require("../utility/path");
|
|
12
12
|
const action_1 = require("./action");
|
|
13
13
|
const entry_1 = require("./entry");
|
|
14
14
|
const interface_1 = require("./interface");
|
|
@@ -28,7 +28,7 @@ class VirtualTree {
|
|
|
28
28
|
* @returns {string} A path that is resolved and normalized.
|
|
29
29
|
*/
|
|
30
30
|
_normalizePath(path) {
|
|
31
|
-
return
|
|
31
|
+
return core_1.normalize('/' + path);
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
34
34
|
* A list of file names contained by this Tree.
|
|
@@ -243,4 +243,4 @@ class VirtualTree {
|
|
|
243
243
|
}
|
|
244
244
|
}
|
|
245
245
|
exports.VirtualTree = VirtualTree;
|
|
246
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlydHVhbC5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvaGFuc2wvU291cmNlcy9kZXZraXQvIiwic291cmNlcyI6WyJwYWNrYWdlcy9hbmd1bGFyX2RldmtpdC9zY2hlbWF0aWNzL3NyYy90cmVlL3ZpcnR1YWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7Ozs7O0dBTUc7QUFDSCxzREFNZ0M7QUFDaEMsMENBQStEO0FBQy9ELHFDQUFzRTtBQUN0RSxtQ0FBMEM7QUFDMUMsMkNBQTZFO0FBQzdFLHlDQUFnRDtBQUdoRDs7R0FFRztBQUNIO0lBQUE7UUFDWSxVQUFLLEdBQUcsSUFBSSxHQUFHLEVBQTRCLENBQUM7UUFDNUMsYUFBUSxHQUFHLElBQUksbUJBQVUsRUFBRSxDQUFDO1FBQzVCLGNBQVMsR0FBRyxJQUFJLEdBQUcsRUFBNEIsQ0FBQztJQXNQNUQsQ0FBQztJQXBQQzs7OztPQUlHO0lBQ08sY0FBYyxDQUFDLElBQVk7UUFDbkMsTUFBTSxDQUFDLG9CQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksS0FBSztRQUNQLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixNQUFNLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFDRCxJQUFJLE9BQU87UUFDVCxNQUFNLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxHQUFHLENBQUMsSUFBWTtRQUNkLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxj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TSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELFFBQVE7UUFDTiw4REFBOEQ7UUFDOUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFVO1FBQ3RCLE1BQU0sQ0FBRSxJQUFvQixDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLElBQVUsRUFBRSxLQUFXLEVBQUUsV0FBMEIseUJBQWEsQ0FBQyxPQUFPO1FBQ25GLE1BQU0sT0FBTyxHQUFJLElBQW9CLENBQUMsTUFBTSxFQUFpQixDQUFDO1FBQzlELE9BQU8sQ0FBQyxLQUFLLENBQUUsS0FBcUIsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUVoRCxNQUFNLENBQUMsT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQVU7UUFDeEIsTUFBTSxPQUFPLEdBQUksSUFBb0IsQ0FBQyxNQUFNLEVBQWlCLENBQUM7UUFDOUQsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRW5CLE1BQU0sQ0FBQyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGO0FBelBELGtDQXlQQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7XG4gIENvbnRlbnRIYXNNdXRhdGVkRXhjZXB0aW9uLFxuICBGaWxlQWxyZWFkeUV4aXN0RXhjZXB0aW9uLFxuICBGaWxlRG9lc05vdEV4aXN0RXhjZXB0aW9uLFxuICBJbnZhbGlkVXBkYXRlUmVjb3JkRXhjZXB0aW9uLFxuICBNZXJnZUNvbmZsaWN0RXhjZXB0aW9uLFxufSBmcm9tICcuLi9leGNlcHRpb24vZXhjZXB0aW9uJztcbmltcG9ydCB7IFNjaGVtYXRpY1BhdGgsIG5vcm1hbGl6ZVBhdGggfSBmcm9tICcuLi91dGlsaXR5L3BhdGgnO1xuaW1wb3J0IHsgQWN0aW9uLCBBY3Rpb25MaXN0LCBVbmtub3duQWN0aW9uRXhjZXB0aW9uIH0gZnJvbSAnLi9hY3Rpb24nO1xuaW1wb3J0IHsgU2ltcGxlRmlsZUVudHJ5IH0gZnJvbSAnLi9lbnRyeSc7XG5pbXBvcnQgeyBGaWxlRW50cnksIE1lcmdlU3RyYXRlZ3ksIFRyZWUsIFVwZGF0ZVJlY29yZGVyIH0gZnJvbSAnLi9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVXBkYXRlUmVjb3JkZXJCYXNlIH0gZnJvbSAnLi9yZWNvcmRlcic7XG5cblxuLyoqXG4gKiBUaGUgcm9vdCBjbGFzcyBvZiBtb3N0IHRyZWVzLlxuICovXG5leHBvcnQgY2xhc3MgVmlydHVhbFRyZWUgaW1wbGVtZW50cyBUcmVlIHtcbiAgcHJvdGVjdGVkIF9yb290ID0gbmV3IE1hcDxTY2hlbWF0aWNQYXRoLCBGaWxlRW50cnk+KCk7XG4gIHByb3RlY3RlZCBfYWN0aW9ucyA9IG5ldyBBY3Rpb25MaXN0KCk7XG4gIHByb3RlY3RlZCBfY2FjaGVNYXAgPSBuZXcgTWFwPFNjaGVtYXRpY1BhdGgsIEZpbGVFbnRyeT4oKTtcblxuICAvKipcbiAgICogTm9ybWFsaXplIHRoZSBwYXRoLiBNYWRlIGF2YWlsYWJsZSB0byBzdWJjbGFzc2VzIHRvIG92ZXJsb2FkLlxuICAgKiBAcGFyYW0gcGF0aCBUaGUgcGF0aCB0byBub3JtYWxpemUuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IEEgcGF0aCB0aGF0IGlzIHJlc29sdmVkIGFuZCBub3JtYWxpemVkLlxuICAgKi9cbiAgcHJvdGVjdGVkIF9ub3JtYWxpemVQYXRoKHBhdGg6IHN0cmluZyk6IFNjaGVtYXRpY1BhdGgge1xuICAgIHJldHVybiBub3JtYWxpemVQYXRoKHBhdGgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBmaWxlIG5hbWVzIGNvbnRhaW5lZCBieSB0aGlzIFRyZWUuXG4gICAqIEByZXR1cm5zIHtbc3RyaW5nXX0gRmlsZSBwYXRocy5cbiAgICovXG4gIGdldCBmaWxlcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFsuLi5uZXcgU2V0PHN0cmluZz4oWy4uLnRoaXMuX3Jvb3Qua2V5cygpLCAuLi50aGlzLl9jYWNoZU1hcC5rZXlzKCldKS52YWx1ZXMoKV07XG4gIH1cblxuICBnZXQgcm9vdCgpIHtcbiAgICByZXR1cm4gbmV3IE1hcCh0aGlzLl9yb290KTtcbiAgfVxuICBnZXQgc3RhZ2luZygpIHtcbiAgICByZXR1cm4gbmV3IE1hcCh0aGlzLl9jYWNoZU1hcCk7XG4gIH1cblxuICBnZXQocGF0aDogc3RyaW5nKTogRmlsZUVudHJ5IHwgbnVsbCB7XG4gICAgY29uc3Qgbm9ybWFsaXplZFBhdGggPSB0aGlzLl9ub3JtYWxpemVQYXRoKHBhdGgpO1xuXG4gICAgcmV0dXJuIHRoaXMuX2NhY2hlTWFwLmdldChub3JtYWxpemVkUGF0aCkgfHwgdGhpcy5fcm9vdC5nZXQobm9ybWFsaXplZFBhdGgpIHx8IG51bGw7XG4gIH1cbiAgaGFzKHBhdGg6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmdldChwYXRoKSAhPSBudWxsO1xuICB9XG4gIHNldChlbnRyeTogRmlsZUVudHJ5KSB7XG4gICAgcmV0dXJuIHRoaXMuX2NhY2hlTWFwLnNldChlbnRyeS5wYXRoLCBlbnRyeSk7XG4gIH1cblxuICBleGlzdHMocGF0aDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKHBhdGgpO1xuICB9XG5cbiAgcmVhZChwYXRoOiBzdHJpbmcpOiBCdWZmZXIgfCBudWxsIHtcbiAgICBjb25zdCBlbnRyeSA9IHRoaXMuZ2V0KHBhdGgpO1xuXG4gICAgcmV0dXJuIGVudHJ5ID8gZW50cnkuY29udGVudCA6IG51bGw7XG4gIH1cblxuICBiZWdpblVwZGF0ZShwYXRoOiBzdHJpbmcpOiBVcGRhdGVSZWNvcmRlciB7XG4gICAgY29uc3QgZW50cnkgPSB0aGlzLmdldChwYXRoKTtcbiAgICBpZiAoIWVudHJ5KSB7XG4gICAgICB0aHJvdyBuZXcgRmlsZURvZXNOb3RFeGlzdEV4Y2VwdGlvbihwYXRoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IFVwZGF0ZVJlY29yZGVyQmFzZShlbnRyeSk7XG4gIH1cblxuICBjb21taXRVcGRhdGUocmVjb3JkOiBVcGRhdGVSZWNvcmRlcikge1xuICAgIGlmIChyZWNvcmQgaW5zdGFuY2VvZiBVcGRhdGVSZWNvcmRlckJhc2UpIHtcbiAgICAgIGNvbnN0IHBhdGggPSByZWNvcmQucGF0aDtcbiAgICAgIGNvbnN0IGVudHJ5ID0gdGhpcy5nZXQocGF0aCk7XG4gICAgICBpZiAoIWVudHJ5KSB7XG4gICAgICAgIHRocm93IG5ldyBDb250ZW50SGFzTXV0YXRlZEV4Y2VwdGlvbihwYXRoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG5ld0NvbnRlbnQgPSByZWNvcmQuYXBwbHkoZW50cnkuY29udGVudCk7XG4gICAgICAgIHRoaXMub3ZlcndyaXRlKHBhdGgsIG5ld0NvbnRlbnQpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFVwZGF0ZVJlY29yZEV4Y2VwdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIG92ZXJ3cml0ZShwYXRoOiBzdHJpbmcsIGNvbnRlbnQ6IEJ1ZmZlciB8IHN0cmluZykge1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRUbyA9IHRoaXMuX25vcm1hbGl6ZVBhdGgocGF0aCk7XG4gICAgaWYgKHR5cGVvZiBjb250ZW50ID09ICdzdHJpbmcnKSB7XG4gICAgICBjb250ZW50ID0gbmV3IEJ1ZmZlcihjb250ZW50LCAndXRmLTgnKTtcbiAgICB9XG4gICAgY29uc3QgbWF5YmVFbnRyeSA9IHRoaXMuZ2V0KG5vcm1hbGl6ZWRUbyk7XG4gICAgaWYgKG1heWJlRW50cnkgJiYgbWF5YmVFbnRyeS5jb250ZW50LmVxdWFscyhjb250ZW50KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9vdmVyd3JpdGUobm9ybWFsaXplZFRvLCBjb250ZW50KTtcbiAgfVxuICBjcmVhdGUocGF0aDogc3RyaW5nLCBjb250ZW50OiBCdWZmZXIgfCBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBub3JtYWxpemVkVG8gPSB0aGlzLl9ub3JtYWxpemVQYXRoKHBhdGgpO1xuICAgIGlmICh0eXBlb2YgY29udGVudCA9PSAnc3RyaW5nJykge1xuICAgICAgY29udGVudCA9IG5ldyBCdWZmZXIoY29udGVudCk7XG4gICAgfVxuICAgIHRoaXMuX2NyZWF0ZShub3JtYWxpemVkVG8sIGNvbnRlbnQpO1xuICB9XG4gIHJlbmFtZShwYXRoOiBzdHJpbmcsIHRvOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBub3JtYWxpemVkUGF0aCA9IHRoaXMuX25vcm1hbGl6ZVBhdGgocGF0aCk7XG4gICAgY29uc3Qgbm9ybWFsaXplZFRvID0gdGhpcy5fbm9ybWFsaXplUGF0aCh0byk7XG4gICAgaWYgKG5vcm1hbGl6ZWRQYXRoID09PSBub3JtYWxpemVkVG8pIHtcbiAgICAgIC8vIE5vdGhpbmcgdG8gZG8uXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3JlbmFtZShub3JtYWxpemVkUGF0aCwgbm9ybWFsaXplZFRvKTtcbiAgfVxuXG4gIGRlbGV0ZShwYXRoOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLl9kZWxldGUodGhpcy5fbm9ybWFsaXplUGF0aChwYXRoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX292ZXJ3cml0ZShwYXRoOiBTY2hlbWF0aWNQYXRoLCBjb250ZW50OiBCdWZmZXIsIGFjdGlvbj86IEFjdGlvbikge1xuICAgIGlmICghdGhpcy5oYXMocGF0aCkpIHtcbiAgICAgIHRocm93IG5ldyBGaWxlRG9lc05vdEV4aXN0RXhjZXB0aW9uKHBhdGgpO1xuICAgIH1cbiAgICAvLyBVcGRhdGUgdGhlIGFjdGlvbiBidWZmZXIuXG4gICAgaWYgKGFjdGlvbikge1xuICAgICAgdGhpcy5fYWN0aW9ucy5wdXNoKGFjdGlvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2FjdGlvbnMub3ZlcndyaXRlKHBhdGgsIGNvbnRlbnQpO1xuICAgIH1cbiAgICB0aGlzLnNldChuZXcgU2ltcGxlRmlsZUVudHJ5KHBhdGgsIGNvbnRlbnQpKTtcbiAgfVxuICBwcm90ZWN0ZWQgX2NyZWF0ZShwYXRoOiBTY2hlbWF0aWNQYXRoLCBjb250ZW50OiBCdWZmZXIsIGFjdGlvbj86IEFjdGlvbikge1xuICAgIGlmICh0aGlzLl9jYWNoZU1hcC5oYXMocGF0aCkpIHtcbiAgICAgIHRocm93IG5ldyBGaWxlQWxyZWFkeUV4aXN0RXhjZXB0aW9uKHBhdGgpO1xuICAgIH1cblxuICAgIGlmIChhY3Rpb24pIHtcbiAgICAgIHRoaXMuX2FjdGlvbnMucHVzaChhY3Rpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9hY3Rpb25zLmNyZWF0ZShwYXRoLCBjb250ZW50KTtcbiAgICB9XG4gICAgdGhpcy5zZXQobmV3IFNpbXBsZUZpbGVFbnRyeShwYXRoLCBjb250ZW50IGFzIEJ1ZmZlcikpO1xuICB9XG4gIHByb3RlY3RlZCBfcmVuYW1lKHBhdGg6IFNjaGVtYXRpY1BhdGgsIHRvOiBTY2hlbWF0aWNQYXRoLCBhY3Rpb24/OiBBY3Rpb24sIGZvcmNlID0gZmFsc2UpIHtcbiAgICBjb25zdCBlbnRyeSA9IHRoaXMuZ2V0KHBhdGgpO1xuICAgIGlmICghZW50cnkpIHtcbiAgICAgIHRocm93IG5ldyBGaWxlRG9lc05vdEV4aXN0RXhjZXB0aW9uKHBhdGgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5fY2FjaGVNYXAuaGFzKHRvKSAmJiAhZm9yY2UpIHtcbiAgICAgIHRocm93IG5ldyBGaWxlQWxyZWFkeUV4aXN0RXhjZXB0aW9uKHRvKTtcbiAgICB9XG5cbiAgICBpZiAoYWN0aW9uKSB7XG4gICAgICB0aGlzLl9hY3Rpb25zLnB1c2goYWN0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fYWN0aW9ucy5yZW5hbWUocGF0aCwgdG8pO1xuICAgIH1cblxuICAgIHRoaXMuc2V0KG5ldyBTaW1wbGVGaWxlRW50cnkodG8sIGVudHJ5LmNvbnRlbnQpKTtcbiAgICB0aGlzLl9jYWNoZU1hcC5kZWxldGUocGF0aCk7XG4gIH1cbiAgcHJvdGVjdGVkIF9kZWxldGUocGF0aDogU2NoZW1hdGljUGF0aCwgYWN0aW9uPzogQWN0aW9uKSB7XG4gICAgaWYgKCF0aGlzLmhhcyhwYXRoKSkge1xuICAgICAgdGhyb3cgbmV3IEZpbGVEb2VzTm90RXhpc3RFeGNlcHRpb24ocGF0aCk7XG4gICAgfVxuXG4gICAgaWYgKGFjdGlvbikge1xuICAgICAgdGhpcy5fYWN0aW9ucy5wdXNoKGFjdGlvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2FjdGlvbnMuZGVsZXRlKHBhdGgpO1xuICAgIH1cbiAgICB0aGlzLl9jYWNoZU1hcC5kZWxldGUocGF0aCk7XG4gIH1cblxuXG4gIGFwcGx5KGFjdGlvbjogQWN0aW9uLCBzdHJhdGVneTogTWVyZ2VTdHJhdGVneSkge1xuICAgIGlmICh0aGlzLl9hY3Rpb25zLmhhcyhhY3Rpb24pKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHN3aXRjaCAoYWN0aW9uLmtpbmQpIHtcbiAgICAgIGNhc2UgJ28nOlxuICAgICAgICAvLyBVcGRhdGUgdGhlIGFjdGlvbiBidWZmZXIuXG4gICAgICAgIHRoaXMuX292ZXJ3cml0ZShhY3Rpb24ucGF0aCwgYWN0aW9uLmNvbnRlbnQsIGFjdGlvbik7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdjJzpcbiAgICAgICAgaWYgKHRoaXMuX2NhY2hlTWFwLmhhcyhhY3Rpb24ucGF0aCkpIHtcbiAgICAgICAgICBzd2l0Y2ggKHN0cmF0ZWd5KSB7XG4gICAgICAgICAgICBjYXNlIE1lcmdlU3RyYXRlZ3kuRXJyb3I6IHRocm93IG5ldyBNZXJnZUNvbmZsaWN0RXhjZXB0aW9uKGFjdGlvbi5wYXRoKTtcbiAgICAgICAgICAgIGNhc2UgTWVyZ2VTdHJhdGVneS5PdmVyd3JpdGU6XG4gICAgICAgICAgICAgIHRoaXMuX292ZXJ3cml0ZShhY3Rpb24ucGF0aCwgYWN0aW9uLmNvbnRlbnQsIGFjdGlvbik7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl9jcmVhdGUoYWN0aW9uLnBhdGgsIGFjdGlvbi5jb250ZW50LCBhY3Rpb24pO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdyJzpcbiAgICAgICAgY29uc3QgZm9yY2UgPSAoc3RyYXRlZ3kgJiBNZXJnZVN0cmF0ZWd5LkFsbG93T3ZlcndyaXRlQ29uZmxpY3QpICE9IDA7XG4gICAgICAgIHRoaXMuX3JlbmFtZShhY3Rpb24ucGF0aCwgYWN0aW9uLnRvLCBhY3Rpb24sIGZvcmNlKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ2QnOiB0aGlzLl9kZWxldGUoYWN0aW9uLnBhdGgsIGFjdGlvbik7IGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OiB0aHJvdyBuZXcgVW5rbm93bkFjdGlvbkV4Y2VwdGlvbihhY3Rpb24pO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJldHVybnMgYW4gb3JkZXJlZCBsaXN0IG9mIEFjdGlvbiB0byBnZXQgdGhpcyBob3N0LlxuICBnZXQgYWN0aW9ucygpOiBBY3Rpb25bXSB7XG4gICAgcmV0dXJuIFsuLi50aGlzLl9hY3Rpb25zXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGxvdyBzdWJjbGFzc2VzIHRvIGNvcHkgdG8gYSB0cmVlIHRoZWlyIG93biBwcm9wZXJ0aWVzLlxuICAgKiBAcmV0dXJuIHtUcmVlfVxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJvdGVjdGVkIF9jb3B5VG88VCBleHRlbmRzIFZpcnR1YWxUcmVlPih0cmVlOiBUKTogdm9pZCB7XG4gICAgdHJlZS5fcm9vdCA9IG5ldyBNYXAodGhpcy5fcm9vdCk7XG4gICAgdGhpcy5fYWN0aW9ucy5mb3JFYWNoKGFjdGlvbiA9PiB0cmVlLl9hY3Rpb25zLnB1c2goYWN0aW9uKSk7XG4gICAgWy4uLnRoaXMuX2NhY2hlTWFwLmVudHJpZXMoKV0uZm9yRWFjaCgoW3BhdGgsIGVudHJ5XSkgPT4ge1xuICAgICAgdHJlZS5fY2FjaGVNYXAuc2V0KHBhdGgsIGVudHJ5KTtcbiAgICB9KTtcbiAgfVxuXG4gIGJyYW5jaCgpOiBUcmVlIHtcbiAgICBjb25zdCBuZXdUcmVlID0gbmV3IFZpcnR1YWxUcmVlKCk7XG4gICAgdGhpcy5fY29weVRvKG5ld1RyZWUpO1xuXG4gICAgcmV0dXJuIG5ld1RyZWU7XG4gIH1cblxuICAvLyBDcmVhdGVzIGEgbmV3IGhvc3QgZnJvbSAyIGhvc3RzLlxuICBtZXJnZShvdGhlcjogVHJlZSwgc3RyYXRlZ3k6IE1lcmdlU3RyYXRlZ3kgPSBNZXJnZVN0cmF0ZWd5LkRlZmF1bHQpIHtcbiAgICBvdGhlci5hY3Rpb25zLmZvckVhY2goYWN0aW9uID0+IHRoaXMuYXBwbHkoYWN0aW9uLCBzdHJhdGVneSkpO1xuICB9XG5cbiAgb3B0aW1pemUoKSB7XG4gICAgLy8gVGhpcyBkZXN0cm95cyB0aGUgaGlzdG9yeS4gSG9wZSB5b3Uga25vdyB3aGF0IHlvdSdyZSBkb2luZy5cbiAgICB0aGlzLl9hY3Rpb25zLm9wdGltaXplKCk7XG4gIH1cblxuICBzdGF0aWMgYnJhbmNoKHRyZWU6IFRyZWUpIHtcbiAgICByZXR1cm4gKHRyZWUgYXMgVmlydHVhbFRyZWUpLmJyYW5jaCgpO1xuICB9XG5cbiAgc3RhdGljIG1lcmdlKHRyZWU6IFRyZWUsIG90aGVyOiBUcmVlLCBzdHJhdGVneTogTWVyZ2VTdHJhdGVneSA9IE1lcmdlU3RyYXRlZ3kuRGVmYXVsdCk6IFRyZWUge1xuICAgIGNvbnN0IG5ld1RyZWUgPSAodHJlZSBhcyBWaXJ0dWFsVHJlZSkuYnJhbmNoKCkgYXMgVmlydHVhbFRyZWU7XG4gICAgbmV3VHJlZS5tZXJnZSgob3RoZXIgYXMgVmlydHVhbFRyZWUpLCBzdHJhdGVneSk7XG5cbiAgICByZXR1cm4gbmV3VHJlZTtcbiAgfVxuXG4gIHN0YXRpYyBvcHRpbWl6ZSh0cmVlOiBUcmVlKSB7XG4gICAgY29uc3QgbmV3VHJlZSA9ICh0cmVlIGFzIFZpcnR1YWxUcmVlKS5icmFuY2goKSBhcyBWaXJ0dWFsVHJlZTtcbiAgICBuZXdUcmVlLm9wdGltaXplKCk7XG5cbiAgICByZXR1cm4gbmV3VHJlZTtcbiAgfVxufVxuIl19
|
|
246
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlydHVhbC5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvaGFuc2wvU291cmNlcy9kZXZraXQvIiwic291cmNlcyI6WyJwYWNrYWdlcy9hbmd1bGFyX2RldmtpdC9zY2hlbWF0aWNzL3NyYy90cmVlL3ZpcnR1YWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7Ozs7O0dBTUc7QUFDSCwrQ0FBdUQ7QUFDdkQsc0RBTWdDO0FBQ2hDLHFDQUFzRTtBQUN0RSxtQ0FBMEM7QUFDMUMsMkNBQTZFO0FBQzdFLHlDQUFnRDtBQUdoRDs7R0FFRztBQUNIO0lBQUE7UUFDWSxVQUFLLEdBQUcsSUFBSSxHQUFHLEVBQW1CLENBQUM7UUFDbkMsYUFBUSxHQUFHLElBQUksbUJBQVUsRUFBRSxDQUFDO1FBQzVCLGNBQVMsR0FBRyxJQUFJLEdBQUcsRUFBbUIsQ0FBQztJQXNQbkQsQ0FBQztJQXBQQzs7OztPQUlHO0lBQ08sY0FBYyxDQUFDLElBQVk7UUFDbkMsTUFBTSxDQUFDLGdCQUFTLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLEtBQUs7UUFDUCxNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sTUFBTSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBQ0QsSUFBSSxPQUFPO1FBQ1QsTUFBTSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsR0FBRyxDQUFDLElBQVk7UUFDZCxNQUFNLGNBQWMsR0FBRyxJ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QyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsUUFBUTtRQUNOLDhEQUE4RDtRQUM5RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQVU7UUFDdEIsTUFBTSxDQUFFLElBQW9CLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBVSxFQUFFLEtBQVcsRUFBRSxXQUEwQix5QkFBYSxDQUFDLE9BQU87UUFDbkYsTUFBTSxPQUFPLEdBQUksSUFBb0IsQ0FBQyxNQUFNLEVBQWlCLENBQUM7UUFDOUQsT0FBTyxDQUFDLEtBQUssQ0FBRSxLQUFxQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRWhELE1BQU0sQ0FBQyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBVTtRQUN4QixNQUFNLE9BQU8sR0FBSSxJQUFvQixDQUFDLE1BQU0sRUFBaUIsQ0FBQztRQUM5RCxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFbkIsTUFBTSxDQUFDLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0Y7QUF6UEQsa0NBeVBDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0IHsgUGF0aCwgbm9ybWFsaXplIH0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29udGVudEhhc011dGF0ZWRFeGNlcHRpb24sXG4gIEZpbGVBbHJlYWR5RXhpc3RFeGNlcHRpb24sXG4gIEZpbGVEb2VzTm90RXhpc3RFeGNlcHRpb24sXG4gIEludmFsaWRVcGRhdGVSZWNvcmRFeGNlcHRpb24sXG4gIE1lcmdlQ29uZmxpY3RFeGNlcHRpb24sXG59IGZyb20gJy4uL2V4Y2VwdGlvbi9leGNlcHRpb24nO1xuaW1wb3J0IHsgQWN0aW9uLCBBY3Rpb25MaXN0LCBVbmtub3duQWN0aW9uRXhjZXB0aW9uIH0gZnJvbSAnLi9hY3Rpb24nO1xuaW1wb3J0IHsgU2ltcGxlRmlsZUVudHJ5IH0gZnJvbSAnLi9lbnRyeSc7XG5pbXBvcnQgeyBGaWxlRW50cnksIE1lcmdlU3RyYXRlZ3ksIFRyZWUsIFVwZGF0ZVJlY29yZGVyIH0gZnJvbSAnLi9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVXBkYXRlUmVjb3JkZXJCYXNlIH0gZnJvbSAnLi9yZWNvcmRlcic7XG5cblxuLyoqXG4gKiBUaGUgcm9vdCBjbGFzcyBvZiBtb3N0IHRyZWVzLlxuICovXG5leHBvcnQgY2xhc3MgVmlydHVhbFRyZWUgaW1wbGVtZW50cyBUcmVlIHtcbiAgcHJvdGVjdGVkIF9yb290ID0gbmV3IE1hcDxQYXRoLCBGaWxlRW50cnk+KCk7XG4gIHByb3RlY3RlZCBfYWN0aW9ucyA9IG5ldyBBY3Rpb25MaXN0KCk7XG4gIHByb3RlY3RlZCBfY2FjaGVNYXAgPSBuZXcgTWFwPFBhdGgsIEZpbGVFbnRyeT4oKTtcblxuICAvKipcbiAgICogTm9ybWFsaXplIHRoZSBwYXRoLiBNYWRlIGF2YWlsYWJsZSB0byBzdWJjbGFzc2VzIHRvIG92ZXJsb2FkLlxuICAgKiBAcGFyYW0gcGF0aCBUaGUgcGF0aCB0byBub3JtYWxpemUuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IEEgcGF0aCB0aGF0IGlzIHJlc29sdmVkIGFuZCBub3JtYWxpemVkLlxuICAgKi9cbiAgcHJvdGVjdGVkIF9ub3JtYWxpemVQYXRoKHBhdGg6IHN0cmluZyk6IFBhdGgge1xuICAgIHJldHVybiBub3JtYWxpemUoJy8nICsgcGF0aCk7XG4gIH1cblxuICAvKipcbiAgICogQSBsaXN0IG9mIGZpbGUgbmFtZXMgY29udGFpbmVkIGJ5IHRoaXMgVHJlZS5cbiAgICogQHJldHVybnMge1tzdHJpbmddfSBGaWxlIHBhdGhzLlxuICAgKi9cbiAgZ2V0IGZpbGVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gWy4uLm5ldyBTZXQ8c3RyaW5nPihbLi4udGhpcy5fcm9vdC5rZXlzKCksIC4uLnRoaXMuX2NhY2hlTWFwLmtleXMoKV0pLnZhbHVlcygpXTtcbiAgfVxuXG4gIGdldCByb290KCkge1xuICAgIHJldHVybiBuZXcgTWFwKHRoaXMuX3Jvb3QpO1xuICB9XG4gIGdldCBzdGFnaW5nKCkge1xuICAgIHJldHVybiBuZXcgTWFwKHRoaXMuX2NhY2hlTWFwKTtcbiAgfVxuXG4gIGdldChwYXRoOiBzdHJpbmcpOiBGaWxlRW50cnkgfCBudWxsIHtcbiAgICBjb25zdCBub3JtYWxpemVkUGF0aCA9IHRoaXMuX25vcm1hbGl6ZVBhdGgocGF0aCk7XG5cbiAgICByZXR1cm4gdGhpcy5fY2FjaGVNYXAuZ2V0KG5vcm1hbGl6ZWRQYXRoKSB8fCB0aGlzLl9yb290LmdldChub3JtYWxpemVkUGF0aCkgfHwgbnVsbDtcbiAgfVxuICBoYXMocGF0aDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KHBhdGgpICE9IG51bGw7XG4gIH1cbiAgc2V0KGVudHJ5OiBGaWxlRW50cnkpIHtcbiAgICByZXR1cm4gdGhpcy5fY2FjaGVNYXAuc2V0KGVudHJ5LnBhdGgsIGVudHJ5KTtcbiAgfVxuXG4gIGV4aXN0cyhwYXRoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMocGF0aCk7XG4gIH1cblxuICByZWFkKHBhdGg6IHN0cmluZyk6IEJ1ZmZlciB8IG51bGwge1xuICAgIGNvbnN0IGVudHJ5ID0gdGhpcy5nZXQocGF0aCk7XG5cbiAgICByZXR1cm4gZW50cnkgPyBlbnRyeS5jb250ZW50IDogbnVsbDtcbiAgfVxuXG4gIGJlZ2luVXBkYXRlKHBhdGg6IHN0cmluZyk6IFVwZGF0ZVJlY29yZGVyIHtcbiAgICBjb25zdCBlbnRyeSA9IHRoaXMuZ2V0KHBhdGgpO1xuICAgIGlmICghZW50cnkpIHtcbiAgICAgIHRocm93IG5ldyBGaWxlRG9lc05vdEV4aXN0RXhjZXB0aW9uKHBhdGgpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgVXBkYXRlUmVjb3JkZXJCYXNlKGVudHJ5KTtcbiAgfVxuXG4gIGNvbW1pdFVwZGF0ZShyZWNvcmQ6IFVwZGF0ZVJlY29yZGVyKSB7XG4gICAgaWYgKHJlY29yZCBpbnN0YW5jZW9mIFVwZGF0ZVJlY29yZGVyQmFzZSkge1xuICAgICAgY29uc3QgcGF0aCA9IHJlY29yZC5wYXRoO1xuICAgICAgY29uc3QgZW50cnkgPSB0aGlzLmdldChwYXRoKTtcbiAgICAgIGlmICghZW50cnkpIHtcbiAgICAgICAgdGhyb3cgbmV3IENvbnRlbnRIYXNNdXRhdGVkRXhjZXB0aW9uKHBhdGgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgbmV3Q29udGVudCA9IHJlY29yZC5hcHBseShlbnRyeS5jb250ZW50KTtcbiAgICAgICAgdGhpcy5vdmVyd3JpdGUocGF0aCwgbmV3Q29udGVudCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVXBkYXRlUmVjb3JkRXhjZXB0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgb3ZlcndyaXRlKHBhdGg6IHN0cmluZywgY29udGVudDogQnVmZmVyIHwgc3RyaW5nKSB7XG4gICAgY29uc3Qgbm9ybWFsaXplZFRvID0gdGhpcy5fbm9ybWFsaXplUGF0aChwYXRoKTtcbiAgICBpZiAodHlwZW9mIGNvbnRlbnQgPT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnRlbnQgPSBuZXcgQnVmZmVyKGNvbnRlbnQsICd1dGYtOCcpO1xuICAgIH1cbiAgICBjb25zdCBtYXliZUVudHJ5ID0gdGhpcy5nZXQobm9ybWFsaXplZFRvKTtcbiAgICBpZiAobWF5YmVFbnRyeSAmJiBtYXliZUVudHJ5LmNvbnRlbnQuZXF1YWxzKGNvbnRlbnQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX292ZXJ3cml0ZShub3JtYWxpemVkVG8sIGNvbnRlbnQpO1xuICB9XG4gIGNyZWF0ZShwYXRoOiBzdHJpbmcsIGNvbnRlbnQ6IEJ1ZmZlciB8IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRUbyA9IHRoaXMuX25vcm1hbGl6ZVBhdGgocGF0aCk7XG4gICAgaWYgKHR5cGVvZiBjb250ZW50ID09ICdzdHJpbmcnKSB7XG4gICAgICBjb250ZW50ID0gbmV3IEJ1ZmZlcihjb250ZW50KTtcbiAgICB9XG4gICAgdGhpcy5fY3JlYXRlKG5vcm1hbGl6ZWRUbywgY29udGVudCk7XG4gIH1cbiAgcmVuYW1lKHBhdGg6IHN0cmluZywgdG86IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRQYXRoID0gdGhpcy5fbm9ybWFsaXplUGF0aChwYXRoKTtcbiAgICBjb25zdCBub3JtYWxpemVkVG8gPSB0aGlzLl9ub3JtYWxpemVQYXRoKHRvKTtcbiAgICBpZiAobm9ybWFsaXplZFBhdGggPT09IG5vcm1hbGl6ZWRUbykge1xuICAgICAgLy8gTm90aGluZyB0byBkby5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fcmVuYW1lKG5vcm1hbGl6ZWRQYXRoLCBub3JtYWxpemVkVG8pO1xuICB9XG5cbiAgZGVsZXRlKHBhdGg6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuX2RlbGV0ZSh0aGlzLl9ub3JtYWxpemVQYXRoKHBhdGgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfb3ZlcndyaXRlKHBhdGg6IFBhdGgsIGNvbnRlbnQ6IEJ1ZmZlciwgYWN0aW9uPzogQWN0aW9uKSB7XG4gICAgaWYgKCF0aGlzLmhhcyhwYXRoKSkge1xuICAgICAgdGhyb3cgbmV3IEZpbGVEb2VzTm90RXhpc3RFeGNlcHRpb24ocGF0aCk7XG4gICAgfVxuICAgIC8vIFVwZGF0ZSB0aGUgYWN0aW9uIGJ1ZmZlci5cbiAgICBpZiAoYWN0aW9uKSB7XG4gICAgICB0aGlzLl9hY3Rpb25zLnB1c2goYWN0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fYWN0aW9ucy5vdmVyd3JpdGUocGF0aCwgY29udGVudCk7XG4gICAgfVxuICAgIHRoaXMuc2V0KG5ldyBTaW1wbGVGaWxlRW50cnkocGF0aCwgY29udGVudCkpO1xuICB9XG4gIHByb3RlY3RlZCBfY3JlYXRlKHBhdGg6IFBhdGgsIGNvbnRlbnQ6IEJ1ZmZlciwgYWN0aW9uPzogQWN0aW9uKSB7XG4gICAgaWYgKHRoaXMuX2NhY2hlTWFwLmhhcyhwYXRoKSkge1xuICAgICAgdGhyb3cgbmV3IEZpbGVBbHJlYWR5RXhpc3RFeGNlcHRpb24ocGF0aCk7XG4gICAgfVxuXG4gICAgaWYgKGFjdGlvbikge1xuICAgICAgdGhpcy5fYWN0aW9ucy5wdXNoKGFjdGlvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2FjdGlvbnMuY3JlYXRlKHBhdGgsIGNvbnRlbnQpO1xuICAgIH1cbiAgICB0aGlzLnNldChuZXcgU2ltcGxlRmlsZUVudHJ5KHBhdGgsIGNvbnRlbnQgYXMgQnVmZmVyKSk7XG4gIH1cbiAgcHJvdGVjdGVkIF9yZW5hbWUocGF0aDogUGF0aCwgdG86IFBhdGgsIGFjdGlvbj86IEFjdGlvbiwgZm9yY2UgPSBmYWxzZSkge1xuICAgIGNvbnN0IGVudHJ5ID0gdGhpcy5nZXQocGF0aCk7XG4gICAgaWYgKCFlbnRyeSkge1xuICAgICAgdGhyb3cgbmV3IEZpbGVEb2VzTm90RXhpc3RFeGNlcHRpb24ocGF0aCk7XG4gICAgfVxuICAgIGlmICh0aGlzLl9jYWNoZU1hcC5oYXModG8pICYmICFmb3JjZSkge1xuICAgICAgdGhyb3cgbmV3IEZpbGVBbHJlYWR5RXhpc3RFeGNlcHRpb24odG8pO1xuICAgIH1cblxuICAgIGlmIChhY3Rpb24pIHtcbiAgICAgIHRoaXMuX2FjdGlvbnMucHVzaChhY3Rpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9hY3Rpb25zLnJlbmFtZShwYXRoLCB0byk7XG4gICAgfVxuXG4gICAgdGhpcy5zZXQobmV3IFNpbXBsZUZpbGVFbnRyeSh0bywgZW50cnkuY29udGVudCkpO1xuICAgIHRoaXMuX2NhY2hlTWFwLmRlbGV0ZShwYXRoKTtcbiAgfVxuICBwcm90ZWN0ZWQgX2RlbGV0ZShwYXRoOiBQYXRoLCBhY3Rpb24/OiBBY3Rpb24pIHtcbiAgICBpZiAoIXRoaXMuaGFzKHBhdGgpKSB7XG4gICAgICB0aHJvdyBuZXcgRmlsZURvZXNOb3RFeGlzdEV4Y2VwdGlvbihwYXRoKTtcbiAgICB9XG5cbiAgICBpZiAoYWN0aW9uKSB7XG4gICAgICB0aGlzLl9hY3Rpb25zLnB1c2goYWN0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fYWN0aW9ucy5kZWxldGUocGF0aCk7XG4gICAgfVxuICAgIHRoaXMuX2NhY2hlTWFwLmRlbGV0ZShwYXRoKTtcbiAgfVxuXG5cbiAgYXBwbHkoYWN0aW9uOiBBY3Rpb24sIHN0cmF0ZWd5OiBNZXJnZVN0cmF0ZWd5KSB7XG4gICAgaWYgKHRoaXMuX2FjdGlvbnMuaGFzKGFjdGlvbikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgc3dpdGNoIChhY3Rpb24ua2luZCkge1xuICAgICAgY2FzZSAnbyc6XG4gICAgICAgIC8vIFVwZGF0ZSB0aGUgYWN0aW9uIGJ1ZmZlci5cbiAgICAgICAgdGhpcy5fb3ZlcndyaXRlKGFjdGlvbi5wYXRoLCBhY3Rpb24uY29udGVudCwgYWN0aW9uKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ2MnOlxuICAgICAgICBpZiAodGhpcy5fY2FjaGVNYXAuaGFzKGFjdGlvbi5wYXRoKSkge1xuICAgICAgICAgIHN3aXRjaCAoc3RyYXRlZ3kpIHtcbiAgICAgICAgICAgIGNhc2UgTWVyZ2VTdHJhdGVneS5FcnJvcjogdGhyb3cgbmV3IE1lcmdlQ29uZmxpY3RFeGNlcHRpb24oYWN0aW9uLnBhdGgpO1xuICAgICAgICAgICAgY2FzZSBNZXJnZVN0cmF0ZWd5Lk92ZXJ3cml0ZTpcbiAgICAgICAgICAgICAgdGhpcy5fb3ZlcndyaXRlKGFjdGlvbi5wYXRoLCBhY3Rpb24uY29udGVudCwgYWN0aW9uKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuX2NyZWF0ZShhY3Rpb24ucGF0aCwgYWN0aW9uLmNvbnRlbnQsIGFjdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ3InOlxuICAgICAgICBjb25zdCBmb3JjZSA9IChzdHJhdGVneSAmIE1lcmdlU3RyYXRlZ3kuQWxsb3dPdmVyd3JpdGVDb25mbGljdCkgIT0gMDtcbiAgICAgICAgdGhpcy5fcmVuYW1lKGFjdGlvbi5wYXRoLCBhY3Rpb24udG8sIGFjdGlvbiwgZm9yY2UpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnZCc6IHRoaXMuX2RlbGV0ZShhY3Rpb24ucGF0aCwgYWN0aW9uKTsgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6IHRocm93IG5ldyBVbmtub3duQWN0aW9uRXhjZXB0aW9uKGFjdGlvbik7XG4gICAgfVxuICB9XG5cbiAgLy8gUmV0dXJucyBhbiBvcmRlcmVkIGxpc3Qgb2YgQWN0aW9uIHRvIGdldCB0aGlzIGhvc3QuXG4gIGdldCBhY3Rpb25zKCk6IEFjdGlvbltdIHtcbiAgICByZXR1cm4gWy4uLnRoaXMuX2FjdGlvbnNdO1xuICB9XG5cbiAgLyoqXG4gICAqIEFsbG93IHN1YmNsYXNzZXMgdG8gY29weSB0byBhIHRyZWUgdGhlaXIgb3duIHByb3BlcnRpZXMuXG4gICAqIEByZXR1cm4ge1RyZWV9XG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcm90ZWN0ZWQgX2NvcHlUbzxUIGV4dGVuZHMgVmlydHVhbFRyZWU+KHRyZWU6IFQpOiB2b2lkIHtcbiAgICB0cmVlLl9yb290ID0gbmV3IE1hcCh0aGlzLl9yb290KTtcbiAgICB0aGlzLl9hY3Rpb25zLmZvckVhY2goYWN0aW9uID0+IHRyZWUuX2FjdGlvbnMucHVzaChhY3Rpb24pKTtcbiAgICBbLi4udGhpcy5fY2FjaGVNYXAuZW50cmllcygpXS5mb3JFYWNoKChbcGF0aCwgZW50cnldKSA9PiB7XG4gICAgICB0cmVlLl9jYWNoZU1hcC5zZXQocGF0aCwgZW50cnkpO1xuICAgIH0pO1xuICB9XG5cbiAgYnJhbmNoKCk6IFRyZWUge1xuICAgIGNvbnN0IG5ld1RyZWUgPSBuZXcgVmlydHVhbFRyZWUoKTtcbiAgICB0aGlzLl9jb3B5VG8obmV3VHJlZSk7XG5cbiAgICByZXR1cm4gbmV3VHJlZTtcbiAgfVxuXG4gIC8vIENyZWF0ZXMgYSBuZXcgaG9zdCBmcm9tIDIgaG9zdHMuXG4gIG1lcmdlKG90aGVyOiBUcmVlLCBzdHJhdGVneTogTWVyZ2VTdHJhdGVneSA9IE1lcmdlU3RyYXRlZ3kuRGVmYXVsdCkge1xuICAgIG90aGVyLmFjdGlvbnMuZm9yRWFjaChhY3Rpb24gPT4gdGhpcy5hcHBseShhY3Rpb24sIHN0cmF0ZWd5KSk7XG4gIH1cblxuICBvcHRpbWl6ZSgpIHtcbiAgICAvLyBUaGlzIGRlc3Ryb3lzIHRoZSBoaXN0b3J5LiBIb3BlIHlvdSBrbm93IHdoYXQgeW91J3JlIGRvaW5nLlxuICAgIHRoaXMuX2FjdGlvbnMub3B0aW1pemUoKTtcbiAgfVxuXG4gIHN0YXRpYyBicmFuY2godHJlZTogVHJlZSkge1xuICAgIHJldHVybiAodHJlZSBhcyBWaXJ0dWFsVHJlZSkuYnJhbmNoKCk7XG4gIH1cblxuICBzdGF0aWMgbWVyZ2UodHJlZTogVHJlZSwgb3RoZXI6IFRyZWUsIHN0cmF0ZWd5OiBNZXJnZVN0cmF0ZWd5ID0gTWVyZ2VTdHJhdGVneS5EZWZhdWx0KTogVHJlZSB7XG4gICAgY29uc3QgbmV3VHJlZSA9ICh0cmVlIGFzIFZpcnR1YWxUcmVlKS5icmFuY2goKSBhcyBWaXJ0dWFsVHJlZTtcbiAgICBuZXdUcmVlLm1lcmdlKChvdGhlciBhcyBWaXJ0dWFsVHJlZSksIHN0cmF0ZWd5KTtcblxuICAgIHJldHVybiBuZXdUcmVlO1xuICB9XG5cbiAgc3RhdGljIG9wdGltaXplKHRyZWU6IFRyZWUpIHtcbiAgICBjb25zdCBuZXdUcmVlID0gKHRyZWUgYXMgVmlydHVhbFRyZWUpLmJyYW5jaCgpIGFzIFZpcnR1YWxUcmVlO1xuICAgIG5ld1RyZWUub3B0aW1pemUoKTtcblxuICAgIHJldHVybiBuZXdUcmVlO1xuICB9XG59XG4iXX0=
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* Use of this source code is governed by an MIT-style license that can be
|
|
7
7
|
* found in the LICENSE file at https://angular.io/license
|
|
8
8
|
*/
|
|
9
|
-
import { BaseException } from '
|
|
9
|
+
import { BaseException } from '@angular-devkit/core';
|
|
10
10
|
import { LinkedList } from './linked-list';
|
|
11
11
|
export declare class IndexOutOfBoundException extends BaseException {
|
|
12
12
|
constructor(index: number, min: number, max?: number);
|