@nx/angular 16.0.0-beta.4 → 16.0.0-beta.6
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/esm2020/index.mjs +2 -9
- package/esm2020/mf/index.mjs +2 -8
- package/esm2020/mf/mf.mjs +5 -12
- package/esm2020/mf/nx-angular-mf.mjs +2 -5
- package/esm2020/nx-angular.mjs +2 -5
- package/esm2020/src/runtime/nx/data-persistence.mjs +22 -29
- package/esm2020/testing/index.mjs +2 -7
- package/esm2020/testing/nx-angular-testing.mjs +2 -5
- package/esm2020/testing/src/testing-utils.mjs +6 -11
- package/fesm2015/nx-angular-mf.mjs +56 -4
- package/fesm2015/nx-angular-mf.mjs.map +1 -1
- package/fesm2015/nx-angular-testing.mjs +39 -4
- package/fesm2015/nx-angular-testing.mjs.map +1 -1
- package/fesm2015/nx-angular.mjs +347 -4
- package/fesm2015/nx-angular.mjs.map +1 -1
- package/fesm2020/nx-angular-mf.mjs +50 -4
- package/fesm2020/nx-angular-mf.mjs.map +1 -1
- package/fesm2020/nx-angular-testing.mjs +39 -4
- package/fesm2020/nx-angular-testing.mjs.map +1 -1
- package/fesm2020/nx-angular.mjs +347 -4
- package/fesm2020/nx-angular.mjs.map +1 -1
- package/migrations.json +12 -0
- package/package.json +10 -10
- package/src/generators/add-linting/lib/create-eslint-configuration.js +4 -4
- package/src/generators/add-linting/lib/create-eslint-configuration.js.map +1 -1
- package/src/generators/ng-add/utilities/workspace.js +3 -3
- package/src/generators/ng-add/utilities/workspace.js.map +1 -1
- package/src/migrations/update-16-0-0/remove-karma-defaults.d.ts +2 -0
- package/src/migrations/update-16-0-0/remove-karma-defaults.js +56 -0
- package/src/migrations/update-16-0-0/remove-karma-defaults.js.map +1 -0
- package/src/migrations/update-16-0-0/remove-protractor-defaults.d.ts +2 -0
- package/src/migrations/update-16-0-0/remove-protractor-defaults.js +56 -0
- package/src/migrations/update-16-0-0/remove-protractor-defaults.js.map +1 -0
package/esm2020/index.mjs
CHANGED
|
@@ -1,9 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.pessimisticUpdate = exports.optimisticUpdate = exports.navigation = exports.fetch = void 0;
|
|
4
|
-
var data_persistence_1 = require("./src/runtime/nx/data-persistence");
|
|
5
|
-
Object.defineProperty(exports, "fetch", { enumerable: true, get: function () { return data_persistence_1.fetch; } });
|
|
6
|
-
Object.defineProperty(exports, "navigation", { enumerable: true, get: function () { return data_persistence_1.navigation; } });
|
|
7
|
-
Object.defineProperty(exports, "optimisticUpdate", { enumerable: true, get: function () { return data_persistence_1.optimisticUpdate; } });
|
|
8
|
-
Object.defineProperty(exports, "pessimisticUpdate", { enumerable: true, get: function () { return data_persistence_1.pessimisticUpdate; } });
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHNFQUsyQztBQUp6Qyx5R0FBQSxLQUFLLE9BQUE7QUFDTCw4R0FBQSxVQUFVLE9BQUE7QUFDVixvSEFBQSxnQkFBZ0IsT0FBQTtBQUNoQixxSEFBQSxpQkFBaUIsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7XG4gIGZldGNoLFxuICBuYXZpZ2F0aW9uLFxuICBvcHRpbWlzdGljVXBkYXRlLFxuICBwZXNzaW1pc3RpY1VwZGF0ZSxcbn0gZnJvbSAnLi9zcmMvcnVudGltZS9ueC9kYXRhLXBlcnNpc3RlbmNlJztcbiJdfQ==
|
|
1
|
+
export { fetch, navigation, optimisticUpdate, pessimisticUpdate, } from './src/runtime/nx/data-persistence';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLGdCQUFnQixFQUNoQixpQkFBaUIsR0FDbEIsTUFBTSxtQ0FBbUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7XG4gIGZldGNoLFxuICBuYXZpZ2F0aW9uLFxuICBvcHRpbWlzdGljVXBkYXRlLFxuICBwZXNzaW1pc3RpY1VwZGF0ZSxcbn0gZnJvbSAnLi9zcmMvcnVudGltZS9ueC9kYXRhLXBlcnNpc3RlbmNlJztcbiJdfQ==
|
package/esm2020/mf/index.mjs
CHANGED
|
@@ -1,8 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.loadRemoteModule = exports.setRemoteDefinitions = exports.setRemoteUrlResolver = void 0;
|
|
4
|
-
var mf_1 = require("./mf");
|
|
5
|
-
Object.defineProperty(exports, "setRemoteUrlResolver", { enumerable: true, get: function () { return mf_1.setRemoteUrlResolver; } });
|
|
6
|
-
Object.defineProperty(exports, "setRemoteDefinitions", { enumerable: true, get: function () { return mf_1.setRemoteDefinitions; } });
|
|
7
|
-
Object.defineProperty(exports, "loadRemoteModule", { enumerable: true, get: function () { return mf_1.loadRemoteModule; } });
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyL21mL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJCQUljO0FBSFosMEdBQUEsb0JBQW9CLE9BQUE7QUFDcEIsMEdBQUEsb0JBQW9CLE9BQUE7QUFDcEIsc0dBQUEsZ0JBQWdCLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge1xuICBzZXRSZW1vdGVVcmxSZXNvbHZlcixcbiAgc2V0UmVtb3RlRGVmaW5pdGlvbnMsXG4gIGxvYWRSZW1vdGVNb2R1bGUsXG59IGZyb20gJy4vbWYnO1xuIl19
|
|
1
|
+
export { setRemoteUrlResolver, setRemoteDefinitions, loadRemoteModule, } from './mf';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyL21mL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3BCLGdCQUFnQixHQUNqQixNQUFNLE1BQU0sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7XG4gIHNldFJlbW90ZVVybFJlc29sdmVyLFxuICBzZXRSZW1vdGVEZWZpbml0aW9ucyxcbiAgbG9hZFJlbW90ZU1vZHVsZSxcbn0gZnJvbSAnLi9tZic7XG4iXX0=
|
package/esm2020/mf/mf.mjs
CHANGED
|
@@ -1,19 +1,14 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.loadRemoteModule = exports.setRemoteDefinitions = exports.setRemoteUrlResolver = void 0;
|
|
4
1
|
let resolveRemoteUrl;
|
|
5
|
-
function setRemoteUrlResolver(_resolveRemoteUrl) {
|
|
2
|
+
export function setRemoteUrlResolver(_resolveRemoteUrl) {
|
|
6
3
|
resolveRemoteUrl = _resolveRemoteUrl;
|
|
7
4
|
}
|
|
8
|
-
exports.setRemoteUrlResolver = setRemoteUrlResolver;
|
|
9
5
|
let remoteUrlDefinitions;
|
|
10
|
-
function setRemoteDefinitions(definitions) {
|
|
6
|
+
export function setRemoteDefinitions(definitions) {
|
|
11
7
|
remoteUrlDefinitions = definitions;
|
|
12
8
|
}
|
|
13
|
-
exports.setRemoteDefinitions = setRemoteDefinitions;
|
|
14
9
|
let remoteModuleMap = new Map();
|
|
15
10
|
let remoteContainerMap = new Map();
|
|
16
|
-
async function loadRemoteModule(remoteName, moduleName) {
|
|
11
|
+
export async function loadRemoteModule(remoteName, moduleName) {
|
|
17
12
|
const remoteModuleKey = `${remoteName}:${moduleName}`;
|
|
18
13
|
if (remoteModuleMap.has(remoteModuleKey)) {
|
|
19
14
|
return remoteModuleMap.get(remoteModuleKey);
|
|
@@ -26,10 +21,8 @@ async function loadRemoteModule(remoteName, moduleName) {
|
|
|
26
21
|
remoteModuleMap.set(remoteModuleKey, Module);
|
|
27
22
|
return Module;
|
|
28
23
|
}
|
|
29
|
-
exports.loadRemoteModule = loadRemoteModule;
|
|
30
24
|
function loadModule(url) {
|
|
31
|
-
|
|
32
|
-
return _a = url, Promise.resolve().then(() => require(_a));
|
|
25
|
+
return import(/* webpackIgnore:true */ url);
|
|
33
26
|
}
|
|
34
27
|
let initialSharingScopeCreated = false;
|
|
35
28
|
async function loadRemoteContainer(remoteName) {
|
|
@@ -52,4 +45,4 @@ async function loadRemoteContainer(remoteName) {
|
|
|
52
45
|
remoteContainerMap.set(remoteName, container);
|
|
53
46
|
return container;
|
|
54
47
|
}
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyL21mL21mLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLElBQUksZ0JBQTBDLENBQUM7QUFDL0MsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxpQkFBMkM7SUFFM0MsZ0JBQWdCLEdBQUcsaUJBQWlCLENBQUM7QUFDdkMsQ0FBQztBQUVELElBQUksb0JBQTRDLENBQUM7QUFDakQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLFdBQW1DO0lBQ3RFLG9CQUFvQixHQUFHLFdBQVcsQ0FBQztBQUNyQyxDQUFDO0FBRUQsSUFBSSxlQUFlLEdBQUcsSUFBSSxHQUFHLEVBQW1CLENBQUM7QUFDakQsSUFBSSxrQkFBa0IsR0FBRyxJQUFJLEdBQUcsRUFBbUIsQ0FBQztBQUNwRCxNQUFNLENBQUMsS0FBSyxVQUFVLGdCQUFnQixDQUFDLFVBQWtCLEVBQUUsVUFBa0I7SUFDM0UsTUFBTSxlQUFlLEdBQUcsR0FBRyxVQUFVLElBQUksVUFBVSxFQUFFLENBQUM7SUFDdEQsSUFBSSxlQUFlLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxFQUFFO1FBQ3hDLE9BQU8sZUFBZSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztLQUM3QztJQUVELE1BQU0sU0FBUyxHQUFHLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUM7UUFDbEQsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUM7UUFDcEMsQ0FBQyxDQUFDLE1BQU0sbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFMUMsTUFBTSxPQUFPLEdBQUcsTUFBTSxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hELE1BQU0sTUFBTSxHQUFHLE9BQU8sRUFBRSxDQUFDO0lBRXpCLGVBQWUsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRTdDLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FBQyxHQUFXO0lBQzdCLE9BQU8sTUFBTSxDQUFDLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzlDLENBQUM7QUFFRCxJQUFJLDBCQUEwQixHQUFHLEtBQUssQ0FBQztBQUN2QyxLQUFLLFVBQVUsbUJBQW1CLENBQUMsVUFBa0I7SUFDbkQsSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsb0JBQW9CLEVBQUU7UUFDOUMsTUFBTSxJQUFJLEtBQUssQ0FDYixrSEFBa0gsQ0FDbkgsQ0FBQztLQUNIO0lBRUQsSUFBSSxDQUFDLDBCQUEwQixFQUFFO1FBQy9CLDBCQUEwQixHQUFHLElBQUksQ0FBQztRQUNsQyxNQUFNLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxDQUFDO0tBQzNDO0lBRUQsTUFBTSxTQUFTLEdBQUcsb0JBQW9CO1FBQ3BDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUM7UUFDbEMsQ0FBQyxDQUFDLE1BQU0sZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFdkMsSUFBSSxZQUFZLEdBQUcsU0FBUyxDQUFDO0lBQzdCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUM3RCxZQUFZLEdBQUcsR0FBRyxTQUFTLEdBQ3pCLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FDakMsaUJBQWlCLENBQUM7S0FDbkI7SUFFRCxNQUFNLFNBQVMsR0FBRyxNQUFNLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNqRCxNQUFNLFNBQVMsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFdkQsa0JBQWtCLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM5QyxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgUmVzb2x2ZVJlbW90ZVVybEZ1bmN0aW9uID0gKFxuICByZW1vdGVOYW1lOiBzdHJpbmdcbikgPT4gc3RyaW5nIHwgUHJvbWlzZTxzdHJpbmc+O1xuXG5kZWNsYXJlIGNvbnN0IF9fd2VicGFja19pbml0X3NoYXJpbmdfXzogKHNjb3BlOiAnZGVmYXVsdCcpID0+IFByb21pc2U8dm9pZD47XG5kZWNsYXJlIGNvbnN0IF9fd2VicGFja19zaGFyZV9zY29wZXNfXzogeyBkZWZhdWx0OiB1bmtub3duIH07XG5cbmxldCByZXNvbHZlUmVtb3RlVXJsOiBSZXNvbHZlUmVtb3RlVXJsRnVuY3Rpb247XG5leHBvcnQgZnVuY3Rpb24gc2V0UmVtb3RlVXJsUmVzb2x2ZXIoXG4gIF9yZXNvbHZlUmVtb3RlVXJsOiBSZXNvbHZlUmVtb3RlVXJsRnVuY3Rpb25cbikge1xuICByZXNvbHZlUmVtb3RlVXJsID0gX3Jlc29sdmVSZW1vdGVVcmw7XG59XG5cbmxldCByZW1vdGVVcmxEZWZpbml0aW9uczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbmV4cG9ydCBmdW5jdGlvbiBzZXRSZW1vdGVEZWZpbml0aW9ucyhkZWZpbml0aW9uczogUmVjb3JkPHN0cmluZywgc3RyaW5nPikge1xuICByZW1vdGVVcmxEZWZpbml0aW9ucyA9IGRlZmluaXRpb25zO1xufVxuXG5sZXQgcmVtb3RlTW9kdWxlTWFwID0gbmV3IE1hcDxzdHJpbmcsIHVua25vd24+KCk7XG5sZXQgcmVtb3RlQ29udGFpbmVyTWFwID0gbmV3IE1hcDxzdHJpbmcsIHVua25vd24+KCk7XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZFJlbW90ZU1vZHVsZShyZW1vdGVOYW1lOiBzdHJpbmcsIG1vZHVsZU5hbWU6IHN0cmluZykge1xuICBjb25zdCByZW1vdGVNb2R1bGVLZXkgPSBgJHtyZW1vdGVOYW1lfToke21vZHVsZU5hbWV9YDtcbiAgaWYgKHJlbW90ZU1vZHVsZU1hcC5oYXMocmVtb3RlTW9kdWxlS2V5KSkge1xuICAgIHJldHVybiByZW1vdGVNb2R1bGVNYXAuZ2V0KHJlbW90ZU1vZHVsZUtleSk7XG4gIH1cblxuICBjb25zdCBjb250YWluZXIgPSByZW1vdGVDb250YWluZXJNYXAuaGFzKHJlbW90ZU5hbWUpXG4gICAgPyByZW1vdGVDb250YWluZXJNYXAuZ2V0KHJlbW90ZU5hbWUpXG4gICAgOiBhd2FpdCBsb2FkUmVtb3RlQ29udGFpbmVyKHJlbW90ZU5hbWUpO1xuXG4gIGNvbnN0IGZhY3RvcnkgPSBhd2FpdCBjb250YWluZXIuZ2V0KG1vZHVsZU5hbWUpO1xuICBjb25zdCBNb2R1bGUgPSBmYWN0b3J5KCk7XG5cbiAgcmVtb3RlTW9kdWxlTWFwLnNldChyZW1vdGVNb2R1bGVLZXksIE1vZHVsZSk7XG5cbiAgcmV0dXJuIE1vZHVsZTtcbn1cblxuZnVuY3Rpb24gbG9hZE1vZHVsZSh1cmw6IHN0cmluZykge1xuICByZXR1cm4gaW1wb3J0KC8qIHdlYnBhY2tJZ25vcmU6dHJ1ZSAqLyB1cmwpO1xufVxuXG5sZXQgaW5pdGlhbFNoYXJpbmdTY29wZUNyZWF0ZWQgPSBmYWxzZTtcbmFzeW5jIGZ1bmN0aW9uIGxvYWRSZW1vdGVDb250YWluZXIocmVtb3RlTmFtZTogc3RyaW5nKSB7XG4gIGlmICghcmVzb2x2ZVJlbW90ZVVybCAmJiAhcmVtb3RlVXJsRGVmaW5pdGlvbnMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnQ2FsbCBzZXRSZW1vdGVEZWZpbml0aW9ucyBvciBzZXRSZW1vdGVVcmxSZXNvbHZlciB0byBhbGxvdyBEeW5hbWljIEZlZGVyYXRpb24gdG8gZmluZCB0aGUgcmVtb3RlIGFwcHMgY29ycmVjdGx5LidcbiAgICApO1xuICB9XG5cbiAgaWYgKCFpbml0aWFsU2hhcmluZ1Njb3BlQ3JlYXRlZCkge1xuICAgIGluaXRpYWxTaGFyaW5nU2NvcGVDcmVhdGVkID0gdHJ1ZTtcbiAgICBhd2FpdCBfX3dlYnBhY2tfaW5pdF9zaGFyaW5nX18oJ2RlZmF1bHQnKTtcbiAgfVxuXG4gIGNvbnN0IHJlbW90ZVVybCA9IHJlbW90ZVVybERlZmluaXRpb25zXG4gICAgPyByZW1vdGVVcmxEZWZpbml0aW9uc1tyZW1vdGVOYW1lXVxuICAgIDogYXdhaXQgcmVzb2x2ZVJlbW90ZVVybChyZW1vdGVOYW1lKTtcblxuICBsZXQgY29udGFpbmVyVXJsID0gcmVtb3RlVXJsO1xuICBpZiAoIXJlbW90ZVVybC5lbmRzV2l0aCgnLm1qcycpICYmICFyZW1vdGVVcmwuZW5kc1dpdGgoJy5qcycpKSB7XG4gICAgY29udGFpbmVyVXJsID0gYCR7cmVtb3RlVXJsfSR7XG4gICAgICByZW1vdGVVcmwuZW5kc1dpdGgoJy8nKSA/ICcnIDogJy8nXG4gICAgfXJlbW90ZUVudHJ5Lm1qc2A7XG4gIH1cblxuICBjb25zdCBjb250YWluZXIgPSBhd2FpdCBsb2FkTW9kdWxlKGNvbnRhaW5lclVybCk7XG4gIGF3YWl0IGNvbnRhaW5lci5pbml0KF9fd2VicGFja19zaGFyZV9zY29wZXNfXy5kZWZhdWx0KTtcblxuICByZW1vdGVDb250YWluZXJNYXAuc2V0KHJlbW90ZU5hbWUsIGNvbnRhaW5lcik7XG4gIHJldHVybiBjb250YWluZXI7XG59XG4iXX0=
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Generated bundle index. Do not edit.
|
|
4
3
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
tslib_1.__exportStar(require("./index"), exports);
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibngtYW5ndWxhci1tZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXIvbWYvbngtYW5ndWxhci1tZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQUVILGtEQUF3QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibngtYW5ndWxhci1tZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXIvbWYvbngtYW5ndWxhci1tZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
package/esm2020/nx-angular.mjs
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Generated bundle index. Do not edit.
|
|
4
3
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
tslib_1.__exportStar(require("./index"), exports);
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibngtYW5ndWxhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXIvbngtYW5ndWxhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQUVILGtEQUF3QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibngtYW5ndWxhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXIvbngtYW5ndWxhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const router_store_1 = require("@ngrx/router-store");
|
|
5
|
-
const rxjs_1 = require("rxjs");
|
|
6
|
-
const operators_1 = require("rxjs/operators");
|
|
1
|
+
import { ROUTER_NAVIGATION } from '@ngrx/router-store';
|
|
2
|
+
import { isObservable, of } from 'rxjs';
|
|
3
|
+
import { catchError, concatMap, filter, groupBy, map, mergeMap, switchMap, } from 'rxjs/operators';
|
|
7
4
|
/**
|
|
8
5
|
*
|
|
9
6
|
* @whatItDoes Handles pessimistic updates (updating the server first).
|
|
@@ -61,12 +58,11 @@ const operators_1 = require("rxjs/operators");
|
|
|
61
58
|
*
|
|
62
59
|
* @param opts
|
|
63
60
|
*/
|
|
64
|
-
function pessimisticUpdate(opts) {
|
|
61
|
+
export function pessimisticUpdate(opts) {
|
|
65
62
|
return (source) => {
|
|
66
|
-
return source.pipe(mapActionAndState(),
|
|
63
|
+
return source.pipe(mapActionAndState(), concatMap(runWithErrorHandling(opts.run, opts.onError)));
|
|
67
64
|
};
|
|
68
65
|
}
|
|
69
|
-
exports.pessimisticUpdate = pessimisticUpdate;
|
|
70
66
|
/**
|
|
71
67
|
*
|
|
72
68
|
* @whatItDoes Handles optimistic updates (updating the client first).
|
|
@@ -125,12 +121,11 @@ exports.pessimisticUpdate = pessimisticUpdate;
|
|
|
125
121
|
*
|
|
126
122
|
* @param opts
|
|
127
123
|
*/
|
|
128
|
-
function optimisticUpdate(opts) {
|
|
124
|
+
export function optimisticUpdate(opts) {
|
|
129
125
|
return (source) => {
|
|
130
|
-
return source.pipe(mapActionAndState(),
|
|
126
|
+
return source.pipe(mapActionAndState(), concatMap(runWithErrorHandling(opts.run, opts.undoAction)));
|
|
131
127
|
};
|
|
132
128
|
}
|
|
133
|
-
exports.optimisticUpdate = optimisticUpdate;
|
|
134
129
|
/**
|
|
135
130
|
*
|
|
136
131
|
* @whatItDoes Handles data fetching.
|
|
@@ -209,18 +204,17 @@ exports.optimisticUpdate = optimisticUpdate;
|
|
|
209
204
|
*
|
|
210
205
|
* @param opts
|
|
211
206
|
*/
|
|
212
|
-
function fetch(opts) {
|
|
207
|
+
export function fetch(opts) {
|
|
213
208
|
return (source) => {
|
|
214
209
|
if (opts.id) {
|
|
215
|
-
const groupedFetches = source.pipe(mapActionAndState(),
|
|
210
|
+
const groupedFetches = source.pipe(mapActionAndState(), groupBy(([action, ...store]) => {
|
|
216
211
|
return opts.id(action, ...store);
|
|
217
212
|
}));
|
|
218
|
-
return groupedFetches.pipe(
|
|
213
|
+
return groupedFetches.pipe(mergeMap((pairs) => pairs.pipe(switchMap(runWithErrorHandling(opts.run, opts.onError)))));
|
|
219
214
|
}
|
|
220
|
-
return source.pipe(mapActionAndState(),
|
|
215
|
+
return source.pipe(mapActionAndState(), concatMap(runWithErrorHandling(opts.run, opts.onError)));
|
|
221
216
|
};
|
|
222
217
|
}
|
|
223
|
-
exports.fetch = fetch;
|
|
224
218
|
/**
|
|
225
219
|
* @whatItDoes Handles data fetching as part of router navigation.
|
|
226
220
|
*
|
|
@@ -270,9 +264,9 @@ exports.fetch = fetch;
|
|
|
270
264
|
* @param component
|
|
271
265
|
* @param opts
|
|
272
266
|
*/
|
|
273
|
-
function navigation(component, opts) {
|
|
267
|
+
export function navigation(component, opts) {
|
|
274
268
|
return (source) => {
|
|
275
|
-
const nav = source.pipe(mapActionAndState(),
|
|
269
|
+
const nav = source.pipe(mapActionAndState(), filter(([action]) => isStateSnapshot(action)), map(([action, ...slices]) => {
|
|
276
270
|
if (!isStateSnapshot(action)) {
|
|
277
271
|
// Because of the above filter we'll never get here,
|
|
278
272
|
// but this properly type narrows `action`
|
|
@@ -282,19 +276,18 @@ function navigation(component, opts) {
|
|
|
282
276
|
findSnapshot(component, action.payload.routerState.root),
|
|
283
277
|
...slices,
|
|
284
278
|
];
|
|
285
|
-
}),
|
|
286
|
-
return nav.pipe(
|
|
279
|
+
}), filter(([snapshot]) => !!snapshot));
|
|
280
|
+
return nav.pipe(switchMap(runWithErrorHandling(opts.run, opts.onError)));
|
|
287
281
|
};
|
|
288
282
|
}
|
|
289
|
-
exports.navigation = navigation;
|
|
290
283
|
function isStateSnapshot(action) {
|
|
291
|
-
return action.type ===
|
|
284
|
+
return action.type === ROUTER_NAVIGATION;
|
|
292
285
|
}
|
|
293
286
|
function runWithErrorHandling(run, onError) {
|
|
294
287
|
return ([action, ...slices]) => {
|
|
295
288
|
try {
|
|
296
289
|
const r = wrapIntoObservable(run(action, ...slices));
|
|
297
|
-
return r.pipe(
|
|
290
|
+
return r.pipe(catchError((e) => wrapIntoObservable(onError(action, e))));
|
|
298
291
|
}
|
|
299
292
|
catch (e) {
|
|
300
293
|
return wrapIntoObservable(onError(action, e));
|
|
@@ -307,7 +300,7 @@ function runWithErrorHandling(run, onError) {
|
|
|
307
300
|
*/
|
|
308
301
|
function mapActionAndState() {
|
|
309
302
|
return (source) => {
|
|
310
|
-
return source.pipe(
|
|
303
|
+
return source.pipe(map((value) => normalizeActionAndState(value)));
|
|
311
304
|
};
|
|
312
305
|
}
|
|
313
306
|
/**
|
|
@@ -338,14 +331,14 @@ function findSnapshot(component, s) {
|
|
|
338
331
|
return null;
|
|
339
332
|
}
|
|
340
333
|
function wrapIntoObservable(obj) {
|
|
341
|
-
if (
|
|
334
|
+
if (isObservable(obj)) {
|
|
342
335
|
return obj;
|
|
343
336
|
}
|
|
344
337
|
else if (!obj) {
|
|
345
|
-
return
|
|
338
|
+
return of();
|
|
346
339
|
}
|
|
347
340
|
else {
|
|
348
|
-
return
|
|
341
|
+
return of(obj);
|
|
349
342
|
}
|
|
350
343
|
}
|
|
351
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1wZXJzaXN0ZW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXIvc3JjL3J1bnRpbWUvbngvZGF0YS1wZXJzaXN0ZW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFNQSxxREFBdUQ7QUFHdkQsK0JBQXdDO0FBQ3hDLDhDQVF3QjtBQXFDeEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0RHO0FBQ0gsU0FBZ0IsaUJBQWlCLENBQy9CLElBQWlDO0lBRWpDLE9BQU8sQ0FBQyxNQUFnQyxFQUFzQixFQUFFO1FBQzlELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FDaEIsaUJBQWlCLEVBQUUsRUFDbkIsSUFBQSxxQkFBUyxFQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQ3hELENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDO0FBVEQsOENBU0M7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeURHO0FBQ0gsU0FBZ0IsZ0JBQWdCLENBQzlCLElBQWdDO0lBRWhDLE9BQU8sQ0FBQyxNQUFnQyxFQUFzQixFQUFFO1FBQzlELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FDaEIsaUJBQWlCLEVBQUUsRUFDbkIsSUFBQSxxQkFBUyxFQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQzNELENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDO0FBVEQsNENBU0M7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2RUc7QUFD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QUFDO1NBQ1g7S0FDRjtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQUksR0FBNkI7SUFDMUQsSUFBSSxJQUFBLG1CQUFZLEVBQUMsR0FBRyxDQUFDLEVBQUU7UUFDckIsT0FBTyxHQUFHLENBQUM7S0FDWjtTQUFNLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDZixPQUFPLElBQUEsU0FBRSxHQUFFLENBQUM7S0FDYjtTQUFNO1FBQ0wsT0FBTyxJQUFBLFNBQUUsRUFBQyxHQUFRLENBQUMsQ0FBQztLQUNyQjtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHtcbiAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgUm91dGVyU3RhdGVTbmFwc2hvdCxcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB0eXBlIHsgUm91dGVyTmF2aWdhdGlvbkFjdGlvbiB9IGZyb20gJ0BuZ3J4L3JvdXRlci1zdG9yZSc7XG5pbXBvcnQgeyBST1VURVJfTkFWSUdBVElPTiB9IGZyb20gJ0BuZ3J4L3JvdXRlci1zdG9yZSc7XG5pbXBvcnQgdHlwZSB7IEFjdGlvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB0eXBlIHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgaXNPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgY2F0Y2hFcnJvcixcbiAgY29uY2F0TWFwLFxuICBmaWx0ZXIsXG4gIGdyb3VwQnksXG4gIG1hcCxcbiAgbWVyZ2VNYXAsXG4gIHN3aXRjaE1hcCxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBlc3NpbWlzdGljVXBkYXRlT3B0czxUIGV4dGVuZHMgQXJyYXk8dW5rbm93bj4sIEE+IHtcbiAgcnVuKGE6IEEsIC4uLnNsaWNlczogWy4uLlRdKTogT2JzZXJ2YWJsZTxBY3Rpb24+IHwgQWN0aW9uIHwgdm9pZDtcbiAgb25FcnJvcihhOiBBLCBlOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4gfCBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW1pc3RpY1VwZGF0ZU9wdHM8VCBleHRlbmRzIEFycmF5PHVua25vd24+LCBBPiB7XG4gIHJ1bihhOiBBLCAuLi5zbGljZXM6IFsuLi5UXSk6IE9ic2VydmFibGU8QWN0aW9uPiB8IEFjdGlvbiB8IHZvaWQ7XG4gIHVuZG9BY3Rpb24oYTogQSwgZTogYW55KTogT2JzZXJ2YWJsZTxBY3Rpb24+IHwgQWN0aW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZldGNoT3B0czxUIGV4dGVuZHMgQXJyYXk8dW5rbm93bj4sIEE+IHtcbiAgaWQ/KGE6IEEsIC4uLnNsaWNlczogWy4uLlRdKTogYW55O1xuICBydW4oYTogQSwgLi4uc2xpY2VzOiBbLi4uVF0pOiBPYnNlcnZhYmxlPEFjdGlvbj4gfCBBY3Rpb24gfCB2b2lkO1xuICBvbkVycm9yPyhhOiBBLCBlOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4gfCBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGFuZGxlTmF2aWdhdGlvbk9wdHM8VCBleHRlbmRzIEFycmF5PHVua25vd24+PiB7XG4gIHJ1bihcbiAgICBhOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICAgIC4uLnNsaWNlczogWy4uLlRdXG4gICk6IE9ic2VydmFibGU8QWN0aW9uPiB8IEFjdGlvbiB8IHZvaWQ7XG4gIG9uRXJyb3I/KGE6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGU6IGFueSk6IE9ic2VydmFibGU8YW55PiB8IGFueTtcbn1cblxuZXhwb3J0IHR5cGUgQWN0aW9uT3JBY3Rpb25XaXRoU3RhdGVzPFQgZXh0ZW5kcyBBcnJheTx1bmtub3duPiwgQT4gPVxuICB8IEFcbiAgfCBbQSwgLi4uVF07XG5leHBvcnQgdHlwZSBBY3Rpb25PckFjdGlvbldpdGhTdGF0ZTxULCBBPiA9IEFjdGlvbk9yQWN0aW9uV2l0aFN0YXRlczxbVF0sIEE+O1xuZXhwb3J0IHR5cGUgQWN0aW9uU3RhdGVzU3RyZWFtPFQgZXh0ZW5kcyBBcnJheTx1bmtub3duPiwgQT4gPSBPYnNlcnZhYmxlPFxuICBBY3Rpb25PckFjdGlvbldpdGhTdGF0ZXM8VCwgQT5cbj47XG5leHBvcnQgdHlwZSBBY3Rpb25TdGF0ZVN0cmVhbTxULCBBPiA9IE9ic2VydmFibGU8XG4gIEFjdGlvbk9yQWN0aW9uV2l0aFN0YXRlczxbVF0sIEE+XG4+O1xuXG4vKipcbiAqXG4gKiBAd2hhdEl0RG9lcyBIYW5kbGVzIHBlc3NpbWlzdGljIHVwZGF0ZXMgKHVwZGF0aW5nIHRoZSBzZXJ2ZXIgZmlyc3QpLlxuICpcbiAqIFVwZGF0aW5nIHRoZSBzZXJ2ZXIsIHdoZW4gaW1wbGVtZW50ZWQgbmFpdmVseSwgc3VmZmVycyBmcm9tIHJhY2UgY29uZGl0aW9ucyBhbmQgcG9vciBlcnJvciBoYW5kbGluZy5cbiAqXG4gKiBgcGVzc2ltaXN0aWNVcGRhdGVgIGFkZHJlc3NlcyB0aGVzZSBwcm9ibGVtcy4gSXQgcnVucyBhbGwgZmV0Y2hlcyBpbiBvcmRlciwgd2hpY2ggcmVtb3ZlcyByYWNlIGNvbmRpdGlvbnNcbiAqIGFuZCBmb3JjZXMgdGhlIGRldmVsb3BlciB0byBoYW5kbGUgZXJyb3JzLlxuICpcbiAqICMjIEV4YW1wbGU6XG4gKlxuICogYGBgdHlwZXNjcmlwdFxuICogQEluamVjdGFibGUoKVxuICogY2xhc3MgVG9kb0VmZmVjdHMge1xuICogICB1cGRhdGVUb2RvJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICogICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAqICAgICAgIG9mVHlwZSgnVVBEQVRFX1RPRE8nKSxcbiAqICAgICAgIHBlc3NpbWlzdGljVXBkYXRlKHtcbiAqICAgICAgICAgLy8gcHJvdmlkZXMgYW4gYWN0aW9uXG4gKiAgICAgICAgIHJ1bjogKGFjdGlvbjogVXBkYXRlVG9kbykgPT4ge1xuICogICAgICAgICAgIC8vIHVwZGF0ZSB0aGUgYmFja2VuZCBmaXJzdCwgYW5kIHRoZW4gZGlzcGF0Y2ggYW4gYWN0aW9uIHRoYXQgd2lsbFxuICogICAgICAgICAgIC8vIHVwZGF0ZSB0aGUgY2xpZW50IHNpZGVcbiAqICAgICAgICAgICByZXR1cm4gdGhpcy5iYWNrZW5kLnVwZGF0ZVRvZG8oYWN0aW9uLnRvZG8uaWQsIGFjdGlvbi50b2RvKS5waXBlKFxuICogICAgICAgICAgICAgbWFwKCh1cGRhdGVkKSA9PiAoe1xuICogICAgICAgICAgICAgICB0eXBlOiAnVVBEQVRFX1RPRE9fU1VDQ0VTUycsXG4gKiAgICAgICAgICAgICAgIHRvZG86IHVwZGF0ZWQsXG4gKiAgICAgICAgICAgICB9KSlcbiAqICAgICAgICAgICApO1xuICogICAgICAgICB9LFxuICogICAgICAgICBvbkVycm9yOiAoYWN0aW9uOiBVcGRhdGVUb2RvLCBlcnJvcjogYW55KSA9PiB7XG4gKiAgICAgICAgICAgLy8gd2UgZG9uJ3QgbmVlZCB0byB1bmRvIHRoZSBjaGFuZ2VzIG9uIHRoZSBjbGllbnQgc2lkZS5cbiAqICAgICAgICAgICAvLyB3ZSBjYW4gZGlzcGF0Y2ggYW4gZXJyb3IsIG9yIHNpbXBseSBsb2cgdGhlIGVycm9yIGhlcmUgYW5kIHJldHVybiBgbnVsbGBcbiAqICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAqICAgICAgICAgfSxcbiAqICAgICAgIH0pXG4gKiAgICAgKVxuICogICApO1xuICpcbiAqICAgY29uc3RydWN0b3IocHJpdmF0ZSBhY3Rpb25zJDogQWN0aW9ucywgcHJpdmF0ZSBiYWNrZW5kOiBCYWNrZW5kKSB7fVxuICogfVxuICogYGBgXG4gKlxuICogTm90ZSB0aGF0IGlmIHlvdSBkb24ndCByZXR1cm4gYSBuZXcgYWN0aW9uIGZyb20gdGhlIHJ1biBjYWxsYmFjaywgeW91IG11c3Qgc2V0IHRoZSBkaXNwYXRjaCBwcm9wZXJ0eVxuICogb2YgdGhlIGVmZmVjdCB0byBmYWxzZSwgbGlrZSB0aGlzOlxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNsYXNzIFRvZG9FZmZlY3RzIHtcbiAqICAgdXBkYXRlVG9kbyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAqICAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gKiAgICAgICAvLy4uLlxuICogICAgICksIHsgZGlzcGF0Y2g6IGZhbHNlIH1cbiAqICAgKTtcbiAqIH1cbiAqIGBgYFxuICpcbiAqIEBwYXJhbSBvcHRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwZXNzaW1pc3RpY1VwZGF0ZTxUIGV4dGVuZHMgQXJyYXk8dW5rbm93bj4sIEEgZXh0ZW5kcyBBY3Rpb24+KFxuICBvcHRzOiBQZXNzaW1pc3RpY1VwZGF0ZU9wdHM8VCwgQT5cbikge1xuICByZXR1cm4gKHNvdXJjZTogQWN0aW9uU3RhdGVzU3RyZWFtPFQsIEE+KTogT2JzZXJ2YWJsZTxBY3Rpb24+ID0+IHtcbiAgICByZXR1cm4gc291cmNlLnBpcGUoXG4gICAgICBtYXBBY3Rpb25BbmRTdGF0ZSgpLFxuICAgICAgY29uY2F0TWFwKHJ1bldpdGhFcnJvckhhbmRsaW5nKG9wdHMucnVuLCBvcHRzLm9uRXJyb3IpKVxuICAgICk7XG4gIH07XG59XG5cbi8qKlxuICpcbiAqIEB3aGF0SXREb2VzIEhhbmRsZXMgb3B0aW1pc3RpYyB1cGRhdGVzICh1cGRhdGluZyB0aGUgY2xpZW50IGZpcnN0KS5cbiAqXG4gKiBJdCBydW5zIGFsbCBmZXRjaGVzIGluIG9yZGVyLCB3aGljaCByZW1vdmVzIHJhY2UgY29uZGl0aW9ucyBhbmQgZm9yY2VzIHRoZSBkZXZlbG9wZXIgdG8gaGFuZGxlIGVycm9ycy5cbiAqXG4gKiBXaGVuIHVzaW5nIGBvcHRpbWlzdGljVXBkYXRlYCwgaW4gY2FzZSBvZiBhIGZhaWx1cmUsIHRoZSBkZXZlbG9wZXIgaGFzIGFscmVhZHkgdXBkYXRlZCB0aGUgc3RhdGUgbG9jYWxseSxcbiAqIHNvIHRoZSBkZXZlbG9wZXIgbXVzdCBwcm92aWRlIGFuIHVuZG8gYWN0aW9uLlxuICpcbiAqIFRoZSBlcnJvciBoYW5kbGluZyBtdXN0IGJlIGRvbmUgaW4gdGhlIGNhbGxiYWNrLCBvciBieSBtZWFucyBvZiB0aGUgdW5kbyBhY3Rpb24uXG4gKlxuICogIyMgRXhhbXBsZTpcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBASW5qZWN0YWJsZSgpXG4gKiBjbGFzcyBUb2RvRWZmZWN0cyB7XG4gKiAgIHVwZGF0ZVRvZG8kID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gKiAgICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICogICAgICAgb2ZUeXBlKCdVUERBVEVfVE9ETycpLFxuICogICAgICAgb3B0aW1pc3RpY1VwZGF0ZSh7XG4gKiAgICAgICAgIC8vIHByb3ZpZGVzIGFuIGFjdGlvblxuICogICAgICAgICBydW46IChhY3Rpb246IFVwZGF0ZVRvZG8pID0+IHtcbiAqICAgICAgICAgICByZXR1cm4gdGhpcy5iYWNrZW5kLnVwZGF0ZVRvZG8oYWN0aW9uLnRvZG8uaWQsIGFjdGlvbi50b2RvKS5waXBlKFxuICogICAgICAgICAgICAgbWFwVG8oe1xuICogICAgICAgICAgICAgICB0eXBlOiAnVVBEQVRFX1RPRE9fU1VDQ0VTUycsXG4gKiAgICAgICAgICAgICB9KVxuICogICAgICAgICAgICk7XG4gKiAgICAgICAgIH0sXG4gKiAgICAgICAgIHVuZG9BY3Rpb246IChhY3Rpb246IFVwZGF0ZVRvZG8sIGVycm9yOiBhbnkpID0+IHtcbiAqICAgICAgICAgICAvLyBkaXNwYXRjaCBhbiB1bmRvIGFjdGlvbiB0byB1bmRvIHRoZSBjaGFuZ2VzIGluIHRoZSBjbGllbnQgc3RhdGVcbiAqICAgICAgICAgICByZXR1cm4ge1xuICogICAgICAgICAgICAgdHlwZTogJ1VORE9fVE9ET19VUERBVEUnLFxuICogICAgICAgICAgICAgdG9kbzogYWN0aW9uLnRvZG8sXG4gKiAgICAgICAgICAgfTtcbiAqICAgICAgICAgfSxcbiAqICAgICAgIH0pXG4gKiAgICAgKVxuICogICApO1xuICpcbiAqICAgY29uc3RydWN0b3IocHJpdmF0ZSBhY3Rpb25zJDogQWN0aW9ucywgcHJpdmF0ZSBiYWNrZW5kOiBCYWNrZW5kKSB7fVxuICogfVxuICogYGBgXG4gKlxuICogTm90ZSB0aGF0IGlmIHlvdSBkb24ndCByZXR1cm4gYSBuZXcgYWN0aW9uIGZyb20gdGhlIHJ1biBjYWxsYmFjaywgeW91IG11c3Qgc2V0IHRoZSBkaXNwYXRjaCBwcm9wZXJ0eVxuICogb2YgdGhlIGVmZmVjdCB0byBmYWxzZSwgbGlrZSB0aGlzOlxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNsYXNzIFRvZG9FZmZlY3RzIHtcbiAqICAgdXBkYXRlVG9kbyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAqICAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gKiAgICAgICAvLy4uLlxuICogICAgICksIHsgZGlzcGF0Y2g6IGZhbHNlIH1cbiAqICAgKTtcbiAqIH1cbiAqIGBgYFxuICpcbiAqIEBwYXJhbSBvcHRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBvcHRpbWlzdGljVXBkYXRlPFQgZXh0ZW5kcyBBcnJheTx1bmtub3duPiwgQSBleHRlbmRzIEFjdGlvbj4oXG4gIG9wdHM6IE9wdGltaXN0aWNVcGRhdGVPcHRzPFQsIEE+XG4pIHtcbiAgcmV0dXJuIChzb3VyY2U6IEFjdGlvblN0YXRlc1N0cmVhbTxULCBBPik6IE9ic2VydmFibGU8QWN0aW9uPiA9PiB7XG4gICAgcmV0dXJuIHNvdXJjZS5waXBlKFxuICAgICAgbWFwQWN0aW9uQW5kU3RhdGUoKSxcbiAgICAgIGNvbmNhdE1hcChydW5XaXRoRXJyb3JIYW5kbGluZyhvcHRzLnJ1biwgb3B0cy51bmRvQWN0aW9uKSlcbiAgICApO1xuICB9O1xufVxuXG4vKipcbiAqXG4gKiBAd2hhdEl0RG9lcyBIYW5kbGVzIGRhdGEgZmV0Y2hpbmcuXG4gKlxuICogRGF0YSBmZXRjaGluZyBpbXBsZW1lbnRlZCBuYWl2ZWx5IHN1ZmZlcnMgZnJvbSByYWNlIGNvbmRpdGlvbnMgYW5kIHBvb3IgZXJyb3IgaGFuZGxpbmcuXG4gKlxuICogYGZldGNoYCBhZGRyZXNzZXMgdGhlc2UgcHJvYmxlbXMuIEl0IHJ1bnMgYWxsIGZldGNoZXMgaW4gb3JkZXIsIHdoaWNoIHJlbW92ZXMgcmFjZSBjb25kaXRpb25zXG4gKiBhbmQgZm9yY2VzIHRoZSBkZXZlbG9wZXIgdG8gaGFuZGxlIGVycm9ycy5cbiAqXG4gKiAjIyBFeGFtcGxlOlxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIEBJbmplY3RhYmxlKClcbiAqIGNsYXNzIFRvZG9FZmZlY3RzIHtcbiAqICAgbG9hZFRvZG9zJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICogICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAqICAgICAgIG9mVHlwZSgnR0VUX1RPRE9TJyksXG4gKiAgICAgICBmZXRjaCh7XG4gKiAgICAgICAgIC8vIHByb3ZpZGVzIGFuIGFjdGlvblxuICogICAgICAgICBydW46IChhOiBHZXRUb2RvcykgPT4ge1xuICogICAgICAgICAgIHJldHVybiB0aGlzLmJhY2tlbmQuZ2V0QWxsKCkucGlwZShcbiAqICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+ICh7XG4gKiAgICAgICAgICAgICAgIHR5cGU6ICdUT0RPUycsXG4gKiAgICAgICAgICAgICAgIHRvZG9zOiByZXNwb25zZS50b2RvcyxcbiAqICAgICAgICAgICAgIH0pKVxuICogICAgICAgICAgICk7XG4gKiAgICAgICAgIH0sXG4gKiAgICAgICAgIG9uRXJyb3I6IChhY3Rpb246IEdldFRvZG9zLCBlcnJvcjogYW55KSA9PiB7XG4gKiAgICAgICAgICAgLy8gZGlzcGF0Y2ggYW4gdW5kbyBhY3Rpb24gdG8gdW5kbyB0aGUgY2hhbmdlcyBpbiB0aGUgY2xpZW50IHN0YXRlXG4gKiAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gKiAgICAgICAgIH0sXG4gKiAgICAgICB9KVxuICogICAgIClcbiAqICAgKTtcbiAqXG4gKiAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYWN0aW9ucyQ6IEFjdGlvbnMsIHByaXZhdGUgYmFja2VuZDogQmFja2VuZCkge31cbiAqIH1cbiAqIGBgYFxuICpcbiAqIFRoaXMgaXMgY29ycmVjdCwgYnV0IGJlY2F1c2UgaXQgc2V0IHRoZSBjb25jdXJyZW5jeSB0byAxLCBpdCBtYXkgbm90IGJlIHBlcmZvcm1hbnQuXG4gKlxuICogVG8gZml4IHRoYXQsIHlvdSBjYW4gcHJvdmlkZSB0aGUgYGlkYCBmdW5jdGlvbiwgbGlrZSB0aGlzOlxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIEBJbmplY3RhYmxlKClcbiAqIGNsYXNzIFRvZG9FZmZlY3RzIHtcbiAqICAgbG9hZFRvZG8kID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gKiAgICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICogICAgICAgb2ZUeXBlKCdHRVRfVE9ETycpLFxuICogICAgICAgZmV0Y2goe1xuICogICAgICAgICBpZDogKHRvZG86IEdldFRvZG8pID0+IHtcbiAqICAgICAgICAgICByZXR1cm4gdG9kby5pZDtcbiAqICAgICAgICAgfSxcbiAqICAgICAgICAgLy8gcHJvdmlkZXMgYW4gYWN0aW9uXG4gKiAgICAgICAgIHJ1bjogKHRvZG86IEdldFRvZG8pID0+IHtcbiAqICAgICAgICAgICByZXR1cm4gdGhpcy5iYWNrZW5kLmdldFRvZG8odG9kby5pZCkubWFwKChyZXNwb25zZSkgPT4gKHtcbiAqICAgICAgICAgICAgIHR5cGU6ICdMT0FEX1RPRE9fU1VDQ0VTUycsXG4gKiAgICAgICAgICAgICB0b2RvOiByZXNwb25zZS50b2RvLFxuICogICAgICAgICAgIH0pKTtcbiAqICAgICAgICAgfSxcbiAqICAgICAgICAgb25FcnJvcjogKGFjdGlvbjogR2V0VG9kbywgZXJyb3I6IGFueSkgPT4ge1xuICogICAgICAgICAgIC8vIGRpc3BhdGNoIGFuIHVuZG8gYWN0aW9uIHRvIHVuZG8gdGhlIGNoYW5nZXMgaW4gdGhlIGNsaWVudCBzdGF0ZVxuICogICAgICAgICAgIHJldHVybiBudWxsO1xuICogICAgICAgICB9LFxuICogICAgICAgfSlcbiAqICAgICApXG4gKiAgICk7XG4gKlxuICogICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFjdGlvbnMkOiBBY3Rpb25zLCBwcml2YXRlIGJhY2tlbmQ6IEJhY2tlbmQpIHt9XG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBXaXRoIHRoaXMgc2V0dXAsIHRoZSByZXF1ZXN0cyBmb3IgVG9kbyAxIHdpbGwgcnVuIGNvbmN1cnJlbnRseSB3aXRoIHRoZSByZXF1ZXN0cyBmb3IgVG9kbyAyLlxuICpcbiAqIEluIGFkZGl0aW9uLCBpZiB0aGVyZSBhcmUgbXVsdGlwbGUgcmVxdWVzdHMgZm9yIFRvZG8gMSBzY2hlZHVsZWQsIGl0IHdpbGwgb25seSBydW4gdGhlIGxhc3Qgb25lLlxuICpcbiAqIEBwYXJhbSBvcHRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmZXRjaDxUIGV4dGVuZHMgQXJyYXk8dW5rbm93bj4sIEEgZXh0ZW5kcyBBY3Rpb24+KFxuICBvcHRzOiBGZXRjaE9wdHM8VCwgQT5cbikge1xuICByZXR1cm4gKHNvdXJjZTogQWN0aW9uU3RhdGVzU3RyZWFtPFQsIEE+KTogT2JzZXJ2YWJsZTxBY3Rpb24+ID0+IHtcbiAgICBpZiAob3B0cy5pZCkge1xuICAgICAgY29uc3QgZ3JvdXBlZEZldGNoZXMgPSBzb3VyY2UucGlwZShcbiAgICAgICAgbWFwQWN0aW9uQW5kU3RhdGUoKSxcbiAgICAgICAgZ3JvdXBCeSgoW2FjdGlvbiwgLi4uc3RvcmVdKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIG9wdHMuaWQoYWN0aW9uLCAuLi5zdG9yZSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuXG4gICAgICByZXR1cm4gZ3JvdXBlZEZldGNoZXMucGlwZShcbiAgICAgICAgbWVyZ2VNYXAoKHBhaXJzKSA9PlxuICAgICAgICAgIHBhaXJzLnBpcGUoc3dpdGNoTWFwKHJ1bldpdGhFcnJvckhhbmRsaW5nKG9wdHMucnVuLCBvcHRzLm9uRXJyb3IpKSlcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc291cmNlLnBpcGUoXG4gICAgICBtYXBBY3Rpb25BbmRTdGF0ZSgpLFxuICAgICAgY29uY2F0TWFwKHJ1bldpdGhFcnJvckhhbmRsaW5nKG9wdHMucnVuLCBvcHRzLm9uRXJyb3IpKVxuICAgICk7XG4gIH07XG59XG5cbi8qKlxuICogQHdoYXRJdERvZXMgSGFuZGxlcyBkYXRhIGZldGNoaW5nIGFzIHBhcnQgb2Ygcm91dGVyIG5hdmlnYXRpb24uXG4gKlxuICogRGF0YSBmZXRjaGluZyBpbXBsZW1lbnRlZCBuYWl2ZWx5IHN1ZmZlcnMgZnJvbSByYWNlIGNvbmRpdGlvbnMgYW5kIHBvb3IgZXJyb3IgaGFuZGxpbmcuXG4gKlxuICogYG5hdmlnYXRpb25gIGFkZHJlc3NlcyB0aGVzZSBwcm9ibGVtcy5cbiAqXG4gKiBJdCBjaGVja3MgaWYgYW4gYWN0aXZhdGVkIHJvdXRlciBzdGF0ZSBjb250YWlucyB0aGUgcGFzc2VkIGluIGNvbXBvbmVudCB0eXBlLCBhbmQsIGlmIGl0IGRvZXMsIHJ1bnMgdGhlIGBydW5gXG4gKiBjYWxsYmFjay4gSXQgcHJvdmlkZXMgdGhlIGFjdGl2YXRlZCBzbmFwc2hvdCBhc3NvY2lhdGVkIHdpdGggdGhlIGNvbXBvbmVudCBhbmQgdGhlIGN1cnJlbnQgc3RhdGUuIEFuZCBpdCBvbmx5IHJ1bnNcbiAqIHRoZSBsYXN0IHJlcXVlc3QuXG4gKlxuICogIyMgRXhhbXBsZTpcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBASW5qZWN0YWJsZSgpXG4gKiBjbGFzcyBUb2RvRWZmZWN0cyB7XG4gKiAgIGxvYWRUb2RvJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICogICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAqICAgICAgIC8vIGxpc3RlbnMgZm9yIHRoZSByb3V0ZXJOYXZpZ2F0aW9uIGFjdGlvbiBmcm9tIEBuZ3J4L3JvdXRlci1zdG9yZVxuICogICAgICAgbmF2aWdhdGlvbihUb2RvQ29tcG9uZW50LCB7XG4gKiAgICAgICAgIHJ1bjogKGFjdGl2YXRlZFJvdXRlU25hcHNob3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpID0+IHtcbiAqICAgICAgICAgICByZXR1cm4gdGhpcy5iYWNrZW5kXG4gKiAgICAgICAgICAgICAuZmV0Y2hUb2RvKGFjdGl2YXRlZFJvdXRlU25hcHNob3QucGFyYW1zWydpZCddKVxuICogICAgICAgICAgICAgLnBpcGUoXG4gKiAgICAgICAgICAgICAgIG1hcCgodG9kbykgPT4gKHtcbiAqICAgICAgICAgICAgICAgICB0eXBlOiAnTE9BRF9UT0RPX1NVQ0NFU1MnLFxuICogICAgICAgICAgICAgICAgIHRvZG86IHRvZG8sXG4gKiAgICAgICAgICAgICAgIH0pKVxuICogICAgICAgICAgICAgKTtcbiAqICAgICAgICAgfSxcbiAqICAgICAgICAgb25FcnJvcjogKFxuICogICAgICAgICAgIGFjdGl2YXRlZFJvdXRlU25hcHNob3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4gKiAgICAgICAgICAgZXJyb3I6IGFueVxuICogICAgICAgICApID0+IHtcbiAqICAgICAgICAgICAvLyB3ZSBjYW4gbG9nIGFuZCBlcnJvciBoZXJlIGFuZCByZXR1cm4gbnVsbFxuICogICAgICAgICAgIC8vIHdlIGNhbiBhbHNvIG5hdmlnYXRlIGJhY2tcbiAqICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAqICAgICAgICAgfSxcbiAqICAgICAgIH0pXG4gKiAgICAgKVxuICogICApO1xuICpcbiAqICAgY29uc3RydWN0b3IocHJpdmF0ZSBhY3Rpb25zJDogQWN0aW9ucywgcHJpdmF0ZSBiYWNrZW5kOiBCYWNrZW5kKSB7fVxuICogfVxuICogYGBgXG4gKlxuICogQHBhcmFtIGNvbXBvbmVudFxuICogQHBhcmFtIG9wdHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG5hdmlnYXRpb248VCBleHRlbmRzIEFycmF5PHVua25vd24+LCBBIGV4dGVuZHMgQWN0aW9uPihcbiAgY29tcG9uZW50OiBUeXBlPGFueT4sXG4gIG9wdHM6IEhhbmRsZU5hdmlnYXRpb25PcHRzPFQ+XG4pIHtcbiAgcmV0dXJuIChzb3VyY2U6IEFjdGlvblN0YXRlc1N0cmVhbTxULCBBPikgPT4ge1xuICAgIGNvbnN0IG5hdiA9IHNvdXJjZS5waXBlKFxuICAgICAgbWFwQWN0aW9uQW5kU3RhdGUoKSxcbiAgICAgIGZpbHRlcigoW2FjdGlvbl0pID0+IGlzU3RhdGVTbmFwc2hvdChhY3Rpb24pKSxcbiAgICAgIG1hcCgoW2FjdGlvbiwgLi4uc2xpY2VzXSkgPT4ge1xuICAgICAgICBpZiAoIWlzU3RhdGVTbmFwc2hvdChhY3Rpb24pKSB7XG4gICAgICAgICAgLy8gQmVjYXVzZSBvZiB0aGUgYWJvdmUgZmlsdGVyIHdlJ2xsIG5ldmVyIGdldCBoZXJlLFxuICAgICAgICAgIC8vIGJ1dCB0aGlzIHByb3Blcmx5IHR5cGUgbmFycm93cyBgYWN0aW9uYFxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgZmluZFNuYXBzaG90KGNvbXBvbmVudCwgYWN0aW9uLnBheWxvYWQucm91dGVyU3RhdGUucm9vdCksXG4gICAgICAgICAgLi4uc2xpY2VzLFxuICAgICAgICBdIGFzIFtBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCAuLi5UXTtcbiAgICAgIH0pLFxuICAgICAgZmlsdGVyKChbc25hcHNob3RdKSA9PiAhIXNuYXBzaG90KVxuICAgICk7XG5cbiAgICByZXR1cm4gbmF2LnBpcGUoc3dpdGNoTWFwKHJ1bldpdGhFcnJvckhhbmRsaW5nKG9wdHMucnVuLCBvcHRzLm9uRXJyb3IpKSk7XG4gIH07XG59XG5cbmZ1bmN0aW9uIGlzU3RhdGVTbmFwc2hvdChcbiAgYWN0aW9uOiBhbnlcbik6IGFjdGlvbiBpcyBSb3V0ZXJOYXZpZ2F0aW9uQWN0aW9uPFJvdXRlclN0YXRlU25hcHNob3Q+IHtcbiAgcmV0dXJuIGFjdGlvbi50eXBlID09PSBST1VURVJfTkFWSUdBVElPTjtcbn1cblxuZnVuY3Rpb24gcnVuV2l0aEVycm9ySGFuZGxpbmc8VCBleHRlbmRzIEFycmF5PHVua25vd24+LCBBLCBSPihcbiAgcnVuOiAoYTogQSwgLi4uc2xpY2VzOiBbLi4uVF0pID0+IE9ic2VydmFibGU8Uj4gfCBSIHwgdm9pZCxcbiAgb25FcnJvcjogYW55XG4pIHtcbiAgcmV0dXJuIChbYWN0aW9uLCAuLi5zbGljZXNdOiBbQSwgLi4uVF0pOiBPYnNlcnZhYmxlPFI+ID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgciA9IHdyYXBJbnRvT2JzZXJ2YWJsZShydW4oYWN0aW9uLCAuLi5zbGljZXMpKTtcbiAgICAgIHJldHVybiByLnBpcGUoY2F0Y2hFcnJvcigoZSkgPT4gd3JhcEludG9PYnNlcnZhYmxlKG9uRXJyb3IoYWN0aW9uLCBlKSkpKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gd3JhcEludG9PYnNlcnZhYmxlKG9uRXJyb3IoYWN0aW9uLCBlKSk7XG4gICAgfVxuICB9O1xufVxuXG4vKipcbiAqIEB3aGF0SXREb2VzIG1hcHMgT2JzZXJ2YWJsZTxBY3Rpb24gfCBbQWN0aW9uLCBTdGF0ZV0+IHRvXG4gKiBPYnNlcnZhYmxlPFtBY3Rpb24sIFN0YXRlXT5cbiAqL1xuZnVuY3Rpb24gbWFwQWN0aW9uQW5kU3RhdGU8VCBleHRlbmRzIEFycmF5PHVua25vd24+LCBBPigpIHtcbiAgcmV0dXJuIChzb3VyY2U6IE9ic2VydmFibGU8QWN0aW9uT3JBY3Rpb25XaXRoU3RhdGVzPFQsIEE+PikgPT4ge1xuICAgIHJldHVybiBzb3VyY2UucGlwZShcbiAgICAgIG1hcCgodmFsdWUpID0+IG5vcm1hbGl6ZUFjdGlvbkFuZFN0YXRlKHZhbHVlKSBhcyBbQSwgLi4uVF0pXG4gICAgKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBAd2hhdEl0RG9lcyBOb3JtYWxpemVzIGVpdGhlciBhIGJhcmUgYWN0aW9uIG9yIGFuIGFycmF5IG9mIGFjdGlvbiBhbmQgc2xpY2VzXG4gKiBpbnRvIGFuIGFycmF5IG9mIGFjdGlvbiBhbmQgc2xpY2VzIChvciB1bmRlZmluZWQpXG4gKi9cbmZ1bmN0aW9uIG5vcm1hbGl6ZUFjdGlvbkFuZFN0YXRlPFQgZXh0ZW5kcyBBcnJheTx1bmtub3duPiwgQT4oXG4gIGFyZ3M6IEFjdGlvbk9yQWN0aW9uV2l0aFN0YXRlczxULCBBPlxuKTogW0EsIC4uLlRdIHtcbiAgbGV0IGFjdGlvbjogQSwgc2xpY2VzOiBUO1xuXG4gIGlmIChhcmdzIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICBbYWN0aW9uLCAuLi5zbGljZXNdID0gYXJncztcbiAgfSBlbHNlIHtcbiAgICBzbGljZXMgPSBbXSBhcyBUO1xuICAgIGFjdGlvbiA9IGFyZ3M7XG4gIH1cblxuICByZXR1cm4gW2FjdGlvbiwgLi4uc2xpY2VzXTtcbn1cblxuZnVuY3Rpb24gZmluZFNuYXBzaG90KFxuICBjb21wb25lbnQ6IFR5cGU8YW55PixcbiAgczogQWN0aXZhdGVkUm91dGVTbmFwc2hvdFxuKTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB7XG4gIGlmIChzLnJvdXRlQ29uZmlnICYmIHMucm91dGVDb25maWcuY29tcG9uZW50ID09PSBjb21wb25lbnQpIHtcbiAgICByZXR1cm4gcztcbiAgfVxuICBmb3IgKGNvbnN0IGMgb2Ygcy5jaGlsZHJlbikge1xuICAgIGNvbnN0IHNzID0gZmluZFNuYXBzaG90KGNvbXBvbmVudCwgYyk7XG4gICAgaWYgKHNzKSB7XG4gICAgICByZXR1cm4gc3M7XG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiB3cmFwSW50b09ic2VydmFibGU8Tz4ob2JqOiBPYnNlcnZhYmxlPE8+IHwgTyB8IHZvaWQpOiBPYnNlcnZhYmxlPE8+IHtcbiAgaWYgKGlzT2JzZXJ2YWJsZShvYmopKSB7XG4gICAgcmV0dXJuIG9iajtcbiAgfSBlbHNlIGlmICghb2JqKSB7XG4gICAgcmV0dXJuIG9mKCk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG9mKG9iaiBhcyBPKTtcbiAgfVxufVxuIl19
|
|
344
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1wZXJzaXN0ZW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXIvc3JjL3J1bnRpbWUvbngvZGF0YS1wZXJzaXN0ZW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUd2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQ0wsVUFBVSxFQUNWLFNBQVMsRUFDVCxNQUFNLEVBQ04sT0FBTyxFQUNQLEdBQUcsRUFDSCxRQUFRLEVBQ1IsU0FBUyxHQUNWLE1BQU0sZ0JBQWdCLENBQUM7QUFxQ3hCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdERztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsSUFBaUM7SUFFakMsT0FBTyxDQUFDLE1BQWdDLEVBQXNCLEVBQUU7UUFDOUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUNoQixpQkFBaUIsRUFBRSxFQUNuQixTQUFTLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FDeEQsQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeURHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUM5QixJQUFnQztJQUVoQyxPQUFPLENBQUMsTUFBZ0MsRUFBc0IsRUFBRTtRQUM5RCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLGlCQUFpQixFQUFFLEVBQ25CLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMs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QUUsQ0FBQyxDQUFDLENBQUM7UUFDdEMsSUFBSSxFQUFFLEVBQUU7WUFDTixPQUFPLEVBQUUsQ0FBQztTQUNYO0tBQ0Y7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUFJLEdBQTZCO0lBQzFELElBQUksWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ3JCLE9BQU8sR0FBRyxDQUFDO0tBQ1o7U0FBTSxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ2YsT0FBTyxFQUFFLEVBQUUsQ0FBQztLQUNiO1NBQU07UUFDTCxPQUFPLEVBQUUsQ0FBQyxHQUFRLENBQUMsQ0FBQztLQUNyQjtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHtcbiAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgUm91dGVyU3RhdGVTbmFwc2hvdCxcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB0eXBlIHsgUm91dGVyTmF2aWdhdGlvbkFjdGlvbiB9IGZyb20gJ0BuZ3J4L3JvdXRlci1zdG9yZSc7XG5pbXBvcnQgeyBST1VURVJfTkFWSUdBVElPTiB9IGZyb20gJ0BuZ3J4L3JvdXRlci1zdG9yZSc7XG5pbXBvcnQgdHlwZSB7IEFjdGlvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB0eXBlIHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgaXNPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgY2F0Y2hFcnJvcixcbiAgY29uY2F0TWFwLFxuICBmaWx0ZXIsXG4gIGdyb3VwQnksXG4gIG1hcCxcbiAgbWVyZ2VNYXAsXG4gIHN3aXRjaE1hcCxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBlc3NpbWlzdGljVXBkYXRlT3B0czxUIGV4dGVuZHMgQXJyYXk8dW5rbm93bj4sIEE+IHtcbiAgcnVuKGE6IEEsIC4uLnNsaWNlczogWy4uLlRdKTogT2JzZXJ2YWJsZTxBY3Rpb24+IHwgQWN0aW9uIHwgdm9pZDtcbiAgb25FcnJvcihhOiBBLCBlOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4gfCBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW1pc3RpY1VwZGF0ZU9wdHM8VCBleHRlbmRzIEFycmF5PHVua25vd24+LCBBPiB7XG4gIHJ1bihhOiBBLCAuLi5zbGljZXM6IFsuLi5UXSk6IE9ic2VydmFibGU8QWN0aW9uPiB8IEFjdGlvbiB8IHZvaWQ7XG4gIHVuZG9BY3Rpb24oYTogQSwgZTogYW55KTogT2JzZXJ2YWJsZTxBY3Rpb24+IHwgQWN0aW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZldGNoT3B0czxUIGV4dGVuZHMgQXJyYXk8dW5rbm93bj4sIEE+IHtcbiAgaWQ/KGE6IEEsIC4uLnNsaWNlczogWy4uLlRdKTogYW55O1xuICBydW4oYTogQSwgLi4uc2xpY2VzOiBbLi4uVF0pOiBPYnNlcnZhYmxlPEFjdGlvbj4gfCBBY3Rpb24gfCB2b2lkO1xuICBvbkVycm9yPyhhOiBBLCBlOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4gfCBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGFuZGxlTmF2aWdhdGlvbk9wdHM8VCBleHRlbmRzIEFycmF5PHVua25vd24+PiB7XG4gIHJ1bihcbiAgICBhOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICAgIC4uLnNsaWNlczogWy4uLlRdXG4gICk6IE9ic2VydmFibGU8QWN0aW9uPiB8IEFjdGlvbiB8IHZvaWQ7XG4gIG9uRXJyb3I/KGE6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGU6IGFueSk6IE9ic2VydmFibGU8YW55PiB8IGFueTtcbn1cblxuZXhwb3J0IHR5cGUgQWN0aW9uT3JBY3Rpb25XaXRoU3RhdGVzPFQgZXh0ZW5kcyBBcnJheTx1bmtub3duPiwgQT4gPVxuICB8IEFcbiAgfCBbQSwgLi4uVF07XG5leHBvcnQgdHlwZSBBY3Rpb25PckFjdGlvbldpdGhTdGF0ZTxULCBBPiA9IEFjdGlvbk9yQWN0aW9uV2l0aFN0YXRlczxbVF0sIEE+O1xuZXhwb3J0IHR5cGUgQWN0aW9uU3RhdGVzU3RyZWFtPFQgZXh0ZW5kcyBBcnJheTx1bmtub3duPiwgQT4gPSBPYnNlcnZhYmxlPFxuICBBY3Rpb25PckFjdGlvbldpdGhTdGF0ZXM8VCwgQT5cbj47XG5leHBvcnQgdHlwZSBBY3Rpb25TdGF0ZVN0cmVhbTxULCBBPiA9IE9ic2VydmFibGU8XG4gIEFjdGlvbk9yQWN0aW9uV2l0aFN0YXRlczxbVF0sIEE+XG4+O1xuXG4vKipcbiAqXG4gKiBAd2hhdEl0RG9lcyBIYW5kbGVzIHBlc3NpbWlzdGljIHVwZGF0ZXMgKHVwZGF0aW5nIHRoZSBzZXJ2ZXIgZmlyc3QpLlxuICpcbiAqIFVwZGF0aW5nIHRoZSBzZXJ2ZXIsIHdoZW4gaW1wbGVtZW50ZWQgbmFpdmVseSwgc3VmZmVycyBmcm9tIHJhY2UgY29uZGl0aW9ucyBhbmQgcG9vciBlcnJvciBoYW5kbGluZy5cbiAqXG4gKiBgcGVzc2ltaXN0aWNVcGRhdGVgIGFkZHJlc3NlcyB0aGVzZSBwcm9ibGVtcy4gSXQgcnVucyBhbGwgZmV0Y2hlcyBpbiBvcmRlciwgd2hpY2ggcmVtb3ZlcyByYWNlIGNvbmRpdGlvbnNcbiAqIGFuZCBmb3JjZXMgdGhlIGRldmVsb3BlciB0byBoYW5kbGUgZXJyb3JzLlxuICpcbiAqICMjIEV4YW1wbGU6XG4gKlxuICogYGBgdHlwZXNjcmlwdFxuICogQEluamVjdGFibGUoKVxuICogY2xhc3MgVG9kb0VmZmVjdHMge1xuICogICB1cGRhdGVUb2RvJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICogICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAqICAgICAgIG9mVHlwZSgnVVBEQVRFX1RPRE8nKSxcbiAqICAgICAgIHBlc3NpbWlzdGljVXBkYXRlKHtcbiAqICAgICAgICAgLy8gcHJvdmlkZXMgYW4gYWN0aW9uXG4gKiAgICAgICAgIHJ1bjogKGFjdGlvbjogVXBkYXRlVG9kbykgPT4ge1xuICogICAgICAgICAgIC8vIHVwZGF0ZSB0aGUgYmFja2VuZCBmaXJzdCwgYW5kIHRoZW4gZGlzcGF0Y2ggYW4gYWN0aW9uIHRoYXQgd2lsbFxuICogICAgICAgICAgIC8vIHVwZGF0ZSB0aGUgY2xpZW50IHNpZGVcbiAqICAgICAgICAgICByZXR1cm4gdGhpcy5iYWNrZW5kLnVwZGF0ZVRvZG8oYWN0aW9uLnRvZG8uaWQsIGFjdGlvbi50b2RvKS5waXBlKFxuICogICAgICAgICAgICAgbWFwKCh1cGRhdGVkKSA9PiAoe1xuICogICAgICAgICAgICAgICB0eXBlOiAnVVBEQVRFX1RPRE9fU1VDQ0VTUycsXG4gKiAgICAgICAgICAgICAgIHRvZG86IHVwZGF0ZWQsXG4gKiAgICAgICAgICAgICB9KSlcbiAqICAgICAgICAgICApO1xuICogICAgICAgICB9LFxuICogICAgICAgICBvbkVycm9yOiAoYWN0aW9uOiBVcGRhdGVUb2RvLCBlcnJvcjogYW55KSA9PiB7XG4gKiAgICAgICAgICAgLy8gd2UgZG9uJ3QgbmVlZCB0byB1bmRvIHRoZSBjaGFuZ2VzIG9uIHRoZSBjbGllbnQgc2lkZS5cbiAqICAgICAgICAgICAvLyB3ZSBjYW4gZGlzcGF0Y2ggYW4gZXJyb3IsIG9yIHNpbXBseSBsb2cgdGhlIGVycm9yIGhlcmUgYW5kIHJldHVybiBgbnVsbGBcbiAqICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAqICAgICAgICAgfSxcbiAqICAgICAgIH0pXG4gKiAgICAgKVxuICogICApO1xuICpcbiAqICAgY29uc3RydWN0b3IocHJpdmF0ZSBhY3Rpb25zJDogQWN0aW9ucywgcHJpdmF0ZSBiYWNrZW5kOiBCYWNrZW5kKSB7fVxuICogfVxuICogYGBgXG4gKlxuICogTm90ZSB0aGF0IGlmIHlvdSBkb24ndCByZXR1cm4gYSBuZXcgYWN0aW9uIGZyb20gdGhlIHJ1biBjYWxsYmFjaywgeW91IG11c3Qgc2V0IHRoZSBkaXNwYXRjaCBwcm9wZXJ0eVxuICogb2YgdGhlIGVmZmVjdCB0byBmYWxzZSwgbGlrZSB0aGlzOlxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNsYXNzIFRvZG9FZmZlY3RzIHtcbiAqICAgdXBkYXRlVG9kbyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAqICAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gKiAgICAgICAvLy4uLlxuICogICAgICksIHsgZGlzcGF0Y2g6IGZhbHNlIH1cbiAqICAgKTtcbiAqIH1cbiAqIGBgYFxuICpcbiAqIEBwYXJhbSBvcHRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwZXNzaW1pc3RpY1VwZGF0ZTxUIGV4dGVuZHMgQXJyYXk8dW5rbm93bj4sIEEgZXh0ZW5kcyBBY3Rpb24+KFxuICBvcHRzOiBQZXNzaW1pc3RpY1VwZGF0ZU9wdHM8VCwgQT5cbikge1xuICByZXR1cm4gKHNvdXJjZTogQWN0aW9uU3RhdGVzU3RyZWFtPFQsIEE+KTogT2JzZXJ2YWJsZTxBY3Rpb24+ID0+IHtcbiAgICByZXR1cm4gc291cmNlLnBpcGUoXG4gICAgICBtYXBBY3Rpb25BbmRTdGF0ZSgpLFxuICAgICAgY29uY2F0TWFwKHJ1bldpdGhFcnJvckhhbmRsaW5nKG9wdHMucnVuLCBvcHRzLm9uRXJyb3IpKVxuICAgICk7XG4gIH07XG59XG5cbi8qKlxuICpcbiAqIEB3aGF0SXREb2VzIEhhbmRsZXMgb3B0aW1pc3RpYyB1cGRhdGVzICh1cGRhdGluZyB0aGUgY2xpZW50IGZpcnN0KS5cbiAqXG4gKiBJdCBydW5zIGFsbCBmZXRjaGVzIGluIG9yZGVyLCB3aGljaCByZW1vdmVzIHJhY2UgY29uZGl0aW9ucyBhbmQgZm9yY2VzIHRoZSBkZXZlbG9wZXIgdG8gaGFuZGxlIGVycm9ycy5cbiAqXG4gKiBXaGVuIHVzaW5nIGBvcHRpbWlzdGljVXBkYXRlYCwgaW4gY2FzZSBvZiBhIGZhaWx1cmUsIHRoZSBkZXZlbG9wZXIgaGFzIGFscmVhZHkgdXBkYXRlZCB0aGUgc3RhdGUgbG9jYWxseSxcbiAqIHNvIHRoZSBkZXZlbG9wZXIgbXVzdCBwcm92aWRlIGFuIHVuZG8gYWN0aW9uLlxuICpcbiAqIFRoZSBlcnJvciBoYW5kbGluZyBtdXN0IGJlIGRvbmUgaW4gdGhlIGNhbGxiYWNrLCBvciBieSBtZWFucyBvZiB0aGUgdW5kbyBhY3Rpb24uXG4gKlxuICogIyMgRXhhbXBsZTpcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBASW5qZWN0YWJsZSgpXG4gKiBjbGFzcyBUb2RvRWZmZWN0cyB7XG4gKiAgIHVwZGF0ZVRvZG8kID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gKiAgICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICogICAgICAgb2ZUeXBlKCdVUERBVEVfVE9ETycpLFxuICogICAgICAgb3B0aW1pc3RpY1VwZGF0ZSh7XG4gKiAgICAgICAgIC8vIHByb3ZpZGVzIGFuIGFjdGlvblxuICogICAgICAgICBydW46IChhY3Rpb246IFVwZGF0ZVRvZG8pID0+IHtcbiAqICAgICAgICAgICByZXR1cm4gdGhpcy5iYWNrZW5kLnVwZGF0ZVRvZG8oYWN0aW9uLnRvZG8uaWQsIGFjdGlvbi50b2RvKS5waXBlKFxuICogICAgICAgICAgICAgbWFwVG8oe1xuICogICAgICAgICAgICAgICB0eXBlOiAnVVBEQVRFX1RPRE9fU1VDQ0VTUycsXG4gKiAgICAgICAgICAgICB9KVxuICogICAgICAgICAgICk7XG4gKiAgICAgICAgIH0sXG4gKiAgICAgICAgIHVuZG9BY3Rpb246IChhY3Rpb246IFVwZGF0ZVRvZG8sIGVycm9yOiBhbnkpID0+IHtcbiAqICAgICAgICAgICAvLyBkaXNwYXRjaCBhbiB1bmRvIGFjdGlvbiB0byB1bmRvIHRoZSBjaGFuZ2VzIGluIHRoZSBjbGllbnQgc3RhdGVcbiAqICAgICAgICAgICByZXR1cm4ge1xuICogICAgICAgICAgICAgdHlwZTogJ1VORE9fVE9ET19VUERBVEUnLFxuICogICAgICAgICAgICAgdG9kbzogYWN0aW9uLnRvZG8sXG4gKiAgICAgICAgICAgfTtcbiAqICAgICAgICAgfSxcbiAqICAgICAgIH0pXG4gKiAgICAgKVxuICogICApO1xuICpcbiAqICAgY29uc3RydWN0b3IocHJpdmF0ZSBhY3Rpb25zJDogQWN0aW9ucywgcHJpdmF0ZSBiYWNrZW5kOiBCYWNrZW5kKSB7fVxuICogfVxuICogYGBgXG4gKlxuICogTm90ZSB0aGF0IGlmIHlvdSBkb24ndCByZXR1cm4gYSBuZXcgYWN0aW9uIGZyb20gdGhlIHJ1biBjYWxsYmFjaywgeW91IG11c3Qgc2V0IHRoZSBkaXNwYXRjaCBwcm9wZXJ0eVxuICogb2YgdGhlIGVmZmVjdCB0byBmYWxzZSwgbGlrZSB0aGlzOlxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNsYXNzIFRvZG9FZmZlY3RzIHtcbiAqICAgdXBkYXRlVG9kbyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAqICAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gKiAgICAgICAvLy4uLlxuICogICAgICksIHsgZGlzcGF0Y2g6IGZhbHNlIH1cbiAqICAgKTtcbiAqIH1cbiAqIGBgYFxuICpcbiAqIEBwYXJhbSBvcHRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBvcHRpbWlzdGljVXBkYXRlPFQgZXh0ZW5kcyBBcnJheTx1bmtub3duPiwgQSBleHRlbmRzIEFjdGlvbj4oXG4gIG9wdHM6IE9wdGltaXN0aWNVcGRhdGVPcHRzPFQsIEE+XG4pIHtcbiAgcmV0dXJuIChzb3VyY2U6IEFjdGlvblN0YXRlc1N0cmVhbTxULCBBPik6IE9ic2VydmFibGU8QWN0aW9uPiA9PiB7XG4gICAgcmV0dXJuIHNvdXJjZS5waXBlKFxuICAgICAgbWFwQWN0aW9uQW5kU3RhdGUoKSxcbiAgICAgIGNvbmNhdE1hcChydW5XaXRoRXJyb3JIYW5kbGluZyhvcHRzLnJ1biwgb3B0cy51bmRvQWN0aW9uKSlcbiAgICApO1xuICB9O1xufVxuXG4vKipcbiAqXG4gKiBAd2hhdEl0RG9lcyBIYW5kbGVzIGRhdGEgZmV0Y2hpbmcuXG4gKlxuICogRGF0YSBmZXRjaGluZyBpbXBsZW1lbnRlZCBuYWl2ZWx5IHN1ZmZlcnMgZnJvbSByYWNlIGNvbmRpdGlvbnMgYW5kIHBvb3IgZXJyb3IgaGFuZGxpbmcuXG4gKlxuICogYGZldGNoYCBhZGRyZXNzZXMgdGhlc2UgcHJvYmxlbXMuIEl0IHJ1bnMgYWxsIGZldGNoZXMgaW4gb3JkZXIsIHdoaWNoIHJlbW92ZXMgcmFjZSBjb25kaXRpb25zXG4gKiBhbmQgZm9yY2VzIHRoZSBkZXZlbG9wZXIgdG8gaGFuZGxlIGVycm9ycy5cbiAqXG4gKiAjIyBFeGFtcGxlOlxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIEBJbmplY3RhYmxlKClcbiAqIGNsYXNzIFRvZG9FZmZlY3RzIHtcbiAqICAgbG9hZFRvZG9zJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICogICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAqICAgICAgIG9mVHlwZSgnR0VUX1RPRE9TJyksXG4gKiAgICAgICBmZXRjaCh7XG4gKiAgICAgICAgIC8vIHByb3ZpZGVzIGFuIGFjdGlvblxuICogICAgICAgICBydW46IChhOiBHZXRUb2RvcykgPT4ge1xuICogICAgICAgICAgIHJldHVybiB0aGlzLmJhY2tlbmQuZ2V0QWxsKCkucGlwZShcbiAqICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+ICh7XG4gKiAgICAgICAgICAgICAgIHR5cGU6ICdUT0RPUycsXG4gKiAgICAgICAgICAgICAgIHRvZG9zOiByZXNwb25zZS50b2RvcyxcbiAqICAgICAgICAgICAgIH0pKVxuICogICAgICAgICAgICk7XG4gKiAgICAgICAgIH0sXG4gKiAgICAgICAgIG9uRXJyb3I6IChhY3Rpb246IEdldFRvZG9zLCBlcnJvcjogYW55KSA9PiB7XG4gKiAgICAgICAgICAgLy8gZGlzcGF0Y2ggYW4gdW5kbyBhY3Rpb24gdG8gdW5kbyB0aGUgY2hhbmdlcyBpbiB0aGUgY2xpZW50IHN0YXRlXG4gKiAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gKiAgICAgICAgIH0sXG4gKiAgICAgICB9KVxuICogICAgIClcbiAqICAgKTtcbiAqXG4gKiAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYWN0aW9ucyQ6IEFjdGlvbnMsIHByaXZhdGUgYmFja2VuZDogQmFja2VuZCkge31cbiAqIH1cbiAqIGBgYFxuICpcbiAqIFRoaXMgaXMgY29ycmVjdCwgYnV0IGJlY2F1c2UgaXQgc2V0IHRoZSBjb25jdXJyZW5jeSB0byAxLCBpdCBtYXkgbm90IGJlIHBlcmZvcm1hbnQuXG4gKlxuICogVG8gZml4IHRoYXQsIHlvdSBjYW4gcHJvdmlkZSB0aGUgYGlkYCBmdW5jdGlvbiwgbGlrZSB0aGlzOlxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIEBJbmplY3RhYmxlKClcbiAqIGNsYXNzIFRvZG9FZmZlY3RzIHtcbiAqICAgbG9hZFRvZG8kID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gKiAgICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICogICAgICAgb2ZUeXBlKCdHRVRfVE9ETycpLFxuICogICAgICAgZmV0Y2goe1xuICogICAgICAgICBpZDogKHRvZG86IEdldFRvZG8pID0+IHtcbiAqICAgICAgICAgICByZXR1cm4gdG9kby5pZDtcbiAqICAgICAgICAgfSxcbiAqICAgICAgICAgLy8gcHJvdmlkZXMgYW4gYWN0aW9uXG4gKiAgICAgICAgIHJ1bjogKHRvZG86IEdldFRvZG8pID0+IHtcbiAqICAgICAgICAgICByZXR1cm4gdGhpcy5iYWNrZW5kLmdldFRvZG8odG9kby5pZCkubWFwKChyZXNwb25zZSkgPT4gKHtcbiAqICAgICAgICAgICAgIHR5cGU6ICdMT0FEX1RPRE9fU1VDQ0VTUycsXG4gKiAgICAgICAgICAgICB0b2RvOiByZXNwb25zZS50b2RvLFxuICogICAgICAgICAgIH0pKTtcbiAqICAgICAgICAgfSxcbiAqICAgICAgICAgb25FcnJvcjogKGFjdGlvbjogR2V0VG9kbywgZXJyb3I6IGFueSkgPT4ge1xuICogICAgICAgICAgIC8vIGRpc3BhdGNoIGFuIHVuZG8gYWN0aW9uIHRvIHVuZG8gdGhlIGNoYW5nZXMgaW4gdGhlIGNsaWVudCBzdGF0ZVxuICogICAgICAgICAgIHJldHVybiBudWxsO1xuICogICAgICAgICB9LFxuICogICAgICAgfSlcbiAqICAgICApXG4gKiAgICk7XG4gKlxuICogICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFjdGlvbnMkOiBBY3Rpb25zLCBwcml2YXRlIGJhY2tlbmQ6IEJhY2tlbmQpIHt9XG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBXaXRoIHRoaXMgc2V0dXAsIHRoZSByZXF1ZXN0cyBmb3IgVG9kbyAxIHdpbGwgcnVuIGNvbmN1cnJlbnRseSB3aXRoIHRoZSByZXF1ZXN0cyBmb3IgVG9kbyAyLlxuICpcbiAqIEluIGFkZGl0aW9uLCBpZiB0aGVyZSBhcmUgbXVsdGlwbGUgcmVxdWVzdHMgZm9yIFRvZG8gMSBzY2hlZHVsZWQsIGl0IHdpbGwgb25seSBydW4gdGhlIGxhc3Qgb25lLlxuICpcbiAqIEBwYXJhbSBvcHRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmZXRjaDxUIGV4dGVuZHMgQXJyYXk8dW5rbm93bj4sIEEgZXh0ZW5kcyBBY3Rpb24+KFxuICBvcHRzOiBGZXRjaE9wdHM8VCwgQT5cbikge1xuICByZXR1cm4gKHNvdXJjZTogQWN0aW9uU3RhdGVzU3RyZWFtPFQsIEE+KTogT2JzZXJ2YWJsZTxBY3Rpb24+ID0+IHtcbiAgICBpZiAob3B0cy5pZCkge1xuICAgICAgY29uc3QgZ3JvdXBlZEZldGNoZXMgPSBzb3VyY2UucGlwZShcbiAgICAgICAgbWFwQWN0aW9uQW5kU3RhdGUoKSxcbiAgICAgICAgZ3JvdXBCeSgoW2FjdGlvbiwgLi4uc3RvcmVdKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIG9wdHMuaWQoYWN0aW9uLCAuLi5zdG9yZSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuXG4gICAgICByZXR1cm4gZ3JvdXBlZEZldGNoZXMucGlwZShcbiAgICAgICAgbWVyZ2VNYXAoKHBhaXJzKSA9PlxuICAgICAgICAgIHBhaXJzLnBpcGUoc3dpdGNoTWFwKHJ1bldpdGhFcnJvckhhbmRsaW5nKG9wdHMucnVuLCBvcHRzLm9uRXJyb3IpKSlcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc291cmNlLnBpcGUoXG4gICAgICBtYXBBY3Rpb25BbmRTdGF0ZSgpLFxuICAgICAgY29uY2F0TWFwKHJ1bldpdGhFcnJvckhhbmRsaW5nKG9wdHMucnVuLCBvcHRzLm9uRXJyb3IpKVxuICAgICk7XG4gIH07XG59XG5cbi8qKlxuICogQHdoYXRJdERvZXMgSGFuZGxlcyBkYXRhIGZldGNoaW5nIGFzIHBhcnQgb2Ygcm91dGVyIG5hdmlnYXRpb24uXG4gKlxuICogRGF0YSBmZXRjaGluZyBpbXBsZW1lbnRlZCBuYWl2ZWx5IHN1ZmZlcnMgZnJvbSByYWNlIGNvbmRpdGlvbnMgYW5kIHBvb3IgZXJyb3IgaGFuZGxpbmcuXG4gKlxuICogYG5hdmlnYXRpb25gIGFkZHJlc3NlcyB0aGVzZSBwcm9ibGVtcy5cbiAqXG4gKiBJdCBjaGVja3MgaWYgYW4gYWN0aXZhdGVkIHJvdXRlciBzdGF0ZSBjb250YWlucyB0aGUgcGFzc2VkIGluIGNvbXBvbmVudCB0eXBlLCBhbmQsIGlmIGl0IGRvZXMsIHJ1bnMgdGhlIGBydW5gXG4gKiBjYWxsYmFjay4gSXQgcHJvdmlkZXMgdGhlIGFjdGl2YXRlZCBzbmFwc2hvdCBhc3NvY2lhdGVkIHdpdGggdGhlIGNvbXBvbmVudCBhbmQgdGhlIGN1cnJlbnQgc3RhdGUuIEFuZCBpdCBvbmx5IHJ1bnNcbiAqIHRoZSBsYXN0IHJlcXVlc3QuXG4gKlxuICogIyMgRXhhbXBsZTpcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBASW5qZWN0YWJsZSgpXG4gKiBjbGFzcyBUb2RvRWZmZWN0cyB7XG4gKiAgIGxvYWRUb2RvJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICogICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAqICAgICAgIC8vIGxpc3RlbnMgZm9yIHRoZSByb3V0ZXJOYXZpZ2F0aW9uIGFjdGlvbiBmcm9tIEBuZ3J4L3JvdXRlci1zdG9yZVxuICogICAgICAgbmF2aWdhdGlvbihUb2RvQ29tcG9uZW50LCB7XG4gKiAgICAgICAgIHJ1bjogKGFjdGl2YXRlZFJvdXRlU25hcHNob3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpID0+IHtcbiAqICAgICAgICAgICByZXR1cm4gdGhpcy5iYWNrZW5kXG4gKiAgICAgICAgICAgICAuZmV0Y2hUb2RvKGFjdGl2YXRlZFJvdXRlU25hcHNob3QucGFyYW1zWydpZCddKVxuICogICAgICAgICAgICAgLnBpcGUoXG4gKiAgICAgICAgICAgICAgIG1hcCgodG9kbykgPT4gKHtcbiAqICAgICAgICAgICAgICAgICB0eXBlOiAnTE9BRF9UT0RPX1NVQ0NFU1MnLFxuICogICAgICAgICAgICAgICAgIHRvZG86IHRvZG8sXG4gKiAgICAgICAgICAgICAgIH0pKVxuICogICAgICAgICAgICAgKTtcbiAqICAgICAgICAgfSxcbiAqICAgICAgICAgb25FcnJvcjogKFxuICogICAgICAgICAgIGFjdGl2YXRlZFJvdXRlU25hcHNob3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4gKiAgICAgICAgICAgZXJyb3I6IGFueVxuICogICAgICAgICApID0+IHtcbiAqICAgICAgICAgICAvLyB3ZSBjYW4gbG9nIGFuZCBlcnJvciBoZXJlIGFuZCByZXR1cm4gbnVsbFxuICogICAgICAgICAgIC8vIHdlIGNhbiBhbHNvIG5hdmlnYXRlIGJhY2tcbiAqICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAqICAgICAgICAgfSxcbiAqICAgICAgIH0pXG4gKiAgICAgKVxuICogICApO1xuICpcbiAqICAgY29uc3RydWN0b3IocHJpdmF0ZSBhY3Rpb25zJDogQWN0aW9ucywgcHJpdmF0ZSBiYWNrZW5kOiBCYWNrZW5kKSB7fVxuICogfVxuICogYGBgXG4gKlxuICogQHBhcmFtIGNvbXBvbmVudFxuICogQHBhcmFtIG9wdHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG5hdmlnYXRpb248VCBleHRlbmRzIEFycmF5PHVua25vd24+LCBBIGV4dGVuZHMgQWN0aW9uPihcbiAgY29tcG9uZW50OiBUeXBlPGFueT4sXG4gIG9wdHM6IEhhbmRsZU5hdmlnYXRpb25PcHRzPFQ+XG4pIHtcbiAgcmV0dXJuIChzb3VyY2U6IEFjdGlvblN0YXRlc1N0cmVhbTxULCBBPikgPT4ge1xuICAgIGNvbnN0IG5hdiA9IHNvdXJjZS5waXBlKFxuICAgICAgbWFwQWN0aW9uQW5kU3RhdGUoKSxcbiAgICAgIGZpbHRlcigoW2FjdGlvbl0pID0+IGlzU3RhdGVTbmFwc2hvdChhY3Rpb24pKSxcbiAgICAgIG1hcCgoW2FjdGlvbiwgLi4uc2xpY2VzXSkgPT4ge1xuICAgICAgICBpZiAoIWlzU3RhdGVTbmFwc2hvdChhY3Rpb24pKSB7XG4gICAgICAgICAgLy8gQmVjYXVzZSBvZiB0aGUgYWJvdmUgZmlsdGVyIHdlJ2xsIG5ldmVyIGdldCBoZXJlLFxuICAgICAgICAgIC8vIGJ1dCB0aGlzIHByb3Blcmx5IHR5cGUgbmFycm93cyBgYWN0aW9uYFxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgZmluZFNuYXBzaG90KGNvbXBvbmVudCwgYWN0aW9uLnBheWxvYWQucm91dGVyU3RhdGUucm9vdCksXG4gICAgICAgICAgLi4uc2xpY2VzLFxuICAgICAgICBdIGFzIFtBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCAuLi5UXTtcbiAgICAgIH0pLFxuICAgICAgZmlsdGVyKChbc25hcHNob3RdKSA9PiAhIXNuYXBzaG90KVxuICAgICk7XG5cbiAgICByZXR1cm4gbmF2LnBpcGUoc3dpdGNoTWFwKHJ1bldpdGhFcnJvckhhbmRsaW5nKG9wdHMucnVuLCBvcHRzLm9uRXJyb3IpKSk7XG4gIH07XG59XG5cbmZ1bmN0aW9uIGlzU3RhdGVTbmFwc2hvdChcbiAgYWN0aW9uOiBhbnlcbik6IGFjdGlvbiBpcyBSb3V0ZXJOYXZpZ2F0aW9uQWN0aW9uPFJvdXRlclN0YXRlU25hcHNob3Q+IHtcbiAgcmV0dXJuIGFjdGlvbi50eXBlID09PSBST1VURVJfTkFWSUdBVElPTjtcbn1cblxuZnVuY3Rpb24gcnVuV2l0aEVycm9ySGFuZGxpbmc8VCBleHRlbmRzIEFycmF5PHVua25vd24+LCBBLCBSPihcbiAgcnVuOiAoYTogQSwgLi4uc2xpY2VzOiBbLi4uVF0pID0+IE9ic2VydmFibGU8Uj4gfCBSIHwgdm9pZCxcbiAgb25FcnJvcjogYW55XG4pIHtcbiAgcmV0dXJuIChbYWN0aW9uLCAuLi5zbGljZXNdOiBbQSwgLi4uVF0pOiBPYnNlcnZhYmxlPFI+ID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgciA9IHdyYXBJbnRvT2JzZXJ2YWJsZShydW4oYWN0aW9uLCAuLi5zbGljZXMpKTtcbiAgICAgIHJldHVybiByLnBpcGUoY2F0Y2hFcnJvcigoZSkgPT4gd3JhcEludG9PYnNlcnZhYmxlKG9uRXJyb3IoYWN0aW9uLCBlKSkpKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gd3JhcEludG9PYnNlcnZhYmxlKG9uRXJyb3IoYWN0aW9uLCBlKSk7XG4gICAgfVxuICB9O1xufVxuXG4vKipcbiAqIEB3aGF0SXREb2VzIG1hcHMgT2JzZXJ2YWJsZTxBY3Rpb24gfCBbQWN0aW9uLCBTdGF0ZV0+IHRvXG4gKiBPYnNlcnZhYmxlPFtBY3Rpb24sIFN0YXRlXT5cbiAqL1xuZnVuY3Rpb24gbWFwQWN0aW9uQW5kU3RhdGU8VCBleHRlbmRzIEFycmF5PHVua25vd24+LCBBPigpIHtcbiAgcmV0dXJuIChzb3VyY2U6IE9ic2VydmFibGU8QWN0aW9uT3JBY3Rpb25XaXRoU3RhdGVzPFQsIEE+PikgPT4ge1xuICAgIHJldHVybiBzb3VyY2UucGlwZShcbiAgICAgIG1hcCgodmFsdWUpID0+IG5vcm1hbGl6ZUFjdGlvbkFuZFN0YXRlKHZhbHVlKSBhcyBbQSwgLi4uVF0pXG4gICAgKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBAd2hhdEl0RG9lcyBOb3JtYWxpemVzIGVpdGhlciBhIGJhcmUgYWN0aW9uIG9yIGFuIGFycmF5IG9mIGFjdGlvbiBhbmQgc2xpY2VzXG4gKiBpbnRvIGFuIGFycmF5IG9mIGFjdGlvbiBhbmQgc2xpY2VzIChvciB1bmRlZmluZWQpXG4gKi9cbmZ1bmN0aW9uIG5vcm1hbGl6ZUFjdGlvbkFuZFN0YXRlPFQgZXh0ZW5kcyBBcnJheTx1bmtub3duPiwgQT4oXG4gIGFyZ3M6IEFjdGlvbk9yQWN0aW9uV2l0aFN0YXRlczxULCBBPlxuKTogW0EsIC4uLlRdIHtcbiAgbGV0IGFjdGlvbjogQSwgc2xpY2VzOiBUO1xuXG4gIGlmIChhcmdzIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICBbYWN0aW9uLCAuLi5zbGljZXNdID0gYXJncztcbiAgfSBlbHNlIHtcbiAgICBzbGljZXMgPSBbXSBhcyBUO1xuICAgIGFjdGlvbiA9IGFyZ3M7XG4gIH1cblxuICByZXR1cm4gW2FjdGlvbiwgLi4uc2xpY2VzXTtcbn1cblxuZnVuY3Rpb24gZmluZFNuYXBzaG90KFxuICBjb21wb25lbnQ6IFR5cGU8YW55PixcbiAgczogQWN0aXZhdGVkUm91dGVTbmFwc2hvdFxuKTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB7XG4gIGlmIChzLnJvdXRlQ29uZmlnICYmIHMucm91dGVDb25maWcuY29tcG9uZW50ID09PSBjb21wb25lbnQpIHtcbiAgICByZXR1cm4gcztcbiAgfVxuICBmb3IgKGNvbnN0IGMgb2Ygcy5jaGlsZHJlbikge1xuICAgIGNvbnN0IHNzID0gZmluZFNuYXBzaG90KGNvbXBvbmVudCwgYyk7XG4gICAgaWYgKHNzKSB7XG4gICAgICByZXR1cm4gc3M7XG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiB3cmFwSW50b09ic2VydmFibGU8Tz4ob2JqOiBPYnNlcnZhYmxlPE8+IHwgTyB8IHZvaWQpOiBPYnNlcnZhYmxlPE8+IHtcbiAgaWYgKGlzT2JzZXJ2YWJsZShvYmopKSB7XG4gICAgcmV0dXJuIG9iajtcbiAgfSBlbHNlIGlmICghb2JqKSB7XG4gICAgcmV0dXJuIG9mKCk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG9mKG9iaiBhcyBPKTtcbiAgfVxufVxuIl19
|
|
@@ -1,7 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.readFirst = exports.readAll = void 0;
|
|
4
|
-
var testing_utils_1 = require("./src/testing-utils");
|
|
5
|
-
Object.defineProperty(exports, "readAll", { enumerable: true, get: function () { return testing_utils_1.readAll; } });
|
|
6
|
-
Object.defineProperty(exports, "readFirst", { enumerable: true, get: function () { return testing_utils_1.readFirst; } });
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyL3Rlc3RpbmcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQXlEO0FBQWhELHdHQUFBLE9BQU8sT0FBQTtBQUFFLDBHQUFBLFNBQVMsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IHJlYWRBbGwsIHJlYWRGaXJzdCB9IGZyb20gJy4vc3JjL3Rlc3RpbmctdXRpbHMnO1xuIl19
|
|
1
|
+
export { readAll, readFirst } from './src/testing-utils';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyL3Rlc3RpbmcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IHJlYWRBbGwsIHJlYWRGaXJzdCB9IGZyb20gJy4vc3JjL3Rlc3RpbmctdXRpbHMnO1xuIl19
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Generated bundle index. Do not edit.
|
|
4
3
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
tslib_1.__exportStar(require("./index"), exports);
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibngtYW5ndWxhci10ZXN0aW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci90ZXN0aW5nL254LWFuZ3VsYXItdGVzdGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQUVILGtEQUF3QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibngtYW5ndWxhci10ZXN0aW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci90ZXN0aW5nL254LWFuZ3VsYXItdGVzdGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.readFirst = exports.readAll = void 0;
|
|
4
|
-
const operators_1 = require("rxjs/operators");
|
|
1
|
+
import { first, toArray } from 'rxjs/operators';
|
|
5
2
|
/**
|
|
6
3
|
* @deprecated This will be removed in a later version of Nx. Since RxJS 7, use firstValueFrom(obs$.pipe(toArray())) or lastValueFrom(obs$.pipe(toArray())).
|
|
7
4
|
*
|
|
@@ -16,10 +13,9 @@ const operators_1 = require("rxjs/operators");
|
|
|
16
13
|
* expect(res).toEqual([1, 2, 3, 4]);
|
|
17
14
|
* ```
|
|
18
15
|
*/
|
|
19
|
-
function readAll(o) {
|
|
20
|
-
return o.pipe(
|
|
16
|
+
export function readAll(o) {
|
|
17
|
+
return o.pipe(toArray()).toPromise();
|
|
21
18
|
}
|
|
22
|
-
exports.readAll = readAll;
|
|
23
19
|
/**
|
|
24
20
|
* @deprecated This will be removed in a later version of Nx. Since RxJS 7, use firstValueFrom(obs$)
|
|
25
21
|
*
|
|
@@ -34,8 +30,7 @@ exports.readAll = readAll;
|
|
|
34
30
|
* expect(res).toEqual(1);
|
|
35
31
|
* ```
|
|
36
32
|
*/
|
|
37
|
-
function readFirst(o) {
|
|
38
|
-
return o.pipe(
|
|
33
|
+
export function readFirst(o) {
|
|
34
|
+
return o.pipe(first()).toPromise();
|
|
39
35
|
}
|
|
40
|
-
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdGluZy11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXIvdGVzdGluZy9zcmMvdGVzdGluZy11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSw4Q0FBZ0Q7QUFFaEQ7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILFNBQWdCLE9BQU8sQ0FBSSxDQUFnQjtJQUN6QyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBQSxtQkFBTyxHQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztBQUN2QyxDQUFDO0FBRkQsMEJBRUM7QUFFRDs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsU0FBZ0IsU0FBUyxDQUFJLENBQWdCO0lBQzNDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFBLGlCQUFLLEdBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0FBQ3JDLENBQUM7QUFGRCw4QkFFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlyc3QsIHRvQXJyYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVGhpcyB3aWxsIGJlIHJlbW92ZWQgaW4gYSBsYXRlciB2ZXJzaW9uIG9mIE54LiBTaW5jZSBSeEpTIDcsIHVzZSBmaXJzdFZhbHVlRnJvbShvYnMkLnBpcGUodG9BcnJheSgpKSkgb3IgbGFzdFZhbHVlRnJvbShvYnMkLnBpcGUodG9BcnJheSgpKSkuXG4gKlxuICogQHdoYXRJdERvZXMgcmVhZHMgYWxsIHRoZSB2YWx1ZXMgZnJvbSBhbiBvYnNlcnZhYmxlIGFuZCByZXR1cm5zIGEgcHJvbWlzZVxuICogd2l0aCBhbiBhcnJheSBvZiBhbGwgdmFsdWVzLiBUaGlzIHNob3VsZCBiZSB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggYXN5bmMvYXdhaXQuXG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG9icyA9IG9mKDEsIDIsIDMsIDQpO1xuICogY29uc3QgcmVzID0gYXdhaXQgcmVhZEFsbChvYnMpXG4gKiBleHBlY3QocmVzKS50b0VxdWFsKFsxLCAyLCAzLCA0XSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlYWRBbGw8VD4obzogT2JzZXJ2YWJsZTxUPik6IFByb21pc2U8VFtdPiB7XG4gIHJldHVybiBvLnBpcGUodG9BcnJheSgpKS50b1Byb21pc2UoKTtcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBUaGlzIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGxhdGVyIHZlcnNpb24gb2YgTnguIFNpbmNlIFJ4SlMgNywgdXNlIGZpcnN0VmFsdWVGcm9tKG9icyQpXG4gKlxuICogQHdoYXRJdERvZXMgcmVhZHMgdGhlIGZpcnN0IHZhbHVlIGZyb20gYW4gb2JzZXJ2YWJsZSBhbmQgcmV0dXJucyBhIHByb21pc2VcbiAqIHdpdGggaXQuIFRoaXMgc2hvdWxkIGJlIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCBhc3luYy9hd2FpdC5cbiAqXG4gKiAjIyBFeGFtcGxlXG4gKlxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgb2JzID0gb2YoMSwgMiwgMywgNCk7XG4gKiBjb25zdCByZXMgPSBhd2FpdCByZWFkRmlyc3Qob2JzKVxuICogZXhwZWN0KHJlcykudG9FcXVhbCgxKTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVhZEZpcnN0PFQ+KG86IE9ic2VydmFibGU8VD4pOiBQcm9taXNlPFQ+IHtcbiAgcmV0dXJuIG8ucGlwZShmaXJzdCgpKS50b1Byb21pc2UoKTtcbn1cbiJdfQ==
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdGluZy11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXIvdGVzdGluZy9zcmMvdGVzdGluZy11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhEOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDSCxNQUFNLFVBQVUsT0FBTyxDQUFJLENBQWdCO0lBQ3pDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0FBQ3ZDLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsTUFBTSxVQUFVLFNBQVMsQ0FBSSxDQUFnQjtJQUMzQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztBQUNyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaXJzdCwgdG9BcnJheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBUaGlzIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGxhdGVyIHZlcnNpb24gb2YgTnguIFNpbmNlIFJ4SlMgNywgdXNlIGZpcnN0VmFsdWVGcm9tKG9icyQucGlwZSh0b0FycmF5KCkpKSBvciBsYXN0VmFsdWVGcm9tKG9icyQucGlwZSh0b0FycmF5KCkpKS5cbiAqXG4gKiBAd2hhdEl0RG9lcyByZWFkcyBhbGwgdGhlIHZhbHVlcyBmcm9tIGFuIG9ic2VydmFibGUgYW5kIHJldHVybnMgYSBwcm9taXNlXG4gKiB3aXRoIGFuIGFycmF5IG9mIGFsbCB2YWx1ZXMuIFRoaXMgc2hvdWxkIGJlIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCBhc3luYy9hd2FpdC5cbiAqXG4gKiAjIyBFeGFtcGxlXG4gKlxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgb2JzID0gb2YoMSwgMiwgMywgNCk7XG4gKiBjb25zdCByZXMgPSBhd2FpdCByZWFkQWxsKG9icylcbiAqIGV4cGVjdChyZXMpLnRvRXF1YWwoWzEsIDIsIDMsIDRdKTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVhZEFsbDxUPihvOiBPYnNlcnZhYmxlPFQ+KTogUHJvbWlzZTxUW10+IHtcbiAgcmV0dXJuIG8ucGlwZSh0b0FycmF5KCkpLnRvUHJvbWlzZSgpO1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIFRoaXMgd2lsbCBiZSByZW1vdmVkIGluIGEgbGF0ZXIgdmVyc2lvbiBvZiBOeC4gU2luY2UgUnhKUyA3LCB1c2UgZmlyc3RWYWx1ZUZyb20ob2JzJClcbiAqXG4gKiBAd2hhdEl0RG9lcyByZWFkcyB0aGUgZmlyc3QgdmFsdWUgZnJvbSBhbiBvYnNlcnZhYmxlIGFuZCByZXR1cm5zIGEgcHJvbWlzZVxuICogd2l0aCBpdC4gVGhpcyBzaG91bGQgYmUgdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIGFzeW5jL2F3YWl0LlxuICpcbiAqICMjIEV4YW1wbGVcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBvYnMgPSBvZigxLCAyLCAzLCA0KTtcbiAqIGNvbnN0IHJlcyA9IGF3YWl0IHJlYWRGaXJzdChvYnMpXG4gKiBleHBlY3QocmVzKS50b0VxdWFsKDEpO1xuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWFkRmlyc3Q8VD4obzogT2JzZXJ2YWJsZTxUPik6IFByb21pc2U8VD4ge1xuICByZXR1cm4gby5waXBlKGZpcnN0KCkpLnRvUHJvbWlzZSgpO1xufVxuIl19
|
|
@@ -1,8 +1,60 @@
|
|
|
1
|
-
|
|
1
|
+
import { __awaiter } from 'tslib';
|
|
2
|
+
|
|
3
|
+
let resolveRemoteUrl;
|
|
4
|
+
function setRemoteUrlResolver(_resolveRemoteUrl) {
|
|
5
|
+
resolveRemoteUrl = _resolveRemoteUrl;
|
|
6
|
+
}
|
|
7
|
+
let remoteUrlDefinitions;
|
|
8
|
+
function setRemoteDefinitions(definitions) {
|
|
9
|
+
remoteUrlDefinitions = definitions;
|
|
10
|
+
}
|
|
11
|
+
let remoteModuleMap = new Map();
|
|
12
|
+
let remoteContainerMap = new Map();
|
|
13
|
+
function loadRemoteModule(remoteName, moduleName) {
|
|
14
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
15
|
+
const remoteModuleKey = `${remoteName}:${moduleName}`;
|
|
16
|
+
if (remoteModuleMap.has(remoteModuleKey)) {
|
|
17
|
+
return remoteModuleMap.get(remoteModuleKey);
|
|
18
|
+
}
|
|
19
|
+
const container = remoteContainerMap.has(remoteName)
|
|
20
|
+
? remoteContainerMap.get(remoteName)
|
|
21
|
+
: yield loadRemoteContainer(remoteName);
|
|
22
|
+
const factory = yield container.get(moduleName);
|
|
23
|
+
const Module = factory();
|
|
24
|
+
remoteModuleMap.set(remoteModuleKey, Module);
|
|
25
|
+
return Module;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
function loadModule(url) {
|
|
29
|
+
return import(/* webpackIgnore:true */ url);
|
|
30
|
+
}
|
|
31
|
+
let initialSharingScopeCreated = false;
|
|
32
|
+
function loadRemoteContainer(remoteName) {
|
|
33
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
if (!resolveRemoteUrl && !remoteUrlDefinitions) {
|
|
35
|
+
throw new Error('Call setRemoteDefinitions or setRemoteUrlResolver to allow Dynamic Federation to find the remote apps correctly.');
|
|
36
|
+
}
|
|
37
|
+
if (!initialSharingScopeCreated) {
|
|
38
|
+
initialSharingScopeCreated = true;
|
|
39
|
+
yield __webpack_init_sharing__('default');
|
|
40
|
+
}
|
|
41
|
+
const remoteUrl = remoteUrlDefinitions
|
|
42
|
+
? remoteUrlDefinitions[remoteName]
|
|
43
|
+
: yield resolveRemoteUrl(remoteName);
|
|
44
|
+
let containerUrl = remoteUrl;
|
|
45
|
+
if (!remoteUrl.endsWith('.mjs') && !remoteUrl.endsWith('.js')) {
|
|
46
|
+
containerUrl = `${remoteUrl}${remoteUrl.endsWith('/') ? '' : '/'}remoteEntry.mjs`;
|
|
47
|
+
}
|
|
48
|
+
const container = yield loadModule(containerUrl);
|
|
49
|
+
yield container.init(__webpack_share_scopes__.default);
|
|
50
|
+
remoteContainerMap.set(remoteName, container);
|
|
51
|
+
return container;
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
|
|
2
55
|
/**
|
|
3
56
|
* Generated bundle index. Do not edit.
|
|
4
57
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
tslib_1.__exportStar(require("./index"), exports);
|
|
58
|
+
|
|
59
|
+
export { loadRemoteModule, setRemoteDefinitions, setRemoteUrlResolver };
|
|
8
60
|
//# sourceMappingURL=nx-angular-mf.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nx-angular-mf.mjs","sources":["../../../../packages/angular/mf/nx-angular-mf.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"nx-angular-mf.mjs","sources":["../../../../packages/angular/mf/mf.ts","../../../../packages/angular/mf/nx-angular-mf.ts"],"sourcesContent":["export type ResolveRemoteUrlFunction = (\n remoteName: string\n) => string | Promise<string>;\n\ndeclare const __webpack_init_sharing__: (scope: 'default') => Promise<void>;\ndeclare const __webpack_share_scopes__: { default: unknown };\n\nlet resolveRemoteUrl: ResolveRemoteUrlFunction;\nexport function setRemoteUrlResolver(\n _resolveRemoteUrl: ResolveRemoteUrlFunction\n) {\n resolveRemoteUrl = _resolveRemoteUrl;\n}\n\nlet remoteUrlDefinitions: Record<string, string>;\nexport function setRemoteDefinitions(definitions: Record<string, string>) {\n remoteUrlDefinitions = definitions;\n}\n\nlet remoteModuleMap = new Map<string, unknown>();\nlet remoteContainerMap = new Map<string, unknown>();\nexport async function loadRemoteModule(remoteName: string, moduleName: string) {\n const remoteModuleKey = `${remoteName}:${moduleName}`;\n if (remoteModuleMap.has(remoteModuleKey)) {\n return remoteModuleMap.get(remoteModuleKey);\n }\n\n const container = remoteContainerMap.has(remoteName)\n ? remoteContainerMap.get(remoteName)\n : await loadRemoteContainer(remoteName);\n\n const factory = await container.get(moduleName);\n const Module = factory();\n\n remoteModuleMap.set(remoteModuleKey, Module);\n\n return Module;\n}\n\nfunction loadModule(url: string) {\n return import(/* webpackIgnore:true */ url);\n}\n\nlet initialSharingScopeCreated = false;\nasync function loadRemoteContainer(remoteName: string) {\n if (!resolveRemoteUrl && !remoteUrlDefinitions) {\n throw new Error(\n 'Call setRemoteDefinitions or setRemoteUrlResolver to allow Dynamic Federation to find the remote apps correctly.'\n );\n }\n\n if (!initialSharingScopeCreated) {\n initialSharingScopeCreated = true;\n await __webpack_init_sharing__('default');\n }\n\n const remoteUrl = remoteUrlDefinitions\n ? remoteUrlDefinitions[remoteName]\n : await resolveRemoteUrl(remoteName);\n\n let containerUrl = remoteUrl;\n if (!remoteUrl.endsWith('.mjs') && !remoteUrl.endsWith('.js')) {\n containerUrl = `${remoteUrl}${\n remoteUrl.endsWith('/') ? '' : '/'\n }remoteEntry.mjs`;\n }\n\n const container = await loadModule(containerUrl);\n await container.init(__webpack_share_scopes__.default);\n\n remoteContainerMap.set(remoteName, container);\n return container;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAOA,IAAI,gBAA0C,CAAC;AACzC,SAAU,oBAAoB,CAClC,iBAA2C,EAAA;IAE3C,gBAAgB,GAAG,iBAAiB,CAAC;AACvC,CAAC;AAED,IAAI,oBAA4C,CAAC;AAC3C,SAAU,oBAAoB,CAAC,WAAmC,EAAA;IACtE,oBAAoB,GAAG,WAAW,CAAC;AACrC,CAAC;AAED,IAAI,eAAe,GAAG,IAAI,GAAG,EAAmB,CAAC;AACjD,IAAI,kBAAkB,GAAG,IAAI,GAAG,EAAmB,CAAC;AAC9B,SAAA,gBAAgB,CAAC,UAAkB,EAAE,UAAkB,EAAA;;AAC3E,QAAA,MAAM,eAAe,GAAG,CAAA,EAAG,UAAU,CAAI,CAAA,EAAA,UAAU,EAAE,CAAC;AACtD,QAAA,IAAI,eAAe,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;AACxC,YAAA,OAAO,eAAe,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AAC7C,SAAA;AAED,QAAA,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC;AAClD,cAAE,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC;AACpC,cAAE,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAE1C,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAChD,QAAA,MAAM,MAAM,GAAG,OAAO,EAAE,CAAC;AAEzB,QAAA,eAAe,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;AAE7C,QAAA,OAAO,MAAM,CAAC;KACf,CAAA,CAAA;AAAA,CAAA;AAED,SAAS,UAAU,CAAC,GAAW,EAAA;AAC7B,IAAA,OAAO,gCAAgC,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED,IAAI,0BAA0B,GAAG,KAAK,CAAC;AACvC,SAAe,mBAAmB,CAAC,UAAkB,EAAA;;AACnD,QAAA,IAAI,CAAC,gBAAgB,IAAI,CAAC,oBAAoB,EAAE;AAC9C,YAAA,MAAM,IAAI,KAAK,CACb,kHAAkH,CACnH,CAAC;AACH,SAAA;QAED,IAAI,CAAC,0BAA0B,EAAE;YAC/B,0BAA0B,GAAG,IAAI,CAAC;AAClC,YAAA,MAAM,wBAAwB,CAAC,SAAS,CAAC,CAAC;AAC3C,SAAA;QAED,MAAM,SAAS,GAAG,oBAAoB;AACpC,cAAE,oBAAoB,CAAC,UAAU,CAAC;AAClC,cAAE,MAAM,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAEvC,IAAI,YAAY,GAAG,SAAS,CAAC;AAC7B,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AAC7D,YAAA,YAAY,GAAG,CAAG,EAAA,SAAS,GACzB,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GACjC,iBAAiB,CAAC;AACnB,SAAA;AAED,QAAA,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC;QACjD,MAAM,SAAS,CAAC,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAEvD,QAAA,kBAAkB,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AAC9C,QAAA,OAAO,SAAS,CAAC;KAClB,CAAA,CAAA;AAAA;;ACxED;;AAEG;;;;"}
|
|
@@ -1,8 +1,43 @@
|
|
|
1
|
-
|
|
1
|
+
import { toArray, first } from 'rxjs/operators';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated This will be removed in a later version of Nx. Since RxJS 7, use firstValueFrom(obs$.pipe(toArray())) or lastValueFrom(obs$.pipe(toArray())).
|
|
5
|
+
*
|
|
6
|
+
* @whatItDoes reads all the values from an observable and returns a promise
|
|
7
|
+
* with an array of all values. This should be used in combination with async/await.
|
|
8
|
+
*
|
|
9
|
+
* ## Example
|
|
10
|
+
*
|
|
11
|
+
* ```typescript
|
|
12
|
+
* const obs = of(1, 2, 3, 4);
|
|
13
|
+
* const res = await readAll(obs)
|
|
14
|
+
* expect(res).toEqual([1, 2, 3, 4]);
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
function readAll(o) {
|
|
18
|
+
return o.pipe(toArray()).toPromise();
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* @deprecated This will be removed in a later version of Nx. Since RxJS 7, use firstValueFrom(obs$)
|
|
22
|
+
*
|
|
23
|
+
* @whatItDoes reads the first value from an observable and returns a promise
|
|
24
|
+
* with it. This should be used in combination with async/await.
|
|
25
|
+
*
|
|
26
|
+
* ## Example
|
|
27
|
+
*
|
|
28
|
+
* ```typescript
|
|
29
|
+
* const obs = of(1, 2, 3, 4);
|
|
30
|
+
* const res = await readFirst(obs)
|
|
31
|
+
* expect(res).toEqual(1);
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
function readFirst(o) {
|
|
35
|
+
return o.pipe(first()).toPromise();
|
|
36
|
+
}
|
|
37
|
+
|
|
2
38
|
/**
|
|
3
39
|
* Generated bundle index. Do not edit.
|
|
4
40
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
tslib_1.__exportStar(require("./index"), exports);
|
|
41
|
+
|
|
42
|
+
export { readAll, readFirst };
|
|
8
43
|
//# sourceMappingURL=nx-angular-testing.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nx-angular-testing.mjs","sources":["../../../../packages/angular/testing/nx-angular-testing.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"nx-angular-testing.mjs","sources":["../../../../packages/angular/testing/src/testing-utils.ts","../../../../packages/angular/testing/nx-angular-testing.ts"],"sourcesContent":["import type { Observable } from 'rxjs';\nimport { first, toArray } from 'rxjs/operators';\n\n/**\n * @deprecated This will be removed in a later version of Nx. Since RxJS 7, use firstValueFrom(obs$.pipe(toArray())) or lastValueFrom(obs$.pipe(toArray())).\n *\n * @whatItDoes reads all the values from an observable and returns a promise\n * with an array of all values. This should be used in combination with async/await.\n *\n * ## Example\n *\n * ```typescript\n * const obs = of(1, 2, 3, 4);\n * const res = await readAll(obs)\n * expect(res).toEqual([1, 2, 3, 4]);\n * ```\n */\nexport function readAll<T>(o: Observable<T>): Promise<T[]> {\n return o.pipe(toArray()).toPromise();\n}\n\n/**\n * @deprecated This will be removed in a later version of Nx. Since RxJS 7, use firstValueFrom(obs$)\n *\n * @whatItDoes reads the first value from an observable and returns a promise\n * with it. This should be used in combination with async/await.\n *\n * ## Example\n *\n * ```typescript\n * const obs = of(1, 2, 3, 4);\n * const res = await readFirst(obs)\n * expect(res).toEqual(1);\n * ```\n */\nexport function readFirst<T>(o: Observable<T>): Promise<T> {\n return o.pipe(first()).toPromise();\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAGA;;;;;;;;;;;;;AAaG;AACG,SAAU,OAAO,CAAI,CAAgB,EAAA;IACzC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;AACvC,CAAC;AAED;;;;;;;;;;;;;AAaG;AACG,SAAU,SAAS,CAAI,CAAgB,EAAA;IAC3C,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;AACrC;;ACrCA;;AAEG;;;;"}
|