tnp-helpers 13.1.36 → 13.1.37
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/assets/shared/shared_folder_info.txt +1 -1
- package/browser/README.md +24 -24
- package/browser/esm2020/lib/angular.helper.mjs +87 -87
- package/browser/esm2020/lib/base-component.mjs +49 -49
- package/browser/esm2020/lib/base-formly-component.mjs +112 -112
- package/browser/esm2020/lib/condition-wait.mjs +45 -45
- package/browser/esm2020/lib/constants.mjs +8 -8
- package/browser/esm2020/lib/dual-component-ctrl.mjs +118 -118
- package/browser/esm2020/lib/firedev-models.mjs +3 -3
- package/browser/esm2020/lib/helpers-array-obj.mjs +82 -82
- package/browser/esm2020/lib/helpers-browser.mjs +46 -46
- package/browser/esm2020/lib/helpers-console-gui.mjs +9 -9
- package/browser/esm2020/lib/helpers-environment.mjs +32 -32
- package/browser/esm2020/lib/helpers-numbers.mjs +7 -7
- package/browser/esm2020/lib/helpers-strings-regexes.mjs +50 -50
- package/browser/esm2020/lib/helpers-strings.mjs +252 -252
- package/browser/esm2020/lib/helpers.mjs +285 -285
- package/browser/esm2020/lib/index.mjs +15 -15
- package/browser/esm2020/lib/long-press.directive.mjs +112 -112
- package/browser/esm2020/lib/project.mjs +429 -429
- package/browser/esm2020/lib/resize-service.mjs +21 -21
- package/browser/esm2020/public-api.mjs +1 -1
- package/browser/esm2020/tnp-helpers.mjs +4 -4
- package/browser/fesm2015/tnp-helpers.mjs +1686 -1686
- package/browser/fesm2020/tnp-helpers.mjs +1676 -1676
- package/browser/lib/angular.helper.d.ts +35 -35
- package/browser/lib/base-component.d.ts +16 -16
- package/browser/lib/base-formly-component.d.ts +30 -30
- package/browser/lib/condition-wait.d.ts +7 -7
- package/browser/lib/constants.d.ts +6 -6
- package/browser/lib/dual-component-ctrl.d.ts +24 -24
- package/browser/lib/firedev-models.d.ts +12 -12
- package/browser/lib/helpers-array-obj.d.ts +14 -14
- package/browser/lib/helpers-browser.d.ts +10 -10
- package/browser/lib/helpers-console-gui.d.ts +5 -5
- package/browser/lib/helpers-environment.d.ts +4 -4
- package/browser/lib/helpers-numbers.d.ts +2 -2
- package/browser/lib/helpers-strings-regexes.d.ts +27 -27
- package/browser/lib/helpers-strings.d.ts +49 -49
- package/browser/lib/helpers.d.ts +33 -33
- package/browser/lib/index.d.ts +11 -11
- package/browser/lib/long-press.directive.d.ts +24 -24
- package/browser/lib/project.d.ts +93 -93
- package/browser/lib/resize-service.d.ts +8 -8
- package/browser/tnp-helpers.d.ts +4 -4
- package/client/README.md +24 -24
- package/client/esm2020/lib/angular.helper.mjs +87 -87
- package/client/esm2020/lib/base-component.mjs +49 -49
- package/client/esm2020/lib/base-formly-component.mjs +112 -112
- package/client/esm2020/lib/condition-wait.mjs +45 -45
- package/client/esm2020/lib/constants.mjs +8 -8
- package/client/esm2020/lib/dual-component-ctrl.mjs +118 -118
- package/client/esm2020/lib/firedev-models.mjs +3 -3
- package/client/esm2020/lib/helpers-array-obj.mjs +82 -82
- package/client/esm2020/lib/helpers-browser.mjs +46 -46
- package/client/esm2020/lib/helpers-console-gui.mjs +9 -9
- package/client/esm2020/lib/helpers-environment.mjs +32 -32
- package/client/esm2020/lib/helpers-numbers.mjs +7 -7
- package/client/esm2020/lib/helpers-strings-regexes.mjs +50 -50
- package/client/esm2020/lib/helpers-strings.mjs +252 -252
- package/client/esm2020/lib/helpers.mjs +285 -285
- package/client/esm2020/lib/index.mjs +15 -15
- package/client/esm2020/lib/long-press.directive.mjs +112 -112
- package/client/esm2020/lib/project.mjs +429 -429
- package/client/esm2020/lib/resize-service.mjs +21 -21
- package/client/esm2020/public-api.mjs +1 -1
- package/client/esm2020/tnp-helpers.mjs +4 -4
- package/client/fesm2015/tnp-helpers.mjs +1686 -1686
- package/client/fesm2020/tnp-helpers.mjs +1676 -1676
- package/client/lib/angular.helper.d.ts +35 -35
- package/client/lib/base-component.d.ts +16 -16
- package/client/lib/base-formly-component.d.ts +30 -30
- package/client/lib/condition-wait.d.ts +7 -7
- package/client/lib/constants.d.ts +6 -6
- package/client/lib/dual-component-ctrl.d.ts +24 -24
- package/client/lib/firedev-models.d.ts +12 -12
- package/client/lib/helpers-array-obj.d.ts +14 -14
- package/client/lib/helpers-browser.d.ts +10 -10
- package/client/lib/helpers-console-gui.d.ts +5 -5
- package/client/lib/helpers-environment.d.ts +4 -4
- package/client/lib/helpers-numbers.d.ts +2 -2
- package/client/lib/helpers-strings-regexes.d.ts +27 -27
- package/client/lib/helpers-strings.d.ts +49 -49
- package/client/lib/helpers.d.ts +33 -33
- package/client/lib/index.d.ts +11 -11
- package/client/lib/long-press.directive.d.ts +24 -24
- package/client/lib/project.d.ts +93 -93
- package/client/lib/resize-service.d.ts +8 -8
- package/client/package.json +6 -6
- package/client/tnp-helpers.d.ts +4 -4
- package/index.d.ts +1 -1
- package/lib/angular.helper.d.ts +35 -35
- package/lib/angular.helper.js +3 -3
- package/lib/base-component.d.ts +13 -13
- package/lib/base-component.js +3 -3
- package/lib/base-formly-component.d.ts +27 -27
- package/lib/base-formly-component.js +3 -3
- package/lib/condition-wait.d.ts +8 -8
- package/lib/constants.d.ts +7 -7
- package/lib/dual-component-ctrl.d.ts +24 -24
- package/lib/dual-component-ctrl.js +3 -3
- package/lib/firedev-models.d.ts +13 -13
- package/lib/git-project.d.ts +52 -52
- package/lib/helpers-array-obj.d.ts +15 -15
- package/lib/helpers-browser.d.ts +11 -11
- package/lib/helpers-cli-tool.backend.d.ts +55 -55
- package/lib/helpers-console-gui.d.ts +17 -17
- package/lib/helpers-dependencies.backend.d.ts +11 -11
- package/lib/helpers-environment.d.ts +5 -5
- package/lib/helpers-file-folders.backend.d.ts +85 -85
- package/lib/helpers-git.backend.d.ts +50 -50
- package/lib/helpers-git.backend.js +16 -4
- package/lib/helpers-git.backend.js.map +1 -1
- package/lib/helpers-json5.backend.d.ts +16 -16
- package/lib/helpers-morphi-framework.backend.d.ts +4 -4
- package/lib/helpers-network.backend.d.ts +8 -8
- package/lib/helpers-npm.backend.d.ts +3 -3
- package/lib/helpers-numbers.d.ts +3 -3
- package/lib/helpers-path.backend.d.ts +7 -7
- package/lib/helpers-process.backend.d.ts +58 -58
- package/lib/helpers-strings-regexes.d.ts +28 -28
- package/lib/helpers-strings.d.ts +50 -50
- package/lib/helpers-system-terminal.backend.d.ts +5 -5
- package/lib/helpers-vscode.backend.d.ts +5 -5
- package/lib/helpers.d.ts +74 -74
- package/lib/index.d.ts +12 -12
- package/lib/long-press.directive.d.ts +22 -22
- package/lib/merge-helpers.backend.d.ts +23 -23
- package/lib/project.d.ts +96 -96
- package/lib/resize-service.d.ts +6 -6
- package/lib/ts-code/index.d.ts +1 -1
- package/lib/ts-code/ts-code-extractor.d.ts +14 -14
- package/lib/ts-code/ts-code-modifier.backend.d.ts +12 -12
- package/package.json +3 -3
- package/package.json_devDependencies.json +222 -222
- package/package.json_tnp.json5 +46 -46
- package/tmp-environment.json +10 -10
- package/websql/README.md +24 -24
- package/websql/esm2020/lib/angular.helper.mjs +87 -87
- package/websql/esm2020/lib/base-component.mjs +49 -49
- package/websql/esm2020/lib/base-formly-component.mjs +112 -112
- package/websql/esm2020/lib/condition-wait.mjs +45 -45
- package/websql/esm2020/lib/constants.mjs +8 -8
- package/websql/esm2020/lib/dual-component-ctrl.mjs +118 -118
- package/websql/esm2020/lib/firedev-models.mjs +3 -3
- package/websql/esm2020/lib/helpers-array-obj.mjs +82 -82
- package/websql/esm2020/lib/helpers-browser.mjs +46 -46
- package/websql/esm2020/lib/helpers-console-gui.mjs +9 -9
- package/websql/esm2020/lib/helpers-environment.mjs +32 -32
- package/websql/esm2020/lib/helpers-numbers.mjs +7 -7
- package/websql/esm2020/lib/helpers-strings-regexes.mjs +50 -50
- package/websql/esm2020/lib/helpers-strings.mjs +252 -252
- package/websql/esm2020/lib/helpers.mjs +285 -285
- package/websql/esm2020/lib/index.mjs +15 -15
- package/websql/esm2020/lib/long-press.directive.mjs +112 -112
- package/websql/esm2020/lib/project.mjs +429 -429
- package/websql/esm2020/lib/resize-service.mjs +21 -21
- package/websql/esm2020/public-api.mjs +1 -1
- package/websql/esm2020/tnp-helpers.mjs +4 -4
- package/websql/fesm2015/tnp-helpers.mjs +1686 -1686
- package/websql/fesm2020/tnp-helpers.mjs +1676 -1676
- package/websql/lib/angular.helper.d.ts +35 -35
- package/websql/lib/base-component.d.ts +16 -16
- package/websql/lib/base-formly-component.d.ts +30 -30
- package/websql/lib/condition-wait.d.ts +7 -7
- package/websql/lib/constants.d.ts +6 -6
- package/websql/lib/dual-component-ctrl.d.ts +24 -24
- package/websql/lib/firedev-models.d.ts +12 -12
- package/websql/lib/helpers-array-obj.d.ts +14 -14
- package/websql/lib/helpers-browser.d.ts +10 -10
- package/websql/lib/helpers-console-gui.d.ts +5 -5
- package/websql/lib/helpers-environment.d.ts +4 -4
- package/websql/lib/helpers-numbers.d.ts +2 -2
- package/websql/lib/helpers-strings-regexes.d.ts +27 -27
- package/websql/lib/helpers-strings.d.ts +49 -49
- package/websql/lib/helpers.d.ts +33 -33
- package/websql/lib/index.d.ts +11 -11
- package/websql/lib/long-press.directive.d.ts +24 -24
- package/websql/lib/project.d.ts +93 -93
- package/websql/lib/resize-service.d.ts +8 -8
- package/websql/tnp-helpers.d.ts +4 -4
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
import { _ } from 'tnp-core/browser';
|
|
2
|
-
import { Helpers } from './index';
|
|
3
|
-
export async function conditionWait(conditionAndTimeout) {
|
|
4
|
-
await waitFor(conditionAndTimeout);
|
|
5
|
-
}
|
|
6
|
-
function waitFor(arr, messageToShow = void 0) {
|
|
7
|
-
return new Promise(async (resolve, reject) => {
|
|
8
|
-
if (arr.length === 0) {
|
|
9
|
-
resolve(void 0);
|
|
10
|
-
}
|
|
11
|
-
else {
|
|
12
|
-
const check = arr.shift();
|
|
13
|
-
if (_.isUndefined(check.timeoutCheck)) {
|
|
14
|
-
check.timeoutCheck = 2000;
|
|
15
|
-
}
|
|
16
|
-
if (_.isUndefined(check.timeoutNext)) {
|
|
17
|
-
check.timeoutNext = 4000;
|
|
18
|
-
}
|
|
19
|
-
const { timeoutCheck, timeoutNext, name } = check;
|
|
20
|
-
const resultTrue = await Helpers.runSyncOrAsync(check.callback, check);
|
|
21
|
-
if (resultTrue) {
|
|
22
|
-
setTimeout(async () => {
|
|
23
|
-
await waitFor(arr).then(() => {
|
|
24
|
-
resolve(void 0);
|
|
25
|
-
});
|
|
26
|
-
}, timeoutNext);
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
arr.unshift(check);
|
|
30
|
-
if (!messageToShow || check.errorMessage !== messageToShow) {
|
|
31
|
-
Helpers.info(check.errorMessage);
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
}
|
|
35
|
-
setTimeout(async () => {
|
|
36
|
-
await waitFor(arr, check.errorMessage).then(() => {
|
|
37
|
-
resolve(void 0);
|
|
38
|
-
});
|
|
39
|
-
}, timeoutCheck);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
;
|
|
45
|
-
({}); // @--end-of-file-for-module=tnp-helpers lib/condition-wait.ts
|
|
1
|
+
import { _ } from 'tnp-core/browser';
|
|
2
|
+
import { Helpers } from './index';
|
|
3
|
+
export async function conditionWait(conditionAndTimeout) {
|
|
4
|
+
await waitFor(conditionAndTimeout);
|
|
5
|
+
}
|
|
6
|
+
function waitFor(arr, messageToShow = void 0) {
|
|
7
|
+
return new Promise(async (resolve, reject) => {
|
|
8
|
+
if (arr.length === 0) {
|
|
9
|
+
resolve(void 0);
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
const check = arr.shift();
|
|
13
|
+
if (_.isUndefined(check.timeoutCheck)) {
|
|
14
|
+
check.timeoutCheck = 2000;
|
|
15
|
+
}
|
|
16
|
+
if (_.isUndefined(check.timeoutNext)) {
|
|
17
|
+
check.timeoutNext = 4000;
|
|
18
|
+
}
|
|
19
|
+
const { timeoutCheck, timeoutNext, name } = check;
|
|
20
|
+
const resultTrue = await Helpers.runSyncOrAsync(check.callback, check);
|
|
21
|
+
if (resultTrue) {
|
|
22
|
+
setTimeout(async () => {
|
|
23
|
+
await waitFor(arr).then(() => {
|
|
24
|
+
resolve(void 0);
|
|
25
|
+
});
|
|
26
|
+
}, timeoutNext);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
arr.unshift(check);
|
|
30
|
+
if (!messageToShow || check.errorMessage !== messageToShow) {
|
|
31
|
+
Helpers.info(check.errorMessage);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
}
|
|
35
|
+
setTimeout(async () => {
|
|
36
|
+
await waitFor(arr, check.errorMessage).then(() => {
|
|
37
|
+
resolve(void 0);
|
|
38
|
+
});
|
|
39
|
+
}, timeoutCheck);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
;
|
|
45
|
+
({}); // @--end-of-file-for-module=tnp-helpers lib/condition-wait.ts
|
|
46
46
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZGl0aW9uLXdhaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvY29uZGl0aW9uLXdhaXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFVbEMsTUFBTSxDQUFDLEtBQUssVUFBVSxhQUFhLENBQUMsbUJBQWdDO0lBQ2xFLE1BQU0sT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFDckMsQ0FBQztBQUVELFNBQVMsT0FBTyxDQUFDLEdBQWdCLEVBQUUsZ0JBQXdCLEtBQUssQ0FBQztJQUMvRCxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDM0MsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNwQixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtTQUNoQjthQUFNO1lBRUwsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUU7Z0JBQ3JDLEtBQUssQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO2FBQzNCO1lBQ0QsSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDcEMsS0FBSyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7YUFDMUI7WUFDRCxNQUFNLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUM7WUFJbEQsTUFBTSxVQUFVLEdBQUcsTUFBTSxPQUFPLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFFdkUsSUFBSSxVQUFVLEVBQUU7Z0JBRWQsVUFBVSxDQUFDLEtBQUssSUFBSSxFQUFFO29CQUVwQixNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO3dCQUMzQixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztvQkFDbEIsQ0FBQyxDQUFDLENBQUM7Z0JBQ0wsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO2FBQ2pCO2lCQUFNO2dCQUVMLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxhQUFhLElBQUksS0FBSyxDQUFDLFlBQVksS0FBSyxhQUFhLEVBQUU7b0JBQzFELE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO2lCQUNsQztxQkFBTTtpQkFFTjtnQkFFRCxVQUFVLENBQUMsS0FBSyxJQUFJLEVBQUU7b0JBRXBCLE1BQU0sT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTt3QkFDL0MsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7b0JBQ2xCLENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQzthQUNsQjtTQUNGO0lBQ0gsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyw4REFBOEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAnLi9pbmRleCc7XG5cbmV4cG9ydCB0eXBlIENvbmRpdGlvbiA9IHtcbiAgbmFtZT86IHN0cmluZztcbiAgdGltZW91dENoZWNrPzogbnVtYmVyO1xuICB0aW1lb3V0TmV4dD86IG51bWJlcjtcbiAgY2FsbGJhY2s6IChjOiBDb25kaXRpb24pID0+IGJvb2xlYW4gfCBQcm9taXNlPGJvb2xlYW4+O1xuICBlcnJvck1lc3NhZ2U6IHN0cmluZztcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNvbmRpdGlvbldhaXQoY29uZGl0aW9uQW5kVGltZW91dDogQ29uZGl0aW9uW10pIHtcbiAgYXdhaXQgd2FpdEZvcihjb25kaXRpb25BbmRUaW1lb3V0KTtcbn1cblxuZnVuY3Rpb24gd2FpdEZvcihhcnI6IENvbmRpdGlvbltdLCBtZXNzYWdlVG9TaG93OiBzdHJpbmcgPSB2b2lkIDApIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBpZiAoYXJyLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmVzb2x2ZSh2b2lkIDApXG4gICAgfSBlbHNlIHtcblxuICAgICAgY29uc3QgY2hlY2sgPSBhcnIuc2hpZnQoKTtcbiAgICAgIGlmIChfLmlzVW5kZWZpbmVkKGNoZWNrLnRpbWVvdXRDaGVjaykpIHtcbiAgICAgICAgY2hlY2sudGltZW91dENoZWNrID0gMjAwMDtcbiAgICAgIH1cbiAgICAgIGlmIChfLmlzVW5kZWZpbmVkKGNoZWNrLnRpbWVvdXROZXh0KSkge1xuICAgICAgICBjaGVjay50aW1lb3V0TmV4dCA9IDQwMDA7XG4gICAgICB9XG4gICAgICBjb25zdCB7IHRpbWVvdXRDaGVjaywgdGltZW91dE5leHQsIG5hbWUgfSA9IGNoZWNrO1xuXG5cblxuICAgICAgY29uc3QgcmVzdWx0VHJ1ZSA9IGF3YWl0IEhlbHBlcnMucnVuU3luY09yQXN5bmMoY2hlY2suY2FsbGJhY2ssIGNoZWNrKTtcblxuICAgICAgaWYgKHJlc3VsdFRydWUpIHtcblxuICAgICAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcblxuICAgICAgICAgIGF3YWl0IHdhaXRGb3IoYXJyKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHJlc29sdmUodm9pZCAwKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSwgdGltZW91dE5leHQpO1xuICAgICAgfSBlbHNlIHtcblxuICAgICAgICBhcnIudW5zaGlmdChjaGVjayk7XG4gICAgICAgIGlmICghbWVzc2FnZVRvU2hvdyB8fCBjaGVjay5lcnJvck1lc3NhZ2UgIT09IG1lc3NhZ2VUb1Nob3cpIHtcbiAgICAgICAgICBIZWxwZXJzLmluZm8oY2hlY2suZXJyb3JNZXNzYWdlKTtcbiAgICAgICAgfSBlbHNlIHtcblxuICAgICAgICB9XG5cbiAgICAgICAgc2V0VGltZW91dChhc3luYyAoKSA9PiB7XG5cbiAgICAgICAgICBhd2FpdCB3YWl0Rm9yKGFyciwgY2hlY2suZXJyb3JNZXNzYWdlKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHJlc29sdmUodm9pZCAwKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSwgdGltZW91dENoZWNrKTtcbiAgICAgIH1cbiAgICB9XG4gIH0pXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvY29uZGl0aW9uLXdhaXQudHMiXX0=
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export const BaselineSiteJoinprefix = '__';
|
|
2
|
-
export const PREFIXES = {
|
|
3
|
-
BASELINE: BaselineSiteJoinprefix,
|
|
4
|
-
DELETED: '____DELETED____',
|
|
5
|
-
ORIGINAL: '____ORIGINAL____',
|
|
6
|
-
RESTORE_NPM: '____',
|
|
7
|
-
};
|
|
8
|
-
({}); // @--end-of-file-for-module=tnp-helpers lib/constants.ts
|
|
1
|
+
export const BaselineSiteJoinprefix = '__';
|
|
2
|
+
export const PREFIXES = {
|
|
3
|
+
BASELINE: BaselineSiteJoinprefix,
|
|
4
|
+
DELETED: '____DELETED____',
|
|
5
|
+
ORIGINAL: '____ORIGINAL____',
|
|
6
|
+
RESTORE_NPM: '____',
|
|
7
|
+
};
|
|
8
|
+
({}); // @--end-of-file-for-module=tnp-helpers lib/constants.ts
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUM7QUFFM0MsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHO0lBQ3RCLFFBQVEsRUFBRSxzQkFBc0I7SUFDaEMsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixRQUFRLEVBQUUsa0JBQWtCO0lBQzVCLFdBQVcsRUFBRSxNQUFNO0NBQ3BCLENBRUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMseURBQXlEIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEJhc2VsaW5lU2l0ZUpvaW5wcmVmaXggPSAnX18nO1xuXG5leHBvcnQgY29uc3QgUFJFRklYRVMgPSB7XG4gIEJBU0VMSU5FOiBCYXNlbGluZVNpdGVKb2lucHJlZml4LFxuICBERUxFVEVEOiAnX19fX0RFTEVURURfX19fJyxcbiAgT1JJR0lOQUw6ICdfX19fT1JJR0lOQUxfX19fJyxcbiAgUkVTVE9SRV9OUE06ICdfX19fJyxcbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9jb25zdGFudHMudHMiXX0=
|
|
@@ -1,119 +1,119 @@
|
|
|
1
|
-
import { _ } from 'tnp-core/browser';
|
|
2
|
-
import { CLASS } from 'typescript-class-helpers/browser';
|
|
3
|
-
/* */
|
|
4
|
-
/* */
|
|
5
|
-
import { Log } from 'ng2-logger/browser';
|
|
6
|
-
const log = Log.create(`DualComponentController`);
|
|
7
|
-
export class DualComponentController {
|
|
8
|
-
constructor(cmp, isFormlyMode = false) {
|
|
9
|
-
this.cmp = cmp;
|
|
10
|
-
this.isFormlyMode = isFormlyMode;
|
|
11
|
-
}
|
|
12
|
-
getValTemplateOptions(propertyName) {
|
|
13
|
-
if (this.isFormlyMode) {
|
|
14
|
-
const res = this.cmp.field?.templateOptions[propertyName];
|
|
15
|
-
if (res === void 0 && this.cmp[propertyName]) {
|
|
16
|
-
return this.cmp[propertyName];
|
|
17
|
-
}
|
|
18
|
-
return res;
|
|
19
|
-
}
|
|
20
|
-
return this.cmp[propertyName];
|
|
21
|
-
}
|
|
22
|
-
getValContext(propertyName) {
|
|
23
|
-
if (this.isFormlyMode) {
|
|
24
|
-
const res = this.cmp?.field[propertyName];
|
|
25
|
-
if (res === void 0 && this.cmp[propertyName]) {
|
|
26
|
-
return this.cmp[propertyName];
|
|
27
|
-
}
|
|
28
|
-
return res;
|
|
29
|
-
}
|
|
30
|
-
return this.cmp[propertyName];
|
|
31
|
-
}
|
|
32
|
-
get disabled() {
|
|
33
|
-
return this.getValTemplateOptions('disabled');
|
|
34
|
-
}
|
|
35
|
-
get required() {
|
|
36
|
-
return this.getValTemplateOptions('required');
|
|
37
|
-
}
|
|
38
|
-
get type() {
|
|
39
|
-
if (!this.isFormlyMode) {
|
|
40
|
-
return CLASS.getNameFromObject(this.cmp);
|
|
41
|
-
}
|
|
42
|
-
return this.getValContext('type');
|
|
43
|
-
}
|
|
44
|
-
get label() {
|
|
45
|
-
return this.getValTemplateOptions('label');
|
|
46
|
-
}
|
|
47
|
-
get placeholder() {
|
|
48
|
-
return this.getValTemplateOptions('placeholder');
|
|
49
|
-
}
|
|
50
|
-
get defaultValue() {
|
|
51
|
-
return this.getValContext('defaultValue');
|
|
52
|
-
}
|
|
53
|
-
get formControl() {
|
|
54
|
-
return this.getValContext('formControl');
|
|
55
|
-
}
|
|
56
|
-
get key() {
|
|
57
|
-
return this.getValContext('key');
|
|
58
|
-
}
|
|
59
|
-
get path() {
|
|
60
|
-
return this.getValContext('path');
|
|
61
|
-
}
|
|
62
|
-
get model() {
|
|
63
|
-
if (this.isFormlyMode) {
|
|
64
|
-
return this.getValContext('model');
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
return this.__model;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
set model(v) {
|
|
71
|
-
if (this.isFormlyMode) {
|
|
72
|
-
log.w(`[DualComponentController] You can't set model in formly component mode`);
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
this.__model = v;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
get mode() {
|
|
79
|
-
if (this.isFormlyMode) {
|
|
80
|
-
return this.getValContext('mode');
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
return this.__mode;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
set mode(v) {
|
|
87
|
-
if (this.isFormlyMode) {
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
this.__mode = v;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
get value() {
|
|
94
|
-
if (this.isFormlyMode) {
|
|
95
|
-
return this.cmp.field.formControl.value;
|
|
96
|
-
}
|
|
97
|
-
if (_.isString(this.path)) {
|
|
98
|
-
return _.get(this.cmp.model, this.path);
|
|
99
|
-
}
|
|
100
|
-
return this.cmp.model;
|
|
101
|
-
}
|
|
102
|
-
set value(v) {
|
|
103
|
-
if (this.isFormlyMode) {
|
|
104
|
-
this.cmp.field.formControl.setValue(v);
|
|
105
|
-
// @ts-ignore
|
|
106
|
-
this.cmp.change.next(v);
|
|
107
|
-
return;
|
|
108
|
-
}
|
|
109
|
-
if (_.isString(this.path)) {
|
|
110
|
-
_.set(this.cmp.model, this.path, v);
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
this.cmp.model = v;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
;
|
|
118
|
-
({}); // @--end-of-file-for-module=tnp-helpers lib/dual-component-ctrl.ts
|
|
1
|
+
import { _ } from 'tnp-core/browser';
|
|
2
|
+
import { CLASS } from 'typescript-class-helpers/browser';
|
|
3
|
+
/* */
|
|
4
|
+
/* */
|
|
5
|
+
import { Log } from 'ng2-logger/browser';
|
|
6
|
+
const log = Log.create(`DualComponentController`);
|
|
7
|
+
export class DualComponentController {
|
|
8
|
+
constructor(cmp, isFormlyMode = false) {
|
|
9
|
+
this.cmp = cmp;
|
|
10
|
+
this.isFormlyMode = isFormlyMode;
|
|
11
|
+
}
|
|
12
|
+
getValTemplateOptions(propertyName) {
|
|
13
|
+
if (this.isFormlyMode) {
|
|
14
|
+
const res = this.cmp.field?.templateOptions[propertyName];
|
|
15
|
+
if (res === void 0 && this.cmp[propertyName]) {
|
|
16
|
+
return this.cmp[propertyName];
|
|
17
|
+
}
|
|
18
|
+
return res;
|
|
19
|
+
}
|
|
20
|
+
return this.cmp[propertyName];
|
|
21
|
+
}
|
|
22
|
+
getValContext(propertyName) {
|
|
23
|
+
if (this.isFormlyMode) {
|
|
24
|
+
const res = this.cmp?.field[propertyName];
|
|
25
|
+
if (res === void 0 && this.cmp[propertyName]) {
|
|
26
|
+
return this.cmp[propertyName];
|
|
27
|
+
}
|
|
28
|
+
return res;
|
|
29
|
+
}
|
|
30
|
+
return this.cmp[propertyName];
|
|
31
|
+
}
|
|
32
|
+
get disabled() {
|
|
33
|
+
return this.getValTemplateOptions('disabled');
|
|
34
|
+
}
|
|
35
|
+
get required() {
|
|
36
|
+
return this.getValTemplateOptions('required');
|
|
37
|
+
}
|
|
38
|
+
get type() {
|
|
39
|
+
if (!this.isFormlyMode) {
|
|
40
|
+
return CLASS.getNameFromObject(this.cmp);
|
|
41
|
+
}
|
|
42
|
+
return this.getValContext('type');
|
|
43
|
+
}
|
|
44
|
+
get label() {
|
|
45
|
+
return this.getValTemplateOptions('label');
|
|
46
|
+
}
|
|
47
|
+
get placeholder() {
|
|
48
|
+
return this.getValTemplateOptions('placeholder');
|
|
49
|
+
}
|
|
50
|
+
get defaultValue() {
|
|
51
|
+
return this.getValContext('defaultValue');
|
|
52
|
+
}
|
|
53
|
+
get formControl() {
|
|
54
|
+
return this.getValContext('formControl');
|
|
55
|
+
}
|
|
56
|
+
get key() {
|
|
57
|
+
return this.getValContext('key');
|
|
58
|
+
}
|
|
59
|
+
get path() {
|
|
60
|
+
return this.getValContext('path');
|
|
61
|
+
}
|
|
62
|
+
get model() {
|
|
63
|
+
if (this.isFormlyMode) {
|
|
64
|
+
return this.getValContext('model');
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
return this.__model;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
set model(v) {
|
|
71
|
+
if (this.isFormlyMode) {
|
|
72
|
+
log.w(`[DualComponentController] You can't set model in formly component mode`);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
this.__model = v;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
get mode() {
|
|
79
|
+
if (this.isFormlyMode) {
|
|
80
|
+
return this.getValContext('mode');
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
return this.__mode;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
set mode(v) {
|
|
87
|
+
if (this.isFormlyMode) {
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
this.__mode = v;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
get value() {
|
|
94
|
+
if (this.isFormlyMode) {
|
|
95
|
+
return this.cmp.field.formControl.value;
|
|
96
|
+
}
|
|
97
|
+
if (_.isString(this.path)) {
|
|
98
|
+
return _.get(this.cmp.model, this.path);
|
|
99
|
+
}
|
|
100
|
+
return this.cmp.model;
|
|
101
|
+
}
|
|
102
|
+
set value(v) {
|
|
103
|
+
if (this.isFormlyMode) {
|
|
104
|
+
this.cmp.field.formControl.setValue(v);
|
|
105
|
+
// @ts-ignore
|
|
106
|
+
this.cmp.change.next(v);
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
if (_.isString(this.path)) {
|
|
110
|
+
_.set(this.cmp.model, this.path, v);
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
this.cmp.model = v;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
;
|
|
118
|
+
({}); // @--end-of-file-for-module=tnp-helpers lib/dual-component-ctrl.ts
|
|
119
119
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVhbC1jb21wb25lbnQtY3RybC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9kdWFsLWNvbXBvbmVudC1jdHJsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFLekQsS0FBSztBQUNMLEtBQUs7QUFFTCxPQUFPLEVBQUUsR0FBRyxFQUFTLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0FBRWxELE1BQU0sT0FBZ0IsdUJBQXVCO0lBRTNDLFlBQXNCLEdBQXdCLEVBQVMsZUFBZSxLQUFLO1FBQXJELFFBQUcsR0FBSCxHQUFHLENBQXFCO1FBQVMsaUJBQVksR0FBWixZQUFZLENBQVE7SUFFM0UsQ0FBQztJQUVTLHFCQUFxQixDQUFDLFlBQW9CO1FBQ2xELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUE7WUFDekQsSUFBSSxHQUFHLEtBQUssS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRTtnQkFDNUMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQy9CO1lBQ0QsT0FBTyxHQUFHLENBQUM7U0FDWjtRQUNELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUMvQixDQUFDO0lBRVMsYUFBYSxDQUFDLFlBQW9CO1FBQzFDLElBQUksSUFBSSxDQUFDLFlB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LENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDekM7UUFDRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxDQUFDO1FBQ1QsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkMsYUFBYTtZQUNiLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4QixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3pCLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNyQzthQUFNO1lBQ0wsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQztDQUdGO0FBR0EsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxtRUFBbUUiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB7IEJhc2VGb3JtbHlDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UtZm9ybWx5LWNvbXBvbmVudCc7XG5pbXBvcnQgeyBDTEFTUyB9IGZyb20gJ3R5cGVzY3JpcHQtY2xhc3MtaGVscGVycy9icm93c2VyJztcbmltcG9ydCB7ICAgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEFmdGVyVmlld0luaXQsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7LyogKi9cbi8qICovXG5cbmltcG9ydCB7ICAgRm9ybUNvbnRyb2wsICAgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnLyogKi9cbi8qICovXG4vKiAqL1xuXG5pbXBvcnQgeyBMb2csIExldmVsIH0gZnJvbSAnbmcyLWxvZ2dlci9icm93c2VyJztcbmNvbnN0IGxvZyA9IExvZy5jcmVhdGUoYER1YWxDb21wb25lbnRDb250cm9sbGVyYCk7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEdWFsQ29tcG9uZW50Q29udHJvbGxlcjxUID0gYW55PiB7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGNtcDogQmFzZUZvcm1seUNvbXBvbmVudCwgcHVibGljIGlzRm9ybWx5TW9kZSA9IGZhbHNlKSB7XG5cbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRWYWxUZW1wbGF0ZU9wdGlvbnMocHJvcGVydHlOYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5pc0Zvcm1seU1vZGUpIHtcbiAgICAgIGNvbnN0IHJlcyA9IHRoaXMuY21wLmZpZWxkPy50ZW1wbGF0ZU9wdGlvbnNbcHJvcGVydHlOYW1lXVxuICAgICAgaWYgKHJlcyA9PT0gdm9pZCAwICYmIHRoaXMuY21wW3Byb3BlcnR5TmFtZV0pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY21wW3Byb3BlcnR5TmFtZV07XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jbXBbcHJvcGVydHlOYW1lXVxuICB9XG5cbiAgcHJvdGVjdGVkIGdldFZhbENvbnRleHQocHJvcGVydHlOYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5pc0Zvcm1seU1vZGUpIHtcbiAgICAgIGNvbnN0IHJlcyA9IHRoaXMuY21wPy5maWVsZFtwcm9wZXJ0eU5hbWVdXG4gICAgICBpZiAocmVzID09PSB2b2lkIDAgJiYgdGhpcy5jbXBbcHJvcGVydHlOYW1lXSkge1xuICAgICAgICByZXR1cm4gdGhpcy5jbXBbcHJvcGVydHlOYW1lXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXM7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNtcFtwcm9wZXJ0eU5hbWVdXG4gIH1cblxuICBnZXQgZGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VmFsVGVtcGxhdGVPcHRpb25zKCdkaXNhYmxlZCcpIGFzIGJvb2xlYW47XG4gIH1cblxuICBnZXQgcmVxdWlyZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VmFsVGVtcGxhdGVPcHRpb25zKCdyZXF1aXJlZCcpIGFzIGJvb2xlYW47XG4gIH1cblxuICBnZXQgdHlwZSgpIHtcbiAgICBpZiAoIXRoaXMuaXNGb3JtbHlNb2RlKSB7XG4gICAgICByZXR1cm4gQ0xBU1MuZ2V0TmFtZUZyb21PYmplY3QodGhpcy5jbXApXG4gICAgfVxuICAgIHJldHVybiB0aGlzLmdldFZhbENvbnRleHQoJ3R5cGUnKSBhcyBib29sZWFuO1xuICB9XG5cbiAgZ2V0IGxhYmVsKCkge1xuICAgIHJldHVybiB0aGlzLmdldFZhbFRlbXBsYXRlT3B0aW9ucygnbGFiZWwnKSBhcyBzdHJpbmc7XG4gIH1cblxuICBnZXQgcGxhY2Vob2xkZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VmFsVGVtcGxhdGVPcHRpb25zKCdwbGFjZWhvbGRlcicpIGFzIHN0cmluZztcbiAgfVxuXG4gIGdldCBkZWZhdWx0VmFsdWUoKTogVCB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VmFsQ29udGV4dCgnZGVmYXVsdFZhbHVlJykgYXMgYW55O1xuICB9XG5cbiAgZ2V0IGZvcm1Db250cm9sKCk6IGFueSB7Ly8gRm9ybUNvbnRyb2wgeyAvLyBUT0RPIFFVSUNLX0ZJWFxuICAgIHJldHVybiB0aGlzLmdldFZhbENvbnRleHQoJ2Zvcm1Db250cm9sJykgYXMgYW55O1xuICB9XG5cbiAgZ2V0IGtleSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRWYWxDb250ZXh0KCdrZXknKSBhcyBzdHJpbmc7XG4gIH1cblxuICBnZXQgcGF0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRWYWxDb250ZXh0KCdwYXRoJykgYXMgc3RyaW5nO1xuICB9XG5cbiAgX19tb2RlbDogYW55O1xuICBnZXQgbW9kZWwoKTogYW55IHtcbiAgICBpZiAodGhpcy5pc0Zvcm1seU1vZGUpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldFZhbENvbnRleHQoJ21vZGVsJykgYXMgc3RyaW5nO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5fX21vZGVsO1xuICAgIH1cbiAgfVxuXG4gIHNldCBtb2RlbCh2KSB7XG4gICAgaWYgKHRoaXMuaXNGb3JtbHlNb2RlKSB7XG4gICAgICBsb2cudyhgW0R1YWxDb21wb25lbnRDb250cm9sbGVyXSBZb3UgY2FuJ3Qgc2V0IG1vZGVsIGluIGZvcm1seSBjb21wb25lbnQgbW9kZWApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9fbW9kZWwgPSB2O1xuICAgIH1cbiAgfVxuXG4gIF9fbW9kZTogYW55O1xuICBnZXQgbW9kZSgpOiBhbnkge1xuICAgIGlmICh0aGlzLmlzRm9ybWx5TW9kZSkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFsQ29udGV4dCgnbW9kZScpIGFzIHN0cmluZztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuX19tb2RlO1xuICAgIH1cbiAgfVxuXG4gIHNldCBtb2RlKHYpIHtcbiAgICBpZiAodGhpcy5pc0Zvcm1seU1vZGUpIHtcblxuXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX19tb2RlID0gdjtcbiAgICB9XG4gIH1cblxuXG4gIGdldCB2YWx1ZSgpOiBUIHtcbiAgICBpZiAodGhpcy5pc0Zvcm1seU1vZGUpIHtcbiAgICAgIHJldHVybiB0aGlzLmNtcC5maWVsZC5mb3JtQ29udHJvbC52YWx1ZTtcbiAgICB9XG4gICAgaWYgKF8uaXNTdHJpbmcodGhpcy5wYXRoKSkge1xuICAgICAgcmV0dXJuIF8uZ2V0KHRoaXMuY21wLm1vZGVsLCB0aGlzLnBhdGgpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jbXAubW9kZWw7XG4gIH1cblxuICBzZXQgdmFsdWUodikge1xuICAgIGlmICh0aGlzLmlzRm9ybWx5TW9kZSkge1xuICAgICAgdGhpcy5jbXAuZmllbGQuZm9ybUNvbnRyb2wuc2V0VmFsdWUodik7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICB0aGlzLmNtcC5jaGFuZ2UubmV4dCh2KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKF8uaXNTdHJpbmcodGhpcy5wYXRoKSkge1xuICAgICAgXy5zZXQodGhpcy5jbXAubW9kZWwsIHRoaXMucGF0aCwgdik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY21wLm1vZGVsID0gdjtcbiAgICB9XG4gIH1cblxuXG59XG5cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9kdWFsLWNvbXBvbmVudC1jdHJsLnRzIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
;
|
|
2
|
-
({}); // @--end-of-file-for-module=tnp-helpers lib/firedev-models.ts
|
|
3
|
-
export {};
|
|
1
|
+
;
|
|
2
|
+
({}); // @--end-of-file-for-module=tnp-helpers lib/firedev-models.ts
|
|
3
|
+
export {};
|
|
4
4
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWRldi1tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvZmlyZWRldi1tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZUMsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyw4REFBOEQiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgbmFtZXNwYWNlIEZpcmVkZXZNb2RlbHMge1xuXG4gIGV4cG9ydCBpbnRlcmZhY2UgVlNDb2RlU2V0dGluZ3Mge1xuICAgICdmaWxlcy5leGNsdWRlJzogeyBbZmlsZXM6IHN0cmluZ106IGJvb2xlYW47IH07XG4gICAgJ3dvcmtiZW5jaC5jb2xvclRoZW1lJzogJ0RlZmF1bHQgTGlnaHQrJyB8ICdLaW1iaWUgRGFyaycsXG4gICAgJ3dvcmtiZW5jaC5jb2xvckN1c3RvbWl6YXRpb25zJzoge1xuICAgICAgJ2FjdGl2aXR5QmFyLmJhY2tncm91bmQnPzogc3RyaW5nO1xuICAgICAgJ2FjdGl2aXR5QmFyLmZvcmVncm91bmQnPzogc3RyaW5nO1xuICAgICAgJ3N0YXR1c0Jhci5iYWNrZ3JvdW5kJz86IHN0cmluZztcbiAgICB9XG4gIH1cblxuXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvZmlyZWRldi1tb2RlbHMudHMiXX0=
|
|
@@ -1,83 +1,83 @@
|
|
|
1
|
-
import { _ } from 'tnp-core/browser';
|
|
2
|
-
import * as fuzzy from 'fuzzy';
|
|
3
|
-
import { Helpers } from './index';
|
|
4
|
-
export class HelpersArrayObj {
|
|
5
|
-
from(s) {
|
|
6
|
-
if (_.isArray(s)) {
|
|
7
|
-
return s;
|
|
8
|
-
}
|
|
9
|
-
if (_.isString(s)) {
|
|
10
|
-
return s.split(' ');
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
second(arr) {
|
|
14
|
-
if (!Array.isArray(arr) || arr.length < 2) {
|
|
15
|
-
return void 0;
|
|
16
|
-
}
|
|
17
|
-
return arr[1];
|
|
18
|
-
}
|
|
19
|
-
arrayMoveElementBefore(arr, a, b, prop) {
|
|
20
|
-
let indexA = prop ? arr.findIndex(elem => elem[prop] === a[prop]) : arr.indexOf(a);
|
|
21
|
-
_.pullAt(arr, indexA);
|
|
22
|
-
let indexB = prop ? arr.findIndex(elem => elem[prop] === b[prop]) : arr.indexOf(b);
|
|
23
|
-
if (indexB === 0) {
|
|
24
|
-
arr.unshift(a);
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
arr.splice(indexB - 1, 0, a);
|
|
28
|
-
}
|
|
29
|
-
return arr;
|
|
30
|
-
}
|
|
31
|
-
arrayMoveElementAfterB(arr, a, b, prop) {
|
|
32
|
-
let indexA = prop ? arr.findIndex(elem => elem[prop] === a[prop]) : arr.indexOf(a);
|
|
33
|
-
_.pullAt(arr, indexA);
|
|
34
|
-
let indexB = prop ? arr.findIndex(elem => elem[prop] === b[prop]) : arr.indexOf(b);
|
|
35
|
-
if (indexB === arr.length - 1) {
|
|
36
|
-
arr.push(a);
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
arr.splice(indexB + 1, 0, a);
|
|
40
|
-
}
|
|
41
|
-
return arr;
|
|
42
|
-
}
|
|
43
|
-
uniqArray(array, uniqueProperty) {
|
|
44
|
-
var seen = {};
|
|
45
|
-
return array
|
|
46
|
-
.filter(f => !!f)
|
|
47
|
-
.filter(function (item) {
|
|
48
|
-
return seen.hasOwnProperty(uniqueProperty ? item[uniqueProperty] : item) ? false
|
|
49
|
-
: (seen[uniqueProperty ? item[uniqueProperty] : item] = true);
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
sortKeys(obj) {
|
|
53
|
-
if (_.isArray(obj)) {
|
|
54
|
-
return obj.map(Helpers.arrays.sortKeys);
|
|
55
|
-
}
|
|
56
|
-
if (_.isObject(obj)) {
|
|
57
|
-
return _.fromPairs(_.keys(obj).sort().map(key => [key, Helpers.arrays.sortKeys(obj[key])]));
|
|
58
|
-
}
|
|
59
|
-
return obj;
|
|
60
|
-
}
|
|
61
|
-
;
|
|
62
|
-
/**
|
|
63
|
-
* Fuzzy search
|
|
64
|
-
*/
|
|
65
|
-
fuzzy(query, list, valueFn) {
|
|
66
|
-
const resultsFuzzy = fuzzy.filter(query, list.map(k => valueFn ? valueFn(k) : k));
|
|
67
|
-
const resultsFuzzyKebab = fuzzy.filter(_.kebabCase(query), list.map(k => _.kebabCase((valueFn ? valueFn(k) : k))));
|
|
68
|
-
const matches = resultsFuzzy.map((el) => el.string);
|
|
69
|
-
const matchesKebab = resultsFuzzyKebab.map((el) => el.string);
|
|
70
|
-
const results = (resultsFuzzy.length === 0) ? [] : list.filter(k => {
|
|
71
|
-
return matches.includes((valueFn ? valueFn(k) : k));
|
|
72
|
-
});
|
|
73
|
-
if (matches.length === 0 && matchesKebab.length > 0) {
|
|
74
|
-
const m = list.find(k => _.kebabCase((valueFn ? valueFn(k) : k)) === _.first(matchesKebab));
|
|
75
|
-
results.push(m);
|
|
76
|
-
matches.push((valueFn ? valueFn(m) : m));
|
|
77
|
-
}
|
|
78
|
-
return { matches, results };
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
;
|
|
82
|
-
({}); // @--end-of-file-for-module=tnp-helpers lib/helpers-array-obj.ts
|
|
1
|
+
import { _ } from 'tnp-core/browser';
|
|
2
|
+
import * as fuzzy from 'fuzzy';
|
|
3
|
+
import { Helpers } from './index';
|
|
4
|
+
export class HelpersArrayObj {
|
|
5
|
+
from(s) {
|
|
6
|
+
if (_.isArray(s)) {
|
|
7
|
+
return s;
|
|
8
|
+
}
|
|
9
|
+
if (_.isString(s)) {
|
|
10
|
+
return s.split(' ');
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
second(arr) {
|
|
14
|
+
if (!Array.isArray(arr) || arr.length < 2) {
|
|
15
|
+
return void 0;
|
|
16
|
+
}
|
|
17
|
+
return arr[1];
|
|
18
|
+
}
|
|
19
|
+
arrayMoveElementBefore(arr, a, b, prop) {
|
|
20
|
+
let indexA = prop ? arr.findIndex(elem => elem[prop] === a[prop]) : arr.indexOf(a);
|
|
21
|
+
_.pullAt(arr, indexA);
|
|
22
|
+
let indexB = prop ? arr.findIndex(elem => elem[prop] === b[prop]) : arr.indexOf(b);
|
|
23
|
+
if (indexB === 0) {
|
|
24
|
+
arr.unshift(a);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
arr.splice(indexB - 1, 0, a);
|
|
28
|
+
}
|
|
29
|
+
return arr;
|
|
30
|
+
}
|
|
31
|
+
arrayMoveElementAfterB(arr, a, b, prop) {
|
|
32
|
+
let indexA = prop ? arr.findIndex(elem => elem[prop] === a[prop]) : arr.indexOf(a);
|
|
33
|
+
_.pullAt(arr, indexA);
|
|
34
|
+
let indexB = prop ? arr.findIndex(elem => elem[prop] === b[prop]) : arr.indexOf(b);
|
|
35
|
+
if (indexB === arr.length - 1) {
|
|
36
|
+
arr.push(a);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
arr.splice(indexB + 1, 0, a);
|
|
40
|
+
}
|
|
41
|
+
return arr;
|
|
42
|
+
}
|
|
43
|
+
uniqArray(array, uniqueProperty) {
|
|
44
|
+
var seen = {};
|
|
45
|
+
return array
|
|
46
|
+
.filter(f => !!f)
|
|
47
|
+
.filter(function (item) {
|
|
48
|
+
return seen.hasOwnProperty(uniqueProperty ? item[uniqueProperty] : item) ? false
|
|
49
|
+
: (seen[uniqueProperty ? item[uniqueProperty] : item] = true);
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
sortKeys(obj) {
|
|
53
|
+
if (_.isArray(obj)) {
|
|
54
|
+
return obj.map(Helpers.arrays.sortKeys);
|
|
55
|
+
}
|
|
56
|
+
if (_.isObject(obj)) {
|
|
57
|
+
return _.fromPairs(_.keys(obj).sort().map(key => [key, Helpers.arrays.sortKeys(obj[key])]));
|
|
58
|
+
}
|
|
59
|
+
return obj;
|
|
60
|
+
}
|
|
61
|
+
;
|
|
62
|
+
/**
|
|
63
|
+
* Fuzzy search
|
|
64
|
+
*/
|
|
65
|
+
fuzzy(query, list, valueFn) {
|
|
66
|
+
const resultsFuzzy = fuzzy.filter(query, list.map(k => valueFn ? valueFn(k) : k));
|
|
67
|
+
const resultsFuzzyKebab = fuzzy.filter(_.kebabCase(query), list.map(k => _.kebabCase((valueFn ? valueFn(k) : k))));
|
|
68
|
+
const matches = resultsFuzzy.map((el) => el.string);
|
|
69
|
+
const matchesKebab = resultsFuzzyKebab.map((el) => el.string);
|
|
70
|
+
const results = (resultsFuzzy.length === 0) ? [] : list.filter(k => {
|
|
71
|
+
return matches.includes((valueFn ? valueFn(k) : k));
|
|
72
|
+
});
|
|
73
|
+
if (matches.length === 0 && matchesKebab.length > 0) {
|
|
74
|
+
const m = list.find(k => _.kebabCase((valueFn ? valueFn(k) : k)) === _.first(matchesKebab));
|
|
75
|
+
results.push(m);
|
|
76
|
+
matches.push((valueFn ? valueFn(m) : m));
|
|
77
|
+
}
|
|
78
|
+
return { matches, results };
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
;
|
|
82
|
+
({}); // @--end-of-file-for-module=tnp-helpers lib/helpers-array-obj.ts
|
|
83
83
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1hcnJheS1vYmouanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvaGVscGVycy1hcnJheS1vYmoudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JDLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQy9CLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFbEMsTUFBTSxPQUFPLGVBQWU7SUFFMUIsSUFBSSxDQUFDLENBQW9CO1FBQ3ZCLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNoQixPQUFPLENBQUMsQ0FBQztTQUNWO1FBQ0QsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2pCLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtTQUNwQjtJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsR0FBRztRQUNSLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3pDLE9BQU8sS0FBSyxDQUFDLENBQUM7U0FDZjtRQUNELE9BQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxzQkFBc0IsQ0FBVSxHQUFVLEVBQUUsQ0FBTSxFQUFFLENBQU0sRUFBRSxJQUFjO1FBQ3hFLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFD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Q0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDakUsT0FBTyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBUSxDQUFDLENBQUM7UUFDN0QsQ0FBQyxDQUFDLENBQUE7UUFFRixJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ25ELE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1lBQ25HLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQVEsQ0FBQyxDQUFDO1NBQ2pEO1FBRUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUM5QixDQUFDO0NBRUY7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGlFQUFpRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCAqIGFzIGZ1enp5IGZyb20gJ2Z1enp5JztcbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICcuL2luZGV4JztcblxuZXhwb3J0IGNsYXNzIEhlbHBlcnNBcnJheU9iaiB7XG5cbiAgZnJvbShzOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHN0cmluZ1tdIHtcbiAgICBpZiAoXy5pc0FycmF5KHMpKSB7XG4gICAgICByZXR1cm4gcztcbiAgICB9XG4gICAgaWYgKF8uaXNTdHJpbmcocykpIHtcbiAgICAgIHJldHVybiBzLnNwbGl0KCcgJylcbiAgICB9XG4gIH1cblxuICBzZWNvbmQoYXJyKSB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGFycikgfHwgYXJyLmxlbmd0aCA8IDIpIHtcbiAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgfVxuICAgIHJldHVybiAgYXJyWzFdO1xuICB9XG5cbiAgYXJyYXlNb3ZlRWxlbWVudEJlZm9yZTxUID0gYW55PihhcnI6IGFueVtdLCBhOiBhbnksIGI6IGFueSwgcHJvcD86IGtleW9mIFQpIHtcbiAgICBsZXQgaW5kZXhBID0gcHJvcCA/IGFyci5maW5kSW5kZXgoZWxlbSA9PiBlbGVtW3Byb3BdID09PSBhW3Byb3BdKSA6IGFyci5pbmRleE9mKGEpO1xuICAgIF8ucHVsbEF0KGFyciwgaW5kZXhBKTtcbiAgICBsZXQgaW5kZXhCID0gcHJvcCA/IGFyci5maW5kSW5kZXgoZWxlbSA9PiBlbGVtW3Byb3BdID09PSBiW3Byb3BdKSA6IGFyci5pbmRleE9mKGIpO1xuICAgIGlmIChpbmRleEIgPT09IDApIHtcbiAgICAgIGFyci51bnNoaWZ0KGEpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcnIuc3BsaWNlKGluZGV4QiAtIDEsIDAsIGEpO1xuICAgIH1cbiAgICByZXR1cm4gYXJyO1xuICB9XG4gIGFycmF5TW92ZUVsZW1lbnRBZnRlckI8VCA9IGFueT4oYXJyOiBhbnlbXSwgYTogYW55LCBiOiBhbnksIHByb3A/OiBrZXlvZiBUKSB7XG4gICAgbGV0IGluZGV4QSA9IHByb3AgPyBhcnIuZmluZEluZGV4KGVsZW0gPT4gZWxlbVtwcm9wXSA9PT0gYVtwcm9wXSkgOiBhcnIuaW5kZXhPZihhKTtcbiAgICBfLnB1bGxBdChhcnIsIGluZGV4QSk7XG4gICAgbGV0IGluZGV4QiA9IHByb3AgPyBhcnIuZmluZEluZGV4KGVsZW0gPT4gZWxlbVtwcm9wXSA9PT0gYltwcm9wXSkgOiBhcnIuaW5kZXhPZihiKTtcbiAgICBpZiAoaW5kZXhCID09PSBhcnIubGVuZ3RoIC0gMSkge1xuICAgICAgYXJyLnB1c2goYSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFyci5zcGxpY2UoaW5kZXhCICsgMSwgMCwgYSk7XG4gICAgfVxuICAgIHJldHVybiBhcnI7XG4gIH1cblxuICB1bmlxQXJyYXk8VCA9IGFueT4oYXJyYXk6IGFueVtdLCB1bmlxdWVQcm9wZXJ0eT86IChrZXlvZiBUKSkge1xuICAgIHZhciBzZWVuID0ge307XG4gICAgcmV0dXJuIGFycmF5XG4gICAgICAuZmlsdGVyKGYgPT4gISFmKVxuICAgICAgLmZpbHRlcihmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgICByZXR1cm4gc2Vlbi5oYXNPd25Qcm9wZXJ0eSh1bmlxdWVQcm9wZXJ0eSA/IGl0ZW1bdW5pcXVlUHJvcGVydHldIDogaXRlbSkgPyBmYWxzZVxuICAgICAgICAgIDogKHNlZW5bdW5pcXVlUHJvcGVydHkgPyBpdGVtW3VuaXF1ZVByb3BlcnR5XSA6IGl0ZW1dID0gdHJ1ZSk7XG4gICAgICB9KSBhcyBUW107XG4gIH1cblxuICBzb3J0S2V5cyhvYmopIHtcbiAgICBpZiAoXy5pc0FycmF5KG9iaikpIHtcbiAgICAgIHJldHVybiBvYmoubWFwKEhlbHBlcnMuYXJyYXlzLnNvcnRLZXlzKTtcbiAgICB9XG4gICAgaWYgKF8uaXNPYmplY3Qob2JqKSkge1xuICAgICAgcmV0dXJuIF8uZnJvbVBhaXJzKF8ua2V5cyhvYmopLnNvcnQoKS5tYXAoa2V5ID0+IFtrZXksIEhlbHBlcnMuYXJyYXlzLnNvcnRLZXlzKG9ialtrZXldKV0pKTtcbiAgICB9XG4gICAgcmV0dXJuIG9iajtcbiAgfTtcblxuICAvKipcbiAgICogRnV6enkgc2VhcmNoXG4gICAqL1xuICBmdXp6eTxUID0gYW55PihxdWVyeTogc3RyaW5nLCBsaXN0OiBUW10sIHZhbHVlRm4/OiAobW9kZWxGcm9tTGlzdDogVCkgPT4gc3RyaW5nKSB7XG4gICAgY29uc3QgcmVzdWx0c0Z1enp5ID0gZnV6enkuZmlsdGVyKFxuICAgICAgcXVlcnksXG4gICAgICBsaXN0Lm1hcChrID0+IHZhbHVlRm4gPyB2YWx1ZUZuKGspIDogayksXG4gICAgKVxuICAgIGNvbnN0IHJlc3VsdHNGdXp6eUtlYmFiID0gZnV6enkuZmlsdGVyKFxuICAgICAgXy5rZWJhYkNhc2UocXVlcnkpLFxuICAgICAgbGlzdC5tYXAoayA9PiBfLmtlYmFiQ2FzZSgodmFsdWVGbiA/IHZhbHVlRm4oaykgOiBrKSBhcyBhbnkpKSxcbiAgICApXG4gICAgY29uc3QgbWF0Y2hlcyA9IHJlc3VsdHNGdXp6eS5tYXAoKGVsKSA9PiBlbC5zdHJpbmcpO1xuICAgIGNvbnN0IG1hdGNoZXNLZWJhYiA9IHJlc3VsdHNGdXp6eUtlYmFiLm1hcCgoZWwpID0+IGVsLnN0cmluZyk7XG5cbiAgICBjb25zdCByZXN1bHRzID0gKHJlc3VsdHNGdXp6eS5sZW5ndGggPT09IDApID8gW10gOiBsaXN0LmZpbHRlcihrID0+IHtcbiAgICAgIHJldHVybiBtYXRjaGVzLmluY2x1ZGVzKCh2YWx1ZUZuID8gdmFsdWVGbihrKSA6IGspIGFzIGFueSk7XG4gICAgfSlcblxuICAgIGlmIChtYXRjaGVzLmxlbmd0aCA9PT0gMCAmJiBtYXRjaGVzS2ViYWIubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgbSA9IGxpc3QuZmluZChrID0+IF8ua2ViYWJDYXNlKCh2YWx1ZUZuID8gdmFsdWVGbihrKSA6IGspIGFzIGFueSkgPT09IF8uZmlyc3QobWF0Y2hlc0tlYmFiKSk7XG4gICAgICByZXN1bHRzLnB1c2gobSk7XG4gICAgICBtYXRjaGVzLnB1c2goKHZhbHVlRm4gPyB2YWx1ZUZuKG0pIDogbSkgYXMgYW55KTtcbiAgICB9XG5cbiAgICByZXR1cm4geyBtYXRjaGVzLCByZXN1bHRzIH07XG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2hlbHBlcnMtYXJyYXktb2JqLnRzIl19
|