@six-group/ui-library-angular 0.0.0-insider.e5360cd → 0.0.0-insider.e85f072
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/README.md +2 -1
- package/fesm2022/six-group-ui-library-angular.mjs +3439 -0
- package/fesm2022/six-group-ui-library-angular.mjs.map +1 -0
- package/package.json +22 -18
- package/types/six-group-ui-library-angular.d.ts +1404 -0
- package/esm2020/lib/control-value-accessors/checkbox-value-accessor.mjs +0 -41
- package/esm2020/lib/control-value-accessors/datepicker-value-accessor.mjs +0 -37
- package/esm2020/lib/control-value-accessors/numeric-value-accessor.mjs +0 -42
- package/esm2020/lib/control-value-accessors/radio-value-accessor.mjs +0 -62
- package/esm2020/lib/control-value-accessors/range-value-accessor.mjs +0 -42
- package/esm2020/lib/control-value-accessors/select-value-accessor.mjs +0 -37
- package/esm2020/lib/control-value-accessors/switch-value-accessor.mjs +0 -41
- package/esm2020/lib/control-value-accessors/text-value-accessor.mjs +0 -37
- package/esm2020/lib/control-value-accessors/timepicker-value-accessor.mjs +0 -37
- package/esm2020/lib/control-value-accessors/value-accessor.mjs +0 -145
- package/esm2020/lib/form/six-form.directive.mjs +0 -134
- package/esm2020/lib/services/validation-messages.service.mjs +0 -15
- package/esm2020/lib/stencil-generated/angular-component-lib/utils.mjs +0 -51
- package/esm2020/lib/stencil-generated/components.mjs +0 -1372
- package/esm2020/lib/stencil-generated/index.mjs +0 -57
- package/esm2020/lib/ui-library-angular.module.mjs +0 -126
- package/esm2020/lib/validators/six-ui-library-validators.mjs +0 -116
- package/esm2020/public-api.mjs +0 -25
- package/esm2020/six-group-ui-library-angular.mjs +0 -5
- package/fesm2015/six-group-ui-library-angular.mjs +0 -2286
- package/fesm2015/six-group-ui-library-angular.mjs.map +0 -1
- package/fesm2020/six-group-ui-library-angular.mjs +0 -2283
- package/fesm2020/six-group-ui-library-angular.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/control-value-accessors/checkbox-value-accessor.d.ts +0 -10
- package/lib/control-value-accessors/datepicker-value-accessor.d.ts +0 -9
- package/lib/control-value-accessors/numeric-value-accessor.d.ts +0 -10
- package/lib/control-value-accessors/radio-value-accessor.d.ts +0 -15
- package/lib/control-value-accessors/range-value-accessor.d.ts +0 -10
- package/lib/control-value-accessors/select-value-accessor.d.ts +0 -9
- package/lib/control-value-accessors/switch-value-accessor.d.ts +0 -10
- package/lib/control-value-accessors/text-value-accessor.d.ts +0 -9
- package/lib/control-value-accessors/timepicker-value-accessor.d.ts +0 -9
- package/lib/control-value-accessors/value-accessor.d.ts +0 -39
- package/lib/form/six-form.directive.d.ts +0 -71
- package/lib/services/validation-messages.service.d.ts +0 -7
- package/lib/stencil-generated/angular-component-lib/utils.d.ts +0 -9
- package/lib/stencil-generated/components.d.ts +0 -884
- package/lib/stencil-generated/index.d.ts +0 -2
- package/lib/ui-library-angular.module.d.ts +0 -21
- package/lib/validators/six-ui-library-validators.d.ts +0 -47
- package/public-api.d.ts +0 -16
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
import { Directive, EventEmitter, HostListener, Output } from '@angular/core';
|
|
2
|
-
import { FormArray, FormControl, FormGroup } from '@angular/forms';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/forms";
|
|
5
|
-
/**
|
|
6
|
-
* This directive intercepts the ngSubmit event of an Angular form and introduces
|
|
7
|
-
* a supplementary event named sixSubmit. The sixSubmit event is triggered exclusively
|
|
8
|
-
* when the form is valid. In cases where the form is considered invalid, this directive
|
|
9
|
-
* takes proactive actions by marking all form controls as touched and dirty. Additionally,
|
|
10
|
-
* it shifts the focus to the initial invalid form element, facilitating quick error
|
|
11
|
-
* resolution.
|
|
12
|
-
*
|
|
13
|
-
* To utilize this directive, apply it to an Angular form.
|
|
14
|
-
* ```html
|
|
15
|
-
* <form [formGroup]="form" sixForm (sixSubmit)="onSubmit($event)">
|
|
16
|
-
* <!-- form content -->
|
|
17
|
-
* </form>
|
|
18
|
-
* ```
|
|
19
|
-
*
|
|
20
|
-
* For users needing greater flexibility in determining when error messages are displayed,
|
|
21
|
-
* or for those who prefer not to rely solely on the form submission event,
|
|
22
|
-
* an alternative is to use the SixFormUtilDirective.
|
|
23
|
-
*/
|
|
24
|
-
export class SixFormDirective {
|
|
25
|
-
onNgSubmit(event) {
|
|
26
|
-
if (this.formGroupDirective.invalid) {
|
|
27
|
-
focusInvalidField(this.formGroupDirective, this.elementRef);
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
this.sixSubmit.emit(event);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
constructor(elementRef, formGroupDirective) {
|
|
34
|
-
this.elementRef = elementRef;
|
|
35
|
-
this.formGroupDirective = formGroupDirective;
|
|
36
|
-
/**
|
|
37
|
-
* Emits an event when the form is valid and the form submission has been triggered.
|
|
38
|
-
*/
|
|
39
|
-
this.sixSubmit = new EventEmitter();
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
SixFormDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixFormDirective, deps: [{ token: i0.ElementRef }, { token: i1.FormGroupDirective }], target: i0.ɵɵFactoryTarget.Directive });
|
|
43
|
-
SixFormDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: SixFormDirective, selector: "form[sixForm]", outputs: { sixSubmit: "sixSubmit" }, host: { listeners: { "ngSubmit": "onNgSubmit($event)" } }, ngImport: i0 });
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixFormDirective, decorators: [{
|
|
45
|
-
type: Directive,
|
|
46
|
-
args: [{
|
|
47
|
-
selector: 'form[sixForm]',
|
|
48
|
-
}]
|
|
49
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FormGroupDirective }]; }, propDecorators: { sixSubmit: [{
|
|
50
|
-
type: Output
|
|
51
|
-
}], onNgSubmit: [{
|
|
52
|
-
type: HostListener,
|
|
53
|
-
args: ['ngSubmit', ['$event']]
|
|
54
|
-
}] } });
|
|
55
|
-
/**
|
|
56
|
-
* This directive provides a utility method, that marks all form controls
|
|
57
|
-
* as touched and dirty, and focuses the first invalid form element.
|
|
58
|
-
*
|
|
59
|
-
* To utilize this directive, apply it to an Angular form.
|
|
60
|
-
* ```html
|
|
61
|
-
* <form [formGroup]="form" sixFormUtil (ngSubmit)="onSubmit($event)">
|
|
62
|
-
* <!-- form content -->
|
|
63
|
-
* </form>
|
|
64
|
-
* ```
|
|
65
|
-
*
|
|
66
|
-
* Then, get a reference to the directive and invoke `focusInvalidField()` if the
|
|
67
|
-
* form is invalid:
|
|
68
|
-
* ```ts
|
|
69
|
-
* @ViewChild(SixFormUtilDirective) sixFormUtil!: SixFormUtilDirective;
|
|
70
|
-
* // ...
|
|
71
|
-
* onSubmit() {
|
|
72
|
-
* if (this.form.invalid) {
|
|
73
|
-
* this.sixFormUtil.focusInvalidField();
|
|
74
|
-
* } else {
|
|
75
|
-
* // ...
|
|
76
|
-
* }
|
|
77
|
-
* }
|
|
78
|
-
* ```
|
|
79
|
-
*/
|
|
80
|
-
export class SixFormUtilDirective {
|
|
81
|
-
constructor(elementRef, formGroupDirective) {
|
|
82
|
-
this.elementRef = elementRef;
|
|
83
|
-
this.formGroupDirective = formGroupDirective;
|
|
84
|
-
}
|
|
85
|
-
/** markAllControlsAsDirty(Object.values(formGroup.controls));
|
|
86
|
-
* Marks all form controls as touched and dirty, and focuses the first
|
|
87
|
-
* invalid form element.
|
|
88
|
-
*/
|
|
89
|
-
focusInvalidField() {
|
|
90
|
-
focusInvalidField(this.formGroupDirective, this.elementRef);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
SixFormUtilDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixFormUtilDirective, deps: [{ token: i0.ElementRef }, { token: i1.FormGroupDirective }], target: i0.ɵɵFactoryTarget.Directive });
|
|
94
|
-
SixFormUtilDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: SixFormUtilDirective, selector: "[sixFormUtil]", ngImport: i0 });
|
|
95
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixFormUtilDirective, decorators: [{
|
|
96
|
-
type: Directive,
|
|
97
|
-
args: [{
|
|
98
|
-
selector: '[sixFormUtil]',
|
|
99
|
-
}]
|
|
100
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FormGroupDirective }]; } });
|
|
101
|
-
function focusInvalidField(formGroupDirective, formElement) {
|
|
102
|
-
formGroupDirective.form.markAllAsTouched();
|
|
103
|
-
markAllAsDirty([formGroupDirective.form]);
|
|
104
|
-
const invalidElement = getInvalidElement(formElement.nativeElement);
|
|
105
|
-
if ('setFocus' in invalidElement && typeof invalidElement?.setFocus === 'function') {
|
|
106
|
-
invalidElement.setFocus();
|
|
107
|
-
}
|
|
108
|
-
if ('focus' in invalidElement && typeof invalidElement?.focus === 'function') {
|
|
109
|
-
invalidElement.focus();
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
function getInvalidElement(parent) {
|
|
113
|
-
const invalidElement = parent.querySelector('.ng-invalid');
|
|
114
|
-
if (invalidElement == null) {
|
|
115
|
-
return parent;
|
|
116
|
-
}
|
|
117
|
-
return getInvalidElement(invalidElement);
|
|
118
|
-
}
|
|
119
|
-
function markAllAsDirty(controls) {
|
|
120
|
-
controls.forEach((control) => {
|
|
121
|
-
if (control instanceof FormControl) {
|
|
122
|
-
control.markAsDirty({ onlySelf: true });
|
|
123
|
-
}
|
|
124
|
-
else if (control instanceof FormGroup) {
|
|
125
|
-
control.markAsDirty({ onlySelf: true });
|
|
126
|
-
markAllAsDirty(Object.values(control.controls));
|
|
127
|
-
}
|
|
128
|
-
else if (control instanceof FormArray) {
|
|
129
|
-
control.markAsDirty({ onlySelf: true });
|
|
130
|
-
markAllAsDirty(control.controls);
|
|
131
|
-
}
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l4LWZvcm0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9mb3JtL3NpeC1mb3JtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBbUIsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQXNCLE1BQU0sZ0JBQWdCLENBQUM7OztBQUV4Rzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBSUgsTUFBTSxPQUFPLGdCQUFnQjtJQU8zQixVQUFVLENBQUMsS0FBa0I7UUFDM0IsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFO1lBQ25DLGlCQUFpQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDN0Q7YUFBTTtZQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUVELFlBQW9CLFVBQW1DLEVBQVUsa0JBQXNDO1FBQW5GLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQVUsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQWR2Rzs7V0FFRztRQUNPLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO0lBV29ELENBQUM7OzZHQWZoRyxnQkFBZ0I7aUdBQWhCLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQUg1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO2lCQUMxQjtrSUFLVyxTQUFTO3NCQUFsQixNQUFNO2dCQUdQLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUM7O0FBWXRDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3Qkc7QUFJSCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLFlBQW9CLFVBQW1DLEVBQVUsa0JBQXNDO1FBQW5GLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQVUsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtJQUFHLENBQUM7SUFFM0c7OztPQUdHO0lBQ0ksaUJBQWlCO1FBQ3RCLGlCQUFpQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDOUQsQ0FBQzs7aUhBVFUsb0JBQW9CO3FHQUFwQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFIaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtpQkFDMUI7O0FBYUQsU0FBUyxpQkFBaUIsQ0FBQyxrQkFBc0MsRUFBRSxXQUFvQztJQUNyRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMzQyxjQUFjLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBRTFDLE1BQU0sY0FBYyxHQUFHLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNwRSxJQUFJLFVBQVUsSUFBSSxjQUFjLElBQUksT0FBTyxjQUFjLEVBQUUsUUFBUSxLQUFLLFVBQVUsRUFBRTtRQUNsRixjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7S0FDM0I7SUFDRCxJQUFJLE9BQU8sSUFBSSxjQUFjLElBQUksT0FBTyxjQUFjLEVBQUUsS0FBSyxLQUFLLFVBQVUsRUFBRTtRQUM1RSxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7S0FDeEI7QUFDSCxDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxNQUFlO0lBQ3hDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDM0QsSUFBSSxjQUFjLElBQUksSUFBSSxFQUFFO1FBQzFCLE9BQU8sTUFBTSxDQUFDO0tBQ2Y7SUFDRCxPQUFPLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FBQyxRQUEyQjtJQUNqRCxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDM0IsSUFBSSxPQUFPLFlBQVksV0FBVyxFQUFFO1lBQ2xDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUN6QzthQUFNLElBQUksT0FBTyxZQUFZLFNBQVMsRUFBRTtZQUN2QyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDeEMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDakQ7YUFBTSxJQUFJLE9BQU8sWUFBWSxTQUFTLEVBQUU7WUFDdkMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ3hDLGNBQWMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDbEM7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBGb3JtR3JvdXBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8qKlxuICogVGhpcyBkaXJlY3RpdmUgaW50ZXJjZXB0cyB0aGUgbmdTdWJtaXQgZXZlbnQgb2YgYW4gQW5ndWxhciBmb3JtIGFuZCBpbnRyb2R1Y2VzXG4gKiBhIHN1cHBsZW1lbnRhcnkgZXZlbnQgbmFtZWQgc2l4U3VibWl0LiBUaGUgc2l4U3VibWl0IGV2ZW50IGlzIHRyaWdnZXJlZCBleGNsdXNpdmVseVxuICogd2hlbiB0aGUgZm9ybSBpcyB2YWxpZC4gSW4gY2FzZXMgd2hlcmUgdGhlIGZvcm0gaXMgY29uc2lkZXJlZCBpbnZhbGlkLCB0aGlzIGRpcmVjdGl2ZVxuICogdGFrZXMgcHJvYWN0aXZlIGFjdGlvbnMgYnkgbWFya2luZyBhbGwgZm9ybSBjb250cm9scyBhcyB0b3VjaGVkIGFuZCBkaXJ0eS4gQWRkaXRpb25hbGx5LFxuICogaXQgc2hpZnRzIHRoZSBmb2N1cyB0byB0aGUgaW5pdGlhbCBpbnZhbGlkIGZvcm0gZWxlbWVudCwgZmFjaWxpdGF0aW5nIHF1aWNrIGVycm9yXG4gKiByZXNvbHV0aW9uLlxuICpcbiAqIFRvIHV0aWxpemUgdGhpcyBkaXJlY3RpdmUsIGFwcGx5IGl0IHRvIGFuIEFuZ3VsYXIgZm9ybS5cbiAqIGBgYGh0bWxcbiAqIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIHNpeEZvcm0gKHNpeFN1Ym1pdCk9XCJvblN1Ym1pdCgkZXZlbnQpXCI+XG4gKiAgIDwhLS0gZm9ybSBjb250ZW50IC0tPlxuICogPC9mb3JtPlxuICogYGBgXG4gKlxuICogRm9yIHVzZXJzIG5lZWRpbmcgZ3JlYXRlciBmbGV4aWJpbGl0eSBpbiBkZXRlcm1pbmluZyB3aGVuIGVycm9yIG1lc3NhZ2VzIGFyZSBkaXNwbGF5ZWQsXG4gKiBvciBmb3IgdGhvc2Ugd2hvIHByZWZlciBub3QgdG8gcmVseSBzb2xlbHkgb24gdGhlIGZvcm0gc3VibWlzc2lvbiBldmVudCxcbiAqIGFuIGFsdGVybmF0aXZlIGlzIHRvIHVzZSB0aGUgU2l4Rm9ybVV0aWxEaXJlY3RpdmUuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2Zvcm1bc2l4Rm9ybV0nLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhGb3JtRGlyZWN0aXZlIHtcbiAgLyoqXG4gICAqIEVtaXRzIGFuIGV2ZW50IHdoZW4gdGhlIGZvcm0gaXMgdmFsaWQgYW5kIHRoZSBmb3JtIHN1Ym1pc3Npb24gaGFzIGJlZW4gdHJpZ2dlcmVkLlxuICAgKi9cbiAgQE91dHB1dCgpIHNpeFN1Ym1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8U3VibWl0RXZlbnQ+KCk7XG5cbiAgQEhvc3RMaXN0ZW5lcignbmdTdWJtaXQnLCBbJyRldmVudCddKVxuICBvbk5nU3VibWl0KGV2ZW50OiBTdWJtaXRFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZvcm1Hcm91cERpcmVjdGl2ZS5pbnZhbGlkKSB7XG4gICAgICBmb2N1c0ludmFsaWRGaWVsZCh0aGlzLmZvcm1Hcm91cERpcmVjdGl2ZSwgdGhpcy5lbGVtZW50UmVmKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zaXhTdWJtaXQuZW1pdChldmVudCk7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiwgcHJpdmF0ZSBmb3JtR3JvdXBEaXJlY3RpdmU6IEZvcm1Hcm91cERpcmVjdGl2ZSkge31cbn1cblxuLyoqXG4gKiBUaGlzIGRpcmVjdGl2ZSBwcm92aWRlcyBhIHV0aWxpdHkgbWV0aG9kLCB0aGF0IG1hcmtzIGFsbCBmb3JtIGNvbnRyb2xzXG4gKiBhcyB0b3VjaGVkIGFuZCBkaXJ0eSwgYW5kIGZvY3VzZXMgdGhlIGZpcnN0IGludmFsaWQgZm9ybSBlbGVtZW50LlxuICpcbiAqIFRvIHV0aWxpemUgdGhpcyBkaXJlY3RpdmUsIGFwcGx5IGl0IHRvIGFuIEFuZ3VsYXIgZm9ybS5cbiAqIGBgYGh0bWxcbiAqIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIHNpeEZvcm1VdGlsIChuZ1N1Ym1pdCk9XCJvblN1Ym1pdCgkZXZlbnQpXCI+XG4gKiAgIDwhLS0gZm9ybSBjb250ZW50IC0tPlxuICogPC9mb3JtPlxuICogYGBgXG4gKlxuICogVGhlbiwgZ2V0IGEgcmVmZXJlbmNlIHRvIHRoZSBkaXJlY3RpdmUgYW5kIGludm9rZSBgZm9jdXNJbnZhbGlkRmllbGQoKWAgaWYgdGhlXG4gKiBmb3JtIGlzIGludmFsaWQ6XG4gKiBgYGB0c1xuICogQFZpZXdDaGlsZChTaXhGb3JtVXRpbERpcmVjdGl2ZSkgc2l4Rm9ybVV0aWwhOiBTaXhGb3JtVXRpbERpcmVjdGl2ZTtcbiAqIC8vIC4uLlxuICogb25TdWJtaXQoKSB7XG4gKiAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkge1xuICogICAgIHRoaXMuc2l4Rm9ybVV0aWwuZm9jdXNJbnZhbGlkRmllbGQoKTtcbiAqICAgfSBlbHNlIHtcbiAqICAgICAgLy8gLi4uXG4gKiAgIH1cbiAqIH1cbiAqIGBgYFxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc2l4Rm9ybVV0aWxdJyxcbn0pXG5leHBvcnQgY2xhc3MgU2l4Rm9ybVV0aWxEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LCBwcml2YXRlIGZvcm1Hcm91cERpcmVjdGl2ZTogRm9ybUdyb3VwRGlyZWN0aXZlKSB7fVxuXG4gIC8qKiBtYXJrQWxsQ29udHJvbHNBc0RpcnR5KE9iamVjdC52YWx1ZXMoZm9ybUdyb3VwLmNvbnRyb2xzKSk7XG4gICAqIE1hcmtzIGFsbCBmb3JtIGNvbnRyb2xzIGFzIHRvdWNoZWQgYW5kIGRpcnR5LCBhbmQgZm9jdXNlcyB0aGUgZmlyc3RcbiAgICogaW52YWxpZCBmb3JtIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgZm9jdXNJbnZhbGlkRmllbGQoKSB7XG4gICAgZm9jdXNJbnZhbGlkRmllbGQodGhpcy5mb3JtR3JvdXBEaXJlY3RpdmUsIHRoaXMuZWxlbWVudFJlZik7XG4gIH1cbn1cblxuZnVuY3Rpb24gZm9jdXNJbnZhbGlkRmllbGQoZm9ybUdyb3VwRGlyZWN0aXZlOiBGb3JtR3JvdXBEaXJlY3RpdmUsIGZvcm1FbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xuICBmb3JtR3JvdXBEaXJlY3RpdmUuZm9ybS5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gIG1hcmtBbGxBc0RpcnR5KFtmb3JtR3JvdXBEaXJlY3RpdmUuZm9ybV0pO1xuXG4gIGNvbnN0IGludmFsaWRFbGVtZW50ID0gZ2V0SW52YWxpZEVsZW1lbnQoZm9ybUVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gIGlmICgnc2V0Rm9jdXMnIGluIGludmFsaWRFbGVtZW50ICYmIHR5cGVvZiBpbnZhbGlkRWxlbWVudD8uc2V0Rm9jdXMgPT09ICdmdW5jdGlvbicpIHtcbiAgICBpbnZhbGlkRWxlbWVudC5zZXRGb2N1cygpO1xuICB9XG4gIGlmICgnZm9jdXMnIGluIGludmFsaWRFbGVtZW50ICYmIHR5cGVvZiBpbnZhbGlkRWxlbWVudD8uZm9jdXMgPT09ICdmdW5jdGlvbicpIHtcbiAgICBpbnZhbGlkRWxlbWVudC5mb2N1cygpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldEludmFsaWRFbGVtZW50KHBhcmVudDogRWxlbWVudCk6IEVsZW1lbnQge1xuICBjb25zdCBpbnZhbGlkRWxlbWVudCA9IHBhcmVudC5xdWVyeVNlbGVjdG9yKCcubmctaW52YWxpZCcpO1xuICBpZiAoaW52YWxpZEVsZW1lbnQgPT0gbnVsbCkge1xuICAgIHJldHVybiBwYXJlbnQ7XG4gIH1cbiAgcmV0dXJuIGdldEludmFsaWRFbGVtZW50KGludmFsaWRFbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gbWFya0FsbEFzRGlydHkoY29udHJvbHM6IEFic3RyYWN0Q29udHJvbFtdKTogdm9pZCB7XG4gIGNvbnRyb2xzLmZvckVhY2goKGNvbnRyb2wpID0+IHtcbiAgICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Db250cm9sKSB7XG4gICAgICBjb250cm9sLm1hcmtBc0RpcnR5KHsgb25seVNlbGY6IHRydWUgfSk7XG4gICAgfSBlbHNlIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XG4gICAgICBjb250cm9sLm1hcmtBc0RpcnR5KHsgb25seVNlbGY6IHRydWUgfSk7XG4gICAgICBtYXJrQWxsQXNEaXJ0eShPYmplY3QudmFsdWVzKGNvbnRyb2wuY29udHJvbHMpKTtcbiAgICB9IGVsc2UgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQXJyYXkpIHtcbiAgICAgIGNvbnRyb2wubWFya0FzRGlydHkoeyBvbmx5U2VsZjogdHJ1ZSB9KTtcbiAgICAgIG1hcmtBbGxBc0RpcnR5KGNvbnRyb2wuY29udHJvbHMpO1xuICAgIH1cbiAgfSk7XG59XG4iXX0=
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { getErrorMessage } from '@six-group/ui-library';
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class ValidationMessagesService {
|
|
5
|
-
getErrorMessage(language, error) {
|
|
6
|
-
return getErrorMessage(language, error);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
ValidationMessagesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ValidationMessagesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
10
|
-
ValidationMessagesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ValidationMessagesService, providedIn: 'root' });
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ValidationMessagesService, decorators: [{
|
|
12
|
-
type: Injectable,
|
|
13
|
-
args: [{ providedIn: 'root' }]
|
|
14
|
-
}] });
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1tZXNzYWdlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy92YWxpZGF0aW9uLW1lc3NhZ2VzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBNkIsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQyxNQUFNLE9BQU8seUJBQXlCO0lBQzdCLGVBQWUsQ0FBQyxRQUFrQixFQUFFLEtBQXNCO1FBQy9ELE9BQU8sZUFBZSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDOztzSEFIVSx5QkFBeUI7MEhBQXpCLHlCQUF5QixjQURaLE1BQU07MkZBQ25CLHlCQUF5QjtrQkFEckMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRFcnJvck1lc3NhZ2UsIExhbmd1YWdlLCBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICdAc2l4LWdyb3VwL3VpLWxpYnJhcnknO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25NZXNzYWdlc1NlcnZpY2Uge1xuICBwdWJsaWMgZ2V0RXJyb3JNZXNzYWdlKGxhbmd1YWdlOiBMYW5ndWFnZSwgZXJyb3I6IFZhbGlkYXRpb25FcnJvcik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGdldEVycm9yTWVzc2FnZShsYW5ndWFnZSwgZXJyb3IpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
/* tslint:disable */
|
|
3
|
-
import { fromEvent } from 'rxjs';
|
|
4
|
-
export const proxyInputs = (Cmp, inputs) => {
|
|
5
|
-
const Prototype = Cmp.prototype;
|
|
6
|
-
inputs.forEach((item) => {
|
|
7
|
-
Object.defineProperty(Prototype, item, {
|
|
8
|
-
get() {
|
|
9
|
-
return this.el[item];
|
|
10
|
-
},
|
|
11
|
-
set(val) {
|
|
12
|
-
this.z.runOutsideAngular(() => (this.el[item] = val));
|
|
13
|
-
},
|
|
14
|
-
});
|
|
15
|
-
});
|
|
16
|
-
};
|
|
17
|
-
export const proxyMethods = (Cmp, methods) => {
|
|
18
|
-
const Prototype = Cmp.prototype;
|
|
19
|
-
methods.forEach((methodName) => {
|
|
20
|
-
Prototype[methodName] = function () {
|
|
21
|
-
const args = arguments;
|
|
22
|
-
return this.z.runOutsideAngular(() => this.el[methodName].apply(this.el, args));
|
|
23
|
-
};
|
|
24
|
-
});
|
|
25
|
-
};
|
|
26
|
-
export const proxyOutputs = (instance, el, events) => {
|
|
27
|
-
events.forEach((eventName) => (instance[eventName] = fromEvent(el, eventName)));
|
|
28
|
-
};
|
|
29
|
-
export const defineCustomElement = (tagName, customElement) => {
|
|
30
|
-
if (customElement !== undefined && typeof customElements !== 'undefined' && !customElements.get(tagName)) {
|
|
31
|
-
customElements.define(tagName, customElement);
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
// tslint:disable-next-line: only-arrow-functions
|
|
35
|
-
export function ProxyCmp(opts) {
|
|
36
|
-
const decorator = function (cls) {
|
|
37
|
-
const { defineCustomElementFn, inputs, methods } = opts;
|
|
38
|
-
if (defineCustomElementFn !== undefined) {
|
|
39
|
-
defineCustomElementFn();
|
|
40
|
-
}
|
|
41
|
-
if (inputs) {
|
|
42
|
-
proxyInputs(cls, inputs);
|
|
43
|
-
}
|
|
44
|
-
if (methods) {
|
|
45
|
-
proxyMethods(cls, methods);
|
|
46
|
-
}
|
|
47
|
-
return cls;
|
|
48
|
-
};
|
|
49
|
-
return decorator;
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3N0ZW5jaWwtZ2VuZXJhdGVkL2FuZ3VsYXItY29tcG9uZW50LWxpYi91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQkFBb0I7QUFDcEIsb0JBQW9CO0FBQ3BCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsR0FBUSxFQUFFLE1BQWdCLEVBQUUsRUFBRTtJQUN4RCxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO0lBQ2hDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUN0QixNQUFNLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUU7WUFDckMsR0FBRztnQkFDRCxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkIsQ0FBQztZQUNELEdBQUcsQ0FBQyxHQUFRO2dCQUNWLElBQUksQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDeEQsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsR0FBUSxFQUFFLE9BQWlCLEVBQUUsRUFBRTtJQUMxRCxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO0lBQ2hDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtRQUM3QixTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUc7WUFDdEIsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbEYsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxRQUFhLEVBQUUsRUFBTyxFQUFFLE1BQWdCLEVBQUUsRUFBRTtJQUN2RSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxTQUFTLENBQUMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLE9BQWUsRUFBRSxhQUFrQixFQUFFLEVBQUU7SUFDekUsSUFBSSxhQUFhLEtBQUssU0FBUyxJQUFJLE9BQU8sY0FBYyxLQUFLLFdBQVcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDeEcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7S0FDL0M7QUFDSCxDQUFDLENBQUM7QUFFRixpREFBaUQ7QUFDakQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxJQUF5RTtJQUNoRyxNQUFNLFNBQVMsR0FBRyxVQUFVLEdBQVE7UUFDbEMsTUFBTSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFFeEQsSUFBSSxxQkFBcUIsS0FBSyxTQUFTLEVBQUU7WUFDdkMscUJBQXFCLEVBQUUsQ0FBQztTQUN6QjtRQUVELElBQUksTUFBTSxFQUFFO1lBQ1YsV0FBVyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUMxQjtRQUNELElBQUksT0FBTyxFQUFFO1lBQ1gsWUFBWSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUM1QjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxDQUFDO0lBQ0YsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlICovXG4vKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuaW1wb3J0IHsgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCBwcm94eUlucHV0cyA9IChDbXA6IGFueSwgaW5wdXRzOiBzdHJpbmdbXSkgPT4ge1xuICBjb25zdCBQcm90b3R5cGUgPSBDbXAucHJvdG90eXBlO1xuICBpbnB1dHMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShQcm90b3R5cGUsIGl0ZW0sIHtcbiAgICAgIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxbaXRlbV07XG4gICAgICB9LFxuICAgICAgc2V0KHZhbDogYW55KSB7XG4gICAgICAgIHRoaXMuei5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiAodGhpcy5lbFtpdGVtXSA9IHZhbCkpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgcHJveHlNZXRob2RzID0gKENtcDogYW55LCBtZXRob2RzOiBzdHJpbmdbXSkgPT4ge1xuICBjb25zdCBQcm90b3R5cGUgPSBDbXAucHJvdG90eXBlO1xuICBtZXRob2RzLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcbiAgICBQcm90b3R5cGVbbWV0aG9kTmFtZV0gPSBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBhcmdzID0gYXJndW1lbnRzO1xuICAgICAgcmV0dXJuIHRoaXMuei5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB0aGlzLmVsW21ldGhvZE5hbWVdLmFwcGx5KHRoaXMuZWwsIGFyZ3MpKTtcbiAgICB9O1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBwcm94eU91dHB1dHMgPSAoaW5zdGFuY2U6IGFueSwgZWw6IGFueSwgZXZlbnRzOiBzdHJpbmdbXSkgPT4ge1xuICBldmVudHMuZm9yRWFjaCgoZXZlbnROYW1lKSA9PiAoaW5zdGFuY2VbZXZlbnROYW1lXSA9IGZyb21FdmVudChlbCwgZXZlbnROYW1lKSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZUN1c3RvbUVsZW1lbnQgPSAodGFnTmFtZTogc3RyaW5nLCBjdXN0b21FbGVtZW50OiBhbnkpID0+IHtcbiAgaWYgKGN1c3RvbUVsZW1lbnQgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgY3VzdG9tRWxlbWVudHMgIT09ICd1bmRlZmluZWQnICYmICFjdXN0b21FbGVtZW50cy5nZXQodGFnTmFtZSkpIHtcbiAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUodGFnTmFtZSwgY3VzdG9tRWxlbWVudCk7XG4gIH1cbn07XG5cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogb25seS1hcnJvdy1mdW5jdGlvbnNcbmV4cG9ydCBmdW5jdGlvbiBQcm94eUNtcChvcHRzOiB7IGRlZmluZUN1c3RvbUVsZW1lbnRGbj86ICgpID0+IHZvaWQ7IGlucHV0cz86IGFueTsgbWV0aG9kcz86IGFueSB9KSB7XG4gIGNvbnN0IGRlY29yYXRvciA9IGZ1bmN0aW9uIChjbHM6IGFueSkge1xuICAgIGNvbnN0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudEZuLCBpbnB1dHMsIG1ldGhvZHMgfSA9IG9wdHM7XG5cbiAgICBpZiAoZGVmaW5lQ3VzdG9tRWxlbWVudEZuICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGRlZmluZUN1c3RvbUVsZW1lbnRGbigpO1xuICAgIH1cblxuICAgIGlmIChpbnB1dHMpIHtcbiAgICAgIHByb3h5SW5wdXRzKGNscywgaW5wdXRzKTtcbiAgICB9XG4gICAgaWYgKG1ldGhvZHMpIHtcbiAgICAgIHByb3h5TWV0aG9kcyhjbHMsIG1ldGhvZHMpO1xuICAgIH1cbiAgICByZXR1cm4gY2xzO1xuICB9O1xuICByZXR1cm4gZGVjb3JhdG9yO1xufVxuIl19
|