@muziehdesign/forms 0.0.1-alpha.99 → 0.0.394

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.
@@ -2,15 +2,17 @@ import { Component, Input } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/common";
4
4
  export class FieldErrorsComponent {
5
- constructor() { }
6
- ngOnInit() { }
5
+ get errorMessage() {
6
+ const errorKeys = Object.keys(this.field?.errors || {});
7
+ return errorKeys.length > 0 ? this.field?.errors[errorKeys[0]] : '';
8
+ }
7
9
  }
8
10
  FieldErrorsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: FieldErrorsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- FieldErrorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: FieldErrorsComponent, selector: "mz-field-errors", inputs: { field: "field" }, ngImport: i0, template: "<div>\n field errors:\n {{ field?.errors | json }}\n</div>\n", styles: [""], dependencies: [{ kind: "pipe", type: i1.JsonPipe, name: "json" }] });
11
+ FieldErrorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: FieldErrorsComponent, selector: "mz-field-errors", inputs: { field: "field" }, ngImport: i0, template: "<div class=\"field-error\" *ngIf=\"errorMessage\">{{ errorMessage }}</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
10
12
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: FieldErrorsComponent, decorators: [{
11
13
  type: Component,
12
- args: [{ selector: 'mz-field-errors', template: "<div>\n field errors:\n {{ field?.errors | json }}\n</div>\n" }]
13
- }], ctorParameters: function () { return []; }, propDecorators: { field: [{
14
+ args: [{ selector: 'mz-field-errors', template: "<div class=\"field-error\" *ngIf=\"errorMessage\">{{ errorMessage }}</div>\n" }]
15
+ }], propDecorators: { field: [{
14
16
  type: Input
15
17
  }] } });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZXJyb3JzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL211emllaGRlc2lnbi9mb3Jtcy9zcmMvbGliL2ZpZWxkLWVycm9ycy9maWVsZC1lcnJvcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXV6aWVoZGVzaWduL2Zvcm1zL3NyYy9saWIvZmllbGQtZXJyb3JzL2ZpZWxkLWVycm9ycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7O0FBUXpELE1BQU0sT0FBTyxvQkFBb0I7SUFHL0IsZ0JBQWUsQ0FBQztJQUVoQixRQUFRLEtBQVcsQ0FBQzs7aUhBTFQsb0JBQW9CO3FHQUFwQixvQkFBb0IsbUZDUmpDLGdFQUlBOzJGRElhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxpQkFBaUI7MEVBTWxCLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBOZ0NvbnRyb2wsIE5nTW9kZWwgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ216LWZpZWxkLWVycm9ycycsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWVsZC1lcnJvcnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWVsZC1lcnJvcnMuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZpZWxkRXJyb3JzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBmaWVsZD86IE5nQ29udHJvbDtcbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQgeyB9XG5cbn1cbiIsIjxkaXY+XG4gIGZpZWxkIGVycm9yczpcbiAge3sgZmllbGQ/LmVycm9ycyB8IGpzb24gfX1cbjwvZGl2PlxuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZXJyb3JzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL211emllaGRlc2lnbi9mb3Jtcy9zcmMvbGliL2ZpZWxkLWVycm9ycy9maWVsZC1lcnJvcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXV6aWVoZGVzaWduL2Zvcm1zL3NyYy9saWIvZmllbGQtZXJyb3JzL2ZpZWxkLWVycm9ycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7O0FBUXpELE1BQU0sT0FBTyxvQkFBb0I7SUFHL0IsSUFBSSxZQUFZO1FBQ2QsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN4RCxPQUFPLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQTJCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUM1RixDQUFDOztpSEFOVSxvQkFBb0I7cUdBQXBCLG9CQUFvQixtRkNSakMsOEVBQ0E7MkZET2Esb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGlCQUFpQjs4QkFLbEIsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ216LWZpZWxkLWVycm9ycycsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWVsZC1lcnJvcnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWVsZC1lcnJvcnMuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGaWVsZEVycm9yc0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGZpZWxkPzogTmdDb250cm9sO1xuXG4gIGdldCBlcnJvck1lc3NhZ2UoKTogc3RyaW5nIHtcbiAgICBjb25zdCBlcnJvcktleXMgPSBPYmplY3Qua2V5cyh0aGlzLmZpZWxkPy5lcnJvcnMgfHwge30pO1xuICAgIHJldHVybiBlcnJvcktleXMubGVuZ3RoID4gMCA/ICh0aGlzLmZpZWxkPy5lcnJvcnMgYXMgVmFsaWRhdGlvbkVycm9ycylbZXJyb3JLZXlzWzBdXSA6ICcnO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmllbGQtZXJyb3JcIiAqbmdJZj1cImVycm9yTWVzc2FnZVwiPnt7IGVycm9yTWVzc2FnZSB9fTwvZGl2PlxuIl19
@@ -0,0 +1,62 @@
1
+ import { format, isValid, parse } from 'date-fns';
2
+ import * as IMask from 'imask';
3
+ export const dateMaskOptions = {
4
+ mask: 'MM/dd/yyyy',
5
+ format: (date) => {
6
+ if (!date) {
7
+ return '';
8
+ }
9
+ return format(date, 'MM/dd/yyyy');
10
+ },
11
+ parse: (str) => {
12
+ const dateRegex = /(0[1-9]|1[0-2])\/(0[1-9]|[12]\d|3[01])\/([12]\d{3})/;
13
+ if (!str.match(dateRegex)) {
14
+ return undefined;
15
+ }
16
+ const parsed = parse(str, 'MM/dd/yyyy', new Date());
17
+ if (isValid(parsed)) {
18
+ return parsed;
19
+ }
20
+ return undefined;
21
+ },
22
+ blocks: {
23
+ // eslint-disable-next-line @typescript-eslint/naming-convention
24
+ MM: {
25
+ mask: IMask.MaskedRange,
26
+ from: 1,
27
+ to: 12,
28
+ },
29
+ // eslint-disable-next-line @typescript-eslint/naming-convention
30
+ dd: {
31
+ mask: IMask.MaskedRange,
32
+ from: 1,
33
+ to: 31,
34
+ },
35
+ // eslint-disable-next-line @typescript-eslint/naming-convention
36
+ yyyy: {
37
+ mask: IMask.MaskedRange,
38
+ from: 1000,
39
+ to: 9999,
40
+ },
41
+ },
42
+ };
43
+ export const phoneNumberOptions = {
44
+ mask: '(000) 000-0000',
45
+ };
46
+ export const currencyOptions = {
47
+ mask: Number,
48
+ scale: 2,
49
+ thousandsSeparator: ',',
50
+ padFractionalZeros: true,
51
+ radix: '.',
52
+ mapToRadix: ['.'],
53
+ };
54
+ export const integerOptions = {
55
+ mask: Number,
56
+ scale: 0,
57
+ thousandsSeparator: ',',
58
+ padFractionalZeros: true,
59
+ radix: '.',
60
+ mapToRadix: ['.'],
61
+ };
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFza3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tdXppZWhkZXNpZ24vZm9ybXMvc3JjL2xpYi9tYXNrcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEQsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFL0IsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLElBQUksRUFBRSxZQUFZO0lBQ2xCLE1BQU0sRUFBRSxDQUFDLElBQXNCLEVBQVUsRUFBRTtRQUN6QyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1QsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUNELE9BQU8sTUFBTSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsS0FBSyxFQUFFLENBQUMsR0FBVyxFQUFvQixFQUFFO1FBQ3ZDLE1BQU0sU0FBUyxHQUFHLHFEQUFxRCxDQUFDO1FBQ3hFLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3pCLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBQ0QsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLEdBQUcsRUFBRSxZQUFZLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ25CLE9BQU8sTUFBTSxDQUFDO1NBQ2Y7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBQ0QsTUFBTSxFQUFFO1FBQ04sZ0VBQWdFO1FBQ2hFLEVBQUUsRUFBRTtZQUNGLElBQUksRUFBRSxLQUFLLENBQUMsV0FBVztZQUN2QixJQUFJLEVBQUUsQ0FBQztZQUNQLEVBQUUsRUFBRSxFQUFFO1NBQ1A7UUFDRCxnRUFBZ0U7UUFDaEUsRUFBRSxFQUFFO1lBQ0YsSUFBSSxFQUFFLEtBQUssQ0FBQyxXQUFXO1lBQ3ZCLElBQUksRUFBRSxDQUFDO1lBQ1AsRUFBRSxFQUFFLEVBQUU7U0FDUDtRQUNELGdFQUFnRTtRQUNoRSxJQUFJLEVBQUU7WUFDSixJQUFJLEVBQUUsS0FBSyxDQUFDLFdBQVc7WUFDdkIsSUFBSSxFQUFFLElBQUk7WUFDVixFQUFFLEVBQUUsSUFBSTtTQUNUO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDaEMsSUFBSSxFQUFFLGdCQUFnQjtDQUN2QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLElBQUksRUFBRSxNQUFNO0lBQ1osS0FBSyxFQUFFLENBQUM7SUFDUixrQkFBa0IsRUFBRSxHQUFHO0lBQ3ZCLGtCQUFrQixFQUFFLElBQUk7SUFDeEIsS0FBSyxFQUFFLEdBQUc7SUFDVixVQUFVLEVBQUUsQ0FBQyxHQUFHLENBQUM7Q0FDbEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUM1QixJQUFJLEVBQUUsTUFBTTtJQUNaLEtBQUssRUFBRSxDQUFDO0lBQ1Isa0JBQWtCLEVBQUUsR0FBRztJQUN2QixrQkFBa0IsRUFBRSxJQUFJO0lBQ3hCLEtBQUssRUFBRSxHQUFHO0lBQ1YsVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDO0NBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmb3JtYXQsIGlzVmFsaWQsIHBhcnNlIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0ICogYXMgSU1hc2sgZnJvbSAnaW1hc2snO1xuXG5leHBvcnQgY29uc3QgZGF0ZU1hc2tPcHRpb25zID0ge1xuICBtYXNrOiAnTU0vZGQveXl5eScsXG4gIGZvcm1hdDogKGRhdGU6IERhdGUgfCB1bmRlZmluZWQpOiBzdHJpbmcgPT4ge1xuICAgIGlmICghZGF0ZSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICByZXR1cm4gZm9ybWF0KGRhdGUsICdNTS9kZC95eXl5Jyk7XG4gIH0sXG4gIHBhcnNlOiAoc3RyOiBzdHJpbmcpOiBEYXRlIHwgdW5kZWZpbmVkID0+IHtcbiAgICBjb25zdCBkYXRlUmVnZXggPSAvKDBbMS05XXwxWzAtMl0pXFwvKDBbMS05XXxbMTJdXFxkfDNbMDFdKVxcLyhbMTJdXFxkezN9KS87XG4gICAgaWYgKCFzdHIubWF0Y2goZGF0ZVJlZ2V4KSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgY29uc3QgcGFyc2VkID0gcGFyc2Uoc3RyLCAnTU0vZGQveXl5eScsIG5ldyBEYXRlKCkpO1xuICAgIGlmIChpc1ZhbGlkKHBhcnNlZCkpIHtcbiAgICAgIHJldHVybiBwYXJzZWQ7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH0sXG4gIGJsb2Nrczoge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICBNTToge1xuICAgICAgbWFzazogSU1hc2suTWFza2VkUmFuZ2UsXG4gICAgICBmcm9tOiAxLFxuICAgICAgdG86IDEyLFxuICAgIH0sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgIGRkOiB7XG4gICAgICBtYXNrOiBJTWFzay5NYXNrZWRSYW5nZSxcbiAgICAgIGZyb206IDEsXG4gICAgICB0bzogMzEsXG4gICAgfSxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgeXl5eToge1xuICAgICAgbWFzazogSU1hc2suTWFza2VkUmFuZ2UsXG4gICAgICBmcm9tOiAxMDAwLFxuICAgICAgdG86IDk5OTksXG4gICAgfSxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBwaG9uZU51bWJlck9wdGlvbnMgPSB7XG4gIG1hc2s6ICcoMDAwKSAwMDAtMDAwMCcsXG59O1xuXG5leHBvcnQgY29uc3QgY3VycmVuY3lPcHRpb25zID0ge1xuICBtYXNrOiBOdW1iZXIsXG4gIHNjYWxlOiAyLFxuICB0aG91c2FuZHNTZXBhcmF0b3I6ICcsJyxcbiAgcGFkRnJhY3Rpb25hbFplcm9zOiB0cnVlLFxuICByYWRpeDogJy4nLFxuICBtYXBUb1JhZGl4OiBbJy4nXSxcbn07XG5cbmV4cG9ydCBjb25zdCBpbnRlZ2VyT3B0aW9ucyA9IHtcbiAgbWFzazogTnVtYmVyLFxuICBzY2FsZTogMCxcbiAgdGhvdXNhbmRzU2VwYXJhdG9yOiAnLCcsXG4gIHBhZEZyYWN0aW9uYWxaZXJvczogdHJ1ZSxcbiAgcmFkaXg6ICcuJyxcbiAgbWFwVG9SYWRpeDogWycuJ10sXG59O1xuIl19
@@ -19,6 +19,10 @@ evaluates the 3 rules in this order
19
19
  export class ModelSchemaFactory {
20
20
  constructor() { }
21
21
  build(model) {
22
+ const schema = this.buildObjectSchema(model);
23
+ return new ModelValidator(schema);
24
+ }
25
+ buildObjectSchema(model) {
22
26
  const metadata = Reflect.getMetadata(SCHEMA_METADATA_NAMESPACE, model);
23
27
  let shape = {};
24
28
  metadata.forEach((value, key) => {
@@ -31,9 +35,14 @@ export class ModelSchemaFactory {
31
35
  else if (value.constraintType == ConstraintType.date) {
32
36
  shape[key] = this.buildDateSchema(value);
33
37
  }
38
+ else if (value.constraintType == ConstraintType.object) {
39
+ shape[key] = this.buildNestedObjectSchema(value);
40
+ }
41
+ else if (value.constraintType == ConstraintType.number) {
42
+ shape[key] = this.buildNumberSchema(value);
43
+ }
34
44
  });
35
- const schema = object(shape);
36
- return new ModelValidator(schema);
45
+ return object(shape);
37
46
  }
38
47
  buildStringSchema(options) {
39
48
  let schema = Yup.string();
@@ -50,7 +59,7 @@ export class ModelSchemaFactory {
50
59
  schema = schema.min(options.minLength.minLength, options.minLength.message);
51
60
  }
52
61
  if (options.pattern) {
53
- schema = schema.matches(options.pattern.pattern, options.pattern.message);
62
+ schema = schema.matches(options.pattern.pattern, { message: options.pattern.message, excludeEmptyString: true });
54
63
  }
55
64
  return schema;
56
65
  }
@@ -91,6 +100,20 @@ export class ModelSchemaFactory {
91
100
  }
92
101
  return schema;
93
102
  }
103
+ buildNumberSchema(options) {
104
+ let schema = Yup.number();
105
+ if (options.required) {
106
+ schema = schema.required(options.required.message);
107
+ }
108
+ return schema;
109
+ }
110
+ buildNestedObjectSchema(options) {
111
+ let nestedSchema = this.buildObjectSchema(options.getInstance());
112
+ if (options.required) {
113
+ nestedSchema = nestedSchema.required();
114
+ }
115
+ return nestedSchema;
116
+ }
94
117
  }
95
118
  ModelSchemaFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ModelSchemaFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
96
119
  ModelSchemaFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ModelSchemaFactory, providedIn: 'root' });
@@ -100,4 +123,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImpor
100
123
  providedIn: 'root',
101
124
  }]
102
125
  }], ctorParameters: function () { return []; } });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtc2NoZW1hLmZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tdXppZWhkZXNpZ24vZm9ybXMvc3JjL2xpYi9tb2RlbC1zY2hlbWEuZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQVksTUFBTSxLQUFLLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV4RCxPQUFPLEVBQThELGNBQWMsRUFBMkQsTUFBTSxvQkFBb0IsQ0FBQztBQUN6SyxPQUFPLEtBQUssR0FBRyxNQUFNLEtBQUssQ0FBQzs7QUFFM0I7Ozs7Ozs7Ozs7RUFVRTtBQUtGLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsZ0JBQWUsQ0FBQztJQUVoQixLQUFLLENBQUksS0FBUTtRQUNmLE1BQU0sUUFBUSxHQUF1QyxPQUFPLENBQUMsV0FBVyxDQUFDLHlCQUF5QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzNHLElBQUksS0FBSyxHQUFnQixFQUFFLENBQUM7UUFDNUIsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUM5QixJQUFJLEtBQUssQ0FBQyxjQUFjLElBQUksY0FBYyxDQUFDLE1BQU0sRUFBRTtnQkFDakQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUE4QixDQUFDLENBQUM7YUFDckU7aUJBQU0sSUFBSSxLQUFLLENBQUMsY0FBYyxJQUFJLGNBQWMsQ0FBQyxPQUFPLEVBQUU7Z0JBQ3pELEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBK0IsQ0FB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Q2YsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMzRDtRQUNELElBQUksT0FBTyxDQUFDLElBQUksRUFBRTtZQUNoQixNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztnQkFDbkIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSTtnQkFDdkIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTztnQkFDN0IsSUFBSSxFQUFFLENBQUMsQ0FBUSxFQUFFLE9BQWEsRUFBRSxFQUFFO29CQUNsQyxPQUFPLE9BQU8sQ0FBQyxJQUFLLENBQUMsSUFBSSxDQUFDLENBQUUsQ0FBQyxDQUFDO2dCQUNoQyxDQUFDO2FBQUMsQ0FBQyxDQUFDO1NBQ0w7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOzsrR0FoRlUsa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGakIsTUFBTTsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgb2JqZWN0LCBTY2hlbWFPZiB9IGZyb20gJ3l1cCc7XG5pbXBvcnQgeyBNb2RlbFZhbGlkYXRvciB9IGZyb20gJy4vbW9kZWwtdmFsaWRhdG9yJztcbmltcG9ydCB7IFNDSEVNQV9NRVRBREFUQV9OQU1FU1BBQ0UgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBPYmplY3RTaGFwZSB9IGZyb20gJ3l1cC9saWIvb2JqZWN0JztcbmltcG9ydCB7IEJvb2xlYW5UeXBlLCBCb29sZWFuVHlwZUFubm90YXRpb25zLCBDb25zdHJhaW50QW5ub3RhdGlvbnMsIENvbnN0cmFpbnRUeXBlLCBEYXRlVHlwZUFubm90YXRpb25zLCBTdHJpbmdUeXBlMiwgU3RyaW5nVHlwZUFubm90YXRpb25zIH0gZnJvbSAnLi90eXBlLWFubm90YXRpb25zJztcbmltcG9ydCAqIGFzIFl1cCBmcm9tICd5dXAnO1xuXG4vKlxuU2NoZW1hIHJ1bGVzIG5lZWQgdG8gYmUgYnVpbHQgaW4gdGhlIG9yZGVyIHRoZXkgbmVlZCB0byBiZSBldmFsdWF0ZWQgaW4uXG5Gb3IgZXhhbXBsZSxcbiAgYGBgXG4gICAgc2NoZW1hLnJlcXVpcmVkKCkubWF4KC4uLikubWF0Y2hlcyguLi4pO1xuICBgYGBcbmV2YWx1YXRlcyB0aGUgMyBydWxlcyBpbiB0aGlzIG9yZGVyXG4gIC0gcmVxdWlyZWRcbiAgLSBtYXhcbiAgLSBtYXRjaGVzXG4qL1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTW9kZWxTY2hlbWFGYWN0b3J5IHtcbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIGJ1aWxkPFQ+KG1vZGVsOiBUKTogTW9kZWxWYWxpZGF0b3I8VD4ge1xuICAgIGNvbnN0IG1ldGFkYXRhOiBNYXA8c3RyaW5nLCBDb25zdHJhaW50QW5ub3RhdGlvbnM+ID0gUmVmbGVjdC5nZXRNZXRhZGF0YShTQ0hFTUFfTUVUQURBVEFfTkFNRVNQQUNFLCBtb2RlbCk7XG4gICAgbGV0IHNoYXBlOiBPYmplY3RTaGFwZSA9IHt9O1xuICAgIG1ldGFkYXRhLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgIGlmICh2YWx1ZS5jb25zdHJhaW50VHlwZSA9PSBDb25zdHJhaW50VHlwZS5zdHJpbmcpIHtcbiAgICAgICAgc2hhcGVba2V5XSA9IHRoaXMuYnVpbGRTdHJpbmdTY2hlbWEodmFsdWUgYXMgU3RyaW5nVHlwZUFubm90YXRpb25zKTtcbiAgICAgIH0gZWxzZSBpZiAodmFsdWUuY29uc3RyYWludFR5cGUgPT0gQ29uc3RyYWludFR5cGUuYm9vbGVhbikge1xuICAgICAgICBzaGFwZVtrZXldID0gdGhpcy5idWlsZEJvb2xlYW5TY2hlbWEodmFsdWUgYXMgQm9vbGVhblR5cGVBbm5vdGF0aW9ucyk7XG4gICAgICB9IGVsc2UgaWYgKHZhbHVlLmNvbnN0cmFpbnRUeXBlID09IENvbnN0cmFpbnRUeXBlLmRhdGUpIHtcbiAgICAgICAgc2hhcGVba2V5XSA9IHRoaXMuYnVpbGREYXRlU2NoZW1hKHZhbHVlIGFzIERhdGVUeXBlQW5ub3RhdGlvbnMpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IHNjaGVtYSA9IG9iamVjdChzaGFwZSkgYXMgU2NoZW1hT2Y8VD47XG4gICAgcmV0dXJuIG5ldyBNb2RlbFZhbGlkYXRvcihzY2hlbWEpO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZFN0cmluZ1NjaGVtYShvcHRpb25zOiBTdHJpbmdUeXBlQW5ub3RhdGlvbnMpIHtcbiAgICBsZXQgc2NoZW1hID0gWXVwLnN0cmluZygpO1xuICAgIGlmIChvcHRpb25zLnJlcXVpcmVkKSB7XG4gICAgICBzY2hlbWEgPSBzY2hlbWEucmVxdWlyZWQob3B0aW9ucy5yZXF1aXJlZC5tZXNzYWdlKTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICBzY2hlbWEgPSBzY2hlbWEubGVuZ3RoKG9wdGlvbnMubGVuZ3RoLmxlbmd0aCwgb3B0aW9ucy5sZW5ndGgubWVzc2FnZSk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMubWF4TGVuZ3RoKSB7XG4gICAgICBzY2hlbWEgPSBzY2hlbWEubWF4KG9wdGlvbnMubWF4TGVuZ3RoLm1heExlbmd0aCwgb3B0aW9ucy5tYXhMZW5ndGgubWVzc2FnZSk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMubWluTGVuZ3RoKSB7XG4gICAgICBzY2hlbWEgPSBzY2hlbWEubWluKG9wdGlvbnMubWluTGVuZ3RoLm1pbkxlbmd0aCwgb3B0aW9ucy5taW5MZW5ndGgubWVzc2FnZSk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMucGF0dGVybikge1xuICAgICAgc2NoZW1hID0gc2NoZW1hLm1hdGNoZXMob3B0aW9ucy5wYXR0ZXJuLnBhdHRlcm4sIG9wdGlvbnMucGF0dGVybi5tZXNzYWdlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc2NoZW1hO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZEJvb2xlYW5TY2hlbWEob3B0aW9uczogQm9vbGVhblR5cGVBbm5vdGF0aW9ucykge1xuICAgIGxldCBzY2hlbWEgPSBZdXAuYm9vbGVhbigpO1xuICAgIGlmIChvcHRpb25zLnJlcXVpcmVkKSB7XG4gICAgICBzY2hlbWEgPSBzY2hlbWEucmVxdWlyZWQob3B0aW9ucy5yZXF1aXJlZC5tZXNzYWdlKTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMuZXF1YWxzKSB7XG4gICAgICBpZiAob3B0aW9ucy5lcXVhbHMuZXF1YWxzKSB7XG4gICAgICAgIHNjaGVtYSA9IHNjaGVtYS5pc1RydWUob3B0aW9ucy5lcXVhbHMubWVzc2FnZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzY2hlbWEgPSBzY2hlbWEuaXNGYWxzZShvcHRpb25zLmVxdWFscy5tZXNzYWdlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc2NoZW1hO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZERhdGVTY2hlbWEob3B0aW9uczogRGF0ZVR5cGVBbm5vdGF0aW9ucykge1xuICAgIGxldCBzY2hlbWEgPSBZdXAuZGF0ZSgpO1xuICAgIGlmIChvcHRpb25zLnJlcXVpcmVkKSB7XG4gICAgICBzY2hlbWEgPSBzY2hlbWEucmVxdWlyZWQob3B0aW9ucy5yZXF1aXJlZC5tZXNzYWdlKTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMubWluKSB7XG4gICAgICBzY2hlbWEgPSBzY2hlbWEubWluKG9wdGlvbnMubWluLm1pbiwgb3B0aW9ucy5taW4ubWVzc2FnZSk7XG4gICAgfVxuICAgIGlmIChvcHRpb25zLm1heCkge1xuICAgICAgc2NoZW1hID0gc2NoZW1hLm1heChvcHRpb25zLm1heC5tYXgsIG9wdGlvbnMubWF4Lm1lc3NhZ2UpO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy50ZXN0KSB7XG4gICAgICBzY2hlbWEgPSBzY2hlbWEudGVzdCh7XG4gICAgICAgIG5hbWU6IG9wdGlvbnMudGVzdC5uYW1lLFxuICAgICAgICBtZXNzYWdlOiBvcHRpb25zLnRlc3QubWVzc2FnZSxcbiAgICAgICAgdGVzdDogKGQ/OiBEYXRlLCBjb250ZXh0PzogYW55KSA9PiB7XG4gICAgICAgIHJldHVybiBvcHRpb25zLnRlc3QhLnRlc3QoZCEpO1xuICAgICAgfX0pO1xuICAgIH1cblxuICAgIHJldHVybiBzY2hlbWE7XG4gIH1cbn1cbiJdfQ==
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtc2NoZW1hLmZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tdXppZWhkZXNpZ24vZm9ybXMvc3JjL2xpYi9tb2RlbC1zY2hlbWEuZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQVksTUFBTSxLQUFLLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV4RCxPQUFPLEVBQWlELGNBQWMsRUFBNEYsTUFBTSxvQkFBb0IsQ0FBQztBQUM3TCxPQUFPLEtBQUssR0FBRyxNQUFNLEtBQUssQ0FBQzs7QUFFM0I7Ozs7Ozs7Ozs7RUFVRTtBQUtGLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsZ0JBQWUsQ0FBQztJQUVoQixLQUFLLENBQUksS0FBUTtRQUNmLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QyxPQUFPLElBQUksY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTyxpQkFBaUIsQ0FBSSxLQUFRO1FBQ25DLE1BQU0sUUFBUSxHQUF1QyxPQUFPLENBQUMsV0FBVyxDQUFDLHlCQUF5QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzNHLElBQUksS0FBSyxHQUFnQixFQUFFLENBQUM7UUFDNUIsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUM5QixJQUFJLEtBQUssQ0FBQyxjQUFjLElBQUksY0FBYyxDQUFDLE1BQU0sRUFBRTtnQkFDakQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUE4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Q3BCLE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDcEQ7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sdUJBQXVCLENBQUMsT0FBOEI7UUFFNUQsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLElBQUcsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUNuQixZQUFZLEdBQUcsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ3hDO1FBRUQsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQzs7K0dBNUdVLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07MkZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG9iamVjdCwgU2NoZW1hT2YgfSBmcm9tICd5dXAnO1xuaW1wb3J0IHsgTW9kZWxWYWxpZGF0b3IgfSBmcm9tICcuL21vZGVsLXZhbGlkYXRvcic7XG5pbXBvcnQgeyBTQ0hFTUFfTUVUQURBVEFfTkFNRVNQQUNFIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgT2JqZWN0U2hhcGUgfSBmcm9tICd5dXAvbGliL29iamVjdCc7XG5pbXBvcnQgeyBCb29sZWFuVHlwZUFubm90YXRpb25zLCBDb25zdHJhaW50QW5ub3RhdGlvbnMsIENvbnN0cmFpbnRUeXBlLCBEYXRlVHlwZUFubm90YXRpb25zLCBPYmplY3RUeXBlQW5ub3RhdGlvbnMsIE51bWJlclR5cGVBbm5vdGF0aW9ucywgU3RyaW5nVHlwZUFubm90YXRpb25zIH0gZnJvbSAnLi90eXBlLWFubm90YXRpb25zJztcbmltcG9ydCAqIGFzIFl1cCBmcm9tICd5dXAnO1xuXG4vKlxuU2NoZW1hIHJ1bGVzIG5lZWQgdG8gYmUgYnVpbHQgaW4gdGhlIG9yZGVyIHRoZXkgbmVlZCB0byBiZSBldmFsdWF0ZWQgaW4uXG5Gb3IgZXhhbXBsZSxcbiAgYGBgXG4gICAgc2NoZW1hLnJlcXVpcmVkKCkubWF4KC4uLikubWF0Y2hlcyguLi4pO1xuICBgYGBcbmV2YWx1YXRlcyB0aGUgMyBydWxlcyBpbiB0aGlzIG9yZGVyXG4gIC0gcmVxdWlyZWRcbiAgLSBtYXhcbiAgLSBtYXRjaGVzXG4qL1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTW9kZWxTY2hlbWFGYWN0b3J5IHtcbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIGJ1aWxkPFQ+KG1vZGVsOiBUKTogTW9kZWxWYWxpZGF0b3I8VD4ge1xuICAgIGNvbnN0IHNjaGVtYSA9IHRoaXMuYnVpbGRPYmplY3RTY2hlbWEobW9kZWwpO1xuICAgIHJldHVybiBuZXcgTW9kZWxWYWxpZGF0b3Ioc2NoZW1hKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRPYmplY3RTY2hlbWE8VD4obW9kZWw6IFQpIHtcbiAgICBjb25zdCBtZXRhZGF0YTogTWFwPHN0cmluZywgQ29uc3RyYWludEFubm90YXRpb25zPiA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoU0NIRU1BX01FVEFEQVRBX05BTUVTUEFDRSwgbW9kZWwpO1xuICAgIGxldCBzaGFwZTogT2JqZWN0U2hhcGUgPSB7fTtcbiAgICBtZXRhZGF0YS5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICBpZiAodmFsdWUuY29uc3RyYWludFR5cGUgPT0gQ29uc3RyYWludFR5cGUuc3RyaW5nKSB7XG4gICAgICAgIHNoYXBlW2tleV0gPSB0aGlzLmJ1aWxkU3RyaW5nU2NoZW1hKHZhbHVlIGFzIFN0cmluZ1R5cGVBbm5vdGF0aW9ucyk7XG4gICAgICB9IGVsc2UgaWYgKHZhbHVlLmNvbnN0cmFpbnRUeXBlID09IENvbnN0cmFpbnRUeXBlLmJvb2xlYW4pIHtcbiAgICAgICAgc2hhcGVba2V5XSA9IHRoaXMuYnVpbGRCb29sZWFuU2NoZW1hKHZhbHVlIGFzIEJvb2xlYW5UeXBlQW5ub3RhdGlvbnMpO1xuICAgICAgfSBlbHNlIGlmICh2YWx1ZS5jb25zdHJhaW50VHlwZSA9PSBDb25zdHJhaW50VHlwZS5kYXRlKSB7XG4gICAgICAgIHNoYXBlW2tleV0gPSB0aGlzLmJ1aWxkRGF0ZVNjaGVtYSh2YWx1ZSBhcyBEYXRlVHlwZUFubm90YXRpb25zKTtcbiAgICAgIH0gZWxzZSBpZih2YWx1ZS5jb25zdHJhaW50VHlwZSA9PSBDb25zdHJhaW50VHlwZS5vYmplY3QpIHtcbiAgICAgICAgc2hhcGVba2V5XSA9IHRoaXMuYnVpbGROZXN0ZWRPYmplY3RTY2hlbWEodmFsdWUgYXMgT2JqZWN0VHlwZUFubm90YXRpb25zKTtcbiAgICAgIH0gZWxzZSBpZiAodmFsdWUuY29uc3RyYWludFR5cGUgPT0gQ29uc3RyYWludFR5cGUubnVtYmVyKSB7XG4gICAgICAgIHNoYXBlW2tleV0gPSB0aGlzLmJ1aWxkTnVtYmVyU2NoZW1hKHZhbHVlIGFzIE51bWJlclR5cGVBbm5vdGF0aW9ucyk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIG9iamVjdChzaGFwZSkgYXMgU2NoZW1hT2Y8VD47XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkU3RyaW5nU2NoZW1hKG9wdGlvbnM6IFN0cmluZ1R5cGVBbm5vdGF0aW9ucykge1xuICAgIGxldCBzY2hlbWEgPSBZdXAuc3RyaW5nKCk7XG4gICAgaWYgKG9wdGlvbnMucmVxdWlyZWQpIHtcbiAgICAgIHNjaGVtYSA9IHNjaGVtYS5yZXF1aXJlZChvcHRpb25zLnJlcXVpcmVkLm1lc3NhZ2UpO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy5sZW5ndGgpIHtcbiAgICAgIHNjaGVtYSA9IHNjaGVtYS5sZW5ndGgob3B0aW9ucy5sZW5ndGgubGVuZ3RoLCBvcHRpb25zLmxlbmd0aC5tZXNzYWdlKTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5tYXhMZW5ndGgpIHtcbiAgICAgIHNjaGVtYSA9IHNjaGVtYS5tYXgob3B0aW9ucy5tYXhMZW5ndGgubWF4TGVuZ3RoLCBvcHRpb25zLm1heExlbmd0aC5tZXNzYWdlKTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5taW5MZW5ndGgpIHtcbiAgICAgIHNjaGVtYSA9IHNjaGVtYS5taW4ob3B0aW9ucy5taW5MZW5ndGgubWluTGVuZ3RoLCBvcHRpb25zLm1pbkxlbmd0aC5tZXNzYWdlKTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5wYXR0ZXJuKSB7XG4gICAgICBzY2hlbWEgPSBzY2hlbWEubWF0Y2hlcyhvcHRpb25zLnBhdHRlcm4ucGF0dGVybiwgIHsgbWVzc2FnZTogb3B0aW9ucy5wYXR0ZXJuLm1lc3NhZ2UsIGV4Y2x1ZGVFbXB0eVN0cmluZzogdHJ1ZSB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gc2NoZW1hO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZEJvb2xlYW5TY2hlbWEob3B0aW9uczogQm9vbGVhblR5cGVBbm5vdGF0aW9ucykge1xuICAgIGxldCBzY2hlbWEgPSBZdXAuYm9vbGVhbigpO1xuICAgIGlmIChvcHRpb25zLnJlcXVpcmVkKSB7XG4gICAgICBzY2hlbWEgPSBzY2hlbWEucmVxdWlyZWQob3B0aW9ucy5yZXF1aXJlZC5tZXNzYWdlKTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMuZXF1YWxzKSB7XG4gICAgICBpZiAob3B0aW9ucy5lcXVhbHMuZXF1YWxzKSB7XG4gICAgICAgIHNjaGVtYSA9IHNjaGVtYS5pc1RydWUob3B0aW9ucy5lcXVhbHMubWVzc2FnZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzY2hlbWEgPSBzY2hlbWEuaXNGYWxzZShvcHRpb25zLmVxdWFscy5tZXNzYWdlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc2NoZW1hO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZERhdGVTY2hlbWEob3B0aW9uczogRGF0ZVR5cGVBbm5vdGF0aW9ucykge1xuICAgIGxldCBzY2hlbWEgPSBZdXAuZGF0ZSgpO1xuICAgIFxuICAgIGlmIChvcHRpb25zLnJlcXVpcmVkKSB7XG4gICAgICBzY2hlbWEgPSBzY2hlbWEucmVxdWlyZWQob3B0aW9ucy5yZXF1aXJlZC5tZXNzYWdlKTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMubWluKSB7XG4gICAgICBzY2hlbWEgPSBzY2hlbWEubWluKG9wdGlvbnMubWluLm1pbiwgb3B0aW9ucy5taW4ubWVzc2FnZSk7XG4gICAgfVxuICAgIGlmIChvcHRpb25zLm1heCkge1xuICAgICAgc2NoZW1hID0gc2NoZW1hLm1heChvcHRpb25zLm1heC5tYXgsIG9wdGlvbnMubWF4Lm1lc3NhZ2UpO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy50ZXN0KSB7XG4gICAgICBzY2hlbWEgPSBzY2hlbWEudGVzdCh7XG4gICAgICAgIG5hbWU6IG9wdGlvbnMudGVzdC5uYW1lLFxuICAgICAgICBtZXNzYWdlOiBvcHRpb25zLnRlc3QubWVzc2FnZSxcbiAgICAgICAgdGVzdDogKGQ/OiBEYXRlLCBjb250ZXh0PzogYW55KSA9PiB7XG4gICAgICAgIHJldHVybiBvcHRpb25zLnRlc3QhLnRlc3QoZCEpO1xuICAgICAgfX0pO1xuICAgIH1cblxuICAgIHJldHVybiBzY2hlbWE7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkTnVtYmVyU2NoZW1hKG9wdGlvbnM6IE51bWJlclR5cGVBbm5vdGF0aW9ucykge1xuICAgIGxldCBzY2hlbWEgPSBZdXAubnVtYmVyKCk7XG4gICAgaWYgKG9wdGlvbnMucmVxdWlyZWQpIHtcbiAgICAgIHNjaGVtYSA9IHNjaGVtYS5yZXF1aXJlZChvcHRpb25zLnJlcXVpcmVkLm1lc3NhZ2UpO1xuICAgIH1cblxuICAgIHJldHVybiBzY2hlbWE7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkTmVzdGVkT2JqZWN0U2NoZW1hKG9wdGlvbnM6IE9iamVjdFR5cGVBbm5vdGF0aW9ucykge1xuXG4gICAgbGV0IG5lc3RlZFNjaGVtYSA9IHRoaXMuYnVpbGRPYmplY3RTY2hlbWEob3B0aW9ucy5nZXRJbnN0YW5jZSgpKTtcbiAgICBpZihvcHRpb25zLnJlcXVpcmVkKSB7XG4gICAgICBuZXN0ZWRTY2hlbWEgPSBuZXN0ZWRTY2hlbWEucmVxdWlyZWQoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmVzdGVkU2NoZW1hO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtc3RhdGUtb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL211emllaGRlc2lnbi9mb3Jtcy9zcmMvbGliL21vZGVsLXN0YXRlLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpZWxkRXJyb3IgfSBmcm9tICcuL2ZpZWxkLWVycm9yJztcblxuZXhwb3J0IGludGVyZmFjZSBNb2RlbFN0YXRlT3B0aW9ucyB7XG4gIG9uVmFsaWRhdGU6IChlcnJvcnM6IEZpZWxkRXJyb3JbXSkgPT4gRmllbGRFcnJvcltdO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtc3RhdGUtcmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXV6aWVoZGVzaWduL2Zvcm1zL3NyYy9saWIvbW9kZWwtc3RhdGUtcmVzdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWVsZEVycm9yIH0gZnJvbSBcIi4vZmllbGQtZXJyb3JcIjtcblxuZXhwb3J0IGludGVyZmFjZSBNb2RlbFN0YXRlUmVzdWx0PFQ+IHtcbiAgdmFsaWQ6IGJvb2xlYW47XG4gIGVycm9yczogRmllbGRFcnJvcltdO1xuICBtb2RlbDogVDtcbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { BehaviorSubject, from, switchMap } from 'rxjs';
2
+ import { NgFormModelState } from './ngform-model-state';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "./model-schema.factory";
5
5
  export class NgFormModelStateFactory {
@@ -7,7 +7,7 @@ export class NgFormModelStateFactory {
7
7
  this.factory = factory;
8
8
  }
9
9
  create(form, model, options) {
10
- const modelState = new NgFormModelState(form, this.factory.build(model), model, options);
10
+ const modelState = new NgFormModelState(form, this.factory.build(model), options);
11
11
  return modelState;
12
12
  }
13
13
  }
@@ -19,47 +19,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImpor
19
19
  providedIn: 'root',
20
20
  }]
21
21
  }], ctorParameters: function () { return [{ type: i1.ModelSchemaFactory }]; } });
22
- export class NgFormModelState {
23
- constructor(form, modelValidator, model, options) {
24
- this.form = form;
25
- this.modelValidator = modelValidator;
26
- this.model = model;
27
- this.errors = new BehaviorSubject([]);
28
- this.errors$ = this.errors.asObservable();
29
- this.form.form.valueChanges
30
- .pipe(switchMap(async (x) => {
31
- this.model = x;
32
- return from(this.runValidations(options?.onValidate));
33
- }))
34
- .subscribe();
35
- this.errors$.subscribe((list) => {
36
- const grouped = list.reduce((grouped, v) => grouped.set(v.path, [...(grouped.get(v.path) || []), v]), new Map());
37
- grouped.forEach((value, key) => {
38
- let validationErrors = {};
39
- value.forEach((v) => (validationErrors[v.type] = v.message));
40
- try {
41
- this.form.controls[key].setErrors(validationErrors);
42
- }
43
- catch (e) {
44
- console.log('error setting form control', key);
45
- throw e;
46
- }
47
- });
48
- });
49
- }
50
- isValid() {
51
- return this.errors.value.length == 0;
52
- }
53
- setErrors(errors) {
54
- this.errors.next(errors);
55
- }
56
- async validate() {
57
- return await this.runValidations();
58
- }
59
- async runValidations(callback) {
60
- const list = await this.modelValidator.validate(this.model);
61
- const final = callback?.(list) || list;
62
- this.errors.next(final);
63
- }
64
- }
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZm9ybS1tb2RlbC1zdGF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXV6aWVoZGVzaWduL2Zvcm1zL3NyYy9saWIvbmctZm9ybS1tb2RlbC1zdGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxlQUFlLEVBQVUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBUWhFLE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsWUFBb0IsT0FBMkI7UUFBM0IsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7SUFBRyxDQUFDO0lBRW5ELE1BQU0sQ0FBSSxJQUFZLEVBQUUsS0FBUSxFQUFFLE9BQTJCO1FBQzNELE1BQU0sVUFBVSxHQUFHLElBQUksZ0JBQWdCLENBQUksSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM1RixPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDOztvSEFOVSx1QkFBdUI7d0hBQXZCLHVCQUF1QixjQUZ0QixNQUFNOzJGQUVQLHVCQUF1QjtrQkFIbkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7O0FBY0QsTUFBTSxPQUFPLGdCQUFnQjtJQUkzQixZQUFvQixJQUFZLEVBQVUsY0FBaUMsRUFBVSxLQUFRLEVBQUUsT0FBMkI7UUFBdEcsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUFVLFVBQUssR0FBTCxLQUFLLENBQUc7UUFIckYsV0FBTSxHQUFrQyxJQUFJLGVBQWUsQ0FBZSxFQUFFLENBQUMsQ0FBQztRQUMvRSxZQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUcxQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZO2FBQ3hCLElBQUksQ0FDSCxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ2YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQTtRQUN2RCxDQUFDLENBQUMsQ0FDSDthQUNBLFNBQVMsRUFBRSxDQUFDO1FBRWYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUM5QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxHQUFHLEVBQXdCLENBQUMsQ0FBQztZQUV2SSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFO2dCQUM3QixJQUFJLGdCQUFnQixHQUFxQixFQUFFLENBQUM7Z0JBQzVDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUM3RCxJQUFJO29CQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2lCQUNyRDtnQkFBQyxPQUFPLENBQUMsRUFBRTtvQkFDVixPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixFQUFFLEdBQUcsQ0FBQyxDQUFDO29CQUMvQyxNQUFNLENBQUMsQ0FBQztpQkFDVDtZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsU0FBUyxDQUFDLE1BQW9CO1FBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUTtRQUNaLE9BQU8sTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVPLEtBQUssQ0FBQyxjQUFjLENBQUMsUUFBNEM7UUFDdkUsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUQsTUFBTSxLQUFLLEdBQUcsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5PX0VSUk9SU19TQ0hFTUEgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nRm9ybSwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZmlsdGVyLCBmcm9tLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZpZWxkRXJyb3IgfSBmcm9tICcuL2ZpZWxkLWVycm9yJztcbmltcG9ydCB7IE1vZGVsU2NoZW1hRmFjdG9yeSB9IGZyb20gJy4vbW9kZWwtc2NoZW1hLmZhY3RvcnknO1xuaW1wb3J0IHsgTW9kZWxWYWxpZGF0b3IgfSBmcm9tICcuL21vZGVsLXZhbGlkYXRvcic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBOZ0Zvcm1Nb2RlbFN0YXRlRmFjdG9yeSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmFjdG9yeTogTW9kZWxTY2hlbWFGYWN0b3J5KSB7fVxuXG4gIGNyZWF0ZTxUPihmb3JtOiBOZ0Zvcm0sIG1vZGVsOiBULCBvcHRpb25zPzogTW9kZWxTdGF0ZU9wdGlvbnMpIHtcbiAgICBjb25zdCBtb2RlbFN0YXRlID0gbmV3IE5nRm9ybU1vZGVsU3RhdGU8VD4oZm9ybSwgdGhpcy5mYWN0b3J5LmJ1aWxkKG1vZGVsKSwgbW9kZWwsIG9wdGlvbnMpO1xuICAgIHJldHVybiBtb2RlbFN0YXRlO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kZWxTdGF0ZU9wdGlvbnMge1xuICBvblZhbGlkYXRlOiAoZXJyb3JzOiBGaWVsZEVycm9yW10pID0+IEZpZWxkRXJyb3JbXVxufVxuXG5leHBvcnQgY2xhc3MgTmdGb3JtTW9kZWxTdGF0ZTxUPiB7XG4gIHByaXZhdGUgZXJyb3JzOiBCZWhhdmlvclN1YmplY3Q8RmllbGRFcnJvcltdPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RmllbGRFcnJvcltdPihbXSk7XG4gIHB1YmxpYyBlcnJvcnMkID0gdGhpcy5lcnJvcnMuYXNPYnNlcnZhYmxlKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmb3JtOiBOZ0Zvcm0sIHByaXZhdGUgbW9kZWxWYWxpZGF0b3I6IE1vZGVsVmFsaWRhdG9yPFQ+LCBwcml2YXRlIG1vZGVsOiBULCBvcHRpb25zPzogTW9kZWxTdGF0ZU9wdGlvbnMpIHtcbiAgICB0aGlzLmZvcm0uZm9ybS52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoYXN5bmMgKHgpID0+IHtcbiAgICAgICAgICB0aGlzLm1vZGVsID0geDtcbiAgICAgICAgICByZXR1cm4gZnJvbSh0aGlzLnJ1blZhbGlkYXRpb25zKG9wdGlvbnM/Lm9uVmFsaWRhdGUpKVxuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5lcnJvcnMkLnN1YnNjcmliZSgobGlzdCkgPT4ge1xuICAgICAgY29uc3QgZ3JvdXBlZCA9IGxpc3QucmVkdWNlKChncm91cGVkLCB2KSA9PiBncm91cGVkLnNldCh2LnBhdGgsIFsuLi4oZ3JvdXBlZC5nZXQodi5wYXRoKSB8fCBbXSksIHZdKSwgbmV3IE1hcDxzdHJpbmcsIEZpZWxkRXJyb3JbXT4oKSk7XG5cbiAgICAgIGdyb3VwZWQuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xuICAgICAgICBsZXQgdmFsaWRhdGlvbkVycm9ycyA9IDxWYWxpZGF0aW9uRXJyb3JzPnt9O1xuICAgICAgICB2YWx1ZS5mb3JFYWNoKCh2KSA9PiAodmFsaWRhdGlvbkVycm9yc1t2LnR5cGVdID0gdi5tZXNzYWdlKSk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzW2tleV0uc2V0RXJyb3JzKHZhbGlkYXRpb25FcnJvcnMpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coJ2Vycm9yIHNldHRpbmcgZm9ybSBjb250cm9sJywga2V5KTtcbiAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGlzVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZXJyb3JzLnZhbHVlLmxlbmd0aCA9PSAwO1xuICB9XG5cbiAgc2V0RXJyb3JzKGVycm9yczogRmllbGRFcnJvcltdKSB7XG4gICAgdGhpcy5lcnJvcnMubmV4dChlcnJvcnMpO1xuICB9XG5cbiAgYXN5bmMgdmFsaWRhdGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucnVuVmFsaWRhdGlvbnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcnVuVmFsaWRhdGlvbnMoY2FsbGJhY2s/OiAobGlzdDpGaWVsZEVycm9yW10pPT5GaWVsZEVycm9yW10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBsaXN0ID0gYXdhaXQgdGhpcy5tb2RlbFZhbGlkYXRvci52YWxpZGF0ZSh0aGlzLm1vZGVsKTtcbiAgICBjb25zdCBmaW5hbCA9IGNhbGxiYWNrPy4obGlzdCkgfHwgbGlzdDtcbiAgICB0aGlzLmVycm9ycy5uZXh0KGZpbmFsKTtcbiAgfVxufVxuIl19
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZm9ybS1tb2RlbC1zdGF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXV6aWVoZGVzaWduL2Zvcm1zL3NyYy9saWIvbmctZm9ybS1tb2RlbC1zdGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQUt4RCxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLFlBQW9CLE9BQTJCO1FBQTNCLFlBQU8sR0FBUCxPQUFPLENBQW9CO0lBQUcsQ0FBQztJQUVuRCxNQUFNLENBQUksSUFBWSxFQUFFLEtBQVEsRUFBRSxPQUEyQjtRQUMzRCxNQUFNLFVBQVUsR0FBRyxJQUFJLGdCQUFnQixDQUFJLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNyRixPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDOztvSEFOVSx1QkFBdUI7d0hBQXZCLHVCQUF1QixjQUZ0QixNQUFNOzJGQUVQLHVCQUF1QjtrQkFIbkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNb2RlbFNjaGVtYUZhY3RvcnkgfSBmcm9tICcuL21vZGVsLXNjaGVtYS5mYWN0b3J5JztcbmltcG9ydCB7IE1vZGVsU3RhdGVPcHRpb25zIH0gZnJvbSAnLi9tb2RlbC1zdGF0ZS1vcHRpb25zJztcbmltcG9ydCB7IE5nRm9ybU1vZGVsU3RhdGUgfSBmcm9tICcuL25nZm9ybS1tb2RlbC1zdGF0ZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBOZ0Zvcm1Nb2RlbFN0YXRlRmFjdG9yeSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmFjdG9yeTogTW9kZWxTY2hlbWFGYWN0b3J5KSB7fVxuXG4gIGNyZWF0ZTxUPihmb3JtOiBOZ0Zvcm0sIG1vZGVsOiBULCBvcHRpb25zPzogTW9kZWxTdGF0ZU9wdGlvbnMpIHtcbiAgICBjb25zdCBtb2RlbFN0YXRlID0gbmV3IE5nRm9ybU1vZGVsU3RhdGU8VD4oZm9ybSwgdGhpcy5mYWN0b3J5LmJ1aWxkKG1vZGVsKSwgb3B0aW9ucyk7XG4gICAgcmV0dXJuIG1vZGVsU3RhdGU7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,105 @@
1
+ import { FormArray, FormGroup } from '@angular/forms';
2
+ import { BehaviorSubject, from, switchMap } from 'rxjs';
3
+ export class NgFormModelState {
4
+ constructor(form, modelValidator, options) {
5
+ this.form = form;
6
+ this.modelValidator = modelValidator;
7
+ this.options = options;
8
+ this.changesSubject = new BehaviorSubject(undefined);
9
+ this.changes = this.changesSubject.asObservable();
10
+ this.form.form.valueChanges
11
+ .pipe(switchMap(async (x) => {
12
+ return from(this.validate());
13
+ }))
14
+ .subscribe();
15
+ }
16
+ getCurrent() {
17
+ return this.changesSubject.value;
18
+ }
19
+ setState(model, errors) {
20
+ const state = {
21
+ model: model,
22
+ errors: errors,
23
+ valid: errors.length === 0,
24
+ };
25
+ this.setStateInternal(state);
26
+ }
27
+ setErrors(errors) {
28
+ //this.errors.next(errors);
29
+ throw new Error('needs implementation');
30
+ }
31
+ appendErrors(errors, skipEmit) {
32
+ const allErrors = [...(this.changesSubject.value?.errors || []), ...errors];
33
+ const state = { ...this.changesSubject.value };
34
+ state.errors = allErrors;
35
+ this.setStateInternal(state);
36
+ }
37
+ async validate() {
38
+ const model = this.form.value;
39
+ const state = await this.runValidations(model, this.options?.onValidate);
40
+ this.setStateInternal(state);
41
+ return state;
42
+ }
43
+ setStateInternal(state) {
44
+ this.deleteFormErrors();
45
+ const grouped = state.errors.reduce((grouped, v) => grouped.set(v.path, [...(grouped.get(v.path) || []), v]), new Map());
46
+ grouped.forEach((value, path) => {
47
+ let validationErrors = {};
48
+ value.forEach((v) => (validationErrors[v.type] = v.message));
49
+ const control = this.form.form.get(path);
50
+ if (!control) {
51
+ // TODO: use actual logging service
52
+ }
53
+ else {
54
+ control.setErrors(validationErrors);
55
+ }
56
+ });
57
+ this.changesSubject.next(state);
58
+ }
59
+ deleteFormErrors() {
60
+ this.deleteErrors(this.form.form);
61
+ }
62
+ deleteErrors(rootFormGroup) {
63
+ Object.keys(rootFormGroup.controls).forEach((key) => {
64
+ const control = rootFormGroup.controls[key];
65
+ if (!this.isParentControl(control)) {
66
+ this.deleteErrorsFromControl(key, control);
67
+ }
68
+ else if (control instanceof FormGroup) {
69
+ this.deleteErrors(control);
70
+ }
71
+ else if (control instanceof FormArray) {
72
+ this.loopFormArray(control);
73
+ }
74
+ });
75
+ }
76
+ deleteErrorsFromControl(key, control) {
77
+ control.setErrors(null);
78
+ }
79
+ isParentControl(control) {
80
+ return control instanceof FormGroup || control instanceof FormArray;
81
+ }
82
+ loopFormArray(formArray) {
83
+ formArray.controls.forEach((control, index) => {
84
+ if (!this.isParentControl(control)) {
85
+ this.deleteErrorsFromControl(index, control);
86
+ }
87
+ else if (control instanceof FormGroup) {
88
+ this.deleteErrors(control);
89
+ }
90
+ else if (control instanceof FormArray) {
91
+ this.loopFormArray(control);
92
+ }
93
+ });
94
+ }
95
+ async runValidations(model, callback) {
96
+ const list = await this.modelValidator.validate(model);
97
+ const final = callback?.(list) || list;
98
+ return {
99
+ valid: final.length === 0,
100
+ errors: final,
101
+ model: model,
102
+ };
103
+ }
104
+ }
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdmb3JtLW1vZGVsLXN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXV6aWVoZGVzaWduL2Zvcm1zL3NyYy9saWIvbmdmb3JtLW1vZGVsLXN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUIsU0FBUyxFQUFFLFNBQVMsRUFBMEMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRyxPQUFPLEVBQUUsZUFBZSxFQUF3QixJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBTTlFLE1BQU0sT0FBTyxnQkFBZ0I7SUFJM0IsWUFBb0IsSUFBWSxFQUFVLGNBQWlDLEVBQVUsT0FBMkI7UUFBNUYsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBSHhHLG1CQUFjLEdBQUcsSUFBSSxlQUFlLENBQWtDLFNBQVMsQ0FBQyxDQUFDO1FBQ3pFLFlBQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRzNELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVk7YUFDeEIsSUFBSSxDQUNILFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDcEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQ0g7YUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUM7SUFDbkMsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFRLEVBQUUsTUFBb0I7UUFDckMsTUFBTSxLQUFLLEdBQUc7WUFDWixLQUFLLEVBQUUsS0FBSztZQUNaLE1BQU0sRUFBRSxNQUFNO1lBQ2QsS0FBSyxFQUFFLE1BQU0sQ0FBQyxN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SyxHQUFHLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN2QyxPQUFPO1lBQ0wsS0FBSyxFQUFFLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUN6QixNQUFNLEVBQUUsS0FBSztZQUNiLEtBQUssRUFBRSxLQUFLO1NBQ2IsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtR3JvdXAsIE5nRm9ybSwgTmdNb2RlbEdyb3VwLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZnJvbSwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGaWVsZEVycm9yIH0gZnJvbSAnLi9maWVsZC1lcnJvcic7XG5pbXBvcnQgeyBNb2RlbFN0YXRlT3B0aW9ucyB9IGZyb20gJy4vbW9kZWwtc3RhdGUtb3B0aW9ucyc7XG5pbXBvcnQgeyBNb2RlbFN0YXRlUmVzdWx0IH0gZnJvbSAnLi9tb2RlbC1zdGF0ZS1yZXN1bHQnO1xuaW1wb3J0IHsgTW9kZWxWYWxpZGF0b3IgfSBmcm9tICcuL21vZGVsLXZhbGlkYXRvcic7XG5cbmV4cG9ydCBjbGFzcyBOZ0Zvcm1Nb2RlbFN0YXRlPFQ+IHtcbiAgcHJpdmF0ZSBjaGFuZ2VzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TW9kZWxTdGF0ZVJlc3VsdDxUPiB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHVibGljIHJlYWRvbmx5IGNoYW5nZXMgPSB0aGlzLmNoYW5nZXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZm9ybTogTmdGb3JtLCBwcml2YXRlIG1vZGVsVmFsaWRhdG9yOiBNb2RlbFZhbGlkYXRvcjxUPiwgcHJpdmF0ZSBvcHRpb25zPzogTW9kZWxTdGF0ZU9wdGlvbnMpIHtcbiAgICB0aGlzLmZvcm0uZm9ybS52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoYXN5bmMgKHgpID0+IHtcbiAgICAgICAgICByZXR1cm4gZnJvbSh0aGlzLnZhbGlkYXRlKCkpO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgZ2V0Q3VycmVudCgpOiBNb2RlbFN0YXRlUmVzdWx0PFQ+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5jaGFuZ2VzU3ViamVjdC52YWx1ZTtcbiAgfVxuXG4gIHNldFN0YXRlKG1vZGVsOiBULCBlcnJvcnM6IEZpZWxkRXJyb3JbXSkge1xuICAgIGNvbnN0IHN0YXRlID0ge1xuICAgICAgbW9kZWw6IG1vZGVsLFxuICAgICAgZXJyb3JzOiBlcnJvcnMsXG4gICAgICB2YWxpZDogZXJyb3JzLmxlbmd0aCA9PT0gMCxcbiAgICB9IGFzIE1vZGVsU3RhdGVSZXN1bHQ8VD47XG4gICAgdGhpcy5zZXRTdGF0ZUludGVybmFsKHN0YXRlKTtcbiAgfVxuXG4gIHNldEVycm9ycyhlcnJvcnM6IEZpZWxkRXJyb3JbXSkge1xuICAgIC8vdGhpcy5lcnJvcnMubmV4dChlcnJvcnMpO1xuICAgIHRocm93IG5ldyBFcnJvcignbmVlZHMgaW1wbGVtZW50YXRpb24nKTtcbiAgfVxuXG4gIGFwcGVuZEVycm9ycyhlcnJvcnM6IEZpZWxkRXJyb3JbXSwgc2tpcEVtaXQ/OiBib29sZWFuKSB7XG4gICAgY29uc3QgYWxsRXJyb3JzID0gWy4uLih0aGlzLmNoYW5nZXNTdWJqZWN0LnZhbHVlPy5lcnJvcnMgfHwgW10pLCAuLi5lcnJvcnNdO1xuICAgIGNvbnN0IHN0YXRlID0geyAuLi50aGlzLmNoYW5nZXNTdWJqZWN0LnZhbHVlIH0gYXMgTW9kZWxTdGF0ZVJlc3VsdDxUPjtcbiAgICBzdGF0ZS5lcnJvcnMgPSBhbGxFcnJvcnM7XG4gICAgdGhpcy5zZXRTdGF0ZUludGVybmFsKHN0YXRlKTtcbiAgfVxuXG4gIGFzeW5jIHZhbGlkYXRlKCk6IFByb21pc2U8TW9kZWxTdGF0ZVJlc3VsdDxUPj4ge1xuICAgIGNvbnN0IG1vZGVsID0gdGhpcy5mb3JtLnZhbHVlO1xuICAgIGNvbnN0IHN0YXRlID0gYXdhaXQgdGhpcy5ydW5WYWxpZGF0aW9ucyhtb2RlbCwgdGhpcy5vcHRpb25zPy5vblZhbGlkYXRlKTtcbiAgICB0aGlzLnNldFN0YXRlSW50ZXJuYWwoc3RhdGUpO1xuICAgIHJldHVybiBzdGF0ZTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0U3RhdGVJbnRlcm5hbChzdGF0ZTogTW9kZWxTdGF0ZVJlc3VsdDxUPikge1xuICAgIHRoaXMuZGVsZXRlRm9ybUVycm9ycygpO1xuXG4gICAgY29uc3QgZ3JvdXBlZCA9IHN0YXRlLmVycm9ycy5yZWR1Y2UoKGdyb3VwZWQsIHYpID0+IGdyb3VwZWQuc2V0KHYucGF0aCwgWy4uLihncm91cGVkLmdldCh2LnBhdGgpIHx8IFtdKSwgdl0pLCBuZXcgTWFwPHN0cmluZywgRmllbGRFcnJvcltdPigpKTtcbiAgICBncm91cGVkLmZvckVhY2goKHZhbHVlLCBwYXRoKSA9PiB7XG4gICAgICBsZXQgdmFsaWRhdGlvbkVycm9ycyA9IDxWYWxpZGF0aW9uRXJyb3JzPnt9O1xuICAgICAgdmFsdWUuZm9yRWFjaCgodikgPT4gKHZhbGlkYXRpb25FcnJvcnNbdi50eXBlXSA9IHYubWVzc2FnZSkpO1xuXG4gICAgICBjb25zdCBjb250cm9sID0gdGhpcy5mb3JtLmZvcm0uZ2V0KHBhdGgpO1xuICAgICAgaWYgKCFjb250cm9sKSB7XG4gICAgICAgIC8vIFRPRE86IHVzZSBhY3R1YWwgbG9nZ2luZyBzZXJ2aWNlXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb250cm9sLnNldEVycm9ycyh2YWxpZGF0aW9uRXJyb3JzKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuY2hhbmdlc1N1YmplY3QubmV4dChzdGF0ZSk7XG4gIH1cblxuICBwcml2YXRlIGRlbGV0ZUZvcm1FcnJvcnMoKSB7XG4gICAgdGhpcy5kZWxldGVFcnJvcnModGhpcy5mb3JtLmZvcm0pO1xuICB9XG5cbiAgcHJpdmF0ZSBkZWxldGVFcnJvcnMocm9vdEZvcm1Hcm91cDogRm9ybUdyb3VwKSB7XG4gICAgT2JqZWN0LmtleXMocm9vdEZvcm1Hcm91cC5jb250cm9scykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBjb25zdCBjb250cm9sID0gcm9vdEZvcm1Hcm91cC5jb250cm9sc1trZXldO1xuXG4gICAgICBpZiAoIXRoaXMuaXNQYXJlbnRDb250cm9sKGNvbnRyb2wpKSB7XG4gICAgICAgIHRoaXMuZGVsZXRlRXJyb3JzRnJvbUNvbnRyb2woa2V5LCBjb250cm9sKTtcbiAgICAgIH0gZWxzZSBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xuICAgICAgICB0aGlzLmRlbGV0ZUVycm9ycyhjb250cm9sIGFzIEZvcm1Hcm91cCk7XG4gICAgICB9IGVsc2UgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQXJyYXkpIHtcbiAgICAgICAgdGhpcy5sb29wRm9ybUFycmF5KGNvbnRyb2wgYXMgRm9ybUFycmF5KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZGVsZXRlRXJyb3JzRnJvbUNvbnRyb2woa2V5OiBzdHJpbmcgfCBudW1iZXIsIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkge1xuICAgIGNvbnRyb2wuc2V0RXJyb3JzKG51bGwpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1BhcmVudENvbnRyb2woY29udHJvbDogQWJzdHJhY3RDb250cm9sKSB7XG4gICAgcmV0dXJuIGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtR3JvdXAgfHwgY29udHJvbCBpbnN0YW5jZW9mIEZvcm1BcnJheTtcbiAgfVxuXG4gIHByaXZhdGUgbG9vcEZvcm1BcnJheShmb3JtQXJyYXk6IEZvcm1BcnJheSkge1xuICAgIGZvcm1BcnJheS5jb250cm9scy5mb3JFYWNoKChjb250cm9sLCBpbmRleCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmlzUGFyZW50Q29udHJvbChjb250cm9sKSkge1xuICAgICAgICB0aGlzLmRlbGV0ZUVycm9yc0Zyb21Db250cm9sKGluZGV4LCBjb250cm9sKTtcbiAgICAgIH0gZWxzZSBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xuICAgICAgICB0aGlzLmRlbGV0ZUVycm9ycyhjb250cm9sIGFzIEZvcm1Hcm91cCk7XG4gICAgICB9IGVsc2UgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQXJyYXkpIHtcbiAgICAgICAgdGhpcy5sb29wRm9ybUFycmF5KGNvbnRyb2wgYXMgRm9ybUFycmF5KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcnVuVmFsaWRhdGlvbnM8VD4obW9kZWw6IFQsIGNhbGxiYWNrPzogKGxpc3Q6IEZpZWxkRXJyb3JbXSkgPT4gRmllbGRFcnJvcltdKTogUHJvbWlzZTxNb2RlbFN0YXRlUmVzdWx0PFQ+PiB7XG4gICAgY29uc3QgbGlzdCA9IGF3YWl0IHRoaXMubW9kZWxWYWxpZGF0b3IudmFsaWRhdGUobW9kZWwpO1xuICAgIGNvbnN0IGZpbmFsID0gY2FsbGJhY2s/LihsaXN0KSB8fCBsaXN0O1xuICAgIHJldHVybiB7XG4gICAgICB2YWxpZDogZmluYWwubGVuZ3RoID09PSAwLFxuICAgICAgZXJyb3JzOiBmaW5hbCxcbiAgICAgIG1vZGVsOiBtb2RlbCxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -5,17 +5,14 @@ export var ConstraintType;
5
5
  ConstraintType[ConstraintType["string"] = 0] = "string";
6
6
  ConstraintType[ConstraintType["boolean"] = 1] = "boolean";
7
7
  ConstraintType[ConstraintType["date"] = 2] = "date";
8
+ ConstraintType[ConstraintType["object"] = 3] = "object";
9
+ ConstraintType[ConstraintType["number"] = 4] = "number";
8
10
  })(ConstraintType || (ConstraintType = {}));
9
11
  const registerMetadata = (target, propertyKey, constraint) => {
10
12
  const metadata = Reflect.getMetadata(METADATA_KEY, target) || new Map();
11
13
  metadata.set(propertyKey, constraint);
12
14
  Reflect.defineMetadata(METADATA_KEY, metadata, target);
13
15
  };
14
- export function Annotate(a) {
15
- return function (target, propertyKey) {
16
- registerMetadata(target, propertyKey, a.annotations);
17
- };
18
- }
19
16
  export function StringType(...annotations) {
20
17
  return function (target, propertyKey) {
21
18
  const o = Object.assign({}, ...annotations);
@@ -30,6 +27,27 @@ export function BooleanType(...annotations) {
30
27
  registerMetadata(target, propertyKey, o);
31
28
  };
32
29
  }
30
+ export function DateType(...annotations) {
31
+ return function (target, propertyKey) {
32
+ const o = Object.assign({}, ...annotations);
33
+ o.constraintType = ConstraintType.date;
34
+ registerMetadata(target, propertyKey, o);
35
+ };
36
+ }
37
+ export function NumberType(...annotations) {
38
+ return function (target, propertyKey) {
39
+ const o = Object.assign({}, ...annotations);
40
+ o.constraintType = ConstraintType.number;
41
+ registerMetadata(target, propertyKey, o);
42
+ };
43
+ }
44
+ export function ObjectType(type, ...annotations) {
45
+ return function (target, propertyKey) {
46
+ const o = Object.assign({}, ...annotations, { getInstance: () => new type() });
47
+ o.constraintType = ConstraintType.object;
48
+ registerMetadata(target, propertyKey, o);
49
+ };
50
+ }
33
51
  export function required(message) {
34
52
  return { required: { required: true, message: message } };
35
53
  }
@@ -51,74 +69,13 @@ export function ofValues(values, message) {
51
69
  export function equals(value, message) {
52
70
  return { equals: { equals: value, message: message } };
53
71
  }
54
- export class AnnotationType {
55
- }
56
- export class StringType2 extends AnnotationType {
57
- constructor() {
58
- super(...arguments);
59
- this.name = 'StringType';
60
- this.annotations = {
61
- constraintType: ConstraintType.string, // TODO
62
- };
63
- }
64
- required(message) {
65
- this.annotations.required = { required: true, message: message };
66
- return this;
67
- }
68
- pattern(pattern, message) {
69
- this.annotations.pattern = { pattern: pattern, message: message };
70
- return this;
71
- }
72
- }
73
- export class BooleanType2 extends AnnotationType {
74
- constructor() {
75
- super(...arguments);
76
- this.name = 'BooleanType';
77
- this.annotations = {
78
- constraintType: ConstraintType.boolean, // TODO
79
- };
80
- }
81
- required(message) {
82
- this.annotations.required = { required: true, message: message };
83
- return this;
84
- }
85
- equals(v, message) {
86
- this.annotations.equals = { equals: v, message: message };
87
- return this;
88
- }
89
- }
90
- export function string() {
91
- return new StringType2();
92
- }
93
- export function boolean() {
94
- return new BooleanType2();
72
+ export function min(value, message) {
73
+ return { min: { min: value, message: message } };
95
74
  }
96
- export class DateType extends AnnotationType {
97
- constructor() {
98
- super(...arguments);
99
- this.name = 'DateType';
100
- this.annotations = {
101
- constraintType: ConstraintType.date, // TODO
102
- };
103
- }
104
- required(message) {
105
- this.annotations.required = { required: true, message: message };
106
- return this;
107
- }
108
- min(v, message) {
109
- this.annotations.min = { min: v, message: message };
110
- return this;
111
- }
112
- max(v, message) {
113
- this.annotations.max = { max: v, message: message };
114
- return this;
115
- }
116
- test(name, v, message) {
117
- this.annotations.test = { name: name, test: v, message: message };
118
- return this;
119
- }
75
+ export function max(value, message) {
76
+ return { max: { max: value, message: message } };
120
77
  }
121
- export function date() {
122
- return new DateType();
78
+ export function test(name, test, message) {
79
+ return { test: { name: name, test: test, message: message } };
123
80
  }
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1hbm5vdGF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL211emllaGRlc2lnbi9mb3Jtcy9zcmMvbGliL3R5cGUtYW5ub3RhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxrQkFBa0IsQ0FBQztBQUUxQixNQUFNLFlBQVksR0FBRyxpQ0FBaUMsQ0FBQztBQUV2RCxNQUFNLENBQU4sSUFBWSxjQUlYO0FBSkQsV0FBWSxjQUFjO0lBQ3hCLHVEQUFNLENBQUE7SUFDTix5REFBTyxDQUFBO0lBQ1AsbURBQUksQ0FBQTtBQUNOLENBQUMsRUFKVyxjQUFjLEtBQWQsY0FBYyxRQUl6QjtBQXVFRCxNQUFNLGdCQUFnQixHQUFHLENBQUMsTUFBYyxFQUFFLFdBQW1CLEVBQUUsVUFBaUMsRUFBRSxFQUFFO0lBQ2xHLE1BQU0sUUFBUSxHQUFxQixPQUFPLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsSUFBSSxJQUFJLEdBQUcsRUFBZSxDQUFDO0lBQ3ZHLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3RDLE9BQU8sQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUN6RCxDQUFDLENBQUM7QUFFRixNQUFNLFVBQVUsUUFBUSxDQUFrQyxDQUFvQjtJQUM1RSxPQUFPLFVBQVUsTUFBYyxFQUFFLFdBQW1CO1FBQ2xELGdCQUFnQixDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLFdBQW9DLENBQUMsQ0FBQztJQUNoRixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxHQUFHLFdBQXNEO0lBQ2xGLE9BQU8sVUFBVSxNQUFjLEVBQUUsV0FBbUI7UUFDbEQsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUs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LEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNwRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxHQUFHLENBQUMsQ0FBTyxFQUFFLE9BQWdCO1FBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDcEQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sSUFBSSxDQUFDLElBQVksRUFBRSxDQUF1QixFQUFFLE9BQWdCO1FBQ2pFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNsRSxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRjtBQUVELE1BQU0sVUFBVSxJQUFJO0lBQ2xCLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQztBQUN4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdyZWZsZWN0LW1ldGFkYXRhJztcblxuY29uc3QgTUVUQURBVEFfS0VZID0gJ2N1c3RvbTptdXppZWhkZXNpZ246YW5ub3RhdGlvbnMnO1xuXG5leHBvcnQgZW51bSBDb25zdHJhaW50VHlwZSB7XG4gIHN0cmluZyxcbiAgYm9vbGVhbixcbiAgZGF0ZSxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25zdHJhaW50QW5ub3RhdGlvbnMge1xuICBjb25zdHJhaW50VHlwZTogQ29uc3RyYWludFR5cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RyaW5nVHlwZUFubm90YXRpb25zIGV4dGVuZHMgQ29uc3RyYWludEFubm90YXRpb25zIHtcbiAgcmVxdWlyZWQ/OiBSZXF1aXJlZEFubm90YXRpb247XG4gIGxlbmd0aD86IExlbmd0aEFubm90YXRpb247XG4gIHBhdHRlcm4/OiBQYXR0ZXJuQW5ub3RhdGlvbjtcbiAgbWF4TGVuZ3RoPzogTWF4TGVuZ3RoQW5ub3RhdGlvbjtcbiAgbWluTGVuZ3RoPzogTWluTGVuZ3RoQW5ub3RhdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCb29sZWFuVHlwZUFubm90YXRpb25zIGV4dGVuZHMgQ29uc3RyYWludEFubm90YXRpb25zIHtcbiAgcmVxdWlyZWQ/OiBSZXF1aXJlZEFubm90YXRpb247XG4gIGVxdWFscz86IEVxdWFsc0Fubm90YXRpb248Ym9vbGVhbj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0ZVR5cGVBbm5vdGF0aW9ucyBleHRlbmRzIENvbnN0cmFpbnRBbm5vdGF0aW9ucyB7XG4gIHJlcXVpcmVkPzogUmVxdWlyZWRBbm5vdGF0aW9uO1xuICBtaW4/OiBNaW5pbXVtQW5ub3RhdGlvbjxEYXRlPjtcbiAgbWF4PzogTWF4aW11bUFubm90YXRpb248RGF0ZT47XG4gIHRlc3Q/OiBUZXN0QW5ub3RhdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0aW9uQW5ub3RhdGlvbiB7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVxdWlyZWRBbm5vdGF0aW9uIGV4dGVuZHMgVmFsaWRhdGlvbkFubm90YXRpb24ge1xuICByZXF1aXJlZDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMZW5ndGhBbm5vdGF0aW9uIGV4dGVuZHMgVmFsaWRhdGlvbkFubm90YXRpb24ge1xuICBsZW5ndGg6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXR0ZXJuQW5ub3RhdGlvbiBleHRlbmRzIFZhbGlkYXRpb25Bbm5vdGF0aW9uIHtcbiAgcGF0dGVybjogUmVnRXhwO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9mVmFsdWVzQW5ub3RhdGlvbiBleHRlbmRzIFZhbGlkYXRpb25Bbm5vdGF0aW9uIHtcbiAgdmFsdWVzOiBbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFcXVhbHNBbm5vdGF0aW9uPFQ+IGV4dGVuZHMgVmFsaWRhdGlvbkFubm90YXRpb24ge1xuICBlcXVhbHM6IFQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWluaW11bUFubm90YXRpb248VD4gZXh0ZW5kcyBWYWxpZGF0aW9uQW5ub3RhdGlvbiB7XG4gIG1pbjogVDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXhpbXVtQW5ub3RhdGlvbjxUPiBleHRlbmRzIFZhbGlkYXRpb25Bbm5vdGF0aW9uIHtcbiAgbWF4OiBUO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRlc3RBbm5vdGF0aW9uIGV4dGVuZHMgVmFsaWRhdGlvbkFubm90YXRpb24ge1xuICB0ZXN0OiAoZDpEYXRlKSA9PiBib29sZWFuO1xuICBuYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWF4TGVuZ3RoQW5ub3RhdGlvbiBleHRlbmRzIFZhbGlkYXRpb25Bbm5vdGF0aW9uIHtcbiAgbWF4TGVuZ3RoOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWluTGVuZ3RoQW5ub3RhdGlvbiBleHRlbmRzIFZhbGlkYXRpb25Bbm5vdGF0aW9uIHtcbiAgbWluTGVuZ3RoOiBudW1iZXI7XG59XG5cbmNvbnN0IHJlZ2lzdGVyTWV0YWRhdGEgPSAodGFyZ2V0OiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcsIGNvbnN0cmFpbnQ6IENvbnN0cmFpbnRBbm5vdGF0aW9ucykgPT4ge1xuICBjb25zdCBtZXRhZGF0YTogTWFwPHN0cmluZywgYW55PiA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoTUVUQURBVEFfS0VZLCB0YXJnZXQpIHx8IG5ldyBNYXA8c3RyaW5nLCBhbnk+KCk7XG4gIG1ldGFkYXRhLnNldChwcm9wZXJ0eUtleSwgY29uc3RyYWludCk7XG4gIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoTUVUQURBVEFfS0VZLCBtZXRhZGF0YSwgdGFyZ2V0KTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBBbm5vdGF0ZTxUIGV4dGVuZHMgQ29uc3RyYWludEFubm90YXRpb25zPihhOiBBbm5vdGF0aW9uVHlwZTxUPikge1xuICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nKSB7XG4gICAgcmVnaXN0ZXJNZXRhZGF0YSh0YXJnZXQsIHByb3BlcnR5S2V5LCBhLmFubm90YXRpb25zIGFzIENvbnN0cmFpbnRBbm5vdGF0aW9ucyk7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTdHJpbmdUeXBlKC4uLmFubm90YXRpb25zOiB7IFtrZXk6IHN0cmluZ106IFZhbGlkYXRpb25Bbm5vdGF0aW9uIH1bXSkge1xuICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nKSB7XG4gICAgY29uc3QgbyA9IE9iamVjdC5hc3NpZ24oe30sIC4uLmFubm90YXRpb25zKSBhcyBTdHJpbmdUeXBlQW5ub3RhdGlvbnM7XG4gICAgby5jb25zdHJhaW50VHlwZSA9IENvbnN0cmFpbnRUeXBlLnN0cmluZztcbiAgICByZWdpc3Rlck1ldGFkYXRhKHRhcmdldCwgcHJvcGVydHlLZXksIG8pO1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQm9vbGVhblR5cGUoLi4uYW5ub3RhdGlvbnM6IHsgW2tleTogc3RyaW5nXTogVmFsaWRhdGlvbkFubm90YXRpb24gfVtdKSB7XG4gIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcpIHtcbiAgICBjb25zdCBvID0gT2JqZWN0LmFzc2lnbih7fSwgLi4uYW5ub3RhdGlvbnMpIGFzIEJvb2xlYW5UeXBlQW5ub3RhdGlvbnM7XG4gICAgby5jb25zdHJhaW50VHlwZSA9IENvbnN0cmFpbnRUeXBlLmJvb2xlYW47XG4gICAgcmVnaXN0ZXJNZXRhZGF0YSh0YXJnZXQsIHByb3BlcnR5S2V5LCBvKTtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlcXVpcmVkKG1lc3NhZ2U/OiBzdHJpbmcpOiB7IFtrZXk6IHN0cmluZ106IFJlcXVpcmVkQW5ub3RhdGlvbiB9IHtcbiAgcmV0dXJuIHsgcmVxdWlyZWQ6IHsgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6IG1lc3NhZ2UgfSB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGF0dGVybihyZWdleDogUmVnRXhwLCBtZXNzYWdlPzogc3RyaW5nKTogeyBba2V5OiBzdHJpbmddOiBQYXR0ZXJuQW5ub3RhdGlvbiB9IHtcbiAgcmV0dXJuIHsgcGF0dGVybjogeyBwYXR0ZXJuOiByZWdleCwgbWVzc2FnZTogbWVzc2FnZSB9IH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsZW5ndGgobGVuZ3RoOiBudW1iZXIsIG1lc3NhZ2U/OiBzdHJpbmcpOiB7IFtrZXk6IHN0cmluZ106IExlbmd0aEFubm90YXRpb24gfSB7XG4gIHJldHVybiB7IGxlbmd0aDogeyBsZW5ndGg6IGxlbmd0aCwgbWVzc2FnZTogbWVzc2FnZSB9IH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXhMZW5ndGgobWF4TGVuZ3RoOiBudW1iZXIsIG1lc3NhZ2U/OiBzdHJpbmcpOiB7IFtrZXk6IHN0cmluZ106IE1heExlbmd0aEFubm90YXRpb24gfSB7XG4gIHJldHVybiB7IG1heExlbmd0aDogeyBtYXhMZW5ndGg6IG1heExlbmd0aCwgbWVzc2FnZTogbWVzc2FnZSB9IH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtaW5MZW5ndGgobWluTGVuZ3RoOiBudW1iZXIsIG1lc3NhZ2U/OiBzdHJpbmcpOiB7IFtrZXk6IHN0cmluZ106IE1pbkxlbmd0aEFubm90YXRpb24gfSB7XG4gIHJldHVybiB7IG1pbkxlbmd0aDogeyBtaW5MZW5ndGg6IG1pbkxlbmd0aCwgbWVzc2FnZTogbWVzc2FnZSB9IH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvZlZhbHVlcyh2YWx1ZXM6IFtdLCBtZXNzYWdlPzogc3RyaW5nKTogeyBba2V5OiBzdHJpbmddOiBPZlZhbHVlc0Fubm90YXRpb24gfSB7XG4gIHJldHVybiB7IG9mVmFsdWVzOiB7IHZhbHVlczogdmFsdWVzLCBtZXNzYWdlOiBtZXNzYWdlIH0gfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVxdWFsczxUPih2YWx1ZTogVCwgbWVzc2FnZT86IHN0cmluZyk6IHsgW2tleTogc3RyaW5nXTogRXF1YWxzQW5ub3RhdGlvbjxUPiB9IHtcbiAgcmV0dXJuIHsgZXF1YWxzOiB7IGVxdWFsczogdmFsdWUsIG1lc3NhZ2U6IG1lc3NhZ2UgfSB9O1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQW5ub3RhdGlvblR5cGU8VD4ge1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgYW5ub3RhdGlvbnM/OiBUO1xufVxuXG5leHBvcnQgY2xhc3MgU3RyaW5nVHlwZTIgZXh0ZW5kcyBBbm5vdGF0aW9uVHlwZTxTdHJpbmdUeXBlQW5ub3RhdGlvbnM+IHtcbiAgcHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZyA9ICdTdHJpbmdUeXBlJztcbiAgcHVibGljIGFubm90YXRpb25zOiBTdHJpbmdUeXBlQW5ub3RhdGlvbnMgPSB7XG4gICAgY29uc3RyYWludFR5cGU6IENvbnN0cmFpbnRUeXBlLnN0cmluZywgLy8gVE9ET1xuICB9O1xuXG4gIHB1YmxpYyByZXF1aXJlZChtZXNzYWdlPzogc3RyaW5nKSB7XG4gICAgdGhpcy5hbm5vdGF0aW9ucy5yZXF1aXJlZCA9IHsgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6IG1lc3NhZ2UgfTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBwYXR0ZXJuKHBhdHRlcm46IFJlZ0V4cCwgbWVzc2FnZT86IHN0cmluZykge1xuICAgIHRoaXMuYW5ub3RhdGlvbnMucGF0dGVybiA9IHsgcGF0dGVybjogcGF0dGVybiwgbWVzc2FnZTogbWVzc2FnZSB9O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBCb29sZWFuVHlwZTIgZXh0ZW5kcyBBbm5vdGF0aW9uVHlwZTxCb29sZWFuVHlwZUFubm90YXRpb25zPiB7XG4gIHB1YmxpYyByZWFkb25seSBuYW1lOiBzdHJpbmcgPSAnQm9vbGVhblR5cGUnO1xuICBwdWJsaWMgYW5ub3RhdGlvbnM6IEJvb2xlYW5UeXBlQW5ub3RhdGlvbnMgPSB7XG4gICAgY29uc3RyYWludFR5cGU6IENvbnN0cmFpbnRUeXBlLmJvb2xlYW4sIC8vIFRPRE9cbiAgfTtcblxuICBwdWJsaWMgcmVxdWlyZWQobWVzc2FnZT86IHN0cmluZykge1xuICAgIHRoaXMuYW5ub3RhdGlvbnMucmVxdWlyZWQgPSB7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiBtZXNzYWdlIH07XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZXF1YWxzKHY6IGJvb2xlYW4sIG1lc3NhZ2U/OiBzdHJpbmcpIHtcbiAgICB0aGlzLmFubm90YXRpb25zLmVxdWFscyA9IHsgZXF1YWxzOiB2LCBtZXNzYWdlOiBtZXNzYWdlIH07XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0cmluZygpIHtcbiAgcmV0dXJuIG5ldyBTdHJpbmdUeXBlMigpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYm9vbGVhbigpIHtcbiAgcmV0dXJuIG5ldyBCb29sZWFuVHlwZTIoKTtcbn1cblxuZXhwb3J0IGNsYXNzIERhdGVUeXBlIGV4dGVuZHMgQW5ub3RhdGlvblR5cGU8RGF0ZVR5cGVBbm5vdGF0aW9ucz4ge1xuICBwdWJsaWMgcmVhZG9ubHkgbmFtZTogc3RyaW5nID0gJ0RhdGVUeXBlJztcbiAgcHVibGljIGFubm90YXRpb25zOiBEYXRlVHlwZUFubm90YXRpb25zID0ge1xuICAgIGNvbnN0cmFpbnRUeXBlOiBDb25zdHJhaW50VHlwZS5kYXRlLCAvLyBUT0RPXG4gIH07XG5cbiAgcHVibGljIHJlcXVpcmVkKG1lc3NhZ2U/OiBzdHJpbmcpIHtcbiAgICB0aGlzLmFubm90YXRpb25zLnJlcXVpcmVkID0geyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogbWVzc2FnZSB9O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIG1pbih2OiBEYXRlLCBtZXNzYWdlPzogc3RyaW5nKSB7XG4gICAgdGhpcy5hbm5vdGF0aW9ucy5taW4gPSB7IG1pbjogdiwgbWVzc2FnZTogbWVzc2FnZSB9O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIG1heCh2OiBEYXRlLCBtZXNzYWdlPzogc3RyaW5nKSB7XG4gICAgdGhpcy5hbm5vdGF0aW9ucy5tYXggPSB7IG1heDogdiwgbWVzc2FnZTogbWVzc2FnZSB9O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHRlc3QobmFtZTogc3RyaW5nLCB2OiAoZDogRGF0ZSkgPT4gYm9vbGVhbiwgbWVzc2FnZT86IHN0cmluZykge1xuICAgIHRoaXMuYW5ub3RhdGlvbnMudGVzdCA9IHsgbmFtZTogbmFtZSwgdGVzdDogdiwgbWVzc2FnZTogbWVzc2FnZSB9O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkYXRlKCkge1xuICByZXR1cm4gbmV3IERhdGVUeXBlKCk7XG59XG4iXX0=
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1hbm5vdGF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL211emllaGRlc2lnbi9mb3Jtcy9zcmMvbGliL3R5cGUtYW5ub3RhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxrQkFBa0IsQ0FBQztBQUUxQixNQUFNLFlBQVksR0FBRyxpQ0FBaUMsQ0FBQztBQUV2RCxNQUFNLENBQU4sSUFBWSxjQU1YO0FBTkQsV0FBWSxjQUFjO0lBQ3hCLHVEQUFNLENBQUE7SUFDTix5REFBTyxDQUFBO0lBQ1AsbURBQUksQ0FBQTtJQUNKLHVEQUFNLENBQUE7SUFDTix1REFBTSxDQUFBO0FBQ1IsQ0FBQyxFQU5XLGNBQWMsS0FBZCxjQUFjLFFBTXpCO0FBZ0ZELE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxNQUFjLEVBQUUsV0FBbUIsRUFBRSxVQUFpQyxFQUFFLEVBQUU7SUFDbEcsTUFBTSxRQUFRLEdBQXFCLE9BQU8sQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxJQUFJLElBQUksR0FBRyxFQUFlLENBQUM7SUFDdkcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDdEMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ3pELENBQUMsQ0FBQztBQUVGLE1BQU0sVUFBVSxVQUFVLENBQUMsR0FBRyxXQUFzRDtJQUNsRixPQUFPLFVBQVUsTUFBYyxFQUFFLFdBQW1CO1FBQ2xELE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEdBQUcsV0FBVyxDQUEwQixDQUFDO1FBQ3JFLENBQUMsQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQztRQUN6QyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lB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bkUsQ0FBQztBQUVELE1BQU0sVUFBVSxRQUFRLENBQUMsTUFBVSxFQUFFLE9BQWdCO0lBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDO0FBQzVELENBQUM7QUFFRCxNQUFNLFVBQVUsTUFBTSxDQUFJLEtBQVEsRUFBRSxPQUFnQjtJQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQztBQUN6RCxDQUFDO0FBRUQsTUFBTSxVQUFVLEdBQUcsQ0FBSSxLQUFRLEVBQUUsT0FBZ0I7SUFDL0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUM7QUFDbkQsQ0FBQztBQUVELE1BQU0sVUFBVSxHQUFHLENBQUksS0FBUSxFQUFFLE9BQWdCO0lBQy9DLE9BQU8sRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDO0FBQ25ELENBQUM7QUFFRCxNQUFNLFVBQVUsSUFBSSxDQUFJLElBQVksRUFBRSxJQUF1QixFQUFFLE9BQWdCO0lBQzdFLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUM7QUFDaEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAncmVmbGVjdC1tZXRhZGF0YSc7XG5cbmNvbnN0IE1FVEFEQVRBX0tFWSA9ICdjdXN0b206bXV6aWVoZGVzaWduOmFubm90YXRpb25zJztcblxuZXhwb3J0IGVudW0gQ29uc3RyYWludFR5cGUge1xuICBzdHJpbmcsXG4gIGJvb2xlYW4sXG4gIGRhdGUsXG4gIG9iamVjdCxcbiAgbnVtYmVyLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnN0cmFpbnRBbm5vdGF0aW9ucyB7XG4gIGNvbnN0cmFpbnRUeXBlOiBDb25zdHJhaW50VHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdHJpbmdUeXBlQW5ub3RhdGlvbnMgZXh0ZW5kcyBDb25zdHJhaW50QW5ub3RhdGlvbnMge1xuICByZXF1aXJlZD86IFJlcXVpcmVkQW5ub3RhdGlvbjtcbiAgbGVuZ3RoPzogTGVuZ3RoQW5ub3RhdGlvbjtcbiAgcGF0dGVybj86IFBhdHRlcm5Bbm5vdGF0aW9uO1xuICBtYXhMZW5ndGg/OiBNYXhMZW5ndGhBbm5vdGF0aW9uO1xuICBtaW5MZW5ndGg/OiBNaW5MZW5ndGhBbm5vdGF0aW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJvb2xlYW5UeXBlQW5ub3RhdGlvbnMgZXh0ZW5kcyBDb25zdHJhaW50QW5ub3RhdGlvbnMge1xuICByZXF1aXJlZD86IFJlcXVpcmVkQW5ub3RhdGlvbjtcbiAgZXF1YWxzPzogRXF1YWxzQW5ub3RhdGlvbjxib29sZWFuPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRlVHlwZUFubm90YXRpb25zIGV4dGVuZHMgQ29uc3RyYWludEFubm90YXRpb25zIHtcbiAgcmVxdWlyZWQ/OiBSZXF1aXJlZEFubm90YXRpb247XG4gIG1pbj86IE1pbmltdW1Bbm5vdGF0aW9uPERhdGU+O1xuICBtYXg/OiBNYXhpbXVtQW5ub3RhdGlvbjxEYXRlPjtcbiAgdGVzdD86IFRlc3RBbm5vdGF0aW9uPERhdGU+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9iamVjdFR5cGVBbm5vdGF0aW9ucyBleHRlbmRzIENvbnN0cmFpbnRBbm5vdGF0aW9ucyB7XG4gIHJlcXVpcmVkPzogUmVxdWlyZWRBbm5vdGF0aW9uO1xuICBnZXRJbnN0YW5jZTogKCkgPT4gYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE51bWJlclR5cGVBbm5vdGF0aW9ucyBleHRlbmRzIENvbnN0cmFpbnRBbm5vdGF0aW9ucyB7XG4gIHJlcXVpcmVkPzogUmVxdWlyZWRBbm5vdGF0aW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRpb25Bbm5vdGF0aW9uIHtcbiAgbWVzc2FnZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXF1aXJlZEFubm90YXRpb24gZXh0ZW5kcyBWYWxpZGF0aW9uQW5ub3RhdGlvbiB7XG4gIHJlcXVpcmVkOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExlbmd0aEFubm90YXRpb24gZXh0ZW5kcyBWYWxpZGF0aW9uQW5ub3RhdGlvbiB7XG4gIGxlbmd0aDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhdHRlcm5Bbm5vdGF0aW9uIGV4dGVuZHMgVmFsaWRhdGlvbkFubm90YXRpb24ge1xuICBwYXR0ZXJuOiBSZWdFeHA7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2ZWYWx1ZXNBbm5vdGF0aW9uIGV4dGVuZHMgVmFsaWRhdGlvbkFubm90YXRpb24ge1xuICB2YWx1ZXM6IFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVxdWFsc0Fubm90YXRpb248VD4gZXh0ZW5kcyBWYWxpZGF0aW9uQW5ub3RhdGlvbiB7XG4gIGVxdWFsczogVDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNaW5pbXVtQW5ub3RhdGlvbjxUPiBleHRlbmRzIFZhbGlkYXRpb25Bbm5vdGF0aW9uIHtcbiAgbWluOiBUO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1heGltdW1Bbm5vdGF0aW9uPFQ+IGV4dGVuZHMgVmFsaWRhdGlvbkFubm90YXRpb24ge1xuICBtYXg6IFQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGVzdEFubm90YXRpb248VD4gZXh0ZW5kcyBWYWxpZGF0aW9uQW5ub3RhdGlvbiB7XG4gIHRlc3Q6IChkOiBUKSA9PiBib29sZWFuO1xuICBuYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWF4TGVuZ3RoQW5ub3RhdGlvbiBleHRlbmRzIFZhbGlkYXRpb25Bbm5vdGF0aW9uIHtcbiAgbWF4TGVuZ3RoOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWluTGVuZ3RoQW5ub3RhdGlvbiBleHRlbmRzIFZhbGlkYXRpb25Bbm5vdGF0aW9uIHtcbiAgbWluTGVuZ3RoOiBudW1iZXI7XG59XG5cbmNvbnN0IHJlZ2lzdGVyTWV0YWRhdGEgPSAodGFyZ2V0OiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcsIGNvbnN0cmFpbnQ6IENvbnN0cmFpbnRBbm5vdGF0aW9ucykgPT4ge1xuICBjb25zdCBtZXRhZGF0YTogTWFwPHN0cmluZywgYW55PiA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoTUVUQURBVEFfS0VZLCB0YXJnZXQpIHx8IG5ldyBNYXA8c3RyaW5nLCBhbnk+KCk7XG4gIG1ldGFkYXRhLnNldChwcm9wZXJ0eUtleSwgY29uc3RyYWludCk7XG4gIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoTUVUQURBVEFfS0VZLCBtZXRhZGF0YSwgdGFyZ2V0KTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBTdHJpbmdUeXBlKC4uLmFubm90YXRpb25zOiB7IFtrZXk6IHN0cmluZ106IFZhbGlkYXRpb25Bbm5vdGF0aW9uIH1bXSkge1xuICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nKSB7XG4gICAgY29uc3QgbyA9IE9iamVjdC5hc3NpZ24oe30sIC4uLmFubm90YXRpb25zKSBhcyBTdHJpbmdUeXBlQW5ub3RhdGlvbnM7XG4gICAgby5jb25zdHJhaW50VHlwZSA9IENvbnN0cmFpbnRUeXBlLnN0cmluZztcbiAgICByZWdpc3Rlck1ldGFkYXRhKHRhcmdldCwgcHJvcGVydHlLZXksIG8pO1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQm9vbGVhblR5cGUoLi4uYW5ub3RhdGlvbnM6IHsgW2tleTogc3RyaW5nXTogVmFsaWRhdGlvbkFubm90YXRpb24gfVtdKSB7XG4gIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcpIHtcbiAgICBjb25zdCBvID0gT2JqZWN0LmFzc2lnbih7fSwgLi4uYW5ub3RhdGlvbnMpIGFzIEJvb2xlYW5UeXBlQW5ub3RhdGlvbnM7XG4gICAgby5jb25zdHJhaW50VHlwZSA9IENvbnN0cmFpbnRUeXBlLmJvb2xlYW47XG4gICAgcmVnaXN0ZXJNZXRhZGF0YSh0YXJnZXQsIHByb3BlcnR5S2V5LCBvKTtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIERhdGVUeXBlKC4uLmFubm90YXRpb25zOiB7IFtrZXk6IHN0cmluZ106IFZhbGlkYXRpb25Bbm5vdGF0aW9uIH1bXSkge1xuICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nKSB7XG4gICAgY29uc3QgbyA9IE9iamVjdC5hc3NpZ24oe30sIC4uLmFubm90YXRpb25zKSBhcyBEYXRlVHlwZUFubm90YXRpb25zO1xuICAgIG8uY29uc3RyYWludFR5cGUgPSBDb25zdHJhaW50VHlwZS5kYXRlO1xuICAgIHJlZ2lzdGVyTWV0YWRhdGEodGFyZ2V0LCBwcm9wZXJ0eUtleSwgbyk7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBOdW1iZXJUeXBlKC4uLmFubm90YXRpb25zOiB7IFtrZXk6IHN0cmluZ106IFZhbGlkYXRpb25Bbm5vdGF0aW9uIH1bXSkge1xuICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nKSB7XG4gICAgY29uc3QgbyA9IE9iamVjdC5hc3NpZ24oe30sIC4uLmFubm90YXRpb25zKSBhcyBOdW1iZXJUeXBlQW5ub3RhdGlvbnM7XG4gICAgby5jb25zdHJhaW50VHlwZSA9IENvbnN0cmFpbnRUeXBlLm51bWJlcjtcbiAgICByZWdpc3Rlck1ldGFkYXRhKHRhcmdldCwgcHJvcGVydHlLZXksIG8pO1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gT2JqZWN0VHlwZTxUPih0eXBlOiB7IG5ldyAoKTogVCB9LCAuLi5hbm5vdGF0aW9uczogeyBba2V5OiBzdHJpbmddOiBWYWxpZGF0aW9uQW5ub3RhdGlvbiB9W10pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IE9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZykge1xuICAgIGNvbnN0IG8gPSBPYmplY3QuYXNzaWduKHt9LCAuLi5hbm5vdGF0aW9ucywgeyBnZXRJbnN0YW5jZTogKCkgPT4gbmV3IHR5cGUoKSB9IGFzIFBhcnRpYWw8T2JqZWN0VHlwZUFubm90YXRpb25zPikgYXMgT2JqZWN0VHlwZUFubm90YXRpb25zO1xuICAgIG8uY29uc3RyYWludFR5cGUgPSBDb25zdHJhaW50VHlwZS5vYmplY3Q7XG4gICAgcmVnaXN0ZXJNZXRhZGF0YSh0YXJnZXQsIHByb3BlcnR5S2V5LCBvKTtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlcXVpcmVkKG1lc3NhZ2U/OiBzdHJpbmcpOiB7IFtrZXk6IHN0cmluZ106IFJlcXVpcmVkQW5ub3RhdGlvbiB9IHtcbiAgcmV0dXJuIHsgcmVxdWlyZWQ6IHsgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6IG1lc3NhZ2UgfSB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGF0dGVybihyZWdleDogUmVnRXhwLCBtZXNzYWdlPzogc3RyaW5nKTogeyBba2V5OiBzdHJpbmddOiBQYXR0ZXJuQW5ub3RhdGlvbiB9IHtcbiAgcmV0dXJuIHsgcGF0dGVybjogeyBwYXR0ZXJuOiByZWdleCwgbWVzc2FnZTogbWVzc2FnZSB9IH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsZW5ndGgobGVuZ3RoOiBudW1iZXIsIG1lc3NhZ2U/OiBzdHJpbmcpOiB7IFtrZXk6IHN0cmluZ106IExlbmd0aEFubm90YXRpb24gfSB7XG4gIHJldHVybiB7IGxlbmd0aDogeyBsZW5ndGg6IGxlbmd0aCwgbWVzc2FnZTogbWVzc2FnZSB9IH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXhMZW5ndGgobWF4TGVuZ3RoOiBudW1iZXIsIG1lc3NhZ2U/OiBzdHJpbmcpOiB7IFtrZXk6IHN0cmluZ106IE1heExlbmd0aEFubm90YXRpb24gfSB7XG4gIHJldHVybiB7IG1heExlbmd0aDogeyBtYXhMZW5ndGg6IG1heExlbmd0aCwgbWVzc2FnZTogbWVzc2FnZSB9IH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtaW5MZW5ndGgobWluTGVuZ3RoOiBudW1iZXIsIG1lc3NhZ2U/OiBzdHJpbmcpOiB7IFtrZXk6IHN0cmluZ106IE1pbkxlbmd0aEFubm90YXRpb24gfSB7XG4gIHJldHVybiB7IG1pbkxlbmd0aDogeyBtaW5MZW5ndGg6IG1pbkxlbmd0aCwgbWVzc2FnZTogbWVzc2FnZSB9IH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvZlZhbHVlcyh2YWx1ZXM6IFtdLCBtZXNzYWdlPzogc3RyaW5nKTogeyBba2V5OiBzdHJpbmddOiBPZlZhbHVlc0Fubm90YXRpb24gfSB7XG4gIHJldHVybiB7IG9mVmFsdWVzOiB7IHZhbHVlczogdmFsdWVzLCBtZXNzYWdlOiBtZXNzYWdlIH0gfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVxdWFsczxUPih2YWx1ZTogVCwgbWVzc2FnZT86IHN0cmluZyk6IHsgW2tleTogc3RyaW5nXTogRXF1YWxzQW5ub3RhdGlvbjxUPiB9IHtcbiAgcmV0dXJuIHsgZXF1YWxzOiB7IGVxdWFsczogdmFsdWUsIG1lc3NhZ2U6IG1lc3NhZ2UgfSB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWluPFQ+KHZhbHVlOiBULCBtZXNzYWdlPzogc3RyaW5nKTogeyBba2V5OiBzdHJpbmddOiBNaW5pbXVtQW5ub3RhdGlvbjxUPiB9IHtcbiAgcmV0dXJuIHsgbWluOiB7IG1pbjogdmFsdWUsIG1lc3NhZ2U6IG1lc3NhZ2UgfSB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWF4PFQ+KHZhbHVlOiBULCBtZXNzYWdlPzogc3RyaW5nKTogeyBba2V5OiBzdHJpbmddOiBNYXhpbXVtQW5ub3RhdGlvbjxUPiB9IHtcbiAgcmV0dXJuIHsgbWF4OiB7IG1heDogdmFsdWUsIG1lc3NhZ2U6IG1lc3NhZ2UgfSB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGVzdDxUPihuYW1lOiBzdHJpbmcsIHRlc3Q6IChkOiBUKSA9PiBib29sZWFuLCBtZXNzYWdlPzogc3RyaW5nKTogeyBba2V5OiBzdHJpbmddOiBUZXN0QW5ub3RhdGlvbjxUPiB9IHtcbiAgcmV0dXJuIHsgdGVzdDogeyBuYW1lOiBuYW1lLCB0ZXN0OiB0ZXN0LCBtZXNzYWdlOiBtZXNzYWdlIH0gfTtcbn1cbiJdfQ==
@@ -2,10 +2,13 @@
2
2
  * Public API Surface of forms
3
3
  */
4
4
  export * from './lib/field-error';
5
+ export * from './lib/model-state-result';
5
6
  export * from './lib/model-schema.factory';
6
7
  export * from './lib/model-validator';
7
8
  export * from './lib/type-annotations';
8
9
  export * from './lib/forms.module';
9
10
  export * from './lib/ng-form-model-state.service';
11
+ export * from './lib/ngform-model-state';
10
12
  export * from './lib/field-errors/field-errors.component';
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL211emllaGRlc2lnbi9mb3Jtcy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsMkNBQTJDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGZvcm1zXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkLWVycm9yJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVsLXNjaGVtYS5mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVsLXZhbGlkYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90eXBlLWFubm90YXRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm1zLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZy1mb3JtLW1vZGVsLXN0YXRlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGQtZXJyb3JzL2ZpZWxkLWVycm9ycy5jb21wb25lbnQnO1xuIl19
13
+ export * from './lib/masks';
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL211emllaGRlc2lnbi9mb3Jtcy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBmb3Jtc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZC1lcnJvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbC1zdGF0ZS1yZXN1bHQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWwtc2NoZW1hLmZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWwtdmFsaWRhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3R5cGUtYW5ub3RhdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybXMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25nLWZvcm0tbW9kZWwtc3RhdGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZ2Zvcm0tbW9kZWwtc3RhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGQtZXJyb3JzL2ZpZWxkLWVycm9ycy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWFza3MnOyJdfQ==