kwikid-forms 0.0.4 → 0.0.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/bundles/kwikid-forms.umd.js +546 -159
- package/bundles/kwikid-forms.umd.js.map +1 -1
- package/esm2015/lib/renderer/form-view/definitions/fields/form-view.fields.type.definitions.js +1 -1
- package/esm2015/lib/renderer/form-view/definitions/sources/form-view.sources.enum.definitions.js +2 -1
- package/esm2015/lib/renderer/form-view/definitions/sources/form-view.sources.type.definitions.js +1 -1
- package/esm2015/lib/renderer/form-view/form-view.component.js +29 -11
- package/esm2015/lib/renderer/form-view/form-view.module.js +9 -2
- package/esm2015/lib/renderer/form-view/form-view.service.js +3 -2
- package/esm2015/lib/renderer/form-view/helpers/form-view.fields.helper.js +16 -29
- package/esm2015/lib/renderer/helpers/renderer.actions.helper.js +20 -0
- package/esm2015/lib/renderer/helpers/renderer.condition.helper.js +41 -0
- package/esm2015/lib/renderer/helpers/renderer.rules.helper.js +63 -0
- package/esm2015/lib/renderer/helpers/renderer.sources.helper.js +91 -0
- package/esm2015/lib/renderer/helpers/renderer.validations.helper.js +33 -0
- package/esm2015/lib/renderer/renderer.component.js +50 -4
- package/esm2015/lib/renderer/renderer.config-converter.helper.js +15 -10
- package/esm2015/lib/renderer/renderer.module.js +15 -4
- package/fesm2015/kwikid-forms.js +398 -98
- package/fesm2015/kwikid-forms.js.map +1 -1
- package/lib/renderer/form-view/definitions/fields/form-view.fields.type.definitions.d.ts +1 -1
- package/lib/renderer/form-view/definitions/sources/form-view.sources.enum.definitions.d.ts +1 -0
- package/lib/renderer/form-view/definitions/sources/form-view.sources.type.definitions.d.ts +1 -1
- package/lib/renderer/form-view/form-view.component.d.ts +7 -2
- package/lib/renderer/form-view/form-view.module.d.ts +3 -2
- package/lib/renderer/helpers/renderer.actions.helper.d.ts +8 -0
- package/lib/renderer/helpers/renderer.condition.helper.d.ts +8 -0
- package/lib/renderer/helpers/renderer.rules.helper.d.ts +8 -0
- package/lib/renderer/helpers/renderer.sources.helper.d.ts +13 -0
- package/lib/renderer/helpers/renderer.validations.helper.d.ts +8 -0
- package/lib/renderer/renderer.component.d.ts +4 -0
- package/lib/renderer/renderer.module.d.ts +3 -1
- package/package.json +1 -1
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { CommonModule } from "@angular/common";
|
|
2
2
|
import { NgModule } from "@angular/core";
|
|
3
3
|
import { FormsModule, ReactiveFormsModule } from "@angular/forms";
|
|
4
|
-
import { TuiLabelModule } from "@taiga-ui/core";
|
|
4
|
+
import { TuiLabelModule, TuiSvgModule } from "@taiga-ui/core";
|
|
5
|
+
import { TuiPushModule } from "@taiga-ui/kit";
|
|
5
6
|
import { KwikUIModule } from "kwikui";
|
|
6
7
|
import { KwikIDFormViewComponent } from "./form-view.component";
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
@@ -12,12 +13,16 @@ export class KwikIDFormViewModule {
|
|
|
12
13
|
FormsModule,
|
|
13
14
|
ReactiveFormsModule,
|
|
14
15
|
TuiLabelModule,
|
|
16
|
+
TuiPushModule,
|
|
17
|
+
TuiSvgModule,
|
|
15
18
|
KwikUIModule], exports: [KwikIDFormViewComponent] });
|
|
16
19
|
/** @nocollapse */ KwikIDFormViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: KwikIDFormViewModule, imports: [[
|
|
17
20
|
CommonModule,
|
|
18
21
|
FormsModule,
|
|
19
22
|
ReactiveFormsModule,
|
|
20
23
|
TuiLabelModule,
|
|
24
|
+
TuiPushModule,
|
|
25
|
+
TuiSvgModule,
|
|
21
26
|
KwikUIModule
|
|
22
27
|
]] });
|
|
23
28
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: KwikIDFormViewModule, decorators: [{
|
|
@@ -29,9 +34,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
29
34
|
FormsModule,
|
|
30
35
|
ReactiveFormsModule,
|
|
31
36
|
TuiLabelModule,
|
|
37
|
+
TuiPushModule,
|
|
38
|
+
TuiSvgModule,
|
|
32
39
|
KwikUIModule
|
|
33
40
|
],
|
|
34
41
|
exports: [KwikIDFormViewComponent]
|
|
35
42
|
}]
|
|
36
43
|
}] });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12aWV3Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWtpZC1mb3Jtcy9zcmMvbGliL3JlbmRlcmVyL2Zvcm0tdmlldy9mb3JtLXZpZXcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFlaEUsTUFBTSxPQUFPLG9CQUFvQjs7cUlBQXBCLG9CQUFvQjtzSUFBcEIsb0JBQW9CLGlCQVpoQix1QkFBdUIsYUFFcEMsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsY0FBYztRQUNkLGFBQWE7UUFDYixZQUFZO1FBQ1osWUFBWSxhQUVKLHVCQUF1QjtzSUFFdEIsb0JBQW9CLFlBWHRCO1lBQ1AsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsY0FBYztZQUNkLGFBQWE7WUFDYixZQUFZO1lBQ1osWUFBWTtTQUNiOzRGQUdVLG9CQUFvQjtrQkFiaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDdkMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixZQUFZO3dCQUNaLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IFR1aUxhYmVsTW9kdWxlLCBUdWlTdmdNb2R1bGUgfSBmcm9tIFwiQHRhaWdhLXVpL2NvcmVcIjtcclxuaW1wb3J0IHsgVHVpUHVzaE1vZHVsZSB9IGZyb20gXCJAdGFpZ2EtdWkva2l0XCI7XHJcbmltcG9ydCB7IEt3aWtVSU1vZHVsZSB9IGZyb20gXCJrd2lrdWlcIjtcclxuaW1wb3J0IHsgS3dpa0lERm9ybVZpZXdDb21wb25lbnQgfSBmcm9tIFwiLi9mb3JtLXZpZXcuY29tcG9uZW50XCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0t3aWtJREZvcm1WaWV3Q29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBUdWlMYWJlbE1vZHVsZSxcclxuICAgIFR1aVB1c2hNb2R1bGUsXHJcbiAgICBUdWlTdmdNb2R1bGUsXHJcbiAgICBLd2lrVUlNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtLd2lrSURGb3JtVmlld0NvbXBvbmVudF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEt3aWtJREZvcm1WaWV3TW9kdWxlIHt9XHJcbiJdfQ==
|
|
@@ -13,7 +13,8 @@ export class KwikIDFormViewService {
|
|
|
13
13
|
for (let field of fields) {
|
|
14
14
|
if (field.type !== "title") {
|
|
15
15
|
const defaults = new Defaults(field, allFormsData, formData, previousFormData, takeAction);
|
|
16
|
-
|
|
16
|
+
let value = yield defaults.getDefaultValue();
|
|
17
|
+
value = convertValueFromBasicFormatToKwikUIFormat(field.type, value);
|
|
17
18
|
const validators = new Validations(field, formData, previousFormData, allFormsData, takeAction).getFieldValidators(field);
|
|
18
19
|
formGroup.addControl(field.key, new FormControl({ value: value, disabled: field.disabled }, { validators: validators }));
|
|
19
20
|
}
|
|
@@ -25,4 +26,4 @@ export class KwikIDFormViewService {
|
|
|
25
26
|
__decorate([
|
|
26
27
|
log
|
|
27
28
|
], KwikIDFormViewService.prototype, "createFormGroup", null);
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12aWV3LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtZm9ybXMvc3JjL2xpYi9yZW5kZXJlci9mb3JtLXZpZXcvZm9ybS12aWV3LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFckUsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxnQkFBZSxDQUFDO0lBRWhCLDJCQUEyQjtJQUVyQixlQUFlLENBQ25CLE1BQVcsRUFDWCxRQUFhLEVBQ2IsZ0JBQXFCLEVBQ3JCLFlBQWlCLEVBQ2pCLFVBQW9COztZQUVwQixJQUFJLFNBQVMsR0FBRyxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUVsQyxLQUFLLElBQUksS0FBSyxJQUFJLE1BQU0sRUFBRTtnQkFDeEIsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRTtvQkFDMUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxRQUFRLENBQzNCLEtBQUssRUFDTCxZQUFZLEVBQ1osUUFBUSxFQUNSLGdCQUFnQixFQUNoQixVQUFVLENBQ1gsQ0FBQztvQkFDRixJQUFJLEtBQUssR0FBRyxNQUFNLFFBQVEsQ0FBQyxlQUFlLEVBQUUsQ0FBQztvQkFDN0MsS0FBSyxHQUFHLHlDQUF5QyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7b0JBRXJFLE1BQU0sVUFBVSxHQUFHLElBQUksV0FBVyxDQUNoQyxLQUFLLEVBQ0wsUUFBUSxFQUNSLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osVUFBVSxDQUNYLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBRTVCLFNBQVMsQ0FBQyxVQUFVLENBQ2xCLEtBQUssQ0FBQyxHQUFHLEVBQ1QsSUFBSSxXQUFXLENBQ2IsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQzFDLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxDQUMzQixDQUNGLENBQUM7aUJBQ0g7YUFDRjtZQUVELE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7S0FBQTtDQUNGO0FBekNDO0lBREMsR0FBRzs0REF5Q0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IGxvZyB9IGZyb20gXCIuL2Zvcm0tdmlldy5kZWNvcmF0b3JzXCI7XHJcbmltcG9ydCB7IERlZmF1bHRzIH0gZnJvbSBcIi4vaGVscGVycy9mb3JtLXZpZXcuZGVmYXVsdHMuaGVscGVyXCI7XHJcbmltcG9ydCB7IGNvbnZlcnRWYWx1ZUZyb21CYXNpY0Zvcm1hdFRvS3dpa1VJRm9ybWF0IH0gZnJvbSBcIi4vaGVscGVycy9mb3JtLXZpZXcuZmllbGRzLmhlbHBlclwiO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9ucyB9IGZyb20gXCIuL2hlbHBlcnMvZm9ybS12aWV3LnZhbGlkYXRpb25zLmhlbHBlclwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIEt3aWtJREZvcm1WaWV3U2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICAvLyAnaW5pdCcgc3RhZ2Ugb2YgdGhlIGZvcm1cclxuICBAbG9nXHJcbiAgYXN5bmMgY3JlYXRlRm9ybUdyb3VwKFxyXG4gICAgZmllbGRzOiBhbnksXHJcbiAgICBmb3JtRGF0YTogYW55LFxyXG4gICAgcHJldmlvdXNGb3JtRGF0YTogYW55LFxyXG4gICAgYWxsRm9ybXNEYXRhOiBhbnksXHJcbiAgICB0YWtlQWN0aW9uOiBGdW5jdGlvblxyXG4gICkge1xyXG4gICAgbGV0IGZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG5cclxuICAgIGZvciAobGV0IGZpZWxkIG9mIGZpZWxkcykge1xyXG4gICAgICBpZiAoZmllbGQudHlwZSAhPT0gXCJ0aXRsZVwiKSB7XHJcbiAgICAgICAgY29uc3QgZGVmYXVsdHMgPSBuZXcgRGVmYXVsdHMoXHJcbiAgICAgICAgICBmaWVsZCxcclxuICAgICAgICAgIGFsbEZvcm1zRGF0YSxcclxuICAgICAgICAgIGZvcm1EYXRhLFxyXG4gICAgICAgICAgcHJldmlvdXNGb3JtRGF0YSxcclxuICAgICAgICAgIHRha2VBY3Rpb25cclxuICAgICAgICApO1xyXG4gICAgICAgIGxldCB2YWx1ZSA9IGF3YWl0IGRlZmF1bHRzLmdldERlZmF1bHRWYWx1ZSgpO1xyXG4gICAgICAgIHZhbHVlID0gY29udmVydFZhbHVlRnJvbUJhc2ljRm9ybWF0VG9Ld2lrVUlGb3JtYXQoZmllbGQudHlwZSwgdmFsdWUpO1xyXG5cclxuICAgICAgICBjb25zdCB2YWxpZGF0b3JzID0gbmV3IFZhbGlkYXRpb25zKFxyXG4gICAgICAgICAgZmllbGQsXHJcbiAgICAgICAgICBmb3JtRGF0YSxcclxuICAgICAgICAgIHByZXZpb3VzRm9ybURhdGEsXHJcbiAgICAgICAgICBhbGxGb3Jtc0RhdGEsXHJcbiAgICAgICAgICB0YWtlQWN0aW9uXHJcbiAgICAgICAgKS5nZXRGaWVsZFZhbGlkYXRvcnMoZmllbGQpO1xyXG5cclxuICAgICAgICBmb3JtR3JvdXAuYWRkQ29udHJvbChcclxuICAgICAgICAgIGZpZWxkLmtleSxcclxuICAgICAgICAgIG5ldyBGb3JtQ29udHJvbChcclxuICAgICAgICAgICAgeyB2YWx1ZTogdmFsdWUsIGRpc2FibGVkOiBmaWVsZC5kaXNhYmxlZCB9LFxyXG4gICAgICAgICAgICB7IHZhbGlkYXRvcnM6IHZhbGlkYXRvcnMgfVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZm9ybUdyb3VwO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
2
|
import { TuiDay } from "@taiga-ui/cdk";
|
|
3
3
|
import { EFieldType } from "../definitions/fields/form-view.fields.enum.definitions";
|
|
4
|
-
import { hasKey,
|
|
4
|
+
import { hasKey, isNotEmpty } from "./form-view.common.helper";
|
|
5
5
|
export const findFieldFromKey = (fields, key) => {
|
|
6
6
|
const field = fields.find((field) => {
|
|
7
7
|
if (field.key === key) {
|
|
@@ -172,35 +172,22 @@ export const convertValueFromKwikUIFormatToBasicFormat = (type, value) => {
|
|
|
172
172
|
};
|
|
173
173
|
export const convertValueFromBasicFormatToKwikUIFormat = (field, value) => {
|
|
174
174
|
let convertedValue = value;
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
break;
|
|
184
|
-
case EFieldType.DATE:
|
|
185
|
-
if (isNull(value)) {
|
|
186
|
-
convertedValue = "";
|
|
187
|
-
}
|
|
188
|
-
else {
|
|
175
|
+
if (isNotEmpty(value)) {
|
|
176
|
+
switch (field.type) {
|
|
177
|
+
case EFieldType.RADIO:
|
|
178
|
+
if (hasKey(value, "label")) {
|
|
179
|
+
convertedValue = value.label;
|
|
180
|
+
}
|
|
181
|
+
break;
|
|
182
|
+
case EFieldType.DATE:
|
|
189
183
|
convertedValue = formatDateToStandardFormat(value);
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
case EFieldType.TITLE:
|
|
197
|
-
break;
|
|
198
|
-
default:
|
|
199
|
-
if (isEmpty(value)) {
|
|
200
|
-
convertedValue = "";
|
|
201
|
-
}
|
|
202
|
-
break;
|
|
184
|
+
break;
|
|
185
|
+
case EFieldType.TITLE:
|
|
186
|
+
break;
|
|
187
|
+
default:
|
|
188
|
+
break;
|
|
189
|
+
}
|
|
203
190
|
}
|
|
204
191
|
return convertedValue;
|
|
205
192
|
};
|
|
206
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12aWV3LmZpZWxkcy5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtZm9ybXMvc3JjL2xpYi9yZW5kZXJlci9mb3JtLXZpZXcvaGVscGVycy9mb3JtLXZpZXcuZmllbGRzLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seURBQXlELENBQUM7QUFNckYsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWhGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsTUFBYSxFQUFFLEdBQVcsRUFBRSxFQUFFO0lBQzdELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUNsQyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssR0FBRyxFQUFFO1lBQ3JCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxNQUFhLEVBQUUsR0FBVyxFQUFFLEVBQUU7SUFDbEUsSUFBSSxVQUFrQixDQUFDO0lBRXZCLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUU7UUFDdkMsT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQztJQUN2QixDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUFHLENBQ2hELEtBQVUsRUFDVixVQUFl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LENBQUMsRUFDekMsRUFBRSxDQUNILENBQUM7WUFDRixNQUFNO1FBQ1IsS0FBSyxVQUFVLENBQUMsS0FBSztZQUNuQixNQUFNO1FBQ1I7WUFDRSxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDbEIsY0FBYyxHQUFHLEVBQUUsQ0FBQzthQUNyQjtZQUNELE1BQU07S0FDVDtJQUVELE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR1aURheSB9IGZyb20gXCJAdGFpZ2EtdWkvY2RrXCI7XHJcbmltcG9ydCB7IEVGaWVsZFR5cGUgfSBmcm9tIFwiLi4vZGVmaW5pdGlvbnMvZmllbGRzL2Zvcm0tdmlldy5maWVsZHMuZW51bS5kZWZpbml0aW9uc1wiO1xyXG5pbXBvcnQge1xyXG4gIFRGaWVsZCxcclxuICBURmllbGRQaG9uZSxcclxuICBURmllbGRUeXBlXHJcbn0gZnJvbSBcIi4uL2RlZmluaXRpb25zL2ZpZWxkcy9mb3JtLXZpZXcuZmllbGRzLnR5cGUuZGVmaW5pdGlvbnNcIjtcclxuaW1wb3J0IHsgaGFzS2V5LCBpc0VtcHR5LCBpc05vdEVtcHR5LCBpc051bGwgfSBmcm9tIFwiLi9mb3JtLXZpZXcuY29tbW9uLmhlbHBlclwiO1xyXG5cclxuZXhwb3J0IGNvbnN0IGZpbmRGaWVsZEZyb21LZXkgPSAoZmllbGRzOiBhbnlbXSwga2V5OiBzdHJpbmcpID0+IHtcclxuICBjb25zdCBmaWVsZCA9IGZpZWxkcy5maW5kKChmaWVsZCkgPT4ge1xyXG4gICAgaWYgKGZpZWxkLmtleSA9PT0ga2V5KSB7XHJcbiAgICAgIHJldHVybiBmaWVsZDtcclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIGZpZWxkO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGZpbmRGaWVsZEluZGV4RnJvbUtleSA9IChmaWVsZHM6IGFueVtdLCBrZXk6IHN0cmluZykgPT4ge1xyXG4gIGxldCBmaWVsZEluZGV4OiBudW1iZXI7XHJcblxyXG4gIGZpZWxkSW5kZXggPSBmaWVsZHMuZmluZEluZGV4KChfOiBhbnkpID0+IHtcclxuICAgIHJldHVybiBrZXkgPT09IF8ua2V5O1xyXG4gIH0pO1xyXG5cclxuICByZXR1cm4gZmllbGRJbmRleDtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRTZWFyY2hUZXh0T3B0aW9uc0Zyb21SZW1vdGVGaWxlID0gYXN5bmMgKFxyXG4gIGZpZWxkOiBhbnksXHJcbiAgY2hpbGRGaWVsZDogYW55LFxyXG4gIGZvcm1Hcm91cDogYW55XHJcbik6IFByb21pc2U8YW55PiA9PiB7XHJcbiAgY29uc3QgcGFyZW50RmllbGRWYWx1ZSA9IGZvcm1Hcm91cC5jb250cm9sc1tmaWVsZC5rZXldLnZhbHVlO1xyXG5cclxuICAvLyBEZXRlcm1pbmUgdGhlIFVSTCBvZiB0aGUgcmVtb3RlIGZpbGUgdG8gZmV0Y2hcclxuICBsZXQgZmlsZVVybDogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIGlmIChjaGlsZEZpZWxkLnJlZ2V4VG9HZXRKc29uUmVtb3RlVXJsS2V5KSB7XHJcbiAgICBjb25zdCBmaWxlS2V5ID0gcGFyZW50RmllbGRWYWx1ZS5tYXRjaChcclxuICAgICAgY2hpbGRGaWVsZC5yZWdleFRvR2V0SnNvblJlbW90ZVVybEtleVxyXG4gICAgKVswXTtcclxuICAgIGZpbGVVcmwgPSBjaGlsZEZpZWxkLmpzb25SZW1vdGVVcmxNYXBwaW5nW2ZpbGVLZXldO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBmaWxlVXJsID0gY2hpbGRGaWVsZC5maWxlVXJsO1xyXG4gIH1cclxuXHJcbiAgLy8gUmV0dXJuIGVhcmx5IGlmIHRoZXJlIGlzIG5vIGZpbGUgVVJMXHJcbiAgaWYgKCFmaWxlVXJsKSByZXR1cm47XHJcblxyXG4gIC8vIEZldGNoIHRoZSByZW1vdGUgZmlsZSBhbmQgcGFyc2UgaXRzIEpTT04gZGF0YVxyXG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goZmlsZVVybCk7XHJcbiAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcclxuXHJcbiAgLy8gUmV0dXJuIHRoZSBkYXRhIGZvciB0aGUgZ2l2ZW4gcGFyZW50IGZpZWxkIHZhbHVlXHJcbiAgcmV0dXJuIGRhdGFbcGFyZW50RmllbGRWYWx1ZV07XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0U2VhcmNoVGV4dE9wdGlvbnNGcm9tRmllbGRDb25maWcgPSAoXHJcbiAgZmllbGQ6IGFueSxcclxuICBjaGlsZEZpZWxkOiBhbnksXHJcbiAgZm9ybUdyb3VwOiBhbnlcclxuKTogYW55ID0+IHtcclxuICBsZXQgb3B0aW9uczogYW55O1xyXG5cclxuICBjb25zdCBmaWVsZFZhbHVlID0gZm9ybUdyb3VwLmNvbnRyb2xzW2ZpZWxkLmtleV0udmFsdWU7XHJcblxyXG4gIGlmIChpc05vdEVtcHR5KGNoaWxkRmllbGRbXCJqc29uXCJdKSkge1xyXG4gICAgb3B0aW9ucyA9IGNoaWxkRmllbGRbXCJqc29uXCJdW2ZpZWxkVmFsdWVdO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIG9wdGlvbnM7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgZm9ybWF0U2VhcmNoVGV4dE9wdGlvbnMgPSAoXHJcbiAgb3B0aW9uczogeyB0aXRsZTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH1bXVxyXG4pOiBzdHJpbmdbXSA9PiB7XHJcbiAgcmV0dXJuIG9wdGlvbnMubWFwKCh7IHRpdGxlIH0pID0+IHRpdGxlKTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBmb3JtYXREYXRlVG9TdGFuZGFyZEZvcm1hdCA9IChkYXRlOiBUdWlEYXkpOiBzdHJpbmcgPT4ge1xyXG4gIGxldCBmb3JtYXR0ZWREYXRlOiBzdHJpbmc7XHJcbiAgbGV0IHllYXIgPSBkYXRlLnllYXI7XHJcbiAgbGV0IG1vbnRoID0gZGF0ZS5tb250aDtcclxuICBsZXQgZGF5ID0gZGF0ZS5kYXk7XHJcblxyXG4gIGZvcm1hdHRlZERhdGUgPSBgJHtkYXl9LSR7bW9udGggKyAxfS0ke3llYXJ9YDtcclxuXHJcbiAgcmV0dXJuIGZvcm1hdHRlZERhdGU7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaGlnaGxpZ2h0RmllbGRFcnJvcihmaWVsZDogYW55LCBlcnJvcjogYW55KTogYW55IHtcclxuICBmaWVsZC5pbnZhbGlkID0gZXJyb3I7XHJcbiAgZmllbGQuZm9jdXMgPSBlcnJvcjtcclxuXHJcbiAgLy8gaWYgKCFlcnJvcikge1xyXG4gIC8vICAgZmllbGRbXCJtZXNzYWdlc1wiXSA9IGZpZWxkW1wibWVzc2FnZXNcIl0uZmlsdGVyKGZ1bmN0aW9uIChmaWVsZE1lc3NhZ2U6IHtcclxuICAvLyAgICAgdHlwZTogc3RyaW5nO1xyXG4gIC8vICAgICBtZXNzYWdlOiBzdHJpbmc7XHJcbiAgLy8gICB9KSB7XHJcbiAgLy8gICAgIHJldHVybiBmaWVsZE1lc3NhZ2UudHlwZSA9PT0gXCJlcnJvclwiO1xyXG4gIC8vICAgfSk7XHJcbiAgLy8gfVxyXG5cclxuICByZXR1cm4gZmllbGQ7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBhZGRNZXNzYWdlID0gKFxyXG4gIGZpZWxkOiBhbnksXHJcbiAgbWVzc2FnZTogeyB0eXBlOiBzdHJpbmc7IG1lc3NhZ2U6IHN0cmluZyB9XHJcbik6IGFueSA9PiB7XHJcbiAgY29uc3QgaXNEdXBsaWNhdGVNZXNzYWdlID0gKFxyXG4gICAgbWVzc2FnZXM6IHsgdHlwZTogc3RyaW5nOyBtZXNzYWdlOiBzdHJpbmcgfVtdLFxyXG4gICAgbWVzc2FnZTogeyB0eXBlOiBzdHJpbmc7IG1lc3NhZ2U6IHN0cmluZyB9XHJcbiAgKSA9PiB7XHJcbiAgICByZXR1cm4gbWVzc2FnZXMuc29tZSgoZmllbGRNZXNzYWdlOiB7IHR5cGU6IHN0cmluZzsgbWVzc2FnZTogc3RyaW5nIH0pID0+IHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICBmaWVsZE1lc3NhZ2UudHlwZSA9PT0gbWVzc2FnZS50eXBlICYmXHJcbiAgICAgICAgZmllbGRNZXNzYWdlLm1lc3NhZ2UgPT09IG1lc3NhZ2UubWVzc2FnZVxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgfTtcclxuXHJcbiAgZmllbGRbXCJtZXNzYWdlc1wiXSA9IFtdO1xyXG5cclxuICBpZiAoaGFzS2V5KGZpZWxkLCBcIm1lc3NhZ2VzXCIpKSB7XHJcbiAgICBpZiAoIWlzRHVwbGljYXRlTWVzc2FnZShmaWVsZFtcIm1lc3NhZ2VzXCJdLCBtZXNzYWdlKSkge1xyXG4gICAgICBmaWVsZFtcIm1lc3NhZ2VzXCJdLnB1c2goe1xyXG4gICAgICAgIHR5cGU6IG1lc3NhZ2UudHlwZSxcclxuICAgICAgICBtZXNzYWdlOiBtZXNzYWdlLm1lc3NhZ2VcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfSBlbHNlIHtcclxuICAgIGZpZWxkW1wibWVzc2FnZXNcIl0gPSBbeyB0eXBlOiBtZXNzYWdlLnR5cGUsIG1lc3NhZ2U6IG1lc3NhZ2UubWVzc2FnZSB9XTtcclxuICB9XHJcblxyXG4gIHJldHVybiBmaWVsZDtcclxufTtcclxuZXhwb3J0IGNvbnN0IHJlbW92ZU1lc3NhZ2UgPSAoXHJcbiAgZmllbGQ6IGFueSxcclxuICBtZXNzYWdlOiB7IHR5cGU6IHN0cmluZzsgbWVzc2FnZTogc3RyaW5nIH1cclxuKTogYW55ID0+IHtcclxuICBmaWVsZFtcIm1lc3NhZ2VzXCJdID0gZmllbGRbXCJtZXNzYWdlc1wiXS5maWx0ZXIoZnVuY3Rpb24gKGZpZWxkTWVzc2FnZSkge1xyXG4gICAgcmV0dXJuIGZpZWxkTWVzc2FnZS50eXBlICE9PSBtZXNzYWdlLnR5cGU7XHJcbiAgfSk7XHJcblxyXG4gIHJldHVybiBmaWVsZDtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBzZXRGaWVsZEVycm9yKFxyXG4gIGZpZWxkczogYW55LFxyXG4gIGVycm9yczogYW55LFxyXG4gIGtleTogc3RyaW5nLFxyXG4gIGVycm9yOiBib29sZWFuXHJcbikge1xyXG4gIGNvbnN0IGZpZWxkSW5kZXggPSBmaWVsZHMuZmluZEluZGV4KChmaWVsZDogYW55KSA9PiB7XHJcbiAgICByZXR1cm4gZmllbGQua2V5ID09PSBrZXk7XHJcbiAgfSk7XHJcblxyXG4gIGNvbnN0IHNldEVycm9yTWVzc2FnZXMgPSAoZmllbGQ6IGFueSwgZXJyb3JzOiBhbnkpID0+IHtcclxuICAgIGNvbnN0IGdldEVycm9yTWVzc2FnZSA9IChmaWVsZExhYmVsOiBzdHJpbmcsIGVycm9yVHlwZTogc3RyaW5nKSA9PiB7XHJcbiAgICAgIGxldCBlcnJvck1lc3NhZ2U6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgICBzd2l0Y2ggKGVycm9yVHlwZSkge1xyXG4gICAgICAgIGNhc2UgXCJyZXF1aXJlZFwiOlxyXG4gICAgICAgICAgZXJyb3JNZXNzYWdlID0gYCR7ZmllbGRMYWJlbH0gaXMgcmVxdWlyZWQhYDtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgXCJlbWFpbFwiOlxyXG4gICAgICAgICAgZXJyb3JNZXNzYWdlID0gYCR7ZmllbGRMYWJlbH0gaGFzIHdyb25nIGVtYWlsIGZvcm1hdCFgO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSBcIm1pblwiOlxyXG4gICAgICAgICAgZXJyb3JNZXNzYWdlID0gYCR7ZmllbGRMYWJlbH0gaGFzIHdyb25nIHZhbHVlISBNaW5pbXVtIHZhbHVlOiAke2ZpZWxkLnZhbGlkYXRvcnMubWlufWA7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIFwibWlubGVuZ3RoXCI6XHJcbiAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBgJHtmaWVsZExhYmVsfSBoYXMgd3JvbmcgbGVuZ3RoISBSZXF1aXJlZCBtaW5pbXVtIGxlbmd0aDogJHtmaWVsZC52YWxpZGF0b3JzLm1pbkxlbmd0aH1gO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSBcIm1heFwiOlxyXG4gICAgICAgICAgZXJyb3JNZXNzYWdlID0gYCR7ZmllbGRMYWJlbH0gaGFzIHdyb25nIHZhbHVlISBNYXhpbXVtIHZhbHVlOiAke2ZpZWxkLnZhbGlkYXRvcnMubWF4TGVuZ3RofWA7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIFwibWF4bGVuZ3RoXCI6XHJcbiAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBgJHtmaWVsZExhYmVsfSBoYXMgd3JvbmcgbGVuZ3RoISBSZXF1aXJlZCBtYXhpbXVtIGxlbmd0aDogJHtmaWVsZC52YWxpZGF0b3JzLm1heExlbmd0aH1gO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSBcImFyZUVxdWFsXCI6XHJcbiAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBgJHtmaWVsZExhYmVsfSBtdXN0IGJlIGVxdWFsIWA7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIFwicGF0dGVyblwiOlxyXG4gICAgICAgICAgZXJyb3JNZXNzYWdlID0gYCR7ZmllbGRMYWJlbH0gaXMgaW4gaW5jb3JyZWN0IGZvcm1hdCFgO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIGVycm9yTWVzc2FnZSA9IGAke2ZpZWxkTGFiZWx9OiAke2Vycm9yVHlwZX1gO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiBlcnJvck1lc3NhZ2U7XHJcbiAgICB9O1xyXG5cclxuICAgIE9iamVjdC5rZXlzKGVycm9ycykuZm9yRWFjaCgoZXJyb3IpID0+IHtcclxuICAgICAgZmllbGQgPSBhZGRNZXNzYWdlKGZpZWxkLCB7XHJcbiAgICAgICAgdHlwZTogXCJlcnJvclwiLFxyXG4gICAgICAgIG1lc3NhZ2U6IGdldEVycm9yTWVzc2FnZShmaWVsZC5sYWJlbCwgZXJyb3IpXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIGZpZWxkO1xyXG4gIH07XHJcblxyXG4gIGlmIChlcnJvcikge1xyXG4gICAgZmllbGRzW2ZpZWxkSW5kZXhdID0gc2V0RXJyb3JNZXNzYWdlcyhmaWVsZHNbZmllbGRJbmRleF0sIGVycm9ycyk7XHJcbiAgfSBlbHNlIHtcclxuICAgIGZpZWxkc1tmaWVsZEluZGV4XVtcIm1lc3NhZ2VzXCJdID0gW107XHJcbiAgfVxyXG5cclxuICBmaWVsZHNbZmllbGRJbmRleF0gPSBoaWdobGlnaHRGaWVsZEVycm9yKGZpZWxkc1tmaWVsZEluZGV4XSwgZXJyb3IpO1xyXG5cclxuICByZXR1cm4gZmllbGRzO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgY29udmVydFZhbHVlRnJvbUt3aWtVSUZvcm1hdFRvQmFzaWNGb3JtYXQgPSAoXHJcbiAgdHlwZTogVEZpZWxkVHlwZSxcclxuICB2YWx1ZTogYW55XHJcbikgPT4ge1xyXG4gIGxldCBjb252ZXJ0ZWRWYWx1ZTogYW55ID0gdmFsdWU7XHJcblxyXG4gIHN3aXRjaCAodHlwZSkge1xyXG4gICAgY2FzZSBFRmllbGRUeXBlLkRBVEU6XHJcbiAgICAgIGNvbnN0IGNvbnZlcnREYXRlU3RyaW5nVG9UdWlEYXlGb3JtYXQgPSAoZGF0ZTogc3RyaW5nKTogVHVpRGF5ID0+IHtcclxuICAgICAgICBjb25zdCBzcGxpdERhdGUgPSBkYXRlLnNwbGl0KFwiLVwiKTtcclxuICAgICAgICBjb25zdCB0dWlEYXkgPSBuZXcgVHVpRGF5KFxyXG4gICAgICAgICAgTnVtYmVyKHNwbGl0RGF0ZVsyXSksIC8vIFllYXJcclxuICAgICAgICAgIE51bWJlcihzcGxpdERhdGVbMV0pIC0gMSwgLy8gTW9udGgsIFdoeSAnLTEnID0+IEJlY2F1c2UgVGFpZ2EtVUkgUmVxdWlyZWQgSXQsIFNvLi4uXHJcbiAgICAgICAgICBOdW1iZXIoc3BsaXREYXRlWzBdKSAvLyBEYXlcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICByZXR1cm4gdHVpRGF5O1xyXG4gICAgICB9O1xyXG5cclxuICAgICAgY29udmVydGVkVmFsdWUgPSBjb252ZXJ0RGF0ZVN0cmluZ1RvVHVpRGF5Rm9ybWF0KHZhbHVlKTtcclxuICAgICAgYnJlYWs7XHJcbiAgICBkZWZhdWx0OlxyXG4gICAgICBicmVhaztcclxuICB9XHJcblxyXG4gIHJldHVybiBjb252ZXJ0ZWRWYWx1ZTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBjb252ZXJ0VmFsdWVGcm9tQmFzaWNGb3JtYXRUb0t3aWtVSUZvcm1hdCA9IChcclxuICBmaWVsZDogVEZpZWxkLFxyXG4gIHZhbHVlOiBhbnlcclxuKSA9PiB7XHJcbiAgbGV0IGNvbnZlcnRlZFZhbHVlOiBhbnkgPSB2YWx1ZTtcclxuXHJcbiAgc3dpdGNoIChmaWVsZC50eXBlKSB7XHJcbiAgICBjYXNlIEVGaWVsZFR5cGUuUkFESU86XHJcbiAgICAgIGlmIChoYXNLZXkodmFsdWUsIFwibGFiZWxcIikpIHtcclxuICAgICAgICBjb252ZXJ0ZWRWYWx1ZSA9IHZhbHVlLmxhYmVsO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnZlcnRlZFZhbHVlID0gXCJcIjtcclxuICAgICAgfVxyXG4gICAgICBicmVhaztcclxuICAgIGNhc2UgRUZpZWxkVHlwZS5EQVRFOlxyXG4gICAgICBpZiAoaXNOdWxsKHZhbHVlKSkge1xyXG4gICAgICAgIGNvbnZlcnRlZFZhbHVlID0gXCJcIjtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb252ZXJ0ZWRWYWx1ZSA9IGZvcm1hdERhdGVUb1N0YW5kYXJkRm9ybWF0KHZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgICBicmVhaztcclxuICAgIGNhc2UgRUZpZWxkVHlwZS5QSE9ORTpcclxuICAgICAgbGV0IGZpZWxkUGhvbmUgPSBmaWVsZCBhcyBURmllbGRQaG9uZTtcclxuICAgICAgY29udmVydGVkVmFsdWUgPSB2YWx1ZS5yZXBsYWNlKFxyXG4gICAgICAgIFN0cmluZyhmaWVsZFBob25lLnByb3BlcnRpZXMuY291bnRyeUNvZGUpLFxyXG4gICAgICAgIFwiXCJcclxuICAgICAgKTtcclxuICAgICAgYnJlYWs7XHJcbiAgICBjYXNlIEVGaWVsZFR5cGUuVElUTEU6XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgZGVmYXVsdDpcclxuICAgICAgaWYgKGlzRW1wdHkodmFsdWUpKSB7XHJcbiAgICAgICAgY29udmVydGVkVmFsdWUgPSBcIlwiO1xyXG4gICAgICB9XHJcbiAgICAgIGJyZWFrO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGNvbnZlcnRlZFZhbHVlO1xyXG59O1xyXG4iXX0=
|
|
193
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12aWV3LmZpZWxkcy5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtZm9ybXMvc3JjL2xpYi9yZW5kZXJlci9mb3JtLXZpZXcvaGVscGVycy9mb3JtLXZpZXcuZmllbGRzLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seURBQXlELENBQUM7QUFLckYsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUUvRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLE1BQWEsRUFBRSxHQUFXLEVBQUUsRUFBRTtJQUM3RCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDbEMsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLEdBQUcsRUFBRTtZQUNyQixPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsTUFBYSxFQUFFLEdBQVcsRUFBRSxFQUFFO0lBQ2xFLElBQUksVUFBa0IsQ0FBQztJQUV2QixVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFO1FBQ3ZDLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FBRyxDQUNoRCxLQUFVLEVBQ1YsVUFBZSxFQUNmLFNBQWMsRUFDQSxFQUFF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UyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTztnQkFDN0IsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSx5REFBeUQ7Z0JBQ25GLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNO2lCQUM1QixDQUFDO2dCQUVGLE9BQU8sTUFBTSxDQUFDO1lBQ2hCLENBQUMsQ0FBQztZQUVGLGNBQWMsR0FBRywrQkFBK0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4RCxNQUFNO1FBQ1I7WUFDRSxNQUFNO0tBQ1Q7SUFFRCxPQUFPLGNBQWMsQ0FBQztBQUN4QixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx5Q0FBeUMsR0FBRyxDQUN2RCxLQUFhLEVBQ2IsS0FBVSxFQUNWLEVBQUU7SUFDRixJQUFJLGNBQWMsR0FBUSxLQUFLLENBQUM7SUFFaEMsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDckIsUUFBUSxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQ2xCLEtBQUssVUFBVSxDQUFDLEtBQUs7Z0JBQ25CLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsRUFBRTtvQkFDMUIsY0FBYyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7aUJBQzlCO2dCQUNELE1BQU07WUFDUixLQUFLLFVBQVUsQ0FBQyxJQUFJO2dCQUNsQixjQUFjLEdBQUcsMEJBQTBCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ25ELE1BQU07WUFDUixLQUFLLFVBQVUsQ0FBQyxLQUFLO2dCQUNuQixNQUFNO1lBQ1I7Z0JBQ0UsTUFBTTtTQUNUO0tBQ0Y7SUFFRCxPQUFPLGNBQWMsQ0FBQztBQUN4QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUdWlEYXkgfSBmcm9tIFwiQHRhaWdhLXVpL2Nka1wiO1xyXG5pbXBvcnQgeyBFRmllbGRUeXBlIH0gZnJvbSBcIi4uL2RlZmluaXRpb25zL2ZpZWxkcy9mb3JtLXZpZXcuZmllbGRzLmVudW0uZGVmaW5pdGlvbnNcIjtcclxuaW1wb3J0IHtcclxuICBURmllbGQsXHJcbiAgVEZpZWxkVHlwZVxyXG59IGZyb20gXCIuLi9kZWZpbml0aW9ucy9maWVsZHMvZm9ybS12aWV3LmZpZWxkcy50eXBlLmRlZmluaXRpb25zXCI7XHJcbmltcG9ydCB7IGhhc0tleSwgaXNOb3RFbXB0eSB9IGZyb20gXCIuL2Zvcm0tdmlldy5jb21tb24uaGVscGVyXCI7XHJcblxyXG5leHBvcnQgY29uc3QgZmluZEZpZWxkRnJvbUtleSA9IChmaWVsZHM6IGFueVtdLCBrZXk6IHN0cmluZykgPT4ge1xyXG4gIGNvbnN0IGZpZWxkID0gZmllbGRzLmZpbmQoKGZpZWxkKSA9PiB7XHJcbiAgICBpZiAoZmllbGQua2V5ID09PSBrZXkpIHtcclxuICAgICAgcmV0dXJuIGZpZWxkO1xyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICByZXR1cm4gZmllbGQ7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgZmluZEZpZWxkSW5kZXhGcm9tS2V5ID0gKGZpZWxkczogYW55W10sIGtleTogc3RyaW5nKSA9PiB7XHJcbiAgbGV0IGZpZWxkSW5kZXg6IG51bWJlcjtcclxuXHJcbiAgZmllbGRJbmRleCA9IGZpZWxkcy5maW5kSW5kZXgoKF86IGFueSkgPT4ge1xyXG4gICAgcmV0dXJuIGtleSA9PT0gXy5rZXk7XHJcbiAgfSk7XHJcblxyXG4gIHJldHVybiBmaWVsZEluZGV4O1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldFNlYXJjaFRleHRPcHRpb25zRnJvbVJlbW90ZUZpbGUgPSBhc3luYyAoXHJcbiAgZmllbGQ6IGFueSxcclxuICBjaGlsZEZpZWxkOiBhbnksXHJcbiAgZm9ybUdyb3VwOiBhbnlcclxuKTogUHJvbWlzZTxhbnk+ID0+IHtcclxuICBjb25zdCBwYXJlbnRGaWVsZFZhbHVlID0gZm9ybUdyb3VwLmNvbnRyb2xzW2ZpZWxkLmtleV0udmFsdWU7XHJcblxyXG4gIC8vIERldGVybWluZSB0aGUgVVJMIG9mIHRoZSByZW1vdGUgZmlsZSB0byBmZXRjaFxyXG4gIGxldCBmaWxlVXJsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgaWYgKGNoaWxkRmllbGQucmVnZXhUb0dldEpzb25SZW1vdGVVcmxLZXkpIHtcclxuICAgIGNvbnN0IGZpbGVLZXkgPSBwYXJlbnRGaWVsZFZhbHVlLm1hdGNoKFxyXG4gICAgICBjaGlsZEZpZWxkLnJlZ2V4VG9HZXRKc29uUmVtb3RlVXJsS2V5XHJcbiAgICApWzBdO1xyXG4gICAgZmlsZVVybCA9IGNoaWxkRmllbGQuanNvblJlbW90ZVVybE1hcHBpbmdbZmlsZUtleV07XHJcbiAgfSBlbHNlIHtcclxuICAgIGZpbGVVcmwgPSBjaGlsZEZpZWxkLmZpbGVVcmw7XHJcbiAgfVxyXG5cclxuICAvLyBSZXR1cm4gZWFybHkgaWYgdGhlcmUgaXMgbm8gZmlsZSBVUkxcclxuICBpZiAoIWZpbGVVcmwpIHJldHVybjtcclxuXHJcbiAgLy8gRmV0Y2ggdGhlIHJlbW90ZSBmaWxlIGFuZCBwYXJzZSBpdHMgSlNPTiBkYXRhXHJcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChmaWxlVXJsKTtcclxuICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpO1xyXG5cclxuICAvLyBSZXR1cm4gdGhlIGRhdGEgZm9yIHRoZSBnaXZlbiBwYXJlbnQgZmllbGQgdmFsdWVcclxuICByZXR1cm4gZGF0YVtwYXJlbnRGaWVsZFZhbHVlXTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRTZWFyY2hUZXh0T3B0aW9uc0Zyb21GaWVsZENvbmZpZyA9IChcclxuICBmaWVsZDogYW55LFxyXG4gIGNoaWxkRmllbGQ6IGFueSxcclxuICBmb3JtR3JvdXA6IGFueVxyXG4pOiBhbnkgPT4ge1xyXG4gIGxldCBvcHRpb25zOiBhbnk7XHJcblxyXG4gIGNvbnN0IGZpZWxkVmFsdWUgPSBmb3JtR3JvdXAuY29udHJvbHNbZmllbGQua2V5XS52YWx1ZTtcclxuXHJcbiAgaWYgKGlzTm90RW1wdHkoY2hpbGRGaWVsZFtcImpzb25cIl0pKSB7XHJcbiAgICBvcHRpb25zID0gY2hpbGRGaWVsZFtcImpzb25cIl1bZmllbGRWYWx1ZV07XHJcbiAgfVxyXG5cclxuICByZXR1cm4gb3B0aW9ucztcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBmb3JtYXRTZWFyY2hUZXh0T3B0aW9ucyA9IChcclxuICBvcHRpb25zOiB7IHRpdGxlOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfVtdXHJcbik6IHN0cmluZ1tdID0+IHtcclxuICByZXR1cm4gb3B0aW9ucy5tYXAoKHsgdGl0bGUgfSkgPT4gdGl0bGUpO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGZvcm1hdERhdGVUb1N0YW5kYXJkRm9ybWF0ID0gKGRhdGU6IFR1aURheSk6IHN0cmluZyA9PiB7XHJcbiAgbGV0IGZvcm1hdHRlZERhdGU6IHN0cmluZztcclxuICBsZXQgeWVhciA9IGRhdGUueWVhcjtcclxuICBsZXQgbW9udGggPSBkYXRlLm1vbnRoO1xyXG4gIGxldCBkYXkgPSBkYXRlLmRheTtcclxuXHJcbiAgZm9ybWF0dGVkRGF0ZSA9IGAke2RheX0tJHttb250aCArIDF9LSR7eWVhcn1gO1xyXG5cclxuICByZXR1cm4gZm9ybWF0dGVkRGF0ZTtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBoaWdobGlnaHRGaWVsZEVycm9yKGZpZWxkOiBhbnksIGVycm9yOiBhbnkpOiBhbnkge1xyXG4gIGZpZWxkLmludmFsaWQgPSBlcnJvcjtcclxuICBmaWVsZC5mb2N1cyA9IGVycm9yO1xyXG5cclxuICAvLyBpZiAoIWVycm9yKSB7XHJcbiAgLy8gICBmaWVsZFtcIm1lc3NhZ2VzXCJdID0gZmllbGRbXCJtZXNzYWdlc1wiXS5maWx0ZXIoZnVuY3Rpb24gKGZpZWxkTWVzc2FnZToge1xyXG4gIC8vICAgICB0eXBlOiBzdHJpbmc7XHJcbiAgLy8gICAgIG1lc3NhZ2U6IHN0cmluZztcclxuICAvLyAgIH0pIHtcclxuICAvLyAgICAgcmV0dXJuIGZpZWxkTWVzc2FnZS50eXBlID09PSBcImVycm9yXCI7XHJcbiAgLy8gICB9KTtcclxuICAvLyB9XHJcblxyXG4gIHJldHVybiBmaWVsZDtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGFkZE1lc3NhZ2UgPSAoXHJcbiAgZmllbGQ6IGFueSxcclxuICBtZXNzYWdlOiB7IHR5cGU6IHN0cmluZzsgbWVzc2FnZTogc3RyaW5nIH1cclxuKTogYW55ID0+IHtcclxuICBjb25zdCBpc0R1cGxpY2F0ZU1lc3NhZ2UgPSAoXHJcbiAgICBtZXNzYWdlczogeyB0eXBlOiBzdHJpbmc7IG1lc3NhZ2U6IHN0cmluZyB9W10sXHJcbiAgICBtZXNzYWdlOiB7IHR5cGU6IHN0cmluZzsgbWVzc2FnZTogc3RyaW5nIH1cclxuICApID0+IHtcclxuICAgIHJldHVybiBtZXNzYWdlcy5zb21lKChmaWVsZE1lc3NhZ2U6IHsgdHlwZTogc3RyaW5nOyBtZXNzYWdlOiBzdHJpbmcgfSkgPT4ge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIGZpZWxkTWVzc2FnZS50eXBlID09PSBtZXNzYWdlLnR5cGUgJiZcclxuICAgICAgICBmaWVsZE1lc3NhZ2UubWVzc2FnZSA9PT0gbWVzc2FnZS5tZXNzYWdlXHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICB9O1xyXG5cclxuICBmaWVsZFtcIm1lc3NhZ2VzXCJdID0gW107XHJcblxyXG4gIGlmIChoYXNLZXkoZmllbGQsIFwibWVzc2FnZXNcIikpIHtcclxuICAgIGlmICghaXNEdXBsaWNhdGVNZXNzYWdlKGZpZWxkW1wibWVzc2FnZXNcIl0sIG1lc3NhZ2UpKSB7XHJcbiAgICAgIGZpZWxkW1wibWVzc2FnZXNcIl0ucHVzaCh7XHJcbiAgICAgICAgdHlwZTogbWVzc2FnZS50eXBlLFxyXG4gICAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UubWVzc2FnZVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9IGVsc2Uge1xyXG4gICAgZmllbGRbXCJtZXNzYWdlc1wiXSA9IFt7IHR5cGU6IG1lc3NhZ2UudHlwZSwgbWVzc2FnZTogbWVzc2FnZS5tZXNzYWdlIH1dO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGZpZWxkO1xyXG59O1xyXG5leHBvcnQgY29uc3QgcmVtb3ZlTWVzc2FnZSA9IChcclxuICBmaWVsZDogYW55LFxyXG4gIG1lc3NhZ2U6IHsgdHlwZTogc3RyaW5nOyBtZXNzYWdlOiBzdHJpbmcgfVxyXG4pOiBhbnkgPT4ge1xyXG4gIGZpZWxkW1wibWVzc2FnZXNcIl0gPSBmaWVsZFtcIm1lc3NhZ2VzXCJdLmZpbHRlcihmdW5jdGlvbiAoZmllbGRNZXNzYWdlKSB7XHJcbiAgICByZXR1cm4gZmllbGRNZXNzYWdlLnR5cGUgIT09IG1lc3NhZ2UudHlwZTtcclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIGZpZWxkO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHNldEZpZWxkRXJyb3IoXHJcbiAgZmllbGRzOiBhbnksXHJcbiAgZXJyb3JzOiBhbnksXHJcbiAga2V5OiBzdHJpbmcsXHJcbiAgZXJyb3I6IGJvb2xlYW5cclxuKSB7XHJcbiAgY29uc3QgZmllbGRJbmRleCA9IGZpZWxkcy5maW5kSW5kZXgoKGZpZWxkOiBhbnkpID0+IHtcclxuICAgIHJldHVybiBmaWVsZC5rZXkgPT09IGtleTtcclxuICB9KTtcclxuXHJcbiAgY29uc3Qgc2V0RXJyb3JNZXNzYWdlcyA9IChmaWVsZDogYW55LCBlcnJvcnM6IGFueSkgPT4ge1xyXG4gICAgY29uc3QgZ2V0RXJyb3JNZXNzYWdlID0gKGZpZWxkTGFiZWw6IHN0cmluZywgZXJyb3JUeXBlOiBzdHJpbmcpID0+IHtcclxuICAgICAgbGV0IGVycm9yTWVzc2FnZTogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgICAgIHN3aXRjaCAoZXJyb3JUeXBlKSB7XHJcbiAgICAgICAgY2FzZSBcInJlcXVpcmVkXCI6XHJcbiAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBgJHtmaWVsZExhYmVsfSBpcyByZXF1aXJlZCFgO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSBcImVtYWlsXCI6XHJcbiAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBgJHtmaWVsZExhYmVsfSBoYXMgd3JvbmcgZW1haWwgZm9ybWF0IWA7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIFwibWluXCI6XHJcbiAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBgJHtmaWVsZExhYmVsfSBoYXMgd3JvbmcgdmFsdWUhIE1pbmltdW0gdmFsdWU6ICR7ZmllbGQudmFsaWRhdG9ycy5taW59YDtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgXCJtaW5sZW5ndGhcIjpcclxuICAgICAgICAgIGVycm9yTWVzc2FnZSA9IGAke2ZpZWxkTGFiZWx9IGhhcyB3cm9uZyBsZW5ndGghIFJlcXVpcmVkIG1pbmltdW0gbGVuZ3RoOiAke2ZpZWxkLnZhbGlkYXRvcnMubWluTGVuZ3RofWA7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIFwibWF4XCI6XHJcbiAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBgJHtmaWVsZExhYmVsfSBoYXMgd3JvbmcgdmFsdWUhIE1heGltdW0gdmFsdWU6ICR7ZmllbGQudmFsaWRhdG9ycy5tYXhMZW5ndGh9YDtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgXCJtYXhsZW5ndGhcIjpcclxuICAgICAgICAgIGVycm9yTWVzc2FnZSA9IGAke2ZpZWxkTGFiZWx9IGhhcyB3cm9uZyBsZW5ndGghIFJlcXVpcmVkIG1heGltdW0gbGVuZ3RoOiAke2ZpZWxkLnZhbGlkYXRvcnMubWF4TGVuZ3RofWA7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIFwiYXJlRXF1YWxcIjpcclxuICAgICAgICAgIGVycm9yTWVzc2FnZSA9IGAke2ZpZWxkTGFiZWx9IG11c3QgYmUgZXF1YWwhYDtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgXCJwYXR0ZXJuXCI6XHJcbiAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBgJHtmaWVsZExhYmVsfSBpcyBpbiBpbmNvcnJlY3QgZm9ybWF0IWA7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgZXJyb3JNZXNzYWdlID0gYCR7ZmllbGRMYWJlbH06ICR7ZXJyb3JUeXBlfWA7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIGVycm9yTWVzc2FnZTtcclxuICAgIH07XHJcblxyXG4gICAgT2JqZWN0LmtleXMoZXJyb3JzKS5mb3JFYWNoKChlcnJvcikgPT4ge1xyXG4gICAgICBmaWVsZCA9IGFkZE1lc3NhZ2UoZmllbGQsIHtcclxuICAgICAgICB0eXBlOiBcImVycm9yXCIsXHJcbiAgICAgICAgbWVzc2FnZTogZ2V0RXJyb3JNZXNzYWdlKGZpZWxkLmxhYmVsLCBlcnJvcilcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gZmllbGQ7XHJcbiAgfTtcclxuXHJcbiAgaWYgKGVycm9yKSB7XHJcbiAgICBmaWVsZHNbZmllbGRJbmRleF0gPSBzZXRFcnJvck1lc3NhZ2VzKGZpZWxkc1tmaWVsZEluZGV4XSwgZXJyb3JzKTtcclxuICB9IGVsc2Uge1xyXG4gICAgZmllbGRzW2ZpZWxkSW5kZXhdW1wibWVzc2FnZXNcIl0gPSBbXTtcclxuICB9XHJcblxyXG4gIGZpZWxkc1tmaWVsZEluZGV4XSA9IGhpZ2hsaWdodEZpZWxkRXJyb3IoZmllbGRzW2ZpZWxkSW5kZXhdLCBlcnJvcik7XHJcblxyXG4gIHJldHVybiBmaWVsZHM7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBjb252ZXJ0VmFsdWVGcm9tS3dpa1VJRm9ybWF0VG9CYXNpY0Zvcm1hdCA9IChcclxuICB0eXBlOiBURmllbGRUeXBlLFxyXG4gIHZhbHVlOiBhbnlcclxuKSA9PiB7XHJcbiAgbGV0IGNvbnZlcnRlZFZhbHVlOiBhbnkgPSB2YWx1ZTtcclxuXHJcbiAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICBjYXNlIEVGaWVsZFR5cGUuREFURTpcclxuICAgICAgY29uc3QgY29udmVydERhdGVTdHJpbmdUb1R1aURheUZvcm1hdCA9IChkYXRlOiBzdHJpbmcpOiBUdWlEYXkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHNwbGl0RGF0ZSA9IGRhdGUuc3BsaXQoXCItXCIpO1xyXG4gICAgICAgIGNvbnN0IHR1aURheSA9IG5ldyBUdWlEYXkoXHJcbiAgICAgICAgICBOdW1iZXIoc3BsaXREYXRlWzJdKSwgLy8gWWVhclxyXG4gICAgICAgICAgTnVtYmVyKHNwbGl0RGF0ZVsxXSkgLSAxLCAvLyBNb250aCwgV2h5ICctMScgPT4gQmVjYXVzZSBUYWlnYS1VSSBSZXF1aXJlZCBJdCwgU28uLi5cclxuICAgICAgICAgIE51bWJlcihzcGxpdERhdGVbMF0pIC8vIERheVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHJldHVybiB0dWlEYXk7XHJcbiAgICAgIH07XHJcblxyXG4gICAgICBjb252ZXJ0ZWRWYWx1ZSA9IGNvbnZlcnREYXRlU3RyaW5nVG9UdWlEYXlGb3JtYXQodmFsdWUpO1xyXG4gICAgICBicmVhaztcclxuICAgIGRlZmF1bHQ6XHJcbiAgICAgIGJyZWFrO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGNvbnZlcnRlZFZhbHVlO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGNvbnZlcnRWYWx1ZUZyb21CYXNpY0Zvcm1hdFRvS3dpa1VJRm9ybWF0ID0gKFxyXG4gIGZpZWxkOiBURmllbGQsXHJcbiAgdmFsdWU6IGFueVxyXG4pID0+IHtcclxuICBsZXQgY29udmVydGVkVmFsdWU6IGFueSA9IHZhbHVlO1xyXG5cclxuICBpZiAoaXNOb3RFbXB0eSh2YWx1ZSkpIHtcclxuICAgIHN3aXRjaCAoZmllbGQudHlwZSkge1xyXG4gICAgICBjYXNlIEVGaWVsZFR5cGUuUkFESU86XHJcbiAgICAgICAgaWYgKGhhc0tleSh2YWx1ZSwgXCJsYWJlbFwiKSkge1xyXG4gICAgICAgICAgY29udmVydGVkVmFsdWUgPSB2YWx1ZS5sYWJlbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRUZpZWxkVHlwZS5EQVRFOlxyXG4gICAgICAgIGNvbnZlcnRlZFZhbHVlID0gZm9ybWF0RGF0ZVRvU3RhbmRhcmRGb3JtYXQodmFsdWUpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIEVGaWVsZFR5cGUuVElUTEU6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXR1cm4gY29udmVydGVkVmFsdWU7XHJcbn07XHJcbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Condition } from "./renderer.condition.helper";
|
|
3
|
+
export class Actions {
|
|
4
|
+
constructor(action, ruleMapping, userConfig, takeAction) {
|
|
5
|
+
this._action = action;
|
|
6
|
+
this._userConfig = userConfig;
|
|
7
|
+
this._ruleMapping = ruleMapping;
|
|
8
|
+
this._takeAction = takeAction;
|
|
9
|
+
}
|
|
10
|
+
execute() {
|
|
11
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
12
|
+
const condition = new Condition(this._action.condition, this._ruleMapping);
|
|
13
|
+
const actionSuccess = condition.evaluate();
|
|
14
|
+
if (actionSuccess) {
|
|
15
|
+
return this._takeAction(this._action, this._userConfig);
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZXIuYWN0aW9ucy5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtZm9ybXMvc3JjL2xpYi9yZW5kZXJlci9oZWxwZXJzL3JlbmRlcmVyLmFjdGlvbnMuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFeEQsTUFBTSxPQUFPLE9BQU87SUFNbEIsWUFDRSxNQUFXLEVBQ1gsV0FBZ0IsRUFDaEIsVUFBZSxFQUNmLFVBQW9CO1FBRXBCLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBQzlCLElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO0lBQ2hDLENBQUM7SUFFSyxPQUFPOztZQUNYLE1BQU0sU0FBUyxHQUFHLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMzRSxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7WUFFM0MsSUFBSSxhQUFhLEVBQUU7Z0JBQ2pCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUN6RDtRQUNILENBQUM7S0FBQTtDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uZGl0aW9uIH0gZnJvbSBcIi4vcmVuZGVyZXIuY29uZGl0aW9uLmhlbHBlclwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIEFjdGlvbnMge1xyXG4gIHByaXZhdGUgX2FjdGlvbjogYW55O1xyXG4gIHByaXZhdGUgX3VzZXJDb25maWc6IGFueTtcclxuICBwcml2YXRlIF9ydWxlTWFwcGluZzogYW55O1xyXG4gIHByaXZhdGUgX3Rha2VBY3Rpb246IEZ1bmN0aW9uO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGFjdGlvbjogYW55LFxyXG4gICAgcnVsZU1hcHBpbmc6IGFueSxcclxuICAgIHVzZXJDb25maWc6IGFueSxcclxuICAgIHRha2VBY3Rpb246IEZ1bmN0aW9uXHJcbiAgKSB7XHJcbiAgICB0aGlzLl9hY3Rpb24gPSBhY3Rpb247XHJcbiAgICB0aGlzLl91c2VyQ29uZmlnID0gdXNlckNvbmZpZztcclxuICAgIHRoaXMuX3J1bGVNYXBwaW5nID0gcnVsZU1hcHBpbmc7XHJcbiAgICB0aGlzLl90YWtlQWN0aW9uID0gdGFrZUFjdGlvbjtcclxuICB9XHJcblxyXG4gIGFzeW5jIGV4ZWN1dGUoKSB7XHJcbiAgICBjb25zdCBjb25kaXRpb24gPSBuZXcgQ29uZGl0aW9uKHRoaXMuX2FjdGlvbi5jb25kaXRpb24sIHRoaXMuX3J1bGVNYXBwaW5nKTtcclxuICAgIGNvbnN0IGFjdGlvblN1Y2Nlc3MgPSBjb25kaXRpb24uZXZhbHVhdGUoKTtcclxuXHJcbiAgICBpZiAoYWN0aW9uU3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5fdGFrZUFjdGlvbih0aGlzLl9hY3Rpb24sIHRoaXMuX3VzZXJDb25maWcpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { replaceString } from "../form-view/helpers/form-view.common.helper";
|
|
2
|
+
export class Condition {
|
|
3
|
+
constructor(condition, rulesMapping) {
|
|
4
|
+
this._condition = condition;
|
|
5
|
+
this._rulesMapping = rulesMapping;
|
|
6
|
+
}
|
|
7
|
+
parseKeys(condition, rulesEvaluationMapping) {
|
|
8
|
+
Object.keys(rulesEvaluationMapping).forEach((key) => {
|
|
9
|
+
condition = replaceString(condition, key, rulesEvaluationMapping[key]);
|
|
10
|
+
});
|
|
11
|
+
return condition;
|
|
12
|
+
}
|
|
13
|
+
parseOperators(condition) {
|
|
14
|
+
return condition.replace(/AND|OR|NOT|XOR|NAND|NOR|XNOR/g, (match) => {
|
|
15
|
+
switch (match) {
|
|
16
|
+
case "AND":
|
|
17
|
+
return "&&";
|
|
18
|
+
case "OR":
|
|
19
|
+
return "||";
|
|
20
|
+
case "NOT":
|
|
21
|
+
return "!";
|
|
22
|
+
case "XOR":
|
|
23
|
+
return "^";
|
|
24
|
+
case "NAND":
|
|
25
|
+
return "!&";
|
|
26
|
+
case "NOR":
|
|
27
|
+
return "!|";
|
|
28
|
+
case "XNOR":
|
|
29
|
+
return "!^";
|
|
30
|
+
default:
|
|
31
|
+
return match;
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
evaluate() {
|
|
36
|
+
this._condition = this.parseKeys(this._condition, this._rulesMapping);
|
|
37
|
+
this._condition = this.parseOperators(this._condition);
|
|
38
|
+
return eval(this._condition);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZXIuY29uZGl0aW9uLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWtpZC1mb3Jtcy9zcmMvbGliL3JlbmRlcmVyL2hlbHBlcnMvcmVuZGVyZXIuY29uZGl0aW9uLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFN0UsTUFBTSxPQUFPLFNBQVM7SUFJcEIsWUFBWSxTQUFpQixFQUFFLFlBQWlCO1FBQzlDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQzVCLElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDO0lBQ3BDLENBQUM7SUFFTyxTQUFTLENBQUMsU0FBaUIsRUFBRSxzQkFBOEI7UUFDakUsTUFBTSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2xELFNBQVMsR0FBRyxhQUFhLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3pFLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVPLGNBQWMsQ0FBQyxTQUFpQjtRQUN0QyxPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQUMsK0JBQStCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNsRSxRQUFRLEtBQUssRUFBRTtnQkFDYixLQUFLLEtBQUs7b0JBQ1IsT0FBTyxJQUFJLENBQUM7Z0JBQ2QsS0FBSyxJQUFJO29CQUNQLE9BQU8sSUFBSSxDQUFDO2dCQUNkLEtBQUssS0FBSztvQkFDUixPQUFPLEdBQUcsQ0FBQztnQkFDYixLQUFLLEtBQUs7b0JBQ1IsT0FBTyxHQUFHLENBQUM7Z0JBQ2IsS0FBSyxNQUFNO29CQUNULE9BQU8sSUFBSSxDQUFDO2dCQUNkLEtBQUssS0FBSztvQkFDUixPQUFPLElBQUksQ0FBQztnQkFDZCxLQUFLLE1BQU07b0JBQ1QsT0FBTyxJQUFJLENBQUM7Z0JBQ2Q7b0JBQ0UsT0FBTyxLQUFLLENBQUM7YUFDaEI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFdkQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQy9CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlcGxhY2VTdHJpbmcgfSBmcm9tIFwiLi4vZm9ybS12aWV3L2hlbHBlcnMvZm9ybS12aWV3LmNvbW1vbi5oZWxwZXJcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBDb25kaXRpb24ge1xyXG4gIHByaXZhdGUgX2NvbmRpdGlvbjogc3RyaW5nO1xyXG4gIHByaXZhdGUgX3J1bGVzTWFwcGluZzogYW55O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihjb25kaXRpb246IHN0cmluZywgcnVsZXNNYXBwaW5nOiBhbnkpIHtcclxuICAgIHRoaXMuX2NvbmRpdGlvbiA9IGNvbmRpdGlvbjtcclxuICAgIHRoaXMuX3J1bGVzTWFwcGluZyA9IHJ1bGVzTWFwcGluZztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcGFyc2VLZXlzKGNvbmRpdGlvbjogc3RyaW5nLCBydWxlc0V2YWx1YXRpb25NYXBwaW5nOiBvYmplY3QpOiBzdHJpbmcge1xyXG4gICAgT2JqZWN0LmtleXMocnVsZXNFdmFsdWF0aW9uTWFwcGluZykuZm9yRWFjaCgoa2V5KSA9PiB7XHJcbiAgICAgIGNvbmRpdGlvbiA9IHJlcGxhY2VTdHJpbmcoY29uZGl0aW9uLCBrZXksIHJ1bGVzRXZhbHVhdGlvbk1hcHBpbmdba2V5XSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gY29uZGl0aW9uO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwYXJzZU9wZXJhdG9ycyhjb25kaXRpb246IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gY29uZGl0aW9uLnJlcGxhY2UoL0FORHxPUnxOT1R8WE9SfE5BTkR8Tk9SfFhOT1IvZywgKG1hdGNoKSA9PiB7XHJcbiAgICAgIHN3aXRjaCAobWF0Y2gpIHtcclxuICAgICAgICBjYXNlIFwiQU5EXCI6XHJcbiAgICAgICAgICByZXR1cm4gXCImJlwiO1xyXG4gICAgICAgIGNhc2UgXCJPUlwiOlxyXG4gICAgICAgICAgcmV0dXJuIFwifHxcIjtcclxuICAgICAgICBjYXNlIFwiTk9UXCI6XHJcbiAgICAgICAgICByZXR1cm4gXCIhXCI7XHJcbiAgICAgICAgY2FzZSBcIlhPUlwiOlxyXG4gICAgICAgICAgcmV0dXJuIFwiXlwiO1xyXG4gICAgICAgIGNhc2UgXCJOQU5EXCI6XHJcbiAgICAgICAgICByZXR1cm4gXCIhJlwiO1xyXG4gICAgICAgIGNhc2UgXCJOT1JcIjpcclxuICAgICAgICAgIHJldHVybiBcIiF8XCI7XHJcbiAgICAgICAgY2FzZSBcIlhOT1JcIjpcclxuICAgICAgICAgIHJldHVybiBcIiFeXCI7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIHJldHVybiBtYXRjaDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBldmFsdWF0ZSgpOiBib29sZWFuIHtcclxuICAgIHRoaXMuX2NvbmRpdGlvbiA9IHRoaXMucGFyc2VLZXlzKHRoaXMuX2NvbmRpdGlvbiwgdGhpcy5fcnVsZXNNYXBwaW5nKTtcclxuICAgIHRoaXMuX2NvbmRpdGlvbiA9IHRoaXMucGFyc2VPcGVyYXRvcnModGhpcy5fY29uZGl0aW9uKTtcclxuXHJcbiAgICByZXR1cm4gZXZhbCh0aGlzLl9jb25kaXRpb24pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { EPattern, EPatternKey } from "../form-view/definitions/common/form-view.common.enum.definitions";
|
|
2
|
+
import { ERuleKey } from "../form-view/definitions/rules/form-view.rules.enum.definitions";
|
|
3
|
+
import { ESourceKey } from "../form-view/definitions/sources/form-view.sources.enum.definitions";
|
|
4
|
+
import { hasPath } from "../form-view/helpers/form-view.common.helper";
|
|
5
|
+
import { Sources } from "./renderer.sources.helper";
|
|
6
|
+
export class Rules {
|
|
7
|
+
constructor(rules, userConfig) {
|
|
8
|
+
this._userConfig = userConfig;
|
|
9
|
+
this._rules = rules;
|
|
10
|
+
}
|
|
11
|
+
evaluate(rule) {
|
|
12
|
+
let ruleType = rule.key;
|
|
13
|
+
let ruleEvaluationStatus = false;
|
|
14
|
+
const source = new Sources(this._userConfig);
|
|
15
|
+
switch (ruleType) {
|
|
16
|
+
case ERuleKey.OBJECT_PATH_EXISTS:
|
|
17
|
+
const ruleObjectPathExists = rule;
|
|
18
|
+
const ruleObjectPathExistsObject = ruleObjectPathExists.props.object;
|
|
19
|
+
const ruleObjectPathExistsPath = ruleObjectPathExists.props.path;
|
|
20
|
+
switch (ruleObjectPathExistsObject) {
|
|
21
|
+
case ESourceKey.USER_CONFIG:
|
|
22
|
+
ruleEvaluationStatus = hasPath(this._userConfig, ruleObjectPathExistsPath);
|
|
23
|
+
break;
|
|
24
|
+
default:
|
|
25
|
+
ruleEvaluationStatus = false;
|
|
26
|
+
break;
|
|
27
|
+
}
|
|
28
|
+
break;
|
|
29
|
+
case ERuleKey.VALUE_CHECK:
|
|
30
|
+
const ruleValueCheck = rule;
|
|
31
|
+
const ruleValueCheckSource = ruleValueCheck.props.value.source;
|
|
32
|
+
const ruleValueCheckValue = source.getValueFromSource(ruleValueCheckSource);
|
|
33
|
+
if (ruleValueCheck.props.pattern.key === EPatternKey.CUSTOM) {
|
|
34
|
+
var re = new RegExp(ruleValueCheck.props.pattern.pattern);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
var re = new RegExp(EPattern[ruleValueCheck.props.pattern.key]);
|
|
38
|
+
}
|
|
39
|
+
ruleEvaluationStatus = re.test(ruleValueCheckValue);
|
|
40
|
+
break;
|
|
41
|
+
case ERuleKey.VALUE_CHANGE:
|
|
42
|
+
const ruleValueChange = rule;
|
|
43
|
+
const ruleValueChangeCurrentSource = ruleValueChange.props.value.current.source;
|
|
44
|
+
const ruleValueChangePreviousSource = ruleValueChange.props.value.previous.source;
|
|
45
|
+
const previousValue = source.getValueFromSource(ruleValueChangePreviousSource);
|
|
46
|
+
const currentValue = source.getValueFromSource(ruleValueChangeCurrentSource);
|
|
47
|
+
ruleEvaluationStatus = previousValue === currentValue;
|
|
48
|
+
break;
|
|
49
|
+
default:
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
return ruleEvaluationStatus;
|
|
53
|
+
}
|
|
54
|
+
mapping() {
|
|
55
|
+
let rulesEvaluationMapping = {};
|
|
56
|
+
for (const rule of this._rules) {
|
|
57
|
+
const ruleEvaluationStatus = this.evaluate(rule);
|
|
58
|
+
rulesEvaluationMapping = Object.assign(Object.assign({}, rulesEvaluationMapping), { [rule.id]: ruleEvaluationStatus });
|
|
59
|
+
}
|
|
60
|
+
return rulesEvaluationMapping;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZXIucnVsZXMuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWZvcm1zL3NyYy9saWIvcmVuZGVyZXIvaGVscGVycy9yZW5kZXJlci5ydWxlcy5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFFBQVEsRUFDUixXQUFXLEVBQ1osTUFBTSxtRUFBbUUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFRM0YsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBRWpHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFcEQsTUFBTSxPQUFPLEtBQUs7SUFJaEIsWUFBWSxLQUFtQixFQUFFLFVBQWU7UUFDOUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVPLFFBQVEsQ0FBQyxJQUFXO1FBQzFCLElBQUksUUFBUSxHQUFjLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDbkMsSUFBSSxvQkFBb0IsR0FBWSxLQUFLLENBQUM7UUFFMUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRTdDLFFBQVEsUUFBUSxFQUFFO1lBQ2hCLEtBQUssUUFBUSxDQUFDLGtCQUFrQjtnQkFDOUIsTUFBTSxvQkFBb0IsR0FBRyxJQUE2QixDQUFDO2dCQUMzRCxNQUFNLDBCQUEwQixHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7Z0JBQ3JFLE1BQU0sd0JBQXdCLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztnQkFFakUsUUFBUSwwQkFBMEIsRUFBRTtvQkFDbEMsS0FBSyxVQUFVLENBQUMsV0FBVzt3QkFDekIsb0JBQW9CLEdBQUcsT0FBTyxDQUM1QixJQUFJLENBQUMsV0FBVyxFQUNoQix3QkFBd0IsQ0FDekIsQ0FBQzt3QkFDRixNQUFNO29CQUNSO3dCQUNFLG9CQUFvQixHQUFHLEtBQUssQ0FBQzt3QkFDN0IsTUFBTTtpQkFDVDtnQkFDRCxNQUFNO1lBQ1IsS0FBSyxRQUFRLENBQUMsV0FBVztnQkFDdkIsTUFBTSxjQUFjLEdBQUcsSUFBdUIsQ0FBQztnQkFDL0MsTUFBTSxvQkFBb0IsR0FBWSxjQUFjLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7Z0JBQ3hFLE1BQU0sbUJBQW1CLEdBQ3ZCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO2dCQUVsRCxJQUFJLGNBQWMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsS0FBSyxXQUFXLENBQUMsTUFBTSxFQUFFO29CQUMzRCxJQUFJLEVBQUUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztpQkFDM0Q7cUJBQU07b0JBQ0wsSUFBSSxFQUFFLEdBQUcsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7aUJBQ2pFO2dCQUVELG9CQUFvQixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztnQkFDcEQsTUFBTTtZQUNSLEtBQUssUUFBUSxDQUFDLFlBQVk7Z0JBQ3hCLE1BQU0sZUFBZSxHQUFHLElBQXdCLENBQUM7Z0JBQ2pELE1BQU0sNEJBQTRCLEdBQ2hDLGVBQWUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7Z0JBQzdDLE1BQU0sNkJBQTZCLEdBQ2pDLGVBQWUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7Z0JBRTlDLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FDN0MsNkJBQTZCLENBQzlCLENBQUM7Z0JBQ0YsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUM1Qyw0QkFBNEIsQ0FDN0IsQ0FBQztnQkFFRixvQkFBb0IsR0FBRyxhQUFhLEtBQUssWUFBWSxDQUFDO2dCQUN0RCxNQUFNO1lBQ1I7Z0JBQ0UsTUFBTTtTQUNUO1FBRUQsT0FBTyxvQkFBb0IsQ0FBQztJQUM5QixDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksc0JBQXNCLEdBQUcsRUFBRSxDQUFDO1FBRWhDLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUM5QixNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFakQsc0JBQXNCLG1DQUNqQixzQkFBc0IsS0FDekIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsb0JBQW9CLEdBQ2hDLENBQUM7U0FDSDtRQUVELE9BQU8sc0JBQXNCLENBQUM7SUFDaEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBFUGF0dGVybixcclxuICBFUGF0dGVybktleVxyXG59IGZyb20gXCIuLi9mb3JtLXZpZXcvZGVmaW5pdGlvbnMvY29tbW9uL2Zvcm0tdmlldy5jb21tb24uZW51bS5kZWZpbml0aW9uc1wiO1xyXG5pbXBvcnQgeyBFUnVsZUtleSB9IGZyb20gXCIuLi9mb3JtLXZpZXcvZGVmaW5pdGlvbnMvcnVsZXMvZm9ybS12aWV3LnJ1bGVzLmVudW0uZGVmaW5pdGlvbnNcIjtcclxuaW1wb3J0IHtcclxuICBUUnVsZSxcclxuICBUUnVsZU9iamVjdFBhdGhFeGlzdHMsXHJcbiAgVFJ1bGVUeXBlLFxyXG4gIFRSdWxlVmFsdWVDaGFuZ2UsXHJcbiAgVFJ1bGVWYWx1ZUNoZWNrXHJcbn0gZnJvbSBcIi4uL2Zvcm0tdmlldy9kZWZpbml0aW9ucy9ydWxlcy9mb3JtLXZpZXcucnVsZXMudHlwZS5kZWZpbml0aW9uc1wiO1xyXG5pbXBvcnQgeyBFU291cmNlS2V5IH0gZnJvbSBcIi4uL2Zvcm0tdmlldy9kZWZpbml0aW9ucy9zb3VyY2VzL2Zvcm0tdmlldy5zb3VyY2VzLmVudW0uZGVmaW5pdGlvbnNcIjtcclxuaW1wb3J0IHsgVFNvdXJjZSB9IGZyb20gXCIuLi9mb3JtLXZpZXcvZGVmaW5pdGlvbnMvc291cmNlcy9mb3JtLXZpZXcuc291cmNlcy50eXBlLmRlZmluaXRpb25zXCI7XHJcbmltcG9ydCB7IGhhc1BhdGggfSBmcm9tIFwiLi4vZm9ybS12aWV3L2hlbHBlcnMvZm9ybS12aWV3LmNvbW1vbi5oZWxwZXJcIjtcclxuaW1wb3J0IHsgU291cmNlcyB9IGZyb20gXCIuL3JlbmRlcmVyLnNvdXJjZXMuaGVscGVyXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgUnVsZXMge1xyXG4gIHByaXZhdGUgX3VzZXJDb25maWc6IGFueTtcclxuICBwcml2YXRlIF9ydWxlczogQXJyYXk8VFJ1bGU+O1xyXG5cclxuICBjb25zdHJ1Y3RvcihydWxlczogQXJyYXk8VFJ1bGU+LCB1c2VyQ29uZmlnOiBhbnkpIHtcclxuICAgIHRoaXMuX3VzZXJDb25maWcgPSB1c2VyQ29uZmlnO1xyXG4gICAgdGhpcy5fcnVsZXMgPSBydWxlcztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZXZhbHVhdGUocnVsZTogVFJ1bGUpOiBib29sZWFuIHtcclxuICAgIGxldCBydWxlVHlwZTogVFJ1bGVUeXBlID0gcnVsZS5rZXk7XHJcbiAgICBsZXQgcnVsZUV2YWx1YXRpb25TdGF0dXM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdCBzb3VyY2UgPSBuZXcgU291cmNlcyh0aGlzLl91c2VyQ29uZmlnKTtcclxuXHJcbiAgICBzd2l0Y2ggKHJ1bGVUeXBlKSB7XHJcbiAgICAgIGNhc2UgRVJ1bGVLZXkuT0JKRUNUX1BBVEhfRVhJU1RTOlxyXG4gICAgICAgIGNvbnN0IHJ1bGVPYmplY3RQYXRoRXhpc3RzID0gcnVsZSBhcyBUUnVsZU9iamVjdFBhdGhFeGlzdHM7XHJcbiAgICAgICAgY29uc3QgcnVsZU9iamVjdFBhdGhFeGlzdHNPYmplY3QgPSBydWxlT2JqZWN0UGF0aEV4aXN0cy5wcm9wcy5vYmplY3Q7XHJcbiAgICAgICAgY29uc3QgcnVsZU9iamVjdFBhdGhFeGlzdHNQYXRoID0gcnVsZU9iamVjdFBhdGhFeGlzdHMucHJvcHMucGF0aDtcclxuXHJcbiAgICAgICAgc3dpdGNoIChydWxlT2JqZWN0UGF0aEV4aXN0c09iamVjdCkge1xyXG4gICAgICAgICAgY2FzZSBFU291cmNlS2V5LlVTRVJfQ09ORklHOlxyXG4gICAgICAgICAgICBydWxlRXZhbHVhdGlvblN0YXR1cyA9IGhhc1BhdGgoXHJcbiAgICAgICAgICAgICAgdGhpcy5fdXNlckNvbmZpZyxcclxuICAgICAgICAgICAgICBydWxlT2JqZWN0UGF0aEV4aXN0c1BhdGhcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICBydWxlRXZhbHVhdGlvblN0YXR1cyA9IGZhbHNlO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRVJ1bGVLZXkuVkFMVUVfQ0hFQ0s6XHJcbiAgICAgICAgY29uc3QgcnVsZVZhbHVlQ2hlY2sgPSBydWxlIGFzIFRSdWxlVmFsdWVDaGVjaztcclxuICAgICAgICBjb25zdCBydWxlVmFsdWVDaGVja1NvdXJjZTogVFNvdXJjZSA9IHJ1bGVWYWx1ZUNoZWNrLnByb3BzLnZhbHVlLnNvdXJjZTtcclxuICAgICAgICBjb25zdCBydWxlVmFsdWVDaGVja1ZhbHVlID1cclxuICAgICAgICAgIHNvdXJjZS5nZXRWYWx1ZUZyb21Tb3VyY2UocnVsZVZhbHVlQ2hlY2tTb3VyY2UpO1xyXG5cclxuICAgICAgICBpZiAocnVsZVZhbHVlQ2hlY2sucHJvcHMucGF0dGVybi5rZXkgPT09IEVQYXR0ZXJuS2V5LkNVU1RPTSkge1xyXG4gICAgICAgICAgdmFyIHJlID0gbmV3IFJlZ0V4cChydWxlVmFsdWVDaGVjay5wcm9wcy5wYXR0ZXJuLnBhdHRlcm4pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB2YXIgcmUgPSBuZXcgUmVnRXhwKEVQYXR0ZXJuW3J1bGVWYWx1ZUNoZWNrLnByb3BzLnBhdHRlcm4ua2V5XSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBydWxlRXZhbHVhdGlvblN0YXR1cyA9IHJlLnRlc3QocnVsZVZhbHVlQ2hlY2tWYWx1ZSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRVJ1bGVLZXkuVkFMVUVfQ0hBTkdFOlxyXG4gICAgICAgIGNvbnN0IHJ1bGVWYWx1ZUNoYW5nZSA9IHJ1bGUgYXMgVFJ1bGVWYWx1ZUNoYW5nZTtcclxuICAgICAgICBjb25zdCBydWxlVmFsdWVDaGFuZ2VDdXJyZW50U291cmNlOiBUU291cmNlID1cclxuICAgICAgICAgIHJ1bGVWYWx1ZUNoYW5nZS5wcm9wcy52YWx1ZS5jdXJyZW50LnNvdXJjZTtcclxuICAgICAgICBjb25zdCBydWxlVmFsdWVDaGFuZ2VQcmV2aW91c1NvdXJjZTogVFNvdXJjZSA9XHJcbiAgICAgICAgICBydWxlVmFsdWVDaGFuZ2UucHJvcHMudmFsdWUucHJldmlvdXMuc291cmNlO1xyXG5cclxuICAgICAgICBjb25zdCBwcmV2aW91c1ZhbHVlID0gc291cmNlLmdldFZhbHVlRnJvbVNvdXJjZShcclxuICAgICAgICAgIHJ1bGVWYWx1ZUNoYW5nZVByZXZpb3VzU291cmNlXHJcbiAgICAgICAgKTtcclxuICAgICAgICBjb25zdCBjdXJyZW50VmFsdWUgPSBzb3VyY2UuZ2V0VmFsdWVGcm9tU291cmNlKFxyXG4gICAgICAgICAgcnVsZVZhbHVlQ2hhbmdlQ3VycmVudFNvdXJjZVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHJ1bGVFdmFsdWF0aW9uU3RhdHVzID0gcHJldmlvdXNWYWx1ZSA9PT0gY3VycmVudFZhbHVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBydWxlRXZhbHVhdGlvblN0YXR1cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBtYXBwaW5nKCk6IGFueSB7XHJcbiAgICBsZXQgcnVsZXNFdmFsdWF0aW9uTWFwcGluZyA9IHt9O1xyXG5cclxuICAgIGZvciAoY29uc3QgcnVsZSBvZiB0aGlzLl9ydWxlcykge1xyXG4gICAgICBjb25zdCBydWxlRXZhbHVhdGlvblN0YXR1cyA9IHRoaXMuZXZhbHVhdGUocnVsZSk7XHJcblxyXG4gICAgICBydWxlc0V2YWx1YXRpb25NYXBwaW5nID0ge1xyXG4gICAgICAgIC4uLnJ1bGVzRXZhbHVhdGlvbk1hcHBpbmcsXHJcbiAgICAgICAgW3J1bGUuaWRdOiBydWxlRXZhbHVhdGlvblN0YXR1c1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBydWxlc0V2YWx1YXRpb25NYXBwaW5nO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { EBrowserStorageType, ESourceKey } from "../form-view/definitions/sources/form-view.sources.enum.definitions";
|
|
3
|
+
import { isNotEmpty, isNotEmptyBrowserStorageValue, jpQueryWrapper, setEmptyValue, setValueToObject } from "../form-view/helpers/form-view.common.helper";
|
|
4
|
+
export class Sources {
|
|
5
|
+
constructor(userConfig) {
|
|
6
|
+
this._userConfig = userConfig;
|
|
7
|
+
}
|
|
8
|
+
get userConfig() {
|
|
9
|
+
return this._userConfig;
|
|
10
|
+
}
|
|
11
|
+
set userConfig(value) {
|
|
12
|
+
this._userConfig = value;
|
|
13
|
+
}
|
|
14
|
+
getValueFromUserConfig(path) {
|
|
15
|
+
let value = "";
|
|
16
|
+
if (isNotEmpty(path)) {
|
|
17
|
+
value = jpQueryWrapper(this._userConfig, path);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
value = setEmptyValue(this._userConfig);
|
|
21
|
+
}
|
|
22
|
+
return value;
|
|
23
|
+
}
|
|
24
|
+
getValueFromBrowserStorage(type, key) {
|
|
25
|
+
let value = "";
|
|
26
|
+
switch (type) {
|
|
27
|
+
case EBrowserStorageType.LOCAL_STORAGE:
|
|
28
|
+
value = isNotEmptyBrowserStorageValue(localStorage.getItem(key))
|
|
29
|
+
? localStorage.getItem(key)
|
|
30
|
+
: "";
|
|
31
|
+
break;
|
|
32
|
+
case EBrowserStorageType.SESSION_STORAGE:
|
|
33
|
+
value = isNotEmptyBrowserStorageValue(sessionStorage.getItem(key))
|
|
34
|
+
? sessionStorage.getItem(key)
|
|
35
|
+
: "";
|
|
36
|
+
break;
|
|
37
|
+
default:
|
|
38
|
+
value = "";
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
return value;
|
|
42
|
+
}
|
|
43
|
+
getValueFromSource(source) {
|
|
44
|
+
let value = "";
|
|
45
|
+
switch (source.key) {
|
|
46
|
+
case ESourceKey.USER_CONFIG:
|
|
47
|
+
value = this.getValueFromUserConfig(source.props.path);
|
|
48
|
+
break;
|
|
49
|
+
case ESourceKey.BROWSER_STORAGE:
|
|
50
|
+
value = this.getValueFromBrowserStorage(source.props.browserStorage.type, source.props.browserStorage.key);
|
|
51
|
+
break;
|
|
52
|
+
case ESourceKey.PREDEFINED:
|
|
53
|
+
value = source.value;
|
|
54
|
+
break;
|
|
55
|
+
default:
|
|
56
|
+
value = "";
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
return value;
|
|
60
|
+
}
|
|
61
|
+
setValueToUserConfig(path, value) {
|
|
62
|
+
this._userConfig = setValueToObject(this._userConfig, path, value);
|
|
63
|
+
}
|
|
64
|
+
setValueToBrowserStorage(type, key, value) {
|
|
65
|
+
switch (type) {
|
|
66
|
+
case EBrowserStorageType.LOCAL_STORAGE:
|
|
67
|
+
localStorage.setItem(key, value);
|
|
68
|
+
break;
|
|
69
|
+
case EBrowserStorageType.SESSION_STORAGE:
|
|
70
|
+
sessionStorage.setItem(key, value);
|
|
71
|
+
break;
|
|
72
|
+
default:
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
setValueToSource(source, value) {
|
|
77
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
78
|
+
switch (source.key) {
|
|
79
|
+
case ESourceKey.USER_CONFIG:
|
|
80
|
+
this.setValueToUserConfig(source.props.path, value);
|
|
81
|
+
break;
|
|
82
|
+
case ESourceKey.BROWSER_STORAGE:
|
|
83
|
+
yield this.setValueToBrowserStorage(source.props.browserStorage.type, source.props.browserStorage.key, value);
|
|
84
|
+
break;
|
|
85
|
+
default:
|
|
86
|
+
break;
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZXIuc291cmNlcy5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtZm9ybXMvc3JjL2xpYi9yZW5kZXJlci9oZWxwZXJzL3JlbmRlcmVyLnNvdXJjZXMuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLFVBQVUsRUFDWCxNQUFNLHFFQUFxRSxDQUFDO0FBSzdFLE9BQU8sRUFDTCxVQUFVLEVBQ1YsNkJBQTZCLEVBQzdCLGNBQWMsRUFDZCxhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2pCLE1BQU0sOENBQThDLENBQUM7QUFFdEQsTUFBTSxPQUFPLE9BQU87SUFTbEIsWUFBWSxVQUFlO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO0lBQ2hDLENBQUM7SUFURCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQU1PLHNCQUFzQixDQUFDLElBQVk7UUFDekMsSUFBSSxLQUFLLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3BCLEtBQUssR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUNoRDthQUFNO1lBQ0wsS0FBSyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDekM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTywwQkFBMEIsQ0FDaEMsSUFBeUIsRUFDekIsR0FBVztRQUVYLElBQUksS0FBSyxHQUFRLEVBQUUsQ0FBQztRQUNwQixRQUFRLElBQUksRUFBRTtZQUNaLEtBQUssbUJBQW1CLENBQUMsYUFBYTtnQkFDcEMsS0FBSyxHQUFHLDZCQUE2QixDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQzlELENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztvQkFDM0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDUCxNQUFNO1lBQ1IsS0FBSyxtQkFBbUIsQ0FBQyxlQUFlO2dCQUN0QyxLQUFLLEdBQUcsNkJBQTZCLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDaEUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO29CQUM3QixDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNQLE1BQU07WUFDUjtnQkFDRSxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUNYLE1BQU07U0FDVDtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELGtCQUFrQixDQUFDLE1BQWU7UUFDaEMsSUFBSSxLQUFLLEdBQVEsRUFBRSxDQUFDO1FBRXBCLFFBQVEsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNsQixLQUFLLFVBQVUsQ0FBQyxXQUFXO2dCQUN6QixLQUFLLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3ZELE1BQU07WUFDUixLQUFLLFVBQVUsQ0FBQyxlQUFlO2dCQUM3QixLQUFLLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUNyQyxNQUFNLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQ2hDLE1BQU0sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FDaEMsQ0FBQztnQkFDRixNQUFNO1lBQ1IsS0FBSyxVQUFVLENBQUMsVUFBVTtnQkFDeEIsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7Z0JBQ3JCLE1BQU07WUFDUjtnQkFDRSxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUNYLE1BQU07U0FDVDtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLG9CQUFvQixDQUFDLElBQVksRUFBRSxLQUFVO1FBQ25ELElBQUksQ0FBQyxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUNPLHdCQUF3QixDQUFDLElBQVksRUFBRSxHQUFXLEVBQUUsS0FBVTtRQUNwRSxRQUFRLElBQUksRUFBRTtZQUNaLEtBQUssbUJBQW1CLENBQUMsYUFBYTtnQkFDcEMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ2pDLE1BQU07WUFDUixLQUFLLG1CQUFtQixDQUFDLGVBQWU7Z0JBQ3RDLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUNuQyxNQUFNO1lBQ1I7Z0JBQ0UsTUFBTTtTQUNUO0lBQ0gsQ0FBQztJQUVLLGdCQUFnQixDQUFDLE1BQWUsRUFBRSxLQUFVOztZQUNoRCxRQUFRLE1BQU0sQ0FBQyxHQUFHLEVBQUU7Z0JBQ2xCLEtBQUssVUFBVSxDQUFDLFdBQVc7b0JBQ3pCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDcEQsTUFBTTtnQkFDUixLQUFLLFVBQVUsQ0FBQyxlQUFlO29CQUM3QixNQUFNLElBQUksQ0FBQyx3QkFBd0IsQ0FDakMsTUFBTSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUNoQyxNQUFNLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQy9CLEtBQUssQ0FDTixDQUFDO29CQUNGLE1BQU07Z0JBQ1I7b0JBQ0UsTUFBTTthQUNUO1FBQ0gsQ0FBQztLQUFBO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEVCcm93c2VyU3RvcmFnZVR5cGUsXHJcbiAgRVNvdXJjZUtleVxyXG59IGZyb20gXCIuLi9mb3JtLXZpZXcvZGVmaW5pdGlvbnMvc291cmNlcy9mb3JtLXZpZXcuc291cmNlcy5lbnVtLmRlZmluaXRpb25zXCI7XHJcbmltcG9ydCB7XHJcbiAgVEJyb3dzZXJTdG9yYWdlVHlwZSxcclxuICBUU291cmNlXHJcbn0gZnJvbSBcIi4uL2Zvcm0tdmlldy9kZWZpbml0aW9ucy9zb3VyY2VzL2Zvcm0tdmlldy5zb3VyY2VzLnR5cGUuZGVmaW5pdGlvbnNcIjtcclxuaW1wb3J0IHtcclxuICBpc05vdEVtcHR5LFxyXG4gIGlzTm90RW1wdHlCcm93c2VyU3RvcmFnZVZhbHVlLFxyXG4gIGpwUXVlcnlXcmFwcGVyLFxyXG4gIHNldEVtcHR5VmFsdWUsXHJcbiAgc2V0VmFsdWVUb09iamVjdFxyXG59IGZyb20gXCIuLi9mb3JtLXZpZXcvaGVscGVycy9mb3JtLXZpZXcuY29tbW9uLmhlbHBlclwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFNvdXJjZXMge1xyXG4gIHByaXZhdGUgX3VzZXJDb25maWc6IGFueTtcclxuICBnZXQgdXNlckNvbmZpZygpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3VzZXJDb25maWc7XHJcbiAgfVxyXG4gIHNldCB1c2VyQ29uZmlnKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuX3VzZXJDb25maWcgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHVzZXJDb25maWc6IGFueSkge1xyXG4gICAgdGhpcy5fdXNlckNvbmZpZyA9IHVzZXJDb25maWc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFZhbHVlRnJvbVVzZXJDb25maWcocGF0aDogc3RyaW5nKTogYW55IHtcclxuICAgIGxldCB2YWx1ZTogYW55ID0gXCJcIjtcclxuICAgIGlmIChpc05vdEVtcHR5KHBhdGgpKSB7XHJcbiAgICAgIHZhbHVlID0ganBRdWVyeVdyYXBwZXIodGhpcy5fdXNlckNvbmZpZywgcGF0aCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB2YWx1ZSA9IHNldEVtcHR5VmFsdWUodGhpcy5fdXNlckNvbmZpZyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFZhbHVlRnJvbUJyb3dzZXJTdG9yYWdlKFxyXG4gICAgdHlwZTogVEJyb3dzZXJTdG9yYWdlVHlwZSxcclxuICAgIGtleTogc3RyaW5nXHJcbiAgKTogYW55IHtcclxuICAgIGxldCB2YWx1ZTogYW55ID0gXCJcIjtcclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlIEVCcm93c2VyU3RvcmFnZVR5cGUuTE9DQUxfU1RPUkFHRTpcclxuICAgICAgICB2YWx1ZSA9IGlzTm90RW1wdHlCcm93c2VyU3RvcmFnZVZhbHVlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSkpXHJcbiAgICAgICAgICA/IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSlcclxuICAgICAgICAgIDogXCJcIjtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBFQnJvd3NlclN0b3JhZ2VUeXBlLlNFU1NJT05fU1RPUkFHRTpcclxuICAgICAgICB2YWx1ZSA9IGlzTm90RW1wdHlCcm93c2VyU3RvcmFnZVZhbHVlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oa2V5KSlcclxuICAgICAgICAgID8gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShrZXkpXHJcbiAgICAgICAgICA6IFwiXCI7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgdmFsdWUgPSBcIlwiO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0VmFsdWVGcm9tU291cmNlKHNvdXJjZTogVFNvdXJjZSk6IGFueSB7XHJcbiAgICBsZXQgdmFsdWU6IGFueSA9IFwiXCI7XHJcblxyXG4gICAgc3dpdGNoIChzb3VyY2Uua2V5KSB7XHJcbiAgICAgIGNhc2UgRVNvdXJjZUtleS5VU0VSX0NPTkZJRzpcclxuICAgICAgICB2YWx1ZSA9IHRoaXMuZ2V0VmFsdWVGcm9tVXNlckNvbmZpZyhzb3VyY2UucHJvcHMucGF0aCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRVNvdXJjZUtleS5CUk9XU0VSX1NUT1JBR0U6XHJcbiAgICAgICAgdmFsdWUgPSB0aGlzLmdldFZhbHVlRnJvbUJyb3dzZXJTdG9yYWdlKFxyXG4gICAgICAgICAgc291cmNlLnByb3BzLmJyb3dzZXJTdG9yYWdlLnR5cGUsXHJcbiAgICAgICAgICBzb3VyY2UucHJvcHMuYnJvd3NlclN0b3JhZ2Uua2V5XHJcbiAgICAgICAgKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBFU291cmNlS2V5LlBSRURFRklORUQ6XHJcbiAgICAgICAgdmFsdWUgPSBzb3VyY2UudmFsdWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgdmFsdWUgPSBcIlwiO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0VmFsdWVUb1VzZXJDb25maWcocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KTogYW55IHtcclxuICAgIHRoaXMuX3VzZXJDb25maWcgPSBzZXRWYWx1ZVRvT2JqZWN0KHRoaXMuX3VzZXJDb25maWcsIHBhdGgsIHZhbHVlKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBzZXRWYWx1ZVRvQnJvd3NlclN0b3JhZ2UodHlwZTogc3RyaW5nLCBrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IGFueSB7XHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgY2FzZSBFQnJvd3NlclN0b3JhZ2VUeXBlLkxPQ0FMX1NUT1JBR0U6XHJcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCB2YWx1ZSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRUJyb3dzZXJTdG9yYWdlVHlwZS5TRVNTSU9OX1NUT1JBR0U6XHJcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShrZXksIHZhbHVlKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFzeW5jIHNldFZhbHVlVG9Tb3VyY2Uoc291cmNlOiBUU291cmNlLCB2YWx1ZTogYW55KSB7XHJcbiAgICBzd2l0Y2ggKHNvdXJjZS5rZXkpIHtcclxuICAgICAgY2FzZSBFU291cmNlS2V5LlVTRVJfQ09ORklHOlxyXG4gICAgICAgIHRoaXMuc2V0VmFsdWVUb1VzZXJDb25maWcoc291cmNlLnByb3BzLnBhdGgsIHZhbHVlKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBFU291cmNlS2V5LkJST1dTRVJfU1RPUkFHRTpcclxuICAgICAgICBhd2FpdCB0aGlzLnNldFZhbHVlVG9Ccm93c2VyU3RvcmFnZShcclxuICAgICAgICAgIHNvdXJjZS5wcm9wcy5icm93c2VyU3RvcmFnZS50eXBlLFxyXG4gICAgICAgICAgc291cmNlLnByb3BzLmJyb3dzZXJTdG9yYWdlLmtleSxcclxuICAgICAgICAgIHZhbHVlXHJcbiAgICAgICAgKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Actions } from "./renderer.actions.helper";
|
|
3
|
+
import { Condition } from "./renderer.condition.helper";
|
|
4
|
+
import { Rules } from "./renderer.rules.helper";
|
|
5
|
+
export class Validations {
|
|
6
|
+
constructor(userConfig, takeAction) {
|
|
7
|
+
this._userConfig = userConfig;
|
|
8
|
+
this._takeAction = takeAction;
|
|
9
|
+
}
|
|
10
|
+
get userConfig() {
|
|
11
|
+
return this._userConfig;
|
|
12
|
+
}
|
|
13
|
+
set userConfig(value) {
|
|
14
|
+
this._userConfig = value;
|
|
15
|
+
}
|
|
16
|
+
validateField() {
|
|
17
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
18
|
+
const validations = this._userConfig.userFormFieldsConfig.validation;
|
|
19
|
+
const triggers = validations === null || validations === void 0 ? void 0 : validations.triggers;
|
|
20
|
+
const rules = validations.rules;
|
|
21
|
+
const actions = validations.actions;
|
|
22
|
+
const rulesMapping = new Rules(rules, this._userConfig).mapping();
|
|
23
|
+
for (let action of actions) {
|
|
24
|
+
const conditionEvaluation = new Condition(action.condition, rulesMapping).evaluate();
|
|
25
|
+
if (conditionEvaluation) {
|
|
26
|
+
const actions = new Actions(action, rulesMapping, this._userConfig, this._takeAction);
|
|
27
|
+
yield actions.execute();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZXIudmFsaWRhdGlvbnMuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWZvcm1zL3NyYy9saWIvcmVuZGVyZXIvaGVscGVycy9yZW5kZXJlci52YWxpZGF0aW9ucy5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDeEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWhELE1BQU0sT0FBTyxXQUFXO0lBV3RCLFlBQVksVUFBVSxFQUFFLFVBQWU7UUFDckMsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7SUFDaEMsQ0FBQztJQVpELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBSSxVQUFVLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBU0ssYUFBYTs7WUFDakIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUM7WUFFckUsTUFBTSxRQUFRLEdBQUcsV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFFLFFBQVEsQ0FBQztZQUN2QyxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQ2hDLE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUM7WUFFcEMsTUFBTSxZQUFZLEdBQUcsSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUVsRSxLQUFLLElBQUksTUFBTSxJQUFJLE9BQU8sRUFBRTtnQkFDMUIsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLFNBQVMsQ0FDdkMsTUFBTSxDQUFDLFNBQVMsRUFDaEIsWUFBWSxDQUNiLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBRWIsSUFBSSxtQkFBbUIsRUFBRTtvQkFDdkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQ3pCLE1BQU0sRUFDTixZQUFZLEVBQ1osSUFBSSxDQUFDLFdBQVcsRUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FDakIsQ0FBQztvQkFFRixNQUFNLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztpQkFDekI7YUFDRjtRQUNILENBQUM7S0FBQTtDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9ucyB9IGZyb20gXCIuL3JlbmRlcmVyLmFjdGlvbnMuaGVscGVyXCI7XHJcbmltcG9ydCB7IENvbmRpdGlvbiB9IGZyb20gXCIuL3JlbmRlcmVyLmNvbmRpdGlvbi5oZWxwZXJcIjtcclxuaW1wb3J0IHsgUnVsZXMgfSBmcm9tIFwiLi9yZW5kZXJlci5ydWxlcy5oZWxwZXJcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBWYWxpZGF0aW9ucyB7XHJcbiAgcHJpdmF0ZSBfdXNlckNvbmZpZzogYW55O1xyXG4gIGdldCB1c2VyQ29uZmlnKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdXNlckNvbmZpZztcclxuICB9XHJcbiAgc2V0IHVzZXJDb25maWcodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5fdXNlckNvbmZpZyA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfdGFrZUFjdGlvbjogRnVuY3Rpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKHVzZXJDb25maWcsIHRha2VBY3Rpb246IGFueSkge1xyXG4gICAgdGhpcy5fdXNlckNvbmZpZyA9IHVzZXJDb25maWc7XHJcbiAgICB0aGlzLl90YWtlQWN0aW9uID0gdGFrZUFjdGlvbjtcclxuICB9XHJcblxyXG4gIGFzeW5jIHZhbGlkYXRlRmllbGQoKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIGNvbnN0IHZhbGlkYXRpb25zID0gdGhpcy5fdXNlckNvbmZpZy51c2VyRm9ybUZpZWxkc0NvbmZpZy52YWxpZGF0aW9uO1xyXG5cclxuICAgIGNvbnN0IHRyaWdnZXJzID0gdmFsaWRhdGlvbnM/LnRyaWdnZXJzO1xyXG4gICAgY29uc3QgcnVsZXMgPSB2YWxpZGF0aW9ucy5ydWxlcztcclxuICAgIGNvbnN0IGFjdGlvbnMgPSB2YWxpZGF0aW9ucy5hY3Rpb25zO1xyXG5cclxuICAgIGNvbnN0IHJ1bGVzTWFwcGluZyA9IG5ldyBSdWxlcyhydWxlcywgdGhpcy5fdXNlckNvbmZpZykubWFwcGluZygpO1xyXG5cclxuICAgIGZvciAobGV0IGFjdGlvbiBvZiBhY3Rpb25zKSB7XHJcbiAgICAgIGNvbnN0IGNvbmRpdGlvbkV2YWx1YXRpb24gPSBuZXcgQ29uZGl0aW9uKFxyXG4gICAgICAgIGFjdGlvbi5jb25kaXRpb24sXHJcbiAgICAgICAgcnVsZXNNYXBwaW5nXHJcbiAgICAgICkuZXZhbHVhdGUoKTtcclxuXHJcbiAgICAgIGlmIChjb25kaXRpb25FdmFsdWF0aW9uKSB7XHJcbiAgICAgICAgY29uc3QgYWN0aW9ucyA9IG5ldyBBY3Rpb25zKFxyXG4gICAgICAgICAgYWN0aW9uLFxyXG4gICAgICAgICAgcnVsZXNNYXBwaW5nLFxyXG4gICAgICAgICAgdGhpcy5fdXNlckNvbmZpZyxcclxuICAgICAgICAgIHRoaXMuX3Rha2VBY3Rpb25cclxuICAgICAgICApO1xyXG5cclxuICAgICAgICBhd2FpdCBhY3Rpb25zLmV4ZWN1dGUoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|