@apipass/schemas 0.1.6-alpha.2

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.
Files changed (53) hide show
  1. package/README.md +33 -0
  2. package/apipass-schemas.d.ts +5 -0
  3. package/assets/css/buttons.scss +112 -0
  4. package/assets/css/colors.scss +34 -0
  5. package/assets/css/fonts.scss +24 -0
  6. package/assets/css/inputs.scss +197 -0
  7. package/assets/css/pt_sans.scss +144 -0
  8. package/assets/css/spacing.scss +28 -0
  9. package/assets/css/texts.scss +18 -0
  10. package/base-schema.component.d.ts +11 -0
  11. package/bundles/apipass-schemas.umd.js +2004 -0
  12. package/bundles/apipass-schemas.umd.js.map +1 -0
  13. package/bundles/apipass-schemas.umd.min.js +16 -0
  14. package/bundles/apipass-schemas.umd.min.js.map +1 -0
  15. package/esm2015/apipass-schemas.js +5 -0
  16. package/esm2015/base-schema.component.js +30 -0
  17. package/esm2015/public-api.js +17 -0
  18. package/esm2015/schema-custom-attributes/schema-custom-attributes.js +177 -0
  19. package/esm2015/schema-fields.service.js +77 -0
  20. package/esm2015/schema-form/schema-array/array-session/array-session.js +158 -0
  21. package/esm2015/schema-form/schema-array/schema-array.js +195 -0
  22. package/esm2015/schema-form/schema-form.js +72 -0
  23. package/esm2015/schema-form/schema-input/field-render/field-render.js +72 -0
  24. package/esm2015/schema-form/schema-input/input-render/boolean-input/boolean-input.component.js +45 -0
  25. package/esm2015/schema-form/schema-input/input-render/input-render.js +136 -0
  26. package/esm2015/schema-form/schema-input/input-render/number-input/number-input.component.js +43 -0
  27. package/esm2015/schema-form/schema-input/schema-input.js +98 -0
  28. package/esm2015/schema-form/schema-object/schema-object.js +94 -0
  29. package/esm2015/schema-form-render.js +96 -0
  30. package/esm2015/schema-form-render.module.js +121 -0
  31. package/esm2015/schema-validation-field.js +15 -0
  32. package/esm2015/struct.utils.js +9 -0
  33. package/esm2015/type-script-compile.js +77 -0
  34. package/fesm2015/apipass-schemas.js +1420 -0
  35. package/fesm2015/apipass-schemas.js.map +1 -0
  36. package/package.json +27 -0
  37. package/public-api.d.ts +16 -0
  38. package/schema-custom-attributes/schema-custom-attributes.d.ts +15 -0
  39. package/schema-fields.service.d.ts +12 -0
  40. package/schema-form/schema-array/array-session/array-session.d.ts +17 -0
  41. package/schema-form/schema-array/schema-array.d.ts +18 -0
  42. package/schema-form/schema-form.d.ts +17 -0
  43. package/schema-form/schema-input/field-render/field-render.d.ts +15 -0
  44. package/schema-form/schema-input/input-render/boolean-input/boolean-input.component.d.ts +13 -0
  45. package/schema-form/schema-input/input-render/input-render.d.ts +19 -0
  46. package/schema-form/schema-input/input-render/number-input/number-input.component.d.ts +13 -0
  47. package/schema-form/schema-input/schema-input.d.ts +14 -0
  48. package/schema-form/schema-object/schema-object.d.ts +20 -0
  49. package/schema-form-render.d.ts +17 -0
  50. package/schema-form-render.module.d.ts +22 -0
  51. package/schema-validation-field.d.ts +17 -0
  52. package/struct.utils.d.ts +1 -0
  53. package/type-script-compile.d.ts +10 -0
@@ -0,0 +1,121 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { TranslateModule } from '@ngx-translate/core';
5
+ import { SchemaArrayComponent } from './schema-form/schema-array/schema-array';
6
+ import { SchemaInputComponent } from './schema-form/schema-input/schema-input';
7
+ import { FieldRenderComponent } from './schema-form/schema-input/field-render/field-render';
8
+ import { SchemaObjectComponent } from './schema-form/schema-object/schema-object';
9
+ import { ArraySessionComponent } from './schema-form/schema-array/array-session/array-session';
10
+ import { InputRenderComponent } from './schema-form/schema-input/input-render/input-render';
11
+ import { SchemaFieldsService } from './schema-fields.service';
12
+ import { SchemaFormComponent } from './schema-form/schema-form';
13
+ import { SchemaCustomAttributesComponent } from './schema-custom-attributes/schema-custom-attributes';
14
+ import { BooleanInputComponent } from './schema-form/schema-input/input-render/boolean-input/boolean-input.component';
15
+ import { NumberInputComponent } from './schema-form/schema-input/input-render/number-input/number-input.component';
16
+ import { DndModule } from 'ngx-drag-drop';
17
+ import { MatTooltipModule } from '@angular/material/tooltip';
18
+ import { SchemaFormRenderComponent } from './schema-form-render';
19
+ import { InputsModule } from '@apipass/inputs';
20
+ import * as i0 from "@angular/core";
21
+ import * as i1 from "@angular/common";
22
+ import * as i2 from "ngx-drag-drop";
23
+ import * as i3 from "@angular/forms";
24
+ import * as i4 from "@angular/material/tooltip";
25
+ import * as i5 from "@angular/cdk/bidi";
26
+ import * as i6 from "@angular/cdk/scrolling";
27
+ import * as i7 from "@ngx-translate/core";
28
+ import * as i8 from "@apipass/inputs";
29
+ export class SchemaFormRenderModule {
30
+ }
31
+ SchemaFormRenderModule.ɵmod = i0.ɵɵdefineNgModule({ type: SchemaFormRenderModule });
32
+ SchemaFormRenderModule.ɵinj = i0.ɵɵdefineInjector({ factory: function SchemaFormRenderModule_Factory(t) { return new (t || SchemaFormRenderModule)(); }, providers: [
33
+ SchemaFieldsService
34
+ ], imports: [[
35
+ CommonModule,
36
+ DndModule,
37
+ FormsModule,
38
+ MatTooltipModule,
39
+ TranslateModule,
40
+ InputsModule
41
+ ]] });
42
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(SchemaFormRenderModule, { declarations: [ArraySessionComponent,
43
+ SchemaArrayComponent,
44
+ FieldRenderComponent,
45
+ InputRenderComponent,
46
+ BooleanInputComponent,
47
+ NumberInputComponent,
48
+ SchemaInputComponent,
49
+ SchemaObjectComponent,
50
+ SchemaFormRenderComponent,
51
+ SchemaFormComponent,
52
+ SchemaCustomAttributesComponent], imports: [CommonModule,
53
+ DndModule,
54
+ FormsModule,
55
+ MatTooltipModule,
56
+ TranslateModule,
57
+ InputsModule], exports: [ArraySessionComponent,
58
+ SchemaArrayComponent,
59
+ FieldRenderComponent,
60
+ InputRenderComponent,
61
+ BooleanInputComponent,
62
+ NumberInputComponent,
63
+ SchemaInputComponent,
64
+ SchemaObjectComponent,
65
+ SchemaFormRenderComponent,
66
+ SchemaFormComponent,
67
+ SchemaCustomAttributesComponent] }); })();
68
+ /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(SchemaFormRenderModule, [{
69
+ type: NgModule,
70
+ args: [{
71
+ imports: [
72
+ CommonModule,
73
+ DndModule,
74
+ FormsModule,
75
+ MatTooltipModule,
76
+ TranslateModule,
77
+ InputsModule
78
+ ],
79
+ declarations: [
80
+ ArraySessionComponent,
81
+ SchemaArrayComponent,
82
+ FieldRenderComponent,
83
+ InputRenderComponent,
84
+ BooleanInputComponent,
85
+ NumberInputComponent,
86
+ SchemaInputComponent,
87
+ SchemaObjectComponent,
88
+ SchemaFormRenderComponent,
89
+ SchemaFormComponent,
90
+ SchemaCustomAttributesComponent
91
+ ],
92
+ exports: [
93
+ ArraySessionComponent,
94
+ SchemaArrayComponent,
95
+ FieldRenderComponent,
96
+ InputRenderComponent,
97
+ BooleanInputComponent,
98
+ NumberInputComponent,
99
+ SchemaInputComponent,
100
+ SchemaObjectComponent,
101
+ SchemaFormRenderComponent,
102
+ SchemaFormComponent,
103
+ SchemaCustomAttributesComponent
104
+ ],
105
+ providers: [
106
+ SchemaFieldsService
107
+ ]
108
+ }]
109
+ }], null, null); })();
110
+ i0.ɵɵsetComponentScope(SchemaFormComponent, [i1.NgClass, i1.NgComponentOutlet, i1.NgForOf, i1.NgIf, i1.NgTemplateOutlet, i1.NgStyle, i1.NgSwitch, i1.NgSwitchCase, i1.NgSwitchDefault, i1.NgPlural, i1.NgPluralCase, i2.DndDraggableDirective, i2.DndDropzoneDirective, i2.DndHandleDirective, i2.DndPlaceholderRefDirective, i2.DndDragImageRefDirective, i3.ɵangular_packages_forms_forms_y, i3.NgSelectOption, i3.ɵangular_packages_forms_forms_x, i3.DefaultValueAccessor, i3.NumberValueAccessor, i3.RangeValueAccessor, i3.CheckboxControlValueAccessor, i3.SelectControlValueAccessor, i3.SelectMultipleControlValueAccessor, i3.RadioControlValueAccessor, i3.NgControlStatus, i3.NgControlStatusGroup, i3.RequiredValidator, i3.MinLengthValidator, i3.MaxLengthValidator, i3.PatternValidator, i3.CheckboxRequiredValidator, i3.EmailValidator, i3.NgModel, i3.NgModelGroup, i3.NgForm, i4.MatTooltip, i4.TooltipComponent, i5.Dir, i6.CdkScrollable, i7.TranslateDirective, i8.SelectBoxComponent, i8.SelectEnumComponent, i8.InputTextComponent, i8.InputPasswordComponent, i8.InputAvatarComponent, i8.InputFileComponent, i8.CustomSelectComponent, i8.FieldComponent, ArraySessionComponent,
111
+ SchemaArrayComponent,
112
+ FieldRenderComponent,
113
+ InputRenderComponent,
114
+ BooleanInputComponent,
115
+ NumberInputComponent,
116
+ SchemaInputComponent,
117
+ SchemaObjectComponent,
118
+ SchemaFormRenderComponent,
119
+ SchemaFormComponent,
120
+ SchemaCustomAttributesComponent], [i1.AsyncPipe, i1.UpperCasePipe, i1.LowerCasePipe, i1.JsonPipe, i1.SlicePipe, i1.DecimalPipe, i1.PercentPipe, i1.TitleCasePipe, i1.CurrencyPipe, i1.DatePipe, i1.I18nPluralPipe, i1.I18nSelectPipe, i1.KeyValuePipe, i7.TranslatePipe]);
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLWZvcm0tcmVuZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3NjaGVtYXMvc3JjL3NjaGVtYS1mb3JtLXJlbmRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUMxRixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUNoRixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUM3RixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUMxRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUNwRyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwrRUFBK0UsQ0FBQztBQUNwSCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw2RUFBNkUsQ0FBQztBQUNqSCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7OztBQXlDN0MsTUFBTSxPQUFPLHNCQUFzQjs7MERBQXRCLHNCQUFzQjsySEFBdEIsc0JBQXNCLG1CQUp0QjtRQUNULG1CQUFtQjtLQUNwQixZQXBDUTtZQUNQLFlBQVk7WUFDWixTQUFTO1lBQ1QsV0FBVztZQUNYLGdCQUFnQjtZQUNoQixlQUFlO1lBQ2YsWUFBWTtTQUNiO3dGQStCVSxzQkFBc0IsbUJBN0IvQixxQkFBcUI7UUFDckIsb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQixvQkFBb0I7UUFDcEIscUJBQXFCO1FBQ3JCLG9CQUFvQjtRQUNwQixvQkFBb0I7UUFDcEIscUJBQXFCO1FBQ3JCLHlCQUF5QjtRQUN6QixtQkFBbUI7UUFDbkIsK0JBQStCLGFBbEIvQixZQUFZO1FBQ1osU0FBUztRQUNULFdBQVc7UUFDWCxnQkFBZ0I7UUFDaEIsZUFBZTtRQUNmLFlBQVksYUFnQloscUJBQXFCO1FBQ3JCLG9CQUFvQjtRQUNwQixvQkFBb0I7UUFDcEIsb0JBQW9CO1FBQ3BCLHFCQUFxQjtRQUNyQixvQkFBb0I7UUFDcEIsb0JBQW9CO1FBQ3BCLHFCQUFxQjtRQUNyQix5QkFBeUI7UUFDekIsbUJBQW1CO1FBQ25CLCtCQUErQjtrREFNdEIsc0JBQXNCO2NBdkNsQyxRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osU0FBUztvQkFDVCxXQUFXO29CQUNYLGdCQUFnQjtvQkFDaEIsZUFBZTtvQkFDZixZQUFZO2lCQUNiO2dCQUNELFlBQVksRUFBRTtvQkFDWixxQkFBcUI7b0JBQ3JCLG9CQUFvQjtvQkFDcEIsb0JBQW9CO29CQUNwQixvQkFBb0I7b0JBQ3BCLHFCQUFxQjtvQkFDckIsb0JBQW9CO29CQUNwQixvQkFBb0I7b0JBQ3BCLHFCQUFxQjtvQkFDckIseUJBQXlCO29CQUN6QixtQkFBbUI7b0JBQ25CLCtCQUErQjtpQkFDaEM7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHFCQUFxQjtvQkFDckIsb0JBQW9CO29CQUNwQixvQkFBb0I7b0JBQ3BCLG9CQUFvQjtvQkFDcEIscUJBQXFCO29CQUNyQixvQkFBb0I7b0JBQ3BCLG9CQUFvQjtvQkFDcEIscUJBQXFCO29CQUNyQix5QkFBeUI7b0JBQ3pCLG1CQUFtQjtvQkFDbkIsK0JBQStCO2lCQUNoQztnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsbUJBQW1CO2lCQUNwQjthQUNGOzt1QkFuQkcsbUJBQW1CLDJrQ0FUbkIscUJBQXFCO0lBQ3JCLG9CQUFvQjtJQUNwQixvQkFBb0I7SUFDcEIsb0JBQW9CO0lBQ3BCLHFCQUFxQjtJQUNyQixvQkFBb0I7SUFDcEIsb0JBQW9CO0lBQ3BCLHFCQUFxQjtJQUNyQix5QkFBeUI7SUFDekIsbUJBQW1CO0lBQ25CLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1NjaGVtYUFycmF5Q29tcG9uZW50fSBmcm9tICcuL3NjaGVtYS1mb3JtL3NjaGVtYS1hcnJheS9zY2hlbWEtYXJyYXknO1xuaW1wb3J0IHtTY2hlbWFJbnB1dENvbXBvbmVudH0gZnJvbSAnLi9zY2hlbWEtZm9ybS9zY2hlbWEtaW5wdXQvc2NoZW1hLWlucHV0JztcbmltcG9ydCB7RmllbGRSZW5kZXJDb21wb25lbnR9IGZyb20gJy4vc2NoZW1hLWZvcm0vc2NoZW1hLWlucHV0L2ZpZWxkLXJlbmRlci9maWVsZC1yZW5kZXInO1xuaW1wb3J0IHtTY2hlbWFPYmplY3RDb21wb25lbnR9IGZyb20gJy4vc2NoZW1hLWZvcm0vc2NoZW1hLW9iamVjdC9zY2hlbWEtb2JqZWN0JztcbmltcG9ydCB7QXJyYXlTZXNzaW9uQ29tcG9uZW50fSBmcm9tICcuL3NjaGVtYS1mb3JtL3NjaGVtYS1hcnJheS9hcnJheS1zZXNzaW9uL2FycmF5LXNlc3Npb24nO1xuaW1wb3J0IHtJbnB1dFJlbmRlckNvbXBvbmVudH0gZnJvbSAnLi9zY2hlbWEtZm9ybS9zY2hlbWEtaW5wdXQvaW5wdXQtcmVuZGVyL2lucHV0LXJlbmRlcic7XG5pbXBvcnQge1NjaGVtYUZpZWxkc1NlcnZpY2V9IGZyb20gJy4vc2NoZW1hLWZpZWxkcy5zZXJ2aWNlJztcbmltcG9ydCB7U2NoZW1hRm9ybUNvbXBvbmVudH0gZnJvbSAnLi9zY2hlbWEtZm9ybS9zY2hlbWEtZm9ybSc7XG5pbXBvcnQge1NjaGVtYUN1c3RvbUF0dHJpYnV0ZXNDb21wb25lbnR9IGZyb20gJy4vc2NoZW1hLWN1c3RvbS1hdHRyaWJ1dGVzL3NjaGVtYS1jdXN0b20tYXR0cmlidXRlcyc7XG5pbXBvcnQge0Jvb2xlYW5JbnB1dENvbXBvbmVudH0gZnJvbSAnLi9zY2hlbWEtZm9ybS9zY2hlbWEtaW5wdXQvaW5wdXQtcmVuZGVyL2Jvb2xlYW4taW5wdXQvYm9vbGVhbi1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHtOdW1iZXJJbnB1dENvbXBvbmVudH0gZnJvbSAnLi9zY2hlbWEtZm9ybS9zY2hlbWEtaW5wdXQvaW5wdXQtcmVuZGVyL251bWJlci1pbnB1dC9udW1iZXItaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7RG5kTW9kdWxlfSBmcm9tICduZ3gtZHJhZy1kcm9wJztcbmltcG9ydCB7TWF0VG9vbHRpcE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQge1NjaGVtYUZvcm1SZW5kZXJDb21wb25lbnR9IGZyb20gJy4vc2NoZW1hLWZvcm0tcmVuZGVyJztcbmltcG9ydCB7SW5wdXRzTW9kdWxlfSBmcm9tICdAYXBpcGFzcy9pbnB1dHMnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIERuZE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBJbnB1dHNNb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQXJyYXlTZXNzaW9uQ29tcG9uZW50LFxuICAgIFNjaGVtYUFycmF5Q29tcG9uZW50LFxuICAgIEZpZWxkUmVuZGVyQ29tcG9uZW50LFxuICAgIElucHV0UmVuZGVyQ29tcG9uZW50LFxuICAgIEJvb2xlYW5JbnB1dENvbXBvbmVudCxcbiAgICBOdW1iZXJJbnB1dENvbXBvbmVudCxcbiAgICBTY2hlbWFJbnB1dENvbXBvbmVudCxcbiAgICBTY2hlbWFPYmplY3RDb21wb25lbnQsXG4gICAgU2NoZW1hRm9ybVJlbmRlckNvbXBvbmVudCxcbiAgICBTY2hlbWFGb3JtQ29tcG9uZW50LFxuICAgIFNjaGVtYUN1c3RvbUF0dHJpYnV0ZXNDb21wb25lbnRcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEFycmF5U2Vzc2lvbkNvbXBvbmVudCxcbiAgICBTY2hlbWFBcnJheUNvbXBvbmVudCxcbiAgICBGaWVsZFJlbmRlckNvbXBvbmVudCxcbiAgICBJbnB1dFJlbmRlckNvbXBvbmVudCxcbiAgICBCb29sZWFuSW5wdXRDb21wb25lbnQsXG4gICAgTnVtYmVySW5wdXRDb21wb25lbnQsXG4gICAgU2NoZW1hSW5wdXRDb21wb25lbnQsXG4gICAgU2NoZW1hT2JqZWN0Q29tcG9uZW50LFxuICAgIFNjaGVtYUZvcm1SZW5kZXJDb21wb25lbnQsXG4gICAgU2NoZW1hRm9ybUNvbXBvbmVudCxcbiAgICBTY2hlbWFDdXN0b21BdHRyaWJ1dGVzQ29tcG9uZW50XG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIFNjaGVtYUZpZWxkc1NlcnZpY2VcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTY2hlbWFGb3JtUmVuZGVyTW9kdWxlIHtcbn1cbiJdfQ==
@@ -0,0 +1,15 @@
1
+ export class SchemaValidationField {
2
+ constructor(emptyFields, invalidMinLengthFields, invalidMaxLengthFields) {
3
+ this.emptyFields = emptyFields;
4
+ this.invalidMinLengthFields = invalidMinLengthFields;
5
+ this.invalidMaxLengthFields = invalidMaxLengthFields;
6
+ }
7
+ isValidSchemaFields() {
8
+ var _a, _b, _c;
9
+ return ((_a = this.emptyFields) === null || _a === void 0 ? void 0 : _a.length) < 1 && ((_b = this.invalidMinLengthFields) === null || _b === void 0 ? void 0 : _b.length) < 1 && ((_c = this.invalidMaxLengthFields) === null || _c === void 0 ? void 0 : _c.length) < 1;
10
+ }
11
+ isInvalidSchemaFields() {
12
+ return !this.isValidSchemaFields();
13
+ }
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLXZhbGlkYXRpb24tZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9zY2hlbWFzL3NyYy9zY2hlbWEtdmFsaWRhdGlvbi1maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSxNQUFNLE9BQU8scUJBQXFCO0lBT2hDLFlBQVksV0FBNEIsRUFBRSxzQkFBdUMsRUFBRSxzQkFBdUM7UUFDeEgsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLHNCQUFzQixHQUFHLHNCQUFzQixDQUFDO1FBQ3JELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxzQkFBc0IsQ0FBQztJQUN2RCxDQUFDO0lBRUQsbUJBQW1COztRQUNqQixPQUFPLE9BQUEsSUFBSSxDQUFDLFdBQVcsMENBQUUsTUFBTSxJQUFHLENBQUMsSUFBSSxPQUFBLElBQUksQ0FBQyxzQkFBc0IsMENBQUUsTUFBTSxJQUFHLENBQUMsSUFBSSxPQUFBLElBQUksQ0FBQyxzQkFBc0IsMENBQUUsTUFBTSxJQUFHLENBQUMsQ0FBQztJQUM1SCxDQUFDO0lBRUQscUJBQXFCO1FBQ25CLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBTdHJ1Y3RGaWVsZFR5cGUgPSBBcnJheTx7XG4gIHRpdGxlPzogc3RyaW5nLFxuICBpZDogc3RyaW5nLFxuICBkZXNjcmlwdGlvbj86IHN0cmluZyxcbiAgcHJvcGVydHlPcmRlcj86IG51bWJlcixcbiAgbWluTGVuZ3RoPzogbnVtYmVyLFxuICBtYXhMZW5ndGg/OiBudW1iZXJcbn0+O1xuXG5leHBvcnQgY2xhc3MgU2NoZW1hVmFsaWRhdGlvbkZpZWxkIHtcblxuICBlbXB0eUZpZWxkczogU3RydWN0RmllbGRUeXBlO1xuICBpbnZhbGlkTWluTGVuZ3RoRmllbGRzOiBTdHJ1Y3RGaWVsZFR5cGU7XG4gIGludmFsaWRNYXhMZW5ndGhGaWVsZHM6IFN0cnVjdEZpZWxkVHlwZTtcbiAgdmFsaWRhdGlvbkVycm9yc0xhYmVsOiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihlbXB0eUZpZWxkczogU3RydWN0RmllbGRUeXBlLCBpbnZhbGlkTWluTGVuZ3RoRmllbGRzOiBTdHJ1Y3RGaWVsZFR5cGUsIGludmFsaWRNYXhMZW5ndGhGaWVsZHM6IFN0cnVjdEZpZWxkVHlwZSkge1xuICAgIHRoaXMuZW1wdHlGaWVsZHMgPSBlbXB0eUZpZWxkcztcbiAgICB0aGlzLmludmFsaWRNaW5MZW5ndGhGaWVsZHMgPSBpbnZhbGlkTWluTGVuZ3RoRmllbGRzO1xuICAgIHRoaXMuaW52YWxpZE1heExlbmd0aEZpZWxkcyA9IGludmFsaWRNYXhMZW5ndGhGaWVsZHM7XG4gIH1cblxuICBpc1ZhbGlkU2NoZW1hRmllbGRzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVtcHR5RmllbGRzPy5sZW5ndGggPCAxICYmIHRoaXMuaW52YWxpZE1pbkxlbmd0aEZpZWxkcz8ubGVuZ3RoIDwgMSAmJiB0aGlzLmludmFsaWRNYXhMZW5ndGhGaWVsZHM/Lmxlbmd0aCA8IDE7XG4gIH1cblxuICBpc0ludmFsaWRTY2hlbWFGaWVsZHMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmlzVmFsaWRTY2hlbWFGaWVsZHMoKTtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,9 @@
1
+ export function onDropStruct(event, attr) {
2
+ const data = event.data;
3
+ if (!attr) {
4
+ attr = '';
5
+ }
6
+ attr += `{{${data}}}`;
7
+ return attr;
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RydWN0LnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvc2NoZW1hcy9zcmMvc3RydWN0LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxZQUFZLENBQUMsS0FBVSxFQUFFLElBQVM7SUFDaEQsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztJQUN4QixJQUFJLENBQUMsSUFBSSxFQUFFO1FBQ1QsSUFBSSxHQUFHLEVBQUUsQ0FBQztLQUNYO0lBQ0QsSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUM7SUFDdEIsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIG9uRHJvcFN0cnVjdChldmVudDogYW55LCBhdHRyOiBhbnkpOiBhbnkge1xuICBjb25zdCBkYXRhID0gZXZlbnQuZGF0YTtcbiAgaWYgKCFhdHRyKSB7XG4gICAgYXR0ciA9ICcnO1xuICB9XG4gIGF0dHIgKz0gYHt7JHtkYXRhfX19YDtcbiAgcmV0dXJuIGF0dHI7XG59XG4iXX0=
@@ -0,0 +1,77 @@
1
+ import { FormControl, Validators } from '@angular/forms';
2
+ export class TypeScriptCompile {
3
+ static addItemToFormProperties(formProperties, item, key) {
4
+ if (item.minLength && item.minLength > 0) {
5
+ formProperties[key] = new FormControl([null, [Validators.required]]);
6
+ }
7
+ else {
8
+ formProperties[key] = new FormControl([null]);
9
+ }
10
+ }
11
+ static compileProperties(input) {
12
+ const compiledProperties = [];
13
+ const formProperties = {};
14
+ let inputData = {};
15
+ const inputToCompile = JSON.parse(JSON.stringify(input));
16
+ if (inputToCompile.properties) {
17
+ if (inputToCompile.type === 'array') {
18
+ inputData = [];
19
+ }
20
+ if (inputToCompile.type === 'object') {
21
+ inputData = {};
22
+ }
23
+ inputToCompile.id = 'inputData';
24
+ this.proccessProperties(inputToCompile, formProperties, 'inputData');
25
+ compiledProperties.push(inputToCompile);
26
+ }
27
+ else if (inputToCompile.type === 'array') {
28
+ inputToCompile.id = 'inputData';
29
+ inputData = [];
30
+ TypeScriptCompile.addItemToFormProperties(formProperties, inputToCompile, 'inputData');
31
+ compiledProperties.push(inputToCompile);
32
+ }
33
+ else if (!inputToCompile.type) {
34
+ for (let index = 0; index < Object.keys(inputToCompile).length; index++) {
35
+ const key = Object.keys(inputToCompile)[index];
36
+ const item = inputToCompile[key];
37
+ item.id = key;
38
+ if (item.type === 'array') {
39
+ inputData[item.id] = [];
40
+ }
41
+ if (item.type === 'object') {
42
+ inputData[item.id] = {};
43
+ }
44
+ this.proccessProperties(item, formProperties, key);
45
+ compiledProperties.push(item);
46
+ }
47
+ }
48
+ compiledProperties.sort((a, b) => a.propertyOrder - b.propertyOrder);
49
+ return { compiledProperties, formProperties, inputData };
50
+ }
51
+ static proccessProperties(item, formProperties, key) {
52
+ if (this.hasProperties(item)) {
53
+ const arFieldsChild = [];
54
+ for (let indexChild = 0; indexChild < Object.keys(item.properties).length; indexChild++) {
55
+ const keyChild = Object.keys(item.properties)[indexChild];
56
+ const itemChild = item.properties[keyChild];
57
+ itemChild.id = keyChild;
58
+ if (this.hasProperties(itemChild)) {
59
+ this.proccessProperties(itemChild, formProperties, keyChild);
60
+ arFieldsChild.push(itemChild);
61
+ }
62
+ else {
63
+ TypeScriptCompile.addItemToFormProperties(formProperties, itemChild, keyChild);
64
+ arFieldsChild.push(itemChild);
65
+ }
66
+ }
67
+ item.properties = arFieldsChild;
68
+ }
69
+ else {
70
+ TypeScriptCompile.addItemToFormProperties(formProperties, item, key);
71
+ }
72
+ }
73
+ static hasProperties(item) {
74
+ return item.type === 'object' || (item.type === 'array' && item.properties);
75
+ }
76
+ }
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1zY3JpcHQtY29tcGlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3NjaGVtYXMvc3JjL3R5cGUtc2NyaXB0LWNvbXBpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RCxNQUFNLE9BQU8saUJBQWlCO0lBRXBCLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxjQUFtQixFQUFFLElBQVMsRUFBRSxHQUFXO1FBQ2hGLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsRUFBRTtZQUN4QyxjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxXQUFXLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3RFO2FBQU07WUFDTCxjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQy9DO0lBQ0gsQ0FBQztJQUVNLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFVO1FBS3hDLE1BQU0sa0JBQWtCLEdBQUcsRUFBRSxDQUFDO1FBQzlCLE1BQU0sY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUMxQixJQUFJLFNBQVMsR0FBUSxFQUFFLENBQUM7UUFDeEIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDekQsSUFBSSxjQUFjLENBQUMsVUFBVSxFQUFFO1lBQzdCLElBQUksY0FBYyxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7Z0JBQ25DLFNBQVMsR0FBRyxFQUFFLENBQUM7YUFDaEI7WUFDRCxJQUFJLGNBQWMsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO2dCQUNwQyxT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LFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztvQkFDL0UsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztpQkFDL0I7YUFDRjtZQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDO1NBQ2pDO2FBQU07WUFDTCxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxjQUFjLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ3RFO0lBQ0gsQ0FBQztJQUVPLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBUztRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxPQUFPLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzlFLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Rm9ybUNvbnRyb2wsIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuZXhwb3J0IGNsYXNzIFR5cGVTY3JpcHRDb21waWxlIHtcblxuICBwcml2YXRlIHN0YXRpYyBhZGRJdGVtVG9Gb3JtUHJvcGVydGllcyhmb3JtUHJvcGVydGllczogYW55LCBpdGVtOiBhbnksIGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGl0ZW0ubWluTGVuZ3RoICYmIGl0ZW0ubWluTGVuZ3RoID4gMCkge1xuICAgICAgZm9ybVByb3BlcnRpZXNba2V5XSA9IG5ldyBGb3JtQ29udHJvbChbbnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvcm1Qcm9wZXJ0aWVzW2tleV0gPSBuZXcgRm9ybUNvbnRyb2woW251bGxdKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGNvbXBpbGVQcm9wZXJ0aWVzKGlucHV0OiBhbnkpOiB7XG4gICAgY29tcGlsZWRQcm9wZXJ0aWVzOiBhbnksXG4gICAgZm9ybVByb3BlcnRpZXM6IGFueSxcbiAgICBpbnB1dERhdGE6IGFueVxuICB9IHtcbiAgICBjb25zdCBjb21waWxlZFByb3BlcnRpZXMgPSBbXTtcbiAgICBjb25zdCBmb3JtUHJvcGVydGllcyA9IHt9O1xuICAgIGxldCBpbnB1dERhdGE6IGFueSA9IHt9O1xuICAgIGNvbnN0IGlucHV0VG9Db21waWxlID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShpbnB1dCkpO1xuICAgIGlmIChpbnB1dFRvQ29tcGlsZS5wcm9wZXJ0aWVzKSB7XG4gICAgICBpZiAoaW5wdXRUb0NvbXBpbGUudHlwZSA9PT0gJ2FycmF5Jykge1xuICAgICAgICBpbnB1dERhdGEgPSBbXTtcbiAgICAgIH1cbiAgICAgIGlmIChpbnB1dFRvQ29tcGlsZS50eXBlID09PSAnb2JqZWN0Jykge1xuICAgICAgICBpbnB1dERhdGEgPSB7fTtcbiAgICAgIH1cbiAgICAgIGlucHV0VG9Db21waWxlLmlkID0gJ2lucHV0RGF0YSc7XG4gICAgICB0aGlzLnByb2NjZXNzUHJvcGVydGllcyhpbnB1dFRvQ29tcGlsZSwgZm9ybVByb3BlcnRpZXMsICdpbnB1dERhdGEnKTtcbiAgICAgIGNvbXBpbGVkUHJvcGVydGllcy5wdXNoKGlucHV0VG9Db21waWxlKTtcbiAgICB9IGVsc2UgaWYgKGlucHV0VG9Db21waWxlLnR5cGUgPT09ICdhcnJheScpIHtcbiAgICAgIGlucHV0VG9Db21waWxlLmlkID0gJ2lucHV0RGF0YSc7XG4gICAgICBpbnB1dERhdGEgPSBbXTtcbiAgICAgIFR5cGVTY3JpcHRDb21waWxlLmFkZEl0ZW1Ub0Zvcm1Qcm9wZXJ0aWVzKGZvcm1Qcm9wZXJ0aWVzLCBpbnB1dFRvQ29tcGlsZSwgJ2lucHV0RGF0YScpO1xuICAgICAgY29tcGlsZWRQcm9wZXJ0aWVzLnB1c2goaW5wdXRUb0NvbXBpbGUpO1xuICAgIH0gZWxzZSBpZiAoIWlucHV0VG9Db21waWxlLnR5cGUpIHtcbiAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBPYmplY3Qua2V5cyhpbnB1dFRvQ29tcGlsZSkubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgIGNvbnN0IGtleSA9IE9iamVjdC5rZXlzKGlucHV0VG9Db21waWxlKVtpbmRleF07XG4gICAgICAgIGNvbnN0IGl0ZW0gPSBpbnB1dFRvQ29tcGlsZVtrZXldO1xuICAgICAgICBpdGVtLmlkID0ga2V5O1xuXG4gICAgICAgIGlmIChpdGVtLnR5cGUgPT09ICdhcnJheScpIHtcbiAgICAgICAgICBpbnB1dERhdGFbaXRlbS5pZF0gPSBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpdGVtLnR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgaW5wdXREYXRhW2l0ZW0uaWRdID0ge307XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wcm9jY2Vzc1Byb3BlcnRpZXMoaXRlbSwgZm9ybVByb3BlcnRpZXMsIGtleSk7XG4gICAgICAgIGNvbXBpbGVkUHJvcGVydGllcy5wdXNoKGl0ZW0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbXBpbGVkUHJvcGVydGllcy5zb3J0KChhLCBiKSA9PiBhLnByb3BlcnR5T3JkZXIgLSBiLnByb3BlcnR5T3JkZXIpO1xuICAgIHJldHVybiB7Y29tcGlsZWRQcm9wZXJ0aWVzLCBmb3JtUHJvcGVydGllcywgaW5wdXREYXRhfTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHByb2NjZXNzUHJvcGVydGllcyhpdGVtOiBhbnksIGZvcm1Qcm9wZXJ0aWVzOiB7fSwga2V5OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5oYXNQcm9wZXJ0aWVzKGl0ZW0pKSB7XG4gICAgICBjb25zdCBhckZpZWxkc0NoaWxkID0gW107XG4gICAgICBmb3IgKGxldCBpbmRleENoaWxkID0gMDsgaW5kZXhDaGlsZCA8IE9iamVjdC5rZXlzKGl0ZW0ucHJvcGVydGllcykubGVuZ3RoOyBpbmRleENoaWxkKyspIHtcbiAgICAgICAgY29uc3Qga2V5Q2hpbGQgPSBPYmplY3Qua2V5cyhpdGVtLnByb3BlcnRpZXMpW2luZGV4Q2hpbGRdO1xuICAgICAgICBjb25zdCBpdGVtQ2hpbGQgPSBpdGVtLnByb3BlcnRpZXNba2V5Q2hpbGRdO1xuICAgICAgICBpdGVtQ2hpbGQuaWQgPSBrZXlDaGlsZDtcbiAgICAgICAgaWYgKHRoaXMuaGFzUHJvcGVydGllcyhpdGVtQ2hpbGQpKSB7XG4gICAgICAgICAgdGhpcy5wcm9jY2Vzc1Byb3BlcnRpZXMoaXRlbUNoaWxkLCBmb3JtUHJvcGVydGllcywga2V5Q2hpbGQpO1xuICAgICAgICAgIGFyRmllbGRzQ2hpbGQucHVzaChpdGVtQ2hpbGQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIFR5cGVTY3JpcHRDb21waWxlLmFkZEl0ZW1Ub0Zvcm1Qcm9wZXJ0aWVzKGZvcm1Qcm9wZXJ0aWVzLCBpdGVtQ2hpbGQsIGtleUNoaWxkKTtcbiAgICAgICAgICBhckZpZWxkc0NoaWxkLnB1c2goaXRlbUNoaWxkKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaXRlbS5wcm9wZXJ0aWVzID0gYXJGaWVsZHNDaGlsZDtcbiAgICB9IGVsc2Uge1xuICAgICAgVHlwZVNjcmlwdENvbXBpbGUuYWRkSXRlbVRvRm9ybVByb3BlcnRpZXMoZm9ybVByb3BlcnRpZXMsIGl0ZW0sIGtleSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaGFzUHJvcGVydGllcyhpdGVtOiBhbnkpOiBhbnkge1xuICAgIHJldHVybiBpdGVtLnR5cGUgPT09ICdvYmplY3QnIHx8IChpdGVtLnR5cGUgPT09ICdhcnJheScgJiYgaXRlbS5wcm9wZXJ0aWVzKTtcbiAgfVxuXG59XG4iXX0=