ngx-material-entity 0.1.1 → 0.1.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 (105) hide show
  1. package/CONTRIBUTING.md +7 -1
  2. package/README.md +3 -2
  3. package/classes/entity-model.class.d.ts +1 -1
  4. package/classes/entity-service.class.d.ts +27 -17
  5. package/classes/entity-utilities.class.d.ts +62 -45
  6. package/components/confirm-dialog/confirm-dialog-data.builder.d.ts +24 -0
  7. package/components/confirm-dialog/confirm-dialog-data.d.ts +14 -8
  8. package/components/confirm-dialog/confirm-dialog.component.d.ts +4 -5
  9. package/components/get-validation-error-message.function.d.ts +3 -2
  10. package/components/input/array-table/add-array-item-dialog/add-array-item-dialog-data.builder.d.ts +17 -0
  11. package/components/input/array-table/add-array-item-dialog/add-array-item-dialog-data.d.ts +17 -0
  12. package/components/input/array-table/add-array-item-dialog/add-array-item-dialog.component.d.ts +5 -18
  13. package/components/input/array-table/array-table.component.d.ts +3 -3
  14. package/components/input/input.component.d.ts +18 -21
  15. package/components/input/internal-input/internal-input.component.d.ts +14 -17
  16. package/components/table/create-dialog/create-dialog-data.builder.d.ts +20 -0
  17. package/components/table/create-dialog/create-entity-dialog-data.builder.d.ts +16 -0
  18. package/components/table/create-dialog/create-entity-dialog-data.d.ts +2 -2
  19. package/components/table/create-dialog/create-entity-dialog.component.d.ts +4 -2
  20. package/components/table/edit-dialog/edit-dialog-data.builder.d.ts +27 -0
  21. package/components/table/edit-dialog/edit-entity-dialog-data.d.ts +5 -5
  22. package/components/table/edit-dialog/edit-entity-dialog.builder.d.ts +17 -0
  23. package/components/table/edit-dialog/edit-entity-dialog.component.d.ts +4 -2
  24. package/components/table/table-data.builder.d.ts +40 -0
  25. package/components/table/table-data.d.ts +26 -22
  26. package/components/table/table.component.d.ts +6 -5
  27. package/decorators/array/array-decorator-internal.data.d.ts +34 -0
  28. package/decorators/{array.decorator.d.ts → array/array-decorator.data.d.ts} +32 -37
  29. package/decorators/array/array.decorator.d.ts +10 -0
  30. package/decorators/base/base-property.decorator.d.ts +7 -6
  31. package/decorators/base/decorator-types.enum.d.ts +7 -7
  32. package/decorators/base/property-decorator-internal.data.d.ts +11 -0
  33. package/decorators/base/{property-decorator-config.interface.d.ts → property-decorator.data.d.ts} +11 -12
  34. package/decorators/boolean/boolean-decorator-internal.data.d.ts +16 -0
  35. package/decorators/boolean/boolean-decorator.data.d.ts +28 -0
  36. package/decorators/boolean/boolean.decorator.d.ts +8 -0
  37. package/decorators/number/number-decorator-internal.data.d.ts +16 -0
  38. package/decorators/number/number-decorator.data.d.ts +32 -0
  39. package/decorators/number/number.decorator.d.ts +8 -0
  40. package/decorators/object/object-decorator-internal.data.d.ts +8 -0
  41. package/decorators/object/object-decorator.data.d.ts +22 -0
  42. package/decorators/object/object.decorator.d.ts +9 -0
  43. package/decorators/string/string-decorator-internal.data.d.ts +31 -0
  44. package/decorators/string/string-decorator.data.d.ts +67 -0
  45. package/decorators/string/string.decorator.d.ts +8 -0
  46. package/esm2020/classes/entity-model.class.mjs +2 -2
  47. package/esm2020/classes/entity-service.class.mjs +20 -14
  48. package/esm2020/classes/entity-utilities.class.mjs +108 -75
  49. package/esm2020/components/confirm-dialog/confirm-dialog-data.builder.mjs +77 -0
  50. package/esm2020/components/confirm-dialog/confirm-dialog-data.mjs +1 -1
  51. package/esm2020/components/confirm-dialog/confirm-dialog.component.mjs +7 -22
  52. package/esm2020/components/get-validation-error-message.function.mjs +4 -3
  53. package/esm2020/components/input/array-table/add-array-item-dialog/add-array-item-dialog-data.builder.mjs +33 -0
  54. package/esm2020/components/input/array-table/add-array-item-dialog/add-array-item-dialog-data.mjs +2 -0
  55. package/esm2020/components/input/array-table/add-array-item-dialog/add-array-item-dialog.component.mjs +7 -5
  56. package/esm2020/components/input/array-table/array-table.component.mjs +14 -11
  57. package/esm2020/components/input/input.component.mjs +3 -6
  58. package/esm2020/components/input/internal-input/internal-input.component.mjs +1 -4
  59. package/esm2020/components/table/create-dialog/create-dialog-data.builder.mjs +54 -0
  60. package/esm2020/components/table/create-dialog/create-entity-dialog-data.builder.mjs +18 -0
  61. package/esm2020/components/table/create-dialog/create-entity-dialog-data.mjs +1 -1
  62. package/esm2020/components/table/create-dialog/create-entity-dialog.component.mjs +14 -21
  63. package/esm2020/components/table/edit-dialog/edit-dialog-data.builder.mjs +81 -0
  64. package/esm2020/components/table/edit-dialog/edit-entity-dialog-data.mjs +1 -1
  65. package/esm2020/components/table/edit-dialog/edit-entity-dialog.builder.mjs +19 -0
  66. package/esm2020/components/table/edit-dialog/edit-entity-dialog.component.mjs +21 -36
  67. package/esm2020/components/table/table-data.builder.mjs +89 -0
  68. package/esm2020/components/table/table-data.mjs +1 -1
  69. package/esm2020/components/table/table.component.mjs +41 -80
  70. package/esm2020/decorators/array/array-decorator-internal.data.mjs +40 -0
  71. package/esm2020/decorators/array/array-decorator.data.mjs +7 -0
  72. package/esm2020/decorators/array/array.decorator.mjs +24 -0
  73. package/esm2020/decorators/base/base-property.decorator.mjs +6 -5
  74. package/esm2020/decorators/base/decorator-types.enum.mjs +1 -1
  75. package/esm2020/decorators/base/property-decorator-internal.data.mjs +15 -0
  76. package/esm2020/decorators/base/property-decorator.data.mjs +6 -0
  77. package/esm2020/decorators/boolean/boolean-decorator-internal.data.mjs +22 -0
  78. package/esm2020/decorators/boolean/boolean-decorator.data.mjs +7 -0
  79. package/esm2020/decorators/boolean/boolean.decorator.mjs +21 -0
  80. package/esm2020/decorators/number/number-decorator-internal.data.mjs +17 -0
  81. package/esm2020/decorators/number/number-decorator.data.mjs +7 -0
  82. package/esm2020/decorators/number/number.decorator.mjs +18 -0
  83. package/esm2020/decorators/object/object-decorator-internal.data.mjs +9 -0
  84. package/esm2020/decorators/object/object-decorator.data.mjs +7 -0
  85. package/esm2020/decorators/object/object.decorator.mjs +13 -0
  86. package/esm2020/decorators/string/string-decorator-internal.data.mjs +36 -0
  87. package/esm2020/decorators/string/string-decorator.data.mjs +7 -0
  88. package/esm2020/decorators/string/string.decorator.mjs +24 -0
  89. package/esm2020/public-api.mjs +15 -10
  90. package/fesm2015/ngx-material-entity.mjs +1019 -683
  91. package/fesm2015/ngx-material-entity.mjs.map +1 -1
  92. package/fesm2020/ngx-material-entity.mjs +1005 -684
  93. package/fesm2020/ngx-material-entity.mjs.map +1 -1
  94. package/package.json +1 -1
  95. package/public-api.d.ts +16 -7
  96. package/decorators/boolean.decorator.d.ts +0 -42
  97. package/decorators/number.decorator.d.ts +0 -40
  98. package/decorators/object.decorator.d.ts +0 -27
  99. package/decorators/string.decorator.d.ts +0 -76
  100. package/esm2020/decorators/array.decorator.mjs +0 -70
  101. package/esm2020/decorators/base/property-decorator-config.interface.mjs +0 -31
  102. package/esm2020/decorators/boolean.decorator.mjs +0 -44
  103. package/esm2020/decorators/number.decorator.mjs +0 -36
  104. package/esm2020/decorators/object.decorator.mjs +0 -23
  105. package/esm2020/decorators/string.decorator.mjs +0 -61
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngx-material-entity",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "license": "MIT",
5
5
  "peerDependencies": {
6
6
  "@angular/animations": "~13.3.0",
package/public-api.d.ts CHANGED
@@ -1,3 +1,6 @@
1
+ /**
2
+ * Public API Surface of ngx-material-entity.
3
+ */
1
4
  import 'reflect-metadata';
2
5
  export * from './classes/entity-model.class';
3
6
  export * from './classes/entity-service.class';
@@ -5,6 +8,8 @@ export * from './classes/entity-utilities.class';
5
8
  export * from './components/confirm-dialog/confirm-dialog-data';
6
9
  export * from './components/confirm-dialog/confirm-dialog.component';
7
10
  export * from './components/confirm-dialog/confirm-dialog.module';
11
+ export * from './components/input/input.module';
12
+ export * from './components/input/input.component';
8
13
  export * from './components/table/table-data';
9
14
  export * from './components/table/table.component';
10
15
  export * from './components/table/table.module';
@@ -14,12 +19,16 @@ export * from './components/table/create-dialog/create-entity-dialog.component';
14
19
  export * from './components/table/edit-dialog/edit-entity-dialog-data';
15
20
  export * from './components/table/edit-dialog/edit-entity-dialog.module';
16
21
  export * from './components/table/edit-dialog/edit-entity-dialog.component';
17
- export * from './components/input/input.module';
18
- export * from './components/input/input.component';
19
22
  export * from './components/get-validation-error-message.function';
20
23
  export * from './decorators/base/decorator-types.enum';
21
- export * from './decorators/array.decorator';
22
- export * from './decorators/boolean.decorator';
23
- export * from './decorators/number.decorator';
24
- export * from './decorators/object.decorator';
25
- export * from './decorators/string.decorator';
24
+ export { cols } from './decorators/base/property-decorator.data';
25
+ export * from './decorators/array/array.decorator';
26
+ export * from './decorators/array/array-decorator.data';
27
+ export * from './decorators/boolean/boolean.decorator';
28
+ export * from './decorators/boolean/boolean-decorator.data';
29
+ export * from './decorators/number/number.decorator';
30
+ export * from './decorators/number/number-decorator.data';
31
+ export * from './decorators/object/object.decorator';
32
+ export * from './decorators/object/object-decorator.data';
33
+ export * from './decorators/string/string.decorator';
34
+ export * from './decorators/string/string-decorator.data';
@@ -1,42 +0,0 @@
1
- import { PropertyDecoratorConfig } from './base/property-decorator-config.interface';
2
- /**
3
- * Decorator for setting and getting string propery metadata
4
- * @param metadata The metadata of the string property
5
- */
6
- export declare function boolean(metadata: CheckboxBooleanDecoratorConfig | ToggleBooleanDecoratorConfig | DropdownBooleanDecoratorConfig): (target: object, propertyKey: string) => void;
7
- /**
8
- * The Definition for the @boolean metadata
9
- */
10
- declare abstract class BooleanDecoratorConfig extends PropertyDecoratorConfig {
11
- /**
12
- * Whether to display the booleans as a checkbox, a toggle button or as a dropdown
13
- */
14
- displayStyle: 'checkbox' | 'dropdown' | 'toggle';
15
- }
16
- export declare class DropdownBooleanDecoratorConfig extends BooleanDecoratorConfig {
17
- displayStyle: 'dropdown';
18
- /**
19
- * The name of the true value if displayStyle dropdown is used.
20
- * Can also receive a function to determine the name.
21
- */
22
- dropdownTrue: string | {
23
- (args: unknown): string;
24
- };
25
- /**
26
- * The name of the false value if displayStyle dropdown is used.
27
- * Can also receive a function to determine the name,
28
- */
29
- dropdownFalse: string | {
30
- (args: unknown): string;
31
- };
32
- constructor(metadata: DropdownBooleanDecoratorConfig);
33
- }
34
- export declare class CheckboxBooleanDecoratorConfig extends BooleanDecoratorConfig {
35
- displayStyle: 'checkbox';
36
- constructor(metadata: CheckboxBooleanDecoratorConfig);
37
- }
38
- export declare class ToggleBooleanDecoratorConfig extends BooleanDecoratorConfig {
39
- displayStyle: 'toggle';
40
- constructor(metadata: ToggleBooleanDecoratorConfig);
41
- }
42
- export {};
@@ -1,40 +0,0 @@
1
- import { PropertyDecoratorConfig } from './base/property-decorator-config.interface';
2
- /**
3
- * Decorator for setting and getting string propery metadata
4
- * @param metadata The metadata of the string property
5
- */
6
- export declare function number(metadata: DefaultNumberDecoratorConfig | DropdownNumberDecoratorConfig): (target: object, propertyKey: string) => void;
7
- /**
8
- * Interface definition for the @number metadata
9
- */
10
- declare abstract class NumberDecoratorConfig extends PropertyDecoratorConfig {
11
- /**
12
- * Whether to display the number in a single line or as a dropdown
13
- */
14
- displayStyle: 'line' | 'dropdown';
15
- }
16
- export declare class DefaultNumberDecoratorConfig extends NumberDecoratorConfig {
17
- displayStyle: 'line';
18
- /**
19
- * (optional) The minimum value of the number
20
- */
21
- min?: number;
22
- /**
23
- * (optional) The maximum value of the number
24
- */
25
- max?: number;
26
- constructor(metadata: DefaultNumberDecoratorConfig);
27
- }
28
- export declare class DropdownNumberDecoratorConfig extends NumberDecoratorConfig {
29
- displayStyle: 'dropdown';
30
- /**
31
- * The values of the dropdown, consisting of a name to display and the actual value
32
- * Can also receive a function to determine the values
33
- */
34
- dropdownValues?: {
35
- displayName: string;
36
- value: number;
37
- }[];
38
- constructor(metadata: DropdownNumberDecoratorConfig);
39
- }
40
- export {};
@@ -1,27 +0,0 @@
1
- import { PropertyDecoratorConfig } from './base/property-decorator-config.interface';
2
- import { Entity } from '../classes/entity-model.class';
3
- /**
4
- * Decorator for setting and getting object propery metadata.
5
- * @param metadata The metadata of the object property
6
- */
7
- export declare function object(metadata: DefaultObjectDecoratorConfig): (target: object, propertyKey: string) => void;
8
- /**
9
- * Interface definition for the @object metadata
10
- */
11
- declare abstract class ObjectDecoratorConfig extends PropertyDecoratorConfig {
12
- /**
13
- * The entity type of the object
14
- */
15
- type: typeof Entity;
16
- /**
17
- * How to display the object.
18
- * @inline The objects properties are added as input fields in an section of the entity.
19
- * Useful if the object only contains a few properties (e.g. a address on a user).
20
- */
21
- displayStyle: 'inline';
22
- }
23
- export declare class DefaultObjectDecoratorConfig extends ObjectDecoratorConfig {
24
- displayStyle: 'inline';
25
- constructor(metadata: DefaultObjectDecoratorConfig);
26
- }
27
- export {};
@@ -1,76 +0,0 @@
1
- import { PropertyDecoratorConfig } from './base/property-decorator-config.interface';
2
- /**
3
- * Decorator for setting and getting string propery metadata
4
- * @param metadata The metadata of the string property
5
- */
6
- export declare function string(metadata: DropdownStringDecoratorConfig | AutocompleteStringDecoratorConfig | DefaultStringDecoratorConfig | TextboxStringDecoratorConfig): (target: object, propertyKey: string) => void;
7
- /**
8
- * Interface definition for the @string metadata
9
- */
10
- declare abstract class StringDecoratorConfig extends PropertyDecoratorConfig {
11
- /**
12
- * How to display the string
13
- */
14
- displayStyle: 'line' | 'textbox' | 'autocomplete' | 'dropdown';
15
- }
16
- export declare class DropdownStringDecoratorConfig extends StringDecoratorConfig {
17
- displayStyle: 'dropdown';
18
- /**
19
- * The values of the dropdown, consisting of a name to display and the actual value
20
- * Can also receive a function to determine the values
21
- */
22
- dropdownValues: {
23
- displayName: string;
24
- value: string;
25
- }[];
26
- constructor(metadata: DropdownStringDecoratorConfig);
27
- }
28
- export declare class DefaultStringDecoratorConfig extends StringDecoratorConfig {
29
- displayStyle: 'line';
30
- /**
31
- * (optional) The minimum required length of the string
32
- */
33
- minLength?: number;
34
- /**
35
- * (optional) The maximum required length of the string
36
- */
37
- maxLength?: number;
38
- /**
39
- * (optional) A regex used for validation
40
- */
41
- regex?: RegExp;
42
- constructor(metadata: DefaultStringDecoratorConfig);
43
- }
44
- export declare class TextboxStringDecoratorConfig extends StringDecoratorConfig {
45
- displayStyle: 'textbox';
46
- /**
47
- * (optional) The minimum required length of the string
48
- */
49
- minLength?: number;
50
- /**
51
- * (optional) The maximum required length of the string
52
- */
53
- maxLength?: number;
54
- constructor(metadata: TextboxStringDecoratorConfig);
55
- }
56
- export declare class AutocompleteStringDecoratorConfig extends StringDecoratorConfig {
57
- displayStyle: 'autocomplete';
58
- /**
59
- * The autocomplete values
60
- */
61
- autocompleteValues: string[];
62
- /**
63
- * (optional) The minimum required length of the string
64
- */
65
- minLength?: number;
66
- /**
67
- * (optional) The maximum required length of the string
68
- */
69
- maxLength?: number;
70
- /**
71
- * (optional) A regex used for validation
72
- */
73
- regex?: RegExp;
74
- constructor(metadata: AutocompleteStringDecoratorConfig);
75
- }
76
- export {};
@@ -1,70 +0,0 @@
1
- import { baseProperty } from './base/base-property.decorator';
2
- import { DecoratorTypes } from './base/decorator-types.enum';
3
- import { PropertyDecoratorConfig } from './base/property-decorator-config.interface';
4
- /**
5
- * Decorator for setting and getting array propery metadata
6
- * @param metadata The metadata of the array property
7
- */
8
- export function array(metadata) {
9
- switch (metadata.itemType) {
10
- case DecoratorTypes.OBJECT:
11
- return baseProperty(new EntityArrayDecoratorConfig(metadata), DecoratorTypes.ARRAY);
12
- case DecoratorTypes.STRING:
13
- return baseProperty(new StringChipsArrayDecoratorConfig(metadata), DecoratorTypes.ARRAY_STRING_CHIPS);
14
- case DecoratorTypes.STRING_AUTOCOMPLETE:
15
- return baseProperty(new AutocompleteStringChipsArrayDecoratorConfig(metadata), DecoratorTypes.ARRAY_STRING_AUTOCOMPLETE_CHIPS);
16
- default:
17
- // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access
18
- throw new Error(`Unknown itemType ${metadata.itemType}`);
19
- }
20
- }
21
- /**
22
- * Interface definition for the @array metadata
23
- */
24
- class ArrayDecoratorConfig extends PropertyDecoratorConfig {
25
- }
26
- /**
27
- * Definition for an array of Entities
28
- */
29
- export class EntityArrayDecoratorConfig extends ArrayDecoratorConfig {
30
- constructor(metadata) {
31
- super(metadata.displayName, metadata.display, metadata.required, metadata.omitForCreate, metadata.omitForUpdate, metadata.defaultWidths, metadata.order);
32
- this.itemType = metadata.itemType;
33
- this.displayStyle = metadata.displayStyle;
34
- this.EntityClass = metadata.EntityClass;
35
- this.createDialogData = metadata.createDialogData;
36
- this.missingErrorMessage = metadata.missingErrorMessage;
37
- this.createInline = metadata.createInline;
38
- this.displayColumns = metadata.displayColumns;
39
- }
40
- }
41
- /**
42
- * Definition for an array of strings displayed as a chips list
43
- */
44
- export class StringChipsArrayDecoratorConfig extends ArrayDecoratorConfig {
45
- constructor(metadata) {
46
- super(metadata.displayName, metadata.display, metadata.required, metadata.omitForCreate, metadata.omitForUpdate, metadata.defaultWidths, metadata.order);
47
- this.itemType = metadata.itemType;
48
- this.displayStyle = metadata.displayStyle;
49
- this.deleteHtml = metadata.deleteHtml;
50
- this.minLength = metadata.minLength;
51
- this.maxLength = metadata.maxLength;
52
- this.regex = metadata.regex;
53
- }
54
- }
55
- /**
56
- * Definition for an array of autocomplete strings displayed as a chips list
57
- */
58
- export class AutocompleteStringChipsArrayDecoratorConfig extends ArrayDecoratorConfig {
59
- constructor(metadata) {
60
- super(metadata.displayName, metadata.display, metadata.required, metadata.omitForCreate, metadata.omitForUpdate, metadata.defaultWidths, metadata.order);
61
- this.itemType = metadata.itemType;
62
- this.displayStyle = metadata.displayStyle;
63
- this.deleteHtml = metadata.deleteHtml;
64
- this.autocompleteValues = metadata.autocompleteValues;
65
- this.minLength = metadata.minLength;
66
- this.maxLength = metadata.maxLength;
67
- this.regex = metadata.regex;
68
- }
69
- }
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkuZGVjb3JhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvZGVjb3JhdG9ycy9hcnJheS5kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUVyRjs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsS0FBSyxDQUNqQixRQUFnSTtJQUVoSSxRQUFRLFFBQVEsQ0FBQyxRQUFRLEVBQUU7UUFDdkIsS0FBSyxjQUFjLENBQUMsTUFBTTtZQUN0QixPQUFPLFlBQVksQ0FBQyxJQUFJLDBCQUEwQixDQUFDLFFBQVEsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4RixLQUFLLGNBQWMsQ0FBQyxNQUFNO1lBQ3RCLE9BQU8sWUFBWSxDQUFDLElBQUksK0JBQStCLENBQUMsUUFBUSxDQUFDLEVBQUUsY0FBYyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDMUcsS0FBSyxjQUFjLENBQUMsbUJBQW1CO1lBQ25DLE9BQU8sWUFBWSxDQUFDLElBQUksMkNBQTJDLENBQUMsUUFBUSxDQUFDLEVBQUUsY0FBYyxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFDbkk7WUFDSSwwR0FBMEc7WUFDMUcsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBcUIsUUFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0tBQ3pFO0FBQ0wsQ0FBQztBQWFEOztHQUVHO0FBQ0gsTUFBZSxvQkFBcUIsU0FBUSx1QkFBdUI7Q0FlbEU7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTywwQkFBc0QsU0FBUSxvQkFBb0I7SUE0QjNGLFlBQVksUUFBZ0Q7UUFDeEQsS0FBSyxDQUNELFFBQVEsQ0FBQyxXQUFXLEVBQ3BCLFFBQVEsQ0FBQyxPQUFPLEVBQ2hCLFFBQVEsQ0FBQyxRQUFRLEVBQ2pCLFFBQVEsQ0FBQyxhQUFhLEVBQ3RCLFFBQVEsQ0FBQyxhQUFhLEVBQ3RCLFFBQVEsQ0FBQyxhQUFhLEVBQ3RCLFFBQVEsQ0FBQyxLQUFLLENBQ2pCLENBQUM7UUFDRixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQzFDLElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQztRQUN4QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDO1FBQ2xELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxRQUFRLENBQUMsbUJBQW1CLENBQUM7UUFDeEQsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQzFDLElBQUksQ0FBQyxjQUFjLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQTtJQUNqRCxDQUFDO0NBQ0o7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxvQkFBb0I7SUF5QnJFLFlBQVksUUFBeUM7UUFDakQsS0FBSyxDQUNELFFBQVEsQ0FBQyxXQUFXLEVBQ3BCLFFBQVEsQ0FBQyxPQUFPLEVBQ2hCLFFBQVEsQ0FBQyxRQUFRLEVBQ2pCLFFBQVEsQ0FBQyxhQUFhLEVBQ3RCLFFBQVEsQ0FBQyxhQUFhLEVBQ3RCLFFBQVEsQ0FBQyxhQUFhLEVBQ3RCLFFBQVEsQ0FBQyxLQUFLLENBQ2pCLENBQUM7UUFDRixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQzFDLElBQUksQ0FBQyxVQUFVLEdBQUksUUFBUSxDQUFDLFVBQVUsQ0FBQztRQUN2QyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUM7UUFDcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztJQUNoQyxDQUFDO0NBQ0o7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTywyQ0FBNEMsU0FBUSxvQkFBb0I7SUE2QmpGLFlBQVksUUFBcUQ7UUFDN0QsS0FBSyxDQUNELFFBQVEsQ0FBQyxXQUFXLEVBQ3BCLFFBQVEsQ0FBQyxPQUFPLEVBQ2hCLFFBQVEsQ0FBQyxRQUFRLEVBQ2pCLFFBQVEsQ0FBQyxhQUFhLEVBQ3RCLFFBQVEsQ0FBQyxhQUFhLEVBQ3RCLFFBQVEsQ0FBQyxhQUFhLEVBQ3RCLFFBQVEsQ0FBQyxLQUFLLENBQ2pCLENBQUM7UUFDRixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQzFDLElBQUksQ0FBQyxVQUFVLEdBQUksUUFBUSxDQUFDLFVBQVUsQ0FBQztRQUN2QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsUUFBUSxDQUFDLGtCQUFrQixDQUFDO1FBQ3RELElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQztRQUNwQyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUM7UUFDcEMsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQ2hDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudGl0eSB9IGZyb20gJy4uL2NsYXNzZXMvZW50aXR5LW1vZGVsLmNsYXNzJztcbmltcG9ydCB7IENyZWF0ZURpYWxvZ0RhdGEgfSBmcm9tICcuLi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLWRhdGEnO1xuaW1wb3J0IHsgYmFzZVByb3BlcnR5IH0gZnJvbSAnLi9iYXNlL2Jhc2UtcHJvcGVydHkuZGVjb3JhdG9yJztcbmltcG9ydCB7IERlY29yYXRvclR5cGVzIH0gZnJvbSAnLi9iYXNlL2RlY29yYXRvci10eXBlcy5lbnVtJztcbmltcG9ydCB7IFByb3BlcnR5RGVjb3JhdG9yQ29uZmlnIH0gZnJvbSAnLi9iYXNlL3Byb3BlcnR5LWRlY29yYXRvci1jb25maWcuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBEZWNvcmF0b3IgZm9yIHNldHRpbmcgYW5kIGdldHRpbmcgYXJyYXkgcHJvcGVyeSBtZXRhZGF0YVxuICogQHBhcmFtIG1ldGFkYXRhIFRoZSBtZXRhZGF0YSBvZiB0aGUgYXJyYXkgcHJvcGVydHlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFycmF5PEVudGl0eVR5cGUgZXh0ZW5kcyBFbnRpdHk+KFxuICAgIG1ldGFkYXRhOiBFbnRpdHlBcnJheURlY29yYXRvckNvbmZpZzxFbnRpdHlUeXBlPiB8IFN0cmluZ0NoaXBzQXJyYXlEZWNvcmF0b3JDb25maWcgfCBBdXRvY29tcGxldGVTdHJpbmdDaGlwc0FycmF5RGVjb3JhdG9yQ29uZmlnXG4pOiAodGFyZ2V0OiBvYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcpID0+IHZvaWQge1xuICAgIHN3aXRjaCAobWV0YWRhdGEuaXRlbVR5cGUpIHtcbiAgICAgICAgY2FzZSBEZWNvcmF0b3JUeXBlcy5PQkpFQ1Q6XG4gICAgICAgICAgICByZXR1cm4gYmFzZVByb3BlcnR5KG5ldyBFbnRpdHlBcnJheURlY29yYXRvckNvbmZpZyhtZXRhZGF0YSksIERlY29yYXRvclR5cGVzLkFSUkFZKTtcbiAgICAgICAgY2FzZSBEZWNvcmF0b3JUeXBlcy5TVFJJTkc6XG4gICAgICAgICAgICByZXR1cm4gYmFzZVByb3BlcnR5KG5ldyBTdHJpbmdDaGlwc0FycmF5RGVjb3JhdG9yQ29uZmlnKG1ldGFkYXRhKSwgRGVjb3JhdG9yVHlwZXMuQVJSQVlfU1RSSU5HX0NISVBTKTtcbiAgICAgICAgY2FzZSBEZWNvcmF0b3JUeXBlcy5TVFJJTkdfQVVUT0NPTVBMRVRFOlxuICAgICAgICAgICAgcmV0dXJuIGJhc2VQcm9wZXJ0eShuZXcgQXV0b2NvbXBsZXRlU3RyaW5nQ2hpcHNBcnJheURlY29yYXRvckNvbmZpZyhtZXRhZGF0YSksIERlY29yYXRvclR5cGVzLkFSUkFZX1NUUklOR19BVVRPQ09NUExFVEVfQ0hJUFMpO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnksIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtbWVtYmVyLWFjY2Vzc1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGl0ZW1UeXBlICR7KG1ldGFkYXRhIGFzIGFueSkuaXRlbVR5cGV9YCk7XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFycmF5VGFibGVEaXNwbGF5Q29sdW1uPEVudGl0eVR5cGUgZXh0ZW5kcyBFbnRpdHk+IHtcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBpbnNpZGUgdGhlIGhlYWRlci5cbiAgICAgKi9cbiAgICBkaXNwbGF5TmFtZTogc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIEEgbWV0aG9kIHRvIGdldCB0aGUgdmFsdWUgaW5zaWRlIGFuIHJvd1xuICAgICAqL1xuICAgIHZhbHVlOiAoZW50aXR5OiBFbnRpdHlUeXBlKSA9PiBzdHJpbmdcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgZGVmaW5pdGlvbiBmb3IgdGhlIEBhcnJheSBtZXRhZGF0YVxuICovXG5hYnN0cmFjdCBjbGFzcyBBcnJheURlY29yYXRvckNvbmZpZyBleHRlbmRzIFByb3BlcnR5RGVjb3JhdG9yQ29uZmlnIHtcbiAgICAvKipcbiAgICAgKiBIb3cgdG8gZGlzcGxheSB0aGUgc3RyaW5nXG4gICAgICovXG4gICAgZGlzcGxheVN0eWxlITogJ3RhYmxlJyB8ICdjaGlwcyc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdHlwZSBvZiB0aGUgaXRlbXMgaW5zaWRlIHRoZSBhcnJheVxuICAgICAqL1xuICAgIGl0ZW1UeXBlITogRGVjb3JhdG9yVHlwZXM7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZXJyb3ItbWVzc2FnZSB0byBkaXNwbGF5IHdoZW4gdGhlIGFycmF5IGlzIHJlcXVpcmVkIGJ1dCBjb250YWlucyBubyB2YWx1ZXNcbiAgICAgKi9cbiAgICBtaXNzaW5nRXJyb3JNZXNzYWdlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIERlZmluaXRpb24gZm9yIGFuIGFycmF5IG9mIEVudGl0aWVzXG4gKi9cbmV4cG9ydCBjbGFzcyBFbnRpdHlBcnJheURlY29yYXRvckNvbmZpZzxFbnRpdHlUeXBlIGV4dGVuZHMgRW50aXR5PiBleHRlbmRzIEFycmF5RGVjb3JhdG9yQ29uZmlnIHtcbiAgICBvdmVycmlkZSBpdGVtVHlwZTogRGVjb3JhdG9yVHlwZXMuT0JKRUNUO1xuICAgIG92ZXJyaWRlIGRpc3BsYXlTdHlsZTogJ3RhYmxlJztcblxuICAgIC8qKlxuICAgICAqIFRoZSBFbnRpdHlDbGFzcyB1c2VkIGZvciBnZW5lcmF0aW5nIHRoZSBjcmVhdGUgaW5wdXRzXG4gICAgICovXG4gICAgRW50aXR5Q2xhc3MhOiBuZXcgKGVudGl0eT86IEVudGl0eVR5cGUpID0+IEVudGl0eVR5cGU7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGVmaW5pdGlvbiBvZiB0aGUgY29sdW1ucyB0byBkaXNwbGF5LiBDb25zaXN0cyBvZiB0aGUgZGlzcGxheU5hbWUgdG8gc2hvdyBpbiB0aGUgaGVhZGVyIG9mIHRoZSByb3dcbiAgICAgKiBhbmQgdGhlIHZhbHVlLCB3aGljaCBpcyBhIGZ1bmN0aW9uIHRoYXQgZ2VuZXJhdGVzIHRoZSB2YWx1ZSB0byBkaXNwbGF5IGluc2lkZSBhIGNvbHVtblxuICAgICAqL1xuICAgIGRpc3BsYXlDb2x1bW5zOiBBcnJheVRhYmxlRGlzcGxheUNvbHVtbjxFbnRpdHlUeXBlPltdO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGRhdGEgZm9yIHRoZSBhZGQtaXRlbS1kaWFsb2cuXG4gICAgICogQ2FuIGJlIG9taXR0ZWQgd2hlbiBhZGRpbmcgaXRlbXMgaW5saW5lLlxuICAgICAqL1xuICAgIGNyZWF0ZURpYWxvZ0RhdGE/OiBDcmVhdGVEaWFsb2dEYXRhXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgZm9ybSBmb3IgYWRkaW5nIGl0ZW1zIHRvIHRoZSBhcnJheVxuICAgICAqIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW5saW5lLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBjcmVhdGVJbmxpbmU/OiBib29sZWFuXG5cbiAgICBjb25zdHJ1Y3RvcihtZXRhZGF0YTogRW50aXR5QXJyYXlEZWNvcmF0b3JDb25maWc8RW50aXR5VHlwZT4pIHtcbiAgICAgICAgc3VwZXIoXG4gICAgICAgICAgICBtZXRhZGF0YS5kaXNwbGF5TmFtZSxcbiAgICAgICAgICAgIG1ldGFkYXRhLmRpc3BsYXksXG4gICAgICAgICAgICBtZXRhZGF0YS5yZXF1aXJlZCxcbiAgICAgICAgICAgIG1ldGFkYXRhLm9taXRGb3JDcmVhdGUsXG4gICAgICAgICAgICBtZXRhZGF0YS5vbWl0Rm9yVXBkYXRlLFxuICAgICAgICAgICAgbWV0YWRhdGEuZGVmYXVsdFdpZHRocyxcbiAgICAgICAgICAgIG1ldGFkYXRhLm9yZGVyXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuaXRlbVR5cGUgPSBtZXRhZGF0YS5pdGVtVHlwZTtcbiAgICAgICAgdGhpcy5kaXNwbGF5U3R5bGUgPSBtZXRhZGF0YS5kaXNwbGF5U3R5bGU7XG4gICAgICAgIHRoaXMuRW50aXR5Q2xhc3MgPSBtZXRhZGF0YS5FbnRpdHlDbGFzcztcbiAgICAgICAgdGhpcy5jcmVhdGVEaWFsb2dEYXRhID0gbWV0YWRhdGEuY3JlYXRlRGlhbG9nRGF0YTtcbiAgICAgICAgdGhpcy5taXNzaW5nRXJyb3JNZXNzYWdlID0gbWV0YWRhdGEubWlzc2luZ0Vycm9yTWVzc2FnZTtcbiAgICAgICAgdGhpcy5jcmVhdGVJbmxpbmUgPSBtZXRhZGF0YS5jcmVhdGVJbmxpbmU7XG4gICAgICAgIHRoaXMuZGlzcGxheUNvbHVtbnMgPSBtZXRhZGF0YS5kaXNwbGF5Q29sdW1uc1xuICAgIH1cbn1cblxuLyoqXG4gKiBEZWZpbml0aW9uIGZvciBhbiBhcnJheSBvZiBzdHJpbmdzIGRpc3BsYXllZCBhcyBhIGNoaXBzIGxpc3RcbiAqL1xuZXhwb3J0IGNsYXNzIFN0cmluZ0NoaXBzQXJyYXlEZWNvcmF0b3JDb25maWcgZXh0ZW5kcyBBcnJheURlY29yYXRvckNvbmZpZyB7XG4gICAgb3ZlcnJpZGUgaXRlbVR5cGU6IERlY29yYXRvclR5cGVzLlNUUklORztcbiAgICBvdmVycmlkZSBkaXNwbGF5U3R5bGU6ICdjaGlwcyc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgaHRtbCBpbnNpZGUgdGhlIGRlbGV0ZS1idXR0b24uXG4gICAgICogUGxlYXNlIG5vdGUgdGhhdCBjdXN0b20gdGFncyBzdWNoIGFzIDxtYXQtaWNvbj48L21hdC1pY29uPlxuICAgICAqIG5lZWQgdG8gYmUgZGVmaW5lZCBhcyBrbm93biBlbGVtZW50cywgb3RoZXJ3aXNlIHRoZSBzYW5pdGl6ZXIgd2lsbCByZW1vdmUgdGhlbS5cbiAgICAgKiBZb3UgY2FuIGhvd2V2ZXIgd29yayBhcm91bmQgdGhpcyBieSB1c2luZyBgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiPjwvc3Bhbj5gXG4gICAgICogQGRlZmF1bHQgPG1hdC1pY29uPmNhbmNlbDwvbWF0LWljb24+XG4gICAgICovXG4gICAgZGVsZXRlSHRtbD86IHN0cmluZ1xuICAgIC8qKlxuICAgICAqIChvcHRpb25hbCkgVGhlIG1pbmltdW0gcmVxdWlyZWQgbGVuZ3RoIG9mIHRoZSBzdHJpbmdcbiAgICAgKi9cbiAgICBtaW5MZW5ndGg/OiBudW1iZXI7XG4gICAgLyoqXG4gICAgICogKG9wdGlvbmFsKSBUaGUgbWF4aW11bSByZXF1aXJlZCBsZW5ndGggb2YgdGhlIHN0cmluZ1xuICAgICAqL1xuICAgIG1heExlbmd0aD86IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiAob3B0aW9uYWwpIEEgcmVnZXggdXNlZCBmb3IgdmFsaWRhdGlvblxuICAgICAqL1xuICAgIHJlZ2V4PzogUmVnRXhwO1xuXG4gICAgY29uc3RydWN0b3IobWV0YWRhdGE6IFN0cmluZ0NoaXBzQXJyYXlEZWNvcmF0b3JDb25maWcpIHtcbiAgICAgICAgc3VwZXIoXG4gICAgICAgICAgICBtZXRhZGF0YS5kaXNwbGF5TmFtZSxcbiAgICAgICAgICAgIG1ldGFkYXRhLmRpc3BsYXksXG4gICAgICAgICAgICBtZXRhZGF0YS5yZXF1aXJlZCxcbiAgICAgICAgICAgIG1ldGFkYXRhLm9taXRGb3JDcmVhdGUsXG4gICAgICAgICAgICBtZXRhZGF0YS5vbWl0Rm9yVXBkYXRlLFxuICAgICAgICAgICAgbWV0YWRhdGEuZGVmYXVsdFdpZHRocyxcbiAgICAgICAgICAgIG1ldGFkYXRhLm9yZGVyXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuaXRlbVR5cGUgPSBtZXRhZGF0YS5pdGVtVHlwZTtcbiAgICAgICAgdGhpcy5kaXNwbGF5U3R5bGUgPSBtZXRhZGF0YS5kaXNwbGF5U3R5bGU7XG4gICAgICAgIHRoaXMuZGVsZXRlSHRtbCA9ICBtZXRhZGF0YS5kZWxldGVIdG1sO1xuICAgICAgICB0aGlzLm1pbkxlbmd0aCA9IG1ldGFkYXRhLm1pbkxlbmd0aDtcbiAgICAgICAgdGhpcy5tYXhMZW5ndGggPSBtZXRhZGF0YS5tYXhMZW5ndGg7XG4gICAgICAgIHRoaXMucmVnZXggPSBtZXRhZGF0YS5yZWdleDtcbiAgICB9XG59XG5cbi8qKlxuICogRGVmaW5pdGlvbiBmb3IgYW4gYXJyYXkgb2YgYXV0b2NvbXBsZXRlIHN0cmluZ3MgZGlzcGxheWVkIGFzIGEgY2hpcHMgbGlzdFxuICovXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlU3RyaW5nQ2hpcHNBcnJheURlY29yYXRvckNvbmZpZyBleHRlbmRzIEFycmF5RGVjb3JhdG9yQ29uZmlnIHtcbiAgICBvdmVycmlkZSBpdGVtVHlwZTogRGVjb3JhdG9yVHlwZXMuU1RSSU5HX0FVVE9DT01QTEVURTtcbiAgICBvdmVycmlkZSBkaXNwbGF5U3R5bGU6ICdjaGlwcyc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgaHRtbCBpbnNpZGUgdGhlIGRlbGV0ZS1idXR0b24uXG4gICAgICogUGxlYXNlIG5vdGUgdGhhdCBjdXN0b20gdGFncyBzdWNoIGFzIDxtYXQtaWNvbj48L21hdC1pY29uPlxuICAgICAqIG5lZWQgdG8gYmUgZGVmaW5lZCBhcyBrbm93biBlbGVtZW50cywgb3RoZXJ3aXNlIHRoZSBzYW5pdGl6ZXIgd2lsbCByZW1vdmUgdGhlbS5cbiAgICAgKiBZb3UgY2FuIGhvd2V2ZXIgd29yayBhcm91bmQgdGhpcyBieSB1c2luZyBgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiPjwvc3Bhbj5gXG4gICAgICogQGRlZmF1bHQgPG1hdC1pY29uPmNhbmNlbDwvbWF0LWljb24+XG4gICAgICovXG4gICAgZGVsZXRlSHRtbD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgYXV0b2NvbXBsZXRlIHZhbHVlc1xuICAgICAqL1xuICAgIGF1dG9jb21wbGV0ZVZhbHVlczogc3RyaW5nW107XG4gICAgLyoqXG4gICAgICogKG9wdGlvbmFsKSBUaGUgbWluaW11bSByZXF1aXJlZCBsZW5ndGggb2YgdGhlIHN0cmluZ1xuICAgICAqL1xuICAgIG1pbkxlbmd0aD86IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiAob3B0aW9uYWwpIFRoZSBtYXhpbXVtIHJlcXVpcmVkIGxlbmd0aCBvZiB0aGUgc3RyaW5nXG4gICAgICovXG4gICAgbWF4TGVuZ3RoPzogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIChvcHRpb25hbCkgQSByZWdleCB1c2VkIGZvciB2YWxpZGF0aW9uXG4gICAgICovXG4gICAgcmVnZXg/OiBSZWdFeHA7XG5cbiAgICBjb25zdHJ1Y3RvcihtZXRhZGF0YTogQXV0b2NvbXBsZXRlU3RyaW5nQ2hpcHNBcnJheURlY29yYXRvckNvbmZpZykge1xuICAgICAgICBzdXBlcihcbiAgICAgICAgICAgIG1ldGFkYXRhLmRpc3BsYXlOYW1lLFxuICAgICAgICAgICAgbWV0YWRhdGEuZGlzcGxheSxcbiAgICAgICAgICAgIG1ldGFkYXRhLnJlcXVpcmVkLFxuICAgICAgICAgICAgbWV0YWRhdGEub21pdEZvckNyZWF0ZSxcbiAgICAgICAgICAgIG1ldGFkYXRhLm9taXRGb3JVcGRhdGUsXG4gICAgICAgICAgICBtZXRhZGF0YS5kZWZhdWx0V2lkdGhzLFxuICAgICAgICAgICAgbWV0YWRhdGEub3JkZXJcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5pdGVtVHlwZSA9IG1ldGFkYXRhLml0ZW1UeXBlO1xuICAgICAgICB0aGlzLmRpc3BsYXlTdHlsZSA9IG1ldGFkYXRhLmRpc3BsYXlTdHlsZTtcbiAgICAgICAgdGhpcy5kZWxldGVIdG1sID0gIG1ldGFkYXRhLmRlbGV0ZUh0bWw7XG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlVmFsdWVzID0gbWV0YWRhdGEuYXV0b2NvbXBsZXRlVmFsdWVzO1xuICAgICAgICB0aGlzLm1pbkxlbmd0aCA9IG1ldGFkYXRhLm1pbkxlbmd0aDtcbiAgICAgICAgdGhpcy5tYXhMZW5ndGggPSBtZXRhZGF0YS5tYXhMZW5ndGg7XG4gICAgICAgIHRoaXMucmVnZXggPSBtZXRhZGF0YS5yZWdleDtcbiAgICB9XG59Il19
@@ -1,31 +0,0 @@
1
- /**
2
- * The base options for all propertyDecorators
3
- */
4
- export class PropertyDecoratorConfig {
5
- /**
6
- * Defines, Whether or not there should be a line break after this input.
7
- * Is used inside the default create and edit dialogs.
8
- */
9
- // lineBreakAfter?: boolean;
10
- constructor(displayName, display = true, required = true, omitForCreate = false, omitForUpdate = false, defaultWidths = [6, 6, 12], order
11
- // lineBreakAfter: boolean = false
12
- ) {
13
- this.displayName = displayName;
14
- this.display = display;
15
- this.required = required;
16
- this.omitForCreate = omitForCreate;
17
- this.omitForUpdate = omitForUpdate;
18
- this.defaultWidths = defaultWidths;
19
- if (order) {
20
- if (order < 0) {
21
- throw new Error('order must be at least 0');
22
- }
23
- this.order = order;
24
- }
25
- else {
26
- this.order = -1;
27
- }
28
- // this.lineBreakAfter = lineBreakAfter;
29
- }
30
- }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZGVjb3JhdG9yLWNvbmZpZy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9kZWNvcmF0b3JzL2Jhc2UvcHJvcGVydHktZGVjb3JhdG9yLWNvbmZpZy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLHVCQUF1QjtJQXdDekM7OztPQUdHO0lBQ0gsNEJBQTRCO0lBRTVCLFlBQ0ksV0FBbUIsRUFDbkIsVUFBbUIsSUFBSSxFQUN2QixXQUFvQixJQUFJLEVBQ3hCLGdCQUF5QixLQUFLLEVBQzlCLGdCQUF5QixLQUFLLEVBQzlCLGdCQUFvQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQzlDLEtBQWM7SUFDZCxrQ0FBa0M7O1FBRWxDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBRW5DLElBQUksS0FBSyxFQUFFO1lBQ1AsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFO2dCQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQzthQUMvQztZQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1NBQ3RCO2FBQ0k7WUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ25CO1FBQ0Qsd0NBQXdDO0lBQzVDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbInR5cGUgY29scyA9IDEgfCAyIHwgMyB8IDQgfCA1IHwgNiB8IDcgfCA4IHwgOSB8IDEwIHwgMTEgfCAxMjtcblxuLyoqXG4gKiBUaGUgYmFzZSBvcHRpb25zIGZvciBhbGwgcHJvcGVydHlEZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQcm9wZXJ0eURlY29yYXRvckNvbmZpZyB7XG4gICAgLyoqXG4gICAgICogV2hldGhlciBvciBub3QgdGhlIFByb3BlcnR5IGlzIGRpc3BsYXllZCBhdCBhbGwuXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIGRpc3BsYXk/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB1c2VkIGFzIGEgbGFiZWwgZm9yIGZvcm0gZmllbGRzLlxuICAgICAqL1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogV2hldGhlciBvciBub3QgdGhlIFByb3BlcnR5IGlzIHJlcXVpcmVkLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICByZXF1aXJlZD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogV2hldGhlciBvciBub3QgdGhlIHByb3BlcnR5IGdldHMgb21pdHRlZCB3aGVuIGNyZWF0aW5nIG5ldyBFbnRpdGllcy5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIG9taXRGb3JDcmVhdGU/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgb3Igbm90IHRoZSBwcm9wZXJ0eSBnZXRzIG9taXR0ZWQgd2hlbiB1cGRhdGluZyBFbnRpdGllcy5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIG9taXRGb3JVcGRhdGU/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIERlZmluZXMgdGhlIHdpZHRoIG9mIHRoZSBpbnB1dCBwcm9wZXJ0eSB3aGVuIHVzZWQgaW5zaWRlIHRoZSBkZWZhdWx0IGNyZWF0ZSBvciBlZGl0IGRpYWxvZy5cbiAgICAgKiBIYXMgMyBib290c3RyYXAgdmFsdWVzIGZvciBkaWZmZXJlbnQgYnJlYWtwb2ludHMgZm9yIHNpbXBsZSByZXNwb25zaXZlIGRlc2lnbi5cbiAgICAgKiBAdmFyIGZpcnN0VmFsdWU6IGNvbC1sZy17e2ZpcnN0VmFsdWV9fVxuICAgICAqIEB2YXIgc2Vjb25kVmFsdWU6IGNvbC1tZC17e3NlY29uZFZhbHVlfX1cbiAgICAgKiBAdmFyIHRoaXJkVmFsdWU6IGNvbC1zbS17e3RoaXJkVmFsdWV9fVxuICAgICAqL1xuICAgIGRlZmF1bHRXaWR0aHM/OiBbY29scywgY29scywgY29sc107XG4gICAgLyoqXG4gICAgICogU3BlY2lmaWVzIG9yZGVyIG9mIHRoZSBpbnB1dCBwcm9wZXJ0eSB3aGVuIHVzZWQgaW5zaWRlIHRoZSBkZWZhdWx0IGNyZWF0ZSBvciBlZGl0IGRpYWxvZy5cbiAgICAgKiBPcmRlcmluZyBpcyBhc2NlbmRpbmdcbiAgICAgKiBAZGVmYXVsdCAtMSAoc2V0cyB0aGlzIHByb3BlcnR5IGF0IHRoZSBlbmQpXG4gICAgICovXG4gICAgb3JkZXI/OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmVzLCBXaGV0aGVyIG9yIG5vdCB0aGVyZSBzaG91bGQgYmUgYSBsaW5lIGJyZWFrIGFmdGVyIHRoaXMgaW5wdXQuXG4gICAgICogSXMgdXNlZCBpbnNpZGUgdGhlIGRlZmF1bHQgY3JlYXRlIGFuZCBlZGl0IGRpYWxvZ3MuXG4gICAgICovXG4gICAgLy8gbGluZUJyZWFrQWZ0ZXI/OiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGRpc3BsYXlOYW1lOiBzdHJpbmcsXG4gICAgICAgIGRpc3BsYXk6IGJvb2xlYW4gPSB0cnVlLFxuICAgICAgICByZXF1aXJlZDogYm9vbGVhbiA9IHRydWUsXG4gICAgICAgIG9taXRGb3JDcmVhdGU6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICAgICAgb21pdEZvclVwZGF0ZTogYm9vbGVhbiA9IGZhbHNlLFxuICAgICAgICBkZWZhdWx0V2lkdGhzOiBbY29scywgY29scywgY29sc10gPSBbNiwgNiwgMTJdLFxuICAgICAgICBvcmRlcj86IG51bWJlclxuICAgICAgICAvLyBsaW5lQnJlYWtBZnRlcjogYm9vbGVhbiA9IGZhbHNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMuZGlzcGxheU5hbWUgPSBkaXNwbGF5TmFtZTtcbiAgICAgICAgdGhpcy5kaXNwbGF5ID0gZGlzcGxheTtcbiAgICAgICAgdGhpcy5yZXF1aXJlZCA9IHJlcXVpcmVkO1xuICAgICAgICB0aGlzLm9taXRGb3JDcmVhdGUgPSBvbWl0Rm9yQ3JlYXRlO1xuICAgICAgICB0aGlzLm9taXRGb3JVcGRhdGUgPSBvbWl0Rm9yVXBkYXRlO1xuICAgICAgICB0aGlzLmRlZmF1bHRXaWR0aHMgPSBkZWZhdWx0V2lkdGhzO1xuXG4gICAgICAgIGlmIChvcmRlcikge1xuICAgICAgICAgICAgaWYgKG9yZGVyIDwgMCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignb3JkZXIgbXVzdCBiZSBhdCBsZWFzdCAwJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMub3JkZXIgPSBvcmRlcjtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub3JkZXIgPSAtMTtcbiAgICAgICAgfVxuICAgICAgICAvLyB0aGlzLmxpbmVCcmVha0FmdGVyID0gbGluZUJyZWFrQWZ0ZXI7XG4gICAgfVxufSJdfQ==
@@ -1,44 +0,0 @@
1
- import { PropertyDecoratorConfig } from './base/property-decorator-config.interface';
2
- import { baseProperty } from './base/base-property.decorator';
3
- import { DecoratorTypes } from './base/decorator-types.enum';
4
- /**
5
- * Decorator for setting and getting string propery metadata
6
- * @param metadata The metadata of the string property
7
- */
8
- export function boolean(metadata) {
9
- if (metadata.displayStyle === 'dropdown') {
10
- return baseProperty(new DropdownBooleanDecoratorConfig(metadata), DecoratorTypes.BOOLEAN_DROPDOWN);
11
- }
12
- else if (metadata.displayStyle === 'checkbox') {
13
- return baseProperty(new CheckboxBooleanDecoratorConfig(metadata), DecoratorTypes.BOOLEAN_CHECKBOX);
14
- }
15
- else {
16
- return baseProperty(new ToggleBooleanDecoratorConfig(metadata), DecoratorTypes.BOOLEAN_TOGGLE);
17
- }
18
- }
19
- /**
20
- * The Definition for the @boolean metadata
21
- */
22
- class BooleanDecoratorConfig extends PropertyDecoratorConfig {
23
- }
24
- export class DropdownBooleanDecoratorConfig extends BooleanDecoratorConfig {
25
- constructor(metadata) {
26
- super(metadata.displayName, metadata.display, metadata.required, metadata.omitForCreate, metadata.omitForUpdate, metadata.defaultWidths, metadata.order);
27
- this.displayStyle = metadata.displayStyle;
28
- this.dropdownTrue = metadata.dropdownTrue;
29
- this.dropdownFalse = metadata.dropdownFalse;
30
- }
31
- }
32
- export class CheckboxBooleanDecoratorConfig extends BooleanDecoratorConfig {
33
- constructor(metadata) {
34
- super(metadata.displayName, metadata.display, metadata.required, metadata.omitForCreate, metadata.omitForUpdate, metadata.defaultWidths, metadata.order);
35
- this.displayStyle = metadata.displayStyle;
36
- }
37
- }
38
- export class ToggleBooleanDecoratorConfig extends BooleanDecoratorConfig {
39
- constructor(metadata) {
40
- super(metadata.displayName, metadata.display, metadata.required, metadata.omitForCreate, metadata.omitForUpdate, metadata.defaultWidths, metadata.order);
41
- this.displayStyle = metadata.displayStyle;
42
- }
43
- }
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi5kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9kZWNvcmF0b3JzL2Jvb2xlYW4uZGVjb3JhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFN0Q7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLE9BQU8sQ0FDbkIsUUFBd0c7SUFFeEcsSUFBSSxRQUFRLENBQUMsWUFBWSxLQUFLLFVBQVUsRUFBRTtRQUN0QyxPQUFPLFlBQVksQ0FBQyxJQUFJLDhCQUE4QixDQUFDLFFBQVEsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0tBQ3RHO1NBQ0ksSUFBSSxRQUFRLENBQUMsWUFBWSxLQUFLLFVBQVUsRUFBRTtRQUMzQyxPQUFPLFlBQVksQ0FBQyxJQUFJLDhCQUE4QixDQUFDLFFBQVEsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0tBQ3RHO1NBQ0k7UUFDRCxPQUFPLFlBQVksQ0FBQyxJQUFJLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQztLQUNsRztBQUNMLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQWUsc0JBQXVCLFNBQVEsdUJBQXVCO0NBS3BFO0FBRUQsTUFBTSxPQUFPLDhCQUErQixTQUFRLHNCQUFzQjtJQWF0RSxZQUFZLFFBQXdDO1FBQ2hELEtBQUssQ0FDRCxRQUFRLENBQUMsV0FBVyxFQUNwQixRQUFRLENBQUMsT0FBTyxFQUNoQixRQUFRLENBQUMsUUFBUSxFQUNqQixRQUFRLENBQUMsYUFBYSxFQUN0QixRQUFRLENBQUMsYUFBYSxFQUN0QixRQUFRLENBQUMsYUFBYSxFQUN0QixRQUFRLENBQUMsS0FBSyxDQUNqQixDQUFDO1FBQ0YsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQzFDLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQztRQUMxQyxJQUFJLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUM7SUFDaEQsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLDhCQUErQixTQUFRLHNCQUFzQjtJQUd0RSxZQUFZLFFBQXdDO1FBQ2hELEtBQUssQ0FDRCxRQUFRLENBQUMsV0FBVyxFQUNwQixRQUFRLENBQUMsT0FBTyxFQUNoQixRQUFRLENBQUMsUUFBUSxFQUNqQixRQUFRLENBQUMsYUFBYSxFQUN0QixRQUFRLENBQUMsYUFBYSxFQUN0QixRQUFRLENBQUMsYUFBYSxFQUN0QixRQUFRLENBQUMsS0FBSyxDQUNqQixDQUFDO1FBQ0YsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO0lBQzlDLENBQUM7Q0FDSjtBQUNELE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxzQkFBc0I7SUFHcEUsWUFBWSxRQUFzQztRQUM5QyxLQUFLLENBQ0QsUUFBUSxDQUFDLFdBQVcsRUFDcEIsUUFBUSxDQUFDLE9BQU8sRUFDaEIsUUFBUSxDQUFDLFFBQVEsRUFDakIsUUFBUSxDQUFDLGFBQWEsRUFDdEIsUUFBUSxDQUFDLGFBQWEsRUFDdEIsUUFBUSxDQUFDLGFBQWEsRUFDdEIsUUFBUSxDQUFDLEtBQUssQ0FDakIsQ0FBQztRQUNGLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQztJQUM5QyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9wZXJ0eURlY29yYXRvckNvbmZpZyB9IGZyb20gJy4vYmFzZS9wcm9wZXJ0eS1kZWNvcmF0b3ItY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBiYXNlUHJvcGVydHkgfSBmcm9tICcuL2Jhc2UvYmFzZS1wcm9wZXJ0eS5kZWNvcmF0b3InO1xuaW1wb3J0IHsgRGVjb3JhdG9yVHlwZXMgfSBmcm9tICcuL2Jhc2UvZGVjb3JhdG9yLXR5cGVzLmVudW0nO1xuXG4vKipcbiAqIERlY29yYXRvciBmb3Igc2V0dGluZyBhbmQgZ2V0dGluZyBzdHJpbmcgcHJvcGVyeSBtZXRhZGF0YVxuICogQHBhcmFtIG1ldGFkYXRhIFRoZSBtZXRhZGF0YSBvZiB0aGUgc3RyaW5nIHByb3BlcnR5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBib29sZWFuKFxuICAgIG1ldGFkYXRhOiBDaGVja2JveEJvb2xlYW5EZWNvcmF0b3JDb25maWcgfCBUb2dnbGVCb29sZWFuRGVjb3JhdG9yQ29uZmlnIHwgRHJvcGRvd25Cb29sZWFuRGVjb3JhdG9yQ29uZmlnXG4pOiAodGFyZ2V0OiBvYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcpID0+IHZvaWQge1xuICAgIGlmIChtZXRhZGF0YS5kaXNwbGF5U3R5bGUgPT09ICdkcm9wZG93bicpIHtcbiAgICAgICAgcmV0dXJuIGJhc2VQcm9wZXJ0eShuZXcgRHJvcGRvd25Cb29sZWFuRGVjb3JhdG9yQ29uZmlnKG1ldGFkYXRhKSwgRGVjb3JhdG9yVHlwZXMuQk9PTEVBTl9EUk9QRE9XTik7XG4gICAgfVxuICAgIGVsc2UgaWYgKG1ldGFkYXRhLmRpc3BsYXlTdHlsZSA9PT0gJ2NoZWNrYm94Jykge1xuICAgICAgICByZXR1cm4gYmFzZVByb3BlcnR5KG5ldyBDaGVja2JveEJvb2xlYW5EZWNvcmF0b3JDb25maWcobWV0YWRhdGEpLCBEZWNvcmF0b3JUeXBlcy5CT09MRUFOX0NIRUNLQk9YKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBiYXNlUHJvcGVydHkobmV3IFRvZ2dsZUJvb2xlYW5EZWNvcmF0b3JDb25maWcobWV0YWRhdGEpLCBEZWNvcmF0b3JUeXBlcy5CT09MRUFOX1RPR0dMRSk7XG4gICAgfVxufVxuXG4vKipcbiAqIFRoZSBEZWZpbml0aW9uIGZvciB0aGUgQGJvb2xlYW4gbWV0YWRhdGFcbiAqL1xuYWJzdHJhY3QgY2xhc3MgQm9vbGVhbkRlY29yYXRvckNvbmZpZyBleHRlbmRzIFByb3BlcnR5RGVjb3JhdG9yQ29uZmlnIHtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRvIGRpc3BsYXkgdGhlIGJvb2xlYW5zIGFzIGEgY2hlY2tib3gsIGEgdG9nZ2xlIGJ1dHRvbiBvciBhcyBhIGRyb3Bkb3duXG4gICAgICovXG4gICAgZGlzcGxheVN0eWxlITogJ2NoZWNrYm94JyB8ICdkcm9wZG93bicgfCAndG9nZ2xlJztcbn1cblxuZXhwb3J0IGNsYXNzIERyb3Bkb3duQm9vbGVhbkRlY29yYXRvckNvbmZpZyBleHRlbmRzIEJvb2xlYW5EZWNvcmF0b3JDb25maWcge1xuICAgIG92ZXJyaWRlIGRpc3BsYXlTdHlsZTogJ2Ryb3Bkb3duJztcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgdHJ1ZSB2YWx1ZSBpZiBkaXNwbGF5U3R5bGUgZHJvcGRvd24gaXMgdXNlZC5cbiAgICAgKiBDYW4gYWxzbyByZWNlaXZlIGEgZnVuY3Rpb24gdG8gZGV0ZXJtaW5lIHRoZSBuYW1lLlxuICAgICAqL1xuICAgIGRyb3Bkb3duVHJ1ZTogc3RyaW5nIHwgeyAoYXJnczogdW5rbm93bik6IHN0cmluZyB9O1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBmYWxzZSB2YWx1ZSBpZiBkaXNwbGF5U3R5bGUgZHJvcGRvd24gaXMgdXNlZC5cbiAgICAgKiBDYW4gYWxzbyByZWNlaXZlIGEgZnVuY3Rpb24gdG8gZGV0ZXJtaW5lIHRoZSBuYW1lLFxuICAgICAqL1xuICAgIGRyb3Bkb3duRmFsc2U6IHN0cmluZyB8IHsgKGFyZ3M6IHVua25vd24pOiBzdHJpbmcgfTtcblxuICAgIGNvbnN0cnVjdG9yKG1ldGFkYXRhOiBEcm9wZG93bkJvb2xlYW5EZWNvcmF0b3JDb25maWcpIHtcbiAgICAgICAgc3VwZXIoXG4gICAgICAgICAgICBtZXRhZGF0YS5kaXNwbGF5TmFtZSxcbiAgICAgICAgICAgIG1ldGFkYXRhLmRpc3BsYXksXG4gICAgICAgICAgICBtZXRhZGF0YS5yZXF1aXJlZCxcbiAgICAgICAgICAgIG1ldGFkYXRhLm9taXRGb3JDcmVhdGUsXG4gICAgICAgICAgICBtZXRhZGF0YS5vbWl0Rm9yVXBkYXRlLFxuICAgICAgICAgICAgbWV0YWRhdGEuZGVmYXVsdFdpZHRocyxcbiAgICAgICAgICAgIG1ldGFkYXRhLm9yZGVyXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuZGlzcGxheVN0eWxlID0gbWV0YWRhdGEuZGlzcGxheVN0eWxlO1xuICAgICAgICB0aGlzLmRyb3Bkb3duVHJ1ZSA9IG1ldGFkYXRhLmRyb3Bkb3duVHJ1ZTtcbiAgICAgICAgdGhpcy5kcm9wZG93bkZhbHNlID0gbWV0YWRhdGEuZHJvcGRvd25GYWxzZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDaGVja2JveEJvb2xlYW5EZWNvcmF0b3JDb25maWcgZXh0ZW5kcyBCb29sZWFuRGVjb3JhdG9yQ29uZmlnIHtcbiAgICBvdmVycmlkZSBkaXNwbGF5U3R5bGU6ICdjaGVja2JveCc7XG5cbiAgICBjb25zdHJ1Y3RvcihtZXRhZGF0YTogQ2hlY2tib3hCb29sZWFuRGVjb3JhdG9yQ29uZmlnKSB7XG4gICAgICAgIHN1cGVyKFxuICAgICAgICAgICAgbWV0YWRhdGEuZGlzcGxheU5hbWUsXG4gICAgICAgICAgICBtZXRhZGF0YS5kaXNwbGF5LFxuICAgICAgICAgICAgbWV0YWRhdGEucmVxdWlyZWQsXG4gICAgICAgICAgICBtZXRhZGF0YS5vbWl0Rm9yQ3JlYXRlLFxuICAgICAgICAgICAgbWV0YWRhdGEub21pdEZvclVwZGF0ZSxcbiAgICAgICAgICAgIG1ldGFkYXRhLmRlZmF1bHRXaWR0aHMsXG4gICAgICAgICAgICBtZXRhZGF0YS5vcmRlclxuICAgICAgICApO1xuICAgICAgICB0aGlzLmRpc3BsYXlTdHlsZSA9IG1ldGFkYXRhLmRpc3BsYXlTdHlsZTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgVG9nZ2xlQm9vbGVhbkRlY29yYXRvckNvbmZpZyBleHRlbmRzIEJvb2xlYW5EZWNvcmF0b3JDb25maWcge1xuICAgIG92ZXJyaWRlIGRpc3BsYXlTdHlsZTogJ3RvZ2dsZSc7XG5cbiAgICBjb25zdHJ1Y3RvcihtZXRhZGF0YTogVG9nZ2xlQm9vbGVhbkRlY29yYXRvckNvbmZpZykge1xuICAgICAgICBzdXBlcihcbiAgICAgICAgICAgIG1ldGFkYXRhLmRpc3BsYXlOYW1lLFxuICAgICAgICAgICAgbWV0YWRhdGEuZGlzcGxheSxcbiAgICAgICAgICAgIG1ldGFkYXRhLnJlcXVpcmVkLFxuICAgICAgICAgICAgbWV0YWRhdGEub21pdEZvckNyZWF0ZSxcbiAgICAgICAgICAgIG1ldGFkYXRhLm9taXRGb3JVcGRhdGUsXG4gICAgICAgICAgICBtZXRhZGF0YS5kZWZhdWx0V2lkdGhzLFxuICAgICAgICAgICAgbWV0YWRhdGEub3JkZXJcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5kaXNwbGF5U3R5bGUgPSBtZXRhZGF0YS5kaXNwbGF5U3R5bGU7XG4gICAgfVxufSJdfQ==
@@ -1,36 +0,0 @@
1
- import { PropertyDecoratorConfig } from './base/property-decorator-config.interface';
2
- import { baseProperty } from './base/base-property.decorator';
3
- import { DecoratorTypes } from './base/decorator-types.enum';
4
- /**
5
- * Decorator for setting and getting string propery metadata
6
- * @param metadata The metadata of the string property
7
- */
8
- export function number(metadata) {
9
- if (metadata.displayStyle === 'dropdown') {
10
- return baseProperty(new DropdownNumberDecoratorConfig(metadata), DecoratorTypes.NUMBER_DROPDOWN);
11
- }
12
- else {
13
- return baseProperty(new DefaultNumberDecoratorConfig(metadata), DecoratorTypes.NUMBER);
14
- }
15
- }
16
- /**
17
- * Interface definition for the @number metadata
18
- */
19
- class NumberDecoratorConfig extends PropertyDecoratorConfig {
20
- }
21
- export class DefaultNumberDecoratorConfig extends NumberDecoratorConfig {
22
- constructor(metadata) {
23
- super(metadata.displayName, metadata.display, metadata.required, metadata.omitForCreate, metadata.omitForUpdate, metadata.defaultWidths, metadata.order);
24
- this.displayStyle = metadata.displayStyle;
25
- this.min = metadata.min;
26
- this.max = metadata.max;
27
- }
28
- }
29
- export class DropdownNumberDecoratorConfig extends NumberDecoratorConfig {
30
- constructor(metadata) {
31
- super(metadata.displayName, metadata.display, metadata.required, metadata.omitForCreate, metadata.omitForUpdate, metadata.defaultWidths, metadata.order);
32
- this.displayStyle = metadata.displayStyle;
33
- this.dropdownValues = metadata.dropdownValues;
34
- }
35
- }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLmRlY29yYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2RlY29yYXRvcnMvbnVtYmVyLmRlY29yYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTdEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxNQUFNLENBQ2xCLFFBQXNFO0lBRXRFLElBQUksUUFBUSxDQUFDLFlBQVksS0FBSyxVQUFVLEVBQUU7UUFDdEMsT0FBTyxZQUFZLENBQUMsSUFBSSw2QkFBNkIsQ0FBQyxRQUFRLENBQUMsRUFBRSxjQUFjLENBQUMsZUFBZSxDQUFDLENBQUM7S0FDcEc7U0FDSTtRQUNELE9BQU8sWUFBWSxDQUFDLElBQUksNEJBQTRCLENBQUMsUUFBUSxDQUFDLEVBQUUsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQzFGO0FBQ0wsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBZSxxQkFBc0IsU0FBUSx1QkFBdUI7Q0FLbkU7QUFFRCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEscUJBQXFCO0lBV25FLFlBQVksUUFBc0M7UUFDOUMsS0FBSyxDQUNELFFBQVEsQ0FBQyxXQUFXLEVBQ3BCLFFBQVEsQ0FBQyxPQUFPLEVBQ2hCLFFBQVEsQ0FBQyxRQUFRLEVBQ2pCLFFBQVEsQ0FBQyxhQUFhLEVBQ3RCLFFBQVEsQ0FBQyxhQUFhLEVBQ3RCLFFBQVEsQ0FBQyxhQUFhLEVBQ3RCLFFBQVEsQ0FBQyxLQUFLLENBQ2pCLENBQUM7UUFDRixJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDMUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQztJQUM1QixDQUFDO0NBQ0o7QUFDRCxNQUFNLE9BQU8sNkJBQThCLFNBQVEscUJBQXFCO0lBUXBFLFlBQVksUUFBdUM7UUFDL0MsS0FBSyxDQUNELFFBQVEsQ0FBQyxXQUFXLEVBQ3BCLFFBQVEsQ0FBQyxPQUFPLEVBQ2hCLFFBQVEsQ0FBQyxRQUFRLEVBQ2pCLFFBQVEsQ0FBQyxhQUFhLEVBQ3RCLFFBQVEsQ0FBQyxhQUFhLEVBQ3RCLFFBQVEsQ0FBQyxhQUFhLEVBQ3RCLFFBQVEsQ0FBQyxLQUFLLENBQ2pCLENBQUM7UUFDRixJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDMUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDO0lBQ2xELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3BlcnR5RGVjb3JhdG9yQ29uZmlnIH0gZnJvbSAnLi9iYXNlL3Byb3BlcnR5LWRlY29yYXRvci1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IGJhc2VQcm9wZXJ0eSB9IGZyb20gJy4vYmFzZS9iYXNlLXByb3BlcnR5LmRlY29yYXRvcic7XG5pbXBvcnQgeyBEZWNvcmF0b3JUeXBlcyB9IGZyb20gJy4vYmFzZS9kZWNvcmF0b3ItdHlwZXMuZW51bSc7XG5cbi8qKlxuICogRGVjb3JhdG9yIGZvciBzZXR0aW5nIGFuZCBnZXR0aW5nIHN0cmluZyBwcm9wZXJ5IG1ldGFkYXRhXG4gKiBAcGFyYW0gbWV0YWRhdGEgVGhlIG1ldGFkYXRhIG9mIHRoZSBzdHJpbmcgcHJvcGVydHlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG51bWJlcihcbiAgICBtZXRhZGF0YTogRGVmYXVsdE51bWJlckRlY29yYXRvckNvbmZpZyB8IERyb3Bkb3duTnVtYmVyRGVjb3JhdG9yQ29uZmlnXG4pOiAodGFyZ2V0OiBvYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcpID0+IHZvaWQge1xuICAgIGlmIChtZXRhZGF0YS5kaXNwbGF5U3R5bGUgPT09ICdkcm9wZG93bicpIHtcbiAgICAgICAgcmV0dXJuIGJhc2VQcm9wZXJ0eShuZXcgRHJvcGRvd25OdW1iZXJEZWNvcmF0b3JDb25maWcobWV0YWRhdGEpLCBEZWNvcmF0b3JUeXBlcy5OVU1CRVJfRFJPUERPV04pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGJhc2VQcm9wZXJ0eShuZXcgRGVmYXVsdE51bWJlckRlY29yYXRvckNvbmZpZyhtZXRhZGF0YSksIERlY29yYXRvclR5cGVzLk5VTUJFUik7XG4gICAgfVxufVxuXG4vKipcbiAqIEludGVyZmFjZSBkZWZpbml0aW9uIGZvciB0aGUgQG51bWJlciBtZXRhZGF0YVxuICovXG5hYnN0cmFjdCBjbGFzcyBOdW1iZXJEZWNvcmF0b3JDb25maWcgZXh0ZW5kcyBQcm9wZXJ0eURlY29yYXRvckNvbmZpZyB7XG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byBkaXNwbGF5IHRoZSBudW1iZXIgaW4gYSBzaW5nbGUgbGluZSBvciBhcyBhIGRyb3Bkb3duXG4gICAgICovXG4gICAgZGlzcGxheVN0eWxlITogJ2xpbmUnIHwgJ2Ryb3Bkb3duJztcbn1cblxuZXhwb3J0IGNsYXNzIERlZmF1bHROdW1iZXJEZWNvcmF0b3JDb25maWcgZXh0ZW5kcyBOdW1iZXJEZWNvcmF0b3JDb25maWcge1xuICAgIG92ZXJyaWRlIGRpc3BsYXlTdHlsZTogJ2xpbmUnO1xuICAgIC8qKlxuICAgICAqIChvcHRpb25hbCkgVGhlIG1pbmltdW0gdmFsdWUgb2YgdGhlIG51bWJlclxuICAgICAqL1xuICAgIG1pbj86IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiAob3B0aW9uYWwpIFRoZSBtYXhpbXVtIHZhbHVlIG9mIHRoZSBudW1iZXJcbiAgICAgKi9cbiAgICBtYXg/OiBudW1iZXI7XG5cbiAgICBjb25zdHJ1Y3RvcihtZXRhZGF0YTogRGVmYXVsdE51bWJlckRlY29yYXRvckNvbmZpZykge1xuICAgICAgICBzdXBlcihcbiAgICAgICAgICAgIG1ldGFkYXRhLmRpc3BsYXlOYW1lLFxuICAgICAgICAgICAgbWV0YWRhdGEuZGlzcGxheSxcbiAgICAgICAgICAgIG1ldGFkYXRhLnJlcXVpcmVkLFxuICAgICAgICAgICAgbWV0YWRhdGEub21pdEZvckNyZWF0ZSxcbiAgICAgICAgICAgIG1ldGFkYXRhLm9taXRGb3JVcGRhdGUsXG4gICAgICAgICAgICBtZXRhZGF0YS5kZWZhdWx0V2lkdGhzLFxuICAgICAgICAgICAgbWV0YWRhdGEub3JkZXJcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5kaXNwbGF5U3R5bGUgPSBtZXRhZGF0YS5kaXNwbGF5U3R5bGU7XG4gICAgICAgIHRoaXMubWluID0gbWV0YWRhdGEubWluO1xuICAgICAgICB0aGlzLm1heCA9IG1ldGFkYXRhLm1heDtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgRHJvcGRvd25OdW1iZXJEZWNvcmF0b3JDb25maWcgZXh0ZW5kcyBOdW1iZXJEZWNvcmF0b3JDb25maWcge1xuICAgIG92ZXJyaWRlIGRpc3BsYXlTdHlsZTogJ2Ryb3Bkb3duJztcbiAgICAvKipcbiAgICAgKiBUaGUgdmFsdWVzIG9mIHRoZSBkcm9wZG93biwgY29uc2lzdGluZyBvZiBhIG5hbWUgdG8gZGlzcGxheSBhbmQgdGhlIGFjdHVhbCB2YWx1ZVxuICAgICAqIENhbiBhbHNvIHJlY2VpdmUgYSBmdW5jdGlvbiB0byBkZXRlcm1pbmUgdGhlIHZhbHVlc1xuICAgICAqL1xuICAgIGRyb3Bkb3duVmFsdWVzPzogeyBkaXNwbGF5TmFtZTogc3RyaW5nLCB2YWx1ZTogbnVtYmVyIH1bXTtcblxuICAgIGNvbnN0cnVjdG9yKG1ldGFkYXRhOiBEcm9wZG93bk51bWJlckRlY29yYXRvckNvbmZpZykge1xuICAgICAgICBzdXBlcihcbiAgICAgICAgICAgIG1ldGFkYXRhLmRpc3BsYXlOYW1lLFxuICAgICAgICAgICAgbWV0YWRhdGEuZGlzcGxheSxcbiAgICAgICAgICAgIG1ldGFkYXRhLnJlcXVpcmVkLFxuICAgICAgICAgICAgbWV0YWRhdGEub21pdEZvckNyZWF0ZSxcbiAgICAgICAgICAgIG1ldGFkYXRhLm9taXRGb3JVcGRhdGUsXG4gICAgICAgICAgICBtZXRhZGF0YS5kZWZhdWx0V2lkdGhzLFxuICAgICAgICAgICAgbWV0YWRhdGEub3JkZXJcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5kaXNwbGF5U3R5bGUgPSBtZXRhZGF0YS5kaXNwbGF5U3R5bGU7XG4gICAgICAgIHRoaXMuZHJvcGRvd25WYWx1ZXMgPSBtZXRhZGF0YS5kcm9wZG93blZhbHVlcztcbiAgICB9XG59Il19
@@ -1,23 +0,0 @@
1
- import { PropertyDecoratorConfig } from './base/property-decorator-config.interface';
2
- import { baseProperty } from './base/base-property.decorator';
3
- import { DecoratorTypes } from './base/decorator-types.enum';
4
- /**
5
- * Decorator for setting and getting object propery metadata.
6
- * @param metadata The metadata of the object property
7
- */
8
- export function object(metadata) {
9
- return baseProperty(new DefaultObjectDecoratorConfig(metadata), DecoratorTypes.OBJECT);
10
- }
11
- /**
12
- * Interface definition for the @object metadata
13
- */
14
- class ObjectDecoratorConfig extends PropertyDecoratorConfig {
15
- }
16
- export class DefaultObjectDecoratorConfig extends ObjectDecoratorConfig {
17
- constructor(metadata) {
18
- super(metadata.displayName, metadata.display, metadata.required, metadata.omitForCreate, metadata.omitForUpdate, metadata.defaultWidths, metadata.order);
19
- this.displayStyle = metadata.displayStyle;
20
- this.type = metadata.type;
21
- }
22
- }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LmRlY29yYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2RlY29yYXRvcnMvb2JqZWN0LmRlY29yYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTdEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxNQUFNLENBQUMsUUFBc0M7SUFDekQsT0FBTyxZQUFZLENBQUMsSUFBSSw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsRUFBRSxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDM0YsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBZSxxQkFBc0IsU0FBUSx1QkFBdUI7Q0FZbkU7QUFFRCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEscUJBQXFCO0lBR25FLFlBQVksUUFBc0M7UUFDOUMsS0FBSyxDQUNELFFBQVEsQ0FBQyxXQUFXLEVBQ3BCLFFBQVEsQ0FBQyxPQUFPLEVBQ2hCLFFBQVEsQ0FBQyxRQUFRLEVBQ2pCLFFBQVEsQ0FBQyxhQUFhLEVBQ3RCLFFBQVEsQ0FBQyxhQUFhLEVBQ3RCLFFBQVEsQ0FBQyxhQUFhLEVBQ3RCLFFBQVEsQ0FBQyxLQUFLLENBQ2pCLENBQUM7UUFDRixJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDMUMsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQzlCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3BlcnR5RGVjb3JhdG9yQ29uZmlnIH0gZnJvbSAnLi9iYXNlL3Byb3BlcnR5LWRlY29yYXRvci1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IGJhc2VQcm9wZXJ0eSB9IGZyb20gJy4vYmFzZS9iYXNlLXByb3BlcnR5LmRlY29yYXRvcic7XG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tICcuLi9jbGFzc2VzL2VudGl0eS1tb2RlbC5jbGFzcyc7XG5pbXBvcnQgeyBEZWNvcmF0b3JUeXBlcyB9IGZyb20gJy4vYmFzZS9kZWNvcmF0b3ItdHlwZXMuZW51bSc7XG5cbi8qKlxuICogRGVjb3JhdG9yIGZvciBzZXR0aW5nIGFuZCBnZXR0aW5nIG9iamVjdCBwcm9wZXJ5IG1ldGFkYXRhLlxuICogQHBhcmFtIG1ldGFkYXRhIFRoZSBtZXRhZGF0YSBvZiB0aGUgb2JqZWN0IHByb3BlcnR5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBvYmplY3QobWV0YWRhdGE6IERlZmF1bHRPYmplY3REZWNvcmF0b3JDb25maWcpOiAodGFyZ2V0OiBvYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcpID0+IHZvaWQge1xuICAgIHJldHVybiBiYXNlUHJvcGVydHkobmV3IERlZmF1bHRPYmplY3REZWNvcmF0b3JDb25maWcobWV0YWRhdGEpLCBEZWNvcmF0b3JUeXBlcy5PQkpFQ1QpO1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBkZWZpbml0aW9uIGZvciB0aGUgQG9iamVjdCBtZXRhZGF0YVxuICovXG5hYnN0cmFjdCBjbGFzcyBPYmplY3REZWNvcmF0b3JDb25maWcgZXh0ZW5kcyBQcm9wZXJ0eURlY29yYXRvckNvbmZpZyB7XG4gICAgLyoqXG4gICAgICogVGhlIGVudGl0eSB0eXBlIG9mIHRoZSBvYmplY3RcbiAgICAgKi9cbiAgICB0eXBlITogdHlwZW9mIEVudGl0eTtcblxuICAgIC8qKlxuICAgICAqIEhvdyB0byBkaXNwbGF5IHRoZSBvYmplY3QuXG4gICAgICogQGlubGluZSBUaGUgb2JqZWN0cyBwcm9wZXJ0aWVzIGFyZSBhZGRlZCBhcyBpbnB1dCBmaWVsZHMgaW4gYW4gc2VjdGlvbiBvZiB0aGUgZW50aXR5LlxuICAgICAqIFVzZWZ1bCBpZiB0aGUgb2JqZWN0IG9ubHkgY29udGFpbnMgYSBmZXcgcHJvcGVydGllcyAoZS5nLiBhIGFkZHJlc3Mgb24gYSB1c2VyKS5cbiAgICAgKi9cbiAgICBkaXNwbGF5U3R5bGUhOiAnaW5saW5lJztcbn1cblxuZXhwb3J0IGNsYXNzIERlZmF1bHRPYmplY3REZWNvcmF0b3JDb25maWcgZXh0ZW5kcyBPYmplY3REZWNvcmF0b3JDb25maWcge1xuICAgIG92ZXJyaWRlIGRpc3BsYXlTdHlsZTogJ2lubGluZSc7XG5cbiAgICBjb25zdHJ1Y3RvcihtZXRhZGF0YTogRGVmYXVsdE9iamVjdERlY29yYXRvckNvbmZpZykge1xuICAgICAgICBzdXBlcihcbiAgICAgICAgICAgIG1ldGFkYXRhLmRpc3BsYXlOYW1lLFxuICAgICAgICAgICAgbWV0YWRhdGEuZGlzcGxheSxcbiAgICAgICAgICAgIG1ldGFkYXRhLnJlcXVpcmVkLFxuICAgICAgICAgICAgbWV0YWRhdGEub21pdEZvckNyZWF0ZSxcbiAgICAgICAgICAgIG1ldGFkYXRhLm9taXRGb3JVcGRhdGUsXG4gICAgICAgICAgICBtZXRhZGF0YS5kZWZhdWx0V2lkdGhzLFxuICAgICAgICAgICAgbWV0YWRhdGEub3JkZXJcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5kaXNwbGF5U3R5bGUgPSBtZXRhZGF0YS5kaXNwbGF5U3R5bGU7XG4gICAgICAgIHRoaXMudHlwZSA9IG1ldGFkYXRhLnR5cGU7XG4gICAgfVxufSJdfQ==
@@ -1,61 +0,0 @@
1
- import { PropertyDecoratorConfig } from './base/property-decorator-config.interface';
2
- import { baseProperty } from './base/base-property.decorator';
3
- import { DecoratorTypes } from './base/decorator-types.enum';
4
- /**
5
- * Decorator for setting and getting string propery metadata
6
- * @param metadata The metadata of the string property
7
- */
8
- export function string(metadata) {
9
- if (metadata.displayStyle === 'dropdown') {
10
- return baseProperty(new DropdownStringDecoratorConfig(metadata), DecoratorTypes.STRING_DROPDOWN);
11
- }
12
- else if (metadata.displayStyle === 'autocomplete') {
13
- return baseProperty(new AutocompleteStringDecoratorConfig(metadata), DecoratorTypes.STRING_AUTOCOMPLETE);
14
- }
15
- else if (metadata.displayStyle === 'textbox') {
16
- return baseProperty(new TextboxStringDecoratorConfig(metadata), DecoratorTypes.STRING_TEXTBOX);
17
- }
18
- else {
19
- return baseProperty(new DefaultStringDecoratorConfig(metadata), DecoratorTypes.STRING);
20
- }
21
- }
22
- /**
23
- * Interface definition for the @string metadata
24
- */
25
- class StringDecoratorConfig extends PropertyDecoratorConfig {
26
- }
27
- export class DropdownStringDecoratorConfig extends StringDecoratorConfig {
28
- constructor(metadata) {
29
- super(metadata.displayName, metadata.display, metadata.required, metadata.omitForCreate, metadata.omitForUpdate, metadata.defaultWidths, metadata.order);
30
- this.displayStyle = metadata.displayStyle;
31
- this.dropdownValues = metadata.dropdownValues;
32
- }
33
- }
34
- export class DefaultStringDecoratorConfig extends StringDecoratorConfig {
35
- constructor(metadata) {
36
- super(metadata.displayName, metadata.display, metadata.required, metadata.omitForCreate, metadata.omitForUpdate, metadata.defaultWidths, metadata.order);
37
- this.displayStyle = metadata.displayStyle;
38
- this.minLength = metadata.minLength;
39
- this.maxLength = metadata.maxLength;
40
- this.regex = metadata.regex;
41
- }
42
- }
43
- export class TextboxStringDecoratorConfig extends StringDecoratorConfig {
44
- constructor(metadata) {
45
- super(metadata.displayName, metadata.display, metadata.required, metadata.omitForCreate, metadata.omitForUpdate, metadata.defaultWidths, metadata.order);
46
- this.displayStyle = metadata.displayStyle;
47
- this.minLength = metadata.minLength;
48
- this.maxLength = metadata.maxLength;
49
- }
50
- }
51
- export class AutocompleteStringDecoratorConfig extends StringDecoratorConfig {
52
- constructor(metadata) {
53
- super(metadata.displayName, metadata.display, metadata.required, metadata.omitForCreate, metadata.omitForUpdate, metadata.defaultWidths, metadata.order);
54
- this.displayStyle = metadata.displayStyle;
55
- this.autocompleteValues = metadata.autocompleteValues;
56
- this.minLength = metadata.minLength;
57
- this.maxLength = metadata.maxLength;
58
- this.regex = metadata.regex;
59
- }
60
- }
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLmRlY29yYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2RlY29yYXRvcnMvc3RyaW5nLmRlY29yYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTdEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxNQUFNLENBQ2xCLFFBQ2lFO0lBRWpFLElBQUksUUFBUSxDQUFDLFlBQVksS0FBSyxVQUFVLEVBQUU7UUFDdEMsT0FBTyxZQUFZLENBQUMsSUFBSSw2QkFBNkIsQ0FBQyxRQUFRLENBQUMsRUFBRSxjQUFjLENBQUMsZUFBZSxDQUFDLENBQUM7S0FDcEc7U0FDSSxJQUFJLFFBQVEsQ0FBQyxZQUFZLEtBQUssY0FBYyxFQUFFO1FBQy9DLE9BQU8sWUFBWSxDQUFDLElBQUksaUNBQWlDLENBQUMsUUFBUSxDQUFDLEVBQUUsY0FBYyxDQUFDLG1CQUFtQixDQUFDLENBQUM7S0FDNUc7U0FDSSxJQUFJLFFBQVEsQ0FBQyxZQUFZLEtBQUssU0FBUyxFQUFFO1FBQzFDLE9BQU8sWUFBWSxDQUFDLElBQUksNEJBQTRCLENBQUMsUUFBUSxDQUFDLEVBQUUsY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0tBQ2xHO1NBQ0k7UUFDRCxPQUFPLFlBQVksQ0FBQyxJQUFJLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUMxRjtBQUNMLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQWUscUJBQXNCLFNBQVEsdUJBQXVCO0NBS25FO0FBRUQsTUFBTSxPQUFPLDZCQUE4QixTQUFRLHFCQUFxQjtJQVFwRSxZQUFZLFFBQXVDO1FBQy9DLEtBQUssQ0FDRCxRQUFRLENBQUMsV0FBVyxFQUNwQixRQUFRLENBQUMsT0FBTyxFQUNoQixRQUFRLENBQUMsUUFBUSxFQUNqQixRQUFRLENBQUMsYUFBYSxFQUN0QixRQUFRLENBQUMsYUFBYSxFQUN0QixRQUFRLENBQUMsYUFBYSxFQUN0QixRQUFRLENBQUMsS0FBSyxDQUNqQixDQUFDO1FBQ0YsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQzFDLElBQUksQ0FBQyxjQUFjLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQztJQUNsRCxDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEscUJBQXFCO0lBZW5FLFlBQVksUUFBc0M7UUFDOUMsS0FBSyxDQUNELFFBQVEsQ0FBQyxXQUFXLEVBQ3BCLFFBQVEsQ0FBQyxPQUFPLEVBQ2hCLFFBQVEsQ0FBQyxRQUFRLEVBQ2pCLFFBQVEsQ0FBQyxhQUFhLEVBQ3RCLFFBQVEsQ0FBQyxhQUFhLEVBQ3RCLFFBQVEsQ0FBQyxhQUFhLEVBQ3RCLFFBQVEsQ0FBQyxLQUFLLENBQ2pCLENBQUM7UUFDRixJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDMUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQztRQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFDaEMsQ0FBQztDQUNKO0FBQ0QsTUFBTSxPQUFPLDRCQUE2QixTQUFRLHFCQUFxQjtJQVduRSxZQUFZLFFBQXNDO1FBQzlDLEtBQUssQ0FDRCxRQUFRLENBQUMsV0FBVyxFQUNwQixRQUFRLENBQUMsT0FBTyxFQUNoQixRQUFRLENBQUMsUUFBUSxFQUNqQixRQUFRLENBQUMsYUFBYSxFQUN0QixRQUFRLENBQUMsYUFBYSxFQUN0QixRQUFRLENBQUMsYUFBYSxFQUN0QixRQUFRLENBQUMsS0FBSyxDQUNqQixDQUFDO1FBQ0YsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQzFDLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQztRQUNwQyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUM7SUFDeEMsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLHFCQUFxQjtJQW1CeEUsWUFBWSxRQUEyQztRQUNuRCxLQUFLLENBQ0QsUUFBUSxDQUFDLFdBQVcsRUFDcEIsUUFBUSxDQUFDLE9BQU8sRUFDaEIsUUFBUSxDQUFDLFFBQVEsRUFDakIsUUFBUSxDQUFDLGFBQWEsRUFDdEIsUUFBUSxDQUFDLGFBQWEsRUFDdEIsUUFBUSxDQUFDLGFBQWEsRUFDdEIsUUFBUSxDQUFDLEtBQUssQ0FDakIsQ0FBQztRQUNGLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQztRQUMxQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsUUFBUSxDQUFDLGtCQUFrQixDQUFDO1FBQ3RELElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQztRQUNwQyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUM7UUFDcEMsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQ2hDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3BlcnR5RGVjb3JhdG9yQ29uZmlnIH0gZnJvbSAnLi9iYXNlL3Byb3BlcnR5LWRlY29yYXRvci1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IGJhc2VQcm9wZXJ0eSB9IGZyb20gJy4vYmFzZS9iYXNlLXByb3BlcnR5LmRlY29yYXRvcic7XG5pbXBvcnQgeyBEZWNvcmF0b3JUeXBlcyB9IGZyb20gJy4vYmFzZS9kZWNvcmF0b3ItdHlwZXMuZW51bSc7XG5cbi8qKlxuICogRGVjb3JhdG9yIGZvciBzZXR0aW5nIGFuZCBnZXR0aW5nIHN0cmluZyBwcm9wZXJ5IG1ldGFkYXRhXG4gKiBAcGFyYW0gbWV0YWRhdGEgVGhlIG1ldGFkYXRhIG9mIHRoZSBzdHJpbmcgcHJvcGVydHlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0cmluZyhcbiAgICBtZXRhZGF0YTogRHJvcGRvd25TdHJpbmdEZWNvcmF0b3JDb25maWcgfCBBdXRvY29tcGxldGVTdHJpbmdEZWNvcmF0b3JDb25maWdcbiAgICAgICAgfCBEZWZhdWx0U3RyaW5nRGVjb3JhdG9yQ29uZmlnIHwgVGV4dGJveFN0cmluZ0RlY29yYXRvckNvbmZpZ1xuKTogKHRhcmdldDogb2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nKSA9PiB2b2lkIHtcbiAgICBpZiAobWV0YWRhdGEuZGlzcGxheVN0eWxlID09PSAnZHJvcGRvd24nKSB7XG4gICAgICAgIHJldHVybiBiYXNlUHJvcGVydHkobmV3IERyb3Bkb3duU3RyaW5nRGVjb3JhdG9yQ29uZmlnKG1ldGFkYXRhKSwgRGVjb3JhdG9yVHlwZXMuU1RSSU5HX0RST1BET1dOKTtcbiAgICB9XG4gICAgZWxzZSBpZiAobWV0YWRhdGEuZGlzcGxheVN0eWxlID09PSAnYXV0b2NvbXBsZXRlJykge1xuICAgICAgICByZXR1cm4gYmFzZVByb3BlcnR5KG5ldyBBdXRvY29tcGxldGVTdHJpbmdEZWNvcmF0b3JDb25maWcobWV0YWRhdGEpLCBEZWNvcmF0b3JUeXBlcy5TVFJJTkdfQVVUT0NPTVBMRVRFKTtcbiAgICB9XG4gICAgZWxzZSBpZiAobWV0YWRhdGEuZGlzcGxheVN0eWxlID09PSAndGV4dGJveCcpIHtcbiAgICAgICAgcmV0dXJuIGJhc2VQcm9wZXJ0eShuZXcgVGV4dGJveFN0cmluZ0RlY29yYXRvckNvbmZpZyhtZXRhZGF0YSksIERlY29yYXRvclR5cGVzLlNUUklOR19URVhUQk9YKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBiYXNlUHJvcGVydHkobmV3IERlZmF1bHRTdHJpbmdEZWNvcmF0b3JDb25maWcobWV0YWRhdGEpLCBEZWNvcmF0b3JUeXBlcy5TVFJJTkcpO1xuICAgIH1cbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgZGVmaW5pdGlvbiBmb3IgdGhlIEBzdHJpbmcgbWV0YWRhdGFcbiAqL1xuYWJzdHJhY3QgY2xhc3MgU3RyaW5nRGVjb3JhdG9yQ29uZmlnIGV4dGVuZHMgUHJvcGVydHlEZWNvcmF0b3JDb25maWcge1xuICAgIC8qKlxuICAgICAqIEhvdyB0byBkaXNwbGF5IHRoZSBzdHJpbmdcbiAgICAgKi9cbiAgICBkaXNwbGF5U3R5bGUhOiAnbGluZScgfCAndGV4dGJveCcgfCAnYXV0b2NvbXBsZXRlJyB8ICdkcm9wZG93bic7XG59XG5cbmV4cG9ydCBjbGFzcyBEcm9wZG93blN0cmluZ0RlY29yYXRvckNvbmZpZyBleHRlbmRzIFN0cmluZ0RlY29yYXRvckNvbmZpZyB7XG4gICAgb3ZlcnJpZGUgZGlzcGxheVN0eWxlOiAnZHJvcGRvd24nO1xuICAgIC8qKlxuICAgICAqIFRoZSB2YWx1ZXMgb2YgdGhlIGRyb3Bkb3duLCBjb25zaXN0aW5nIG9mIGEgbmFtZSB0byBkaXNwbGF5IGFuZCB0aGUgYWN0dWFsIHZhbHVlXG4gICAgICogQ2FuIGFsc28gcmVjZWl2ZSBhIGZ1bmN0aW9uIHRvIGRldGVybWluZSB0aGUgdmFsdWVzXG4gICAgICovXG4gICAgZHJvcGRvd25WYWx1ZXM6IHsgZGlzcGxheU5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyB9W107XG5cbiAgICBjb25zdHJ1Y3RvcihtZXRhZGF0YTogRHJvcGRvd25TdHJpbmdEZWNvcmF0b3JDb25maWcpIHtcbiAgICAgICAgc3VwZXIoXG4gICAgICAgICAgICBtZXRhZGF0YS5kaXNwbGF5TmFtZSxcbiAgICAgICAgICAgIG1ldGFkYXRhLmRpc3BsYXksXG4gICAgICAgICAgICBtZXRhZGF0YS5yZXF1aXJlZCxcbiAgICAgICAgICAgIG1ldGFkYXRhLm9taXRGb3JDcmVhdGUsXG4gICAgICAgICAgICBtZXRhZGF0YS5vbWl0Rm9yVXBkYXRlLFxuICAgICAgICAgICAgbWV0YWRhdGEuZGVmYXVsdFdpZHRocyxcbiAgICAgICAgICAgIG1ldGFkYXRhLm9yZGVyXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuZGlzcGxheVN0eWxlID0gbWV0YWRhdGEuZGlzcGxheVN0eWxlO1xuICAgICAgICB0aGlzLmRyb3Bkb3duVmFsdWVzID0gbWV0YWRhdGEuZHJvcGRvd25WYWx1ZXM7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgRGVmYXVsdFN0cmluZ0RlY29yYXRvckNvbmZpZyBleHRlbmRzIFN0cmluZ0RlY29yYXRvckNvbmZpZyB7XG4gICAgb3ZlcnJpZGUgZGlzcGxheVN0eWxlOiAnbGluZSc7XG4gICAgLyoqXG4gICAgICogKG9wdGlvbmFsKSBUaGUgbWluaW11bSByZXF1aXJlZCBsZW5ndGggb2YgdGhlIHN0cmluZ1xuICAgICAqL1xuICAgIG1pbkxlbmd0aD86IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiAob3B0aW9uYWwpIFRoZSBtYXhpbXVtIHJlcXVpcmVkIGxlbmd0aCBvZiB0aGUgc3RyaW5nXG4gICAgICovXG4gICAgbWF4TGVuZ3RoPzogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIChvcHRpb25hbCkgQSByZWdleCB1c2VkIGZvciB2YWxpZGF0aW9uXG4gICAgICovXG4gICAgcmVnZXg/OiBSZWdFeHA7XG5cbiAgICBjb25zdHJ1Y3RvcihtZXRhZGF0YTogRGVmYXVsdFN0cmluZ0RlY29yYXRvckNvbmZpZykge1xuICAgICAgICBzdXBlcihcbiAgICAgICAgICAgIG1ldGFkYXRhLmRpc3BsYXlOYW1lLFxuICAgICAgICAgICAgbWV0YWRhdGEuZGlzcGxheSxcbiAgICAgICAgICAgIG1ldGFkYXRhLnJlcXVpcmVkLFxuICAgICAgICAgICAgbWV0YWRhdGEub21pdEZvckNyZWF0ZSxcbiAgICAgICAgICAgIG1ldGFkYXRhLm9taXRGb3JVcGRhdGUsXG4gICAgICAgICAgICBtZXRhZGF0YS5kZWZhdWx0V2lkdGhzLFxuICAgICAgICAgICAgbWV0YWRhdGEub3JkZXJcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5kaXNwbGF5U3R5bGUgPSBtZXRhZGF0YS5kaXNwbGF5U3R5bGU7XG4gICAgICAgIHRoaXMubWluTGVuZ3RoID0gbWV0YWRhdGEubWluTGVuZ3RoO1xuICAgICAgICB0aGlzLm1heExlbmd0aCA9IG1ldGFkYXRhLm1heExlbmd0aDtcbiAgICAgICAgdGhpcy5yZWdleCA9IG1ldGFkYXRhLnJlZ2V4O1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBUZXh0Ym94U3RyaW5nRGVjb3JhdG9yQ29uZmlnIGV4dGVuZHMgU3RyaW5nRGVjb3JhdG9yQ29uZmlnIHtcbiAgICBvdmVycmlkZSBkaXNwbGF5U3R5bGU6ICd0ZXh0Ym94JztcbiAgICAvKipcbiAgICAgKiAob3B0aW9uYWwpIFRoZSBtaW5pbXVtIHJlcXVpcmVkIGxlbmd0aCBvZiB0aGUgc3RyaW5nXG4gICAgICovXG4gICAgbWluTGVuZ3RoPzogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIChvcHRpb25hbCkgVGhlIG1heGltdW0gcmVxdWlyZWQgbGVuZ3RoIG9mIHRoZSBzdHJpbmdcbiAgICAgKi9cbiAgICBtYXhMZW5ndGg/OiBudW1iZXI7XG5cbiAgICBjb25zdHJ1Y3RvcihtZXRhZGF0YTogVGV4dGJveFN0cmluZ0RlY29yYXRvckNvbmZpZykge1xuICAgICAgICBzdXBlcihcbiAgICAgICAgICAgIG1ldGFkYXRhLmRpc3BsYXlOYW1lLFxuICAgICAgICAgICAgbWV0YWRhdGEuZGlzcGxheSxcbiAgICAgICAgICAgIG1ldGFkYXRhLnJlcXVpcmVkLFxuICAgICAgICAgICAgbWV0YWRhdGEub21pdEZvckNyZWF0ZSxcbiAgICAgICAgICAgIG1ldGFkYXRhLm9taXRGb3JVcGRhdGUsXG4gICAgICAgICAgICBtZXRhZGF0YS5kZWZhdWx0V2lkdGhzLFxuICAgICAgICAgICAgbWV0YWRhdGEub3JkZXJcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5kaXNwbGF5U3R5bGUgPSBtZXRhZGF0YS5kaXNwbGF5U3R5bGU7XG4gICAgICAgIHRoaXMubWluTGVuZ3RoID0gbWV0YWRhdGEubWluTGVuZ3RoO1xuICAgICAgICB0aGlzLm1heExlbmd0aCA9IG1ldGFkYXRhLm1heExlbmd0aDtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBdXRvY29tcGxldGVTdHJpbmdEZWNvcmF0b3JDb25maWcgZXh0ZW5kcyBTdHJpbmdEZWNvcmF0b3JDb25maWcge1xuICAgIG92ZXJyaWRlIGRpc3BsYXlTdHlsZTogJ2F1dG9jb21wbGV0ZSc7XG4gICAgLyoqXG4gICAgICogVGhlIGF1dG9jb21wbGV0ZSB2YWx1ZXNcbiAgICAgKi9cbiAgICBhdXRvY29tcGxldGVWYWx1ZXM6IHN0cmluZ1tdO1xuICAgIC8qKlxuICAgICAqIChvcHRpb25hbCkgVGhlIG1pbmltdW0gcmVxdWlyZWQgbGVuZ3RoIG9mIHRoZSBzdHJpbmdcbiAgICAgKi9cbiAgICBtaW5MZW5ndGg/OiBudW1iZXI7XG4gICAgLyoqXG4gICAgICogKG9wdGlvbmFsKSBUaGUgbWF4aW11bSByZXF1aXJlZCBsZW5ndGggb2YgdGhlIHN0cmluZ1xuICAgICAqL1xuICAgIG1heExlbmd0aD86IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiAob3B0aW9uYWwpIEEgcmVnZXggdXNlZCBmb3IgdmFsaWRhdGlvblxuICAgICAqL1xuICAgIHJlZ2V4PzogUmVnRXhwO1xuXG4gICAgY29uc3RydWN0b3IobWV0YWRhdGE6IEF1dG9jb21wbGV0ZVN0cmluZ0RlY29yYXRvckNvbmZpZykge1xuICAgICAgICBzdXBlcihcbiAgICAgICAgICAgIG1ldGFkYXRhLmRpc3BsYXlOYW1lLFxuICAgICAgICAgICAgbWV0YWRhdGEuZGlzcGxheSxcbiAgICAgICAgICAgIG1ldGFkYXRhLnJlcXVpcmVkLFxuICAgICAgICAgICAgbWV0YWRhdGEub21pdEZvckNyZWF0ZSxcbiAgICAgICAgICAgIG1ldGFkYXRhLm9taXRGb3JVcGRhdGUsXG4gICAgICAgICAgICBtZXRhZGF0YS5kZWZhdWx0V2lkdGhzLFxuICAgICAgICAgICAgbWV0YWRhdGEub3JkZXJcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5kaXNwbGF5U3R5bGUgPSBtZXRhZGF0YS5kaXNwbGF5U3R5bGU7XG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlVmFsdWVzID0gbWV0YWRhdGEuYXV0b2NvbXBsZXRlVmFsdWVzO1xuICAgICAgICB0aGlzLm1pbkxlbmd0aCA9IG1ldGFkYXRhLm1pbkxlbmd0aDtcbiAgICAgICAgdGhpcy5tYXhMZW5ndGggPSBtZXRhZGF0YS5tYXhMZW5ndGg7XG4gICAgICAgIHRoaXMucmVnZXggPSBtZXRhZGF0YS5yZWdleDtcbiAgICB9XG59Il19