ngx-material-entity 15.1.1 → 15.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 (27) hide show
  1. package/classes/entity.utilities.d.ts +36 -0
  2. package/components/input/date/date-range-input/date-range-input.component.d.ts +6 -3
  3. package/components/input/date/date-time-input/date-time-input.component.d.ts +2 -1
  4. package/components/input/file/file-image-input/file-image-input.component.d.ts +4 -2
  5. package/components/input/file/file-input/file-input.component.d.ts +5 -2
  6. package/components/input/string/string-password-input/string-password-input.component.d.ts +2 -1
  7. package/decorators/base/base-property.decorator.d.ts +2 -1
  8. package/decorators/custom/custom.decorator.d.ts +2 -1
  9. package/encapsulation/reflect.utilities.d.ts +9 -0
  10. package/esm2020/classes/entity.utilities.mjs +44 -1
  11. package/esm2020/components/input/date/date-range-input/date-range-input.component.mjs +21 -1
  12. package/esm2020/components/input/date/date-time-input/date-time-input.component.mjs +9 -1
  13. package/esm2020/components/input/file/file-default-input/file-default-input.component.mjs +3 -3
  14. package/esm2020/components/input/file/file-image-input/file-image-input.component.mjs +17 -3
  15. package/esm2020/components/input/file/file-input/file-input.component.mjs +14 -2
  16. package/esm2020/components/input/string/string-password-input/string-password-input.component.mjs +8 -3
  17. package/esm2020/decorators/base/base-property.decorator.mjs +6 -2
  18. package/esm2020/decorators/custom/custom.decorator.mjs +4 -3
  19. package/esm2020/decorators/date/date.decorator.mjs +4 -3
  20. package/esm2020/decorators/file/file.decorator.mjs +4 -3
  21. package/esm2020/decorators/string/string.decorator.mjs +3 -2
  22. package/esm2020/encapsulation/reflect.utilities.mjs +12 -1
  23. package/fesm2015/ngx-material-entity.mjs +333 -225
  24. package/fesm2015/ngx-material-entity.mjs.map +1 -1
  25. package/fesm2020/ngx-material-entity.mjs +330 -222
  26. package/fesm2020/ngx-material-entity.mjs.map +1 -1
  27. package/package.json +1 -1
@@ -1,3 +1,4 @@
1
+ import { EntityUtilities } from '../../classes/entity.utilities';
1
2
  import { baseProperty } from '../base/base-property.decorator';
2
3
  import { DecoratorTypes } from '../base/decorator-types.enum';
3
4
  import { DateRangeDateDecoratorConfigInternal, DateTimeDateDecoratorConfigInternal, DefaultDateDecoratorConfigInternal } from './date-decorator-internal.data';
@@ -12,10 +13,10 @@ export function date(metadata) {
12
13
  return baseProperty(new DefaultDateDecoratorConfigInternal(metadata), DecoratorTypes.DATE);
13
14
  }
14
15
  else if (metadata.displayStyle === 'datetime') {
15
- return baseProperty(new DateTimeDateDecoratorConfigInternal(metadata), DecoratorTypes.DATE_TIME);
16
+ return baseProperty(new DateTimeDateDecoratorConfigInternal(metadata), DecoratorTypes.DATE_TIME, [EntityUtilities.TIME_KEY]);
16
17
  }
17
18
  else {
18
- return baseProperty(new DateRangeDateDecoratorConfigInternal(metadata), DecoratorTypes.DATE_RANGE);
19
+ return baseProperty(new DateRangeDateDecoratorConfigInternal(metadata), DecoratorTypes.DATE_RANGE, [EntityUtilities.DATE_RANGE_END_KEY, EntityUtilities.DATE_RANGE_KEY, EntityUtilities.DATE_RANGE_START_KEY]);
19
20
  }
20
21
  }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9kZWNvcmF0b3JzL2RhdGUvZGF0ZS5kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsbUNBQW1DLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUcvSjs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxJQUFJLENBQ2hCLFFBQWlHO0lBRWpHLElBQUksUUFBUSxDQUFDLFlBQVksS0FBSyxNQUFNLEVBQUU7UUFDbEMsT0FBTyxZQUFZLENBQUMsSUFBSSxrQ0FBa0MsQ0FBQyxRQUFRLENBQUMsRUFBRSxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDOUY7U0FDSSxJQUFJLFFBQVEsQ0FBQyxZQUFZLEtBQUssVUFBVSxFQUFFO1FBQzNDLE9BQU8sWUFBWSxDQUFDLElBQUksbUNBQW1DLENBQUMsUUFBUSxDQUFDLEVBQUUsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0tBQ3BHO1NBQ0k7UUFDRCxPQUFPLFlBQVksQ0FBQyxJQUFJLG9DQUFvQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztLQUN0RztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBiYXNlUHJvcGVydHkgfSBmcm9tICcuLi9iYXNlL2Jhc2UtcHJvcGVydHkuZGVjb3JhdG9yJztcbmltcG9ydCB7IERlY29yYXRvclR5cGVzIH0gZnJvbSAnLi4vYmFzZS9kZWNvcmF0b3ItdHlwZXMuZW51bSc7XG5pbXBvcnQgeyBEYXRlUmFuZ2VEYXRlRGVjb3JhdG9yQ29uZmlnSW50ZXJuYWwsIERhdGVUaW1lRGF0ZURlY29yYXRvckNvbmZpZ0ludGVybmFsLCBEZWZhdWx0RGF0ZURlY29yYXRvckNvbmZpZ0ludGVybmFsIH0gZnJvbSAnLi9kYXRlLWRlY29yYXRvci1pbnRlcm5hbC5kYXRhJztcbmltcG9ydCB7IERhdGVSYW5nZURhdGVEZWNvcmF0b3JDb25maWcsIERhdGVUaW1lRGF0ZURlY29yYXRvckNvbmZpZywgRGVmYXVsdERhdGVEZWNvcmF0b3JDb25maWcgfSBmcm9tICcuL2RhdGUtZGVjb3JhdG9yLmRhdGEnO1xuXG4vKipcbiAqIERlY29yYXRvciBmb3Igc2V0dGluZyBhbmQgZ2V0dGluZyBkYXRlIHByb3BlcnR5IG1ldGFkYXRhLlxuICpcbiAqIEBwYXJhbSBtZXRhZGF0YSAtIFRoZSBtZXRhZGF0YSBvZiB0aGUgZGF0ZSBwcm9wZXJ0eS5cbiAqIEByZXR1cm5zIFRoZSBtZXRob2QgdGhhdCBkZWZpbmVzIHRoZSBtZXRhZGF0YS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRhdGUoXG4gICAgbWV0YWRhdGE6IERlZmF1bHREYXRlRGVjb3JhdG9yQ29uZmlnIHwgRGF0ZVJhbmdlRGF0ZURlY29yYXRvckNvbmZpZyB8IERhdGVUaW1lRGF0ZURlY29yYXRvckNvbmZpZ1xuKTogKHRhcmdldDogb2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nKSA9PiB2b2lkIHtcbiAgICBpZiAobWV0YWRhdGEuZGlzcGxheVN0eWxlID09PSAnZGF0ZScpIHtcbiAgICAgICAgcmV0dXJuIGJhc2VQcm9wZXJ0eShuZXcgRGVmYXVsdERhdGVEZWNvcmF0b3JDb25maWdJbnRlcm5hbChtZXRhZGF0YSksIERlY29yYXRvclR5cGVzLkRBVEUpO1xuICAgIH1cbiAgICBlbHNlIGlmIChtZXRhZGF0YS5kaXNwbGF5U3R5bGUgPT09ICdkYXRldGltZScpIHtcbiAgICAgICAgcmV0dXJuIGJhc2VQcm9wZXJ0eShuZXcgRGF0ZVRpbWVEYXRlRGVjb3JhdG9yQ29uZmlnSW50ZXJuYWwobWV0YWRhdGEpLCBEZWNvcmF0b3JUeXBlcy5EQVRFX1RJTUUpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGJhc2VQcm9wZXJ0eShuZXcgRGF0ZVJhbmdlRGF0ZURlY29yYXRvckNvbmZpZ0ludGVybmFsKG1ldGFkYXRhKSwgRGVjb3JhdG9yVHlwZXMuREFURV9SQU5HRSk7XG4gICAgfVxufSJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9kZWNvcmF0b3JzL2RhdGUvZGF0ZS5kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLG1DQUFtQyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHL0o7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsSUFBSSxDQUNoQixRQUFpRztJQUVqRyxJQUFJLFFBQVEsQ0FBQyxZQUFZLEtBQUssTUFBTSxFQUFFO1FBQ2xDLE9BQU8sWUFBWSxDQUFDLElBQUksa0NBQWtDLENBQUMsUUFBUSxDQUFDLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzlGO1NBQ0ksSUFBSSxRQUFRLENBQUMsWUFBWSxLQUFLLFVBQVUsRUFBRTtRQUMzQyxPQUFPLFlBQVksQ0FBQyxJQUFJLG1DQUFtQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztLQUNoSTtTQUNJO1FBQ0QsT0FBTyxZQUFZLENBQ2YsSUFBSSxvQ0FBb0MsQ0FBQyxRQUFRLENBQUMsRUFDbEQsY0FBYyxDQUFDLFVBQVUsRUFDekIsQ0FBQyxlQUFlLENBQUMsa0JBQWtCLEVBQUUsZUFBZSxDQUFDLGNBQWMsRUFBRSxlQUFlLENBQUMsb0JBQW9CLENBQUMsQ0FDN0csQ0FBQztLQUNMO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudGl0eVV0aWxpdGllcyB9IGZyb20gJy4uLy4uL2NsYXNzZXMvZW50aXR5LnV0aWxpdGllcyc7XG5pbXBvcnQgeyBiYXNlUHJvcGVydHkgfSBmcm9tICcuLi9iYXNlL2Jhc2UtcHJvcGVydHkuZGVjb3JhdG9yJztcbmltcG9ydCB7IERlY29yYXRvclR5cGVzIH0gZnJvbSAnLi4vYmFzZS9kZWNvcmF0b3ItdHlwZXMuZW51bSc7XG5pbXBvcnQgeyBEYXRlUmFuZ2VEYXRlRGVjb3JhdG9yQ29uZmlnSW50ZXJuYWwsIERhdGVUaW1lRGF0ZURlY29yYXRvckNvbmZpZ0ludGVybmFsLCBEZWZhdWx0RGF0ZURlY29yYXRvckNvbmZpZ0ludGVybmFsIH0gZnJvbSAnLi9kYXRlLWRlY29yYXRvci1pbnRlcm5hbC5kYXRhJztcbmltcG9ydCB7IERhdGVSYW5nZURhdGVEZWNvcmF0b3JDb25maWcsIERhdGVUaW1lRGF0ZURlY29yYXRvckNvbmZpZywgRGVmYXVsdERhdGVEZWNvcmF0b3JDb25maWcgfSBmcm9tICcuL2RhdGUtZGVjb3JhdG9yLmRhdGEnO1xuXG4vKipcbiAqIERlY29yYXRvciBmb3Igc2V0dGluZyBhbmQgZ2V0dGluZyBkYXRlIHByb3BlcnR5IG1ldGFkYXRhLlxuICpcbiAqIEBwYXJhbSBtZXRhZGF0YSAtIFRoZSBtZXRhZGF0YSBvZiB0aGUgZGF0ZSBwcm9wZXJ0eS5cbiAqIEByZXR1cm5zIFRoZSBtZXRob2QgdGhhdCBkZWZpbmVzIHRoZSBtZXRhZGF0YS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRhdGUoXG4gICAgbWV0YWRhdGE6IERlZmF1bHREYXRlRGVjb3JhdG9yQ29uZmlnIHwgRGF0ZVJhbmdlRGF0ZURlY29yYXRvckNvbmZpZyB8IERhdGVUaW1lRGF0ZURlY29yYXRvckNvbmZpZ1xuKTogKHRhcmdldDogb2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nKSA9PiB2b2lkIHtcbiAgICBpZiAobWV0YWRhdGEuZGlzcGxheVN0eWxlID09PSAnZGF0ZScpIHtcbiAgICAgICAgcmV0dXJuIGJhc2VQcm9wZXJ0eShuZXcgRGVmYXVsdERhdGVEZWNvcmF0b3JDb25maWdJbnRlcm5hbChtZXRhZGF0YSksIERlY29yYXRvclR5cGVzLkRBVEUpO1xuICAgIH1cbiAgICBlbHNlIGlmIChtZXRhZGF0YS5kaXNwbGF5U3R5bGUgPT09ICdkYXRldGltZScpIHtcbiAgICAgICAgcmV0dXJuIGJhc2VQcm9wZXJ0eShuZXcgRGF0ZVRpbWVEYXRlRGVjb3JhdG9yQ29uZmlnSW50ZXJuYWwobWV0YWRhdGEpLCBEZWNvcmF0b3JUeXBlcy5EQVRFX1RJTUUsIFtFbnRpdHlVdGlsaXRpZXMuVElNRV9LRVldKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBiYXNlUHJvcGVydHkoXG4gICAgICAgICAgICBuZXcgRGF0ZVJhbmdlRGF0ZURlY29yYXRvckNvbmZpZ0ludGVybmFsKG1ldGFkYXRhKSxcbiAgICAgICAgICAgIERlY29yYXRvclR5cGVzLkRBVEVfUkFOR0UsXG4gICAgICAgICAgICBbRW50aXR5VXRpbGl0aWVzLkRBVEVfUkFOR0VfRU5EX0tFWSwgRW50aXR5VXRpbGl0aWVzLkRBVEVfUkFOR0VfS0VZLCBFbnRpdHlVdGlsaXRpZXMuREFURV9SQU5HRV9TVEFSVF9LRVldXG4gICAgICAgICk7XG4gICAgfVxufSJdfQ==
@@ -1,3 +1,4 @@
1
+ import { EntityUtilities } from '../../classes/entity.utilities';
1
2
  import { baseProperty } from '../base/base-property.decorator';
2
3
  import { DecoratorTypes } from '../base/decorator-types.enum';
3
4
  import { DefaultFileDecoratorConfigInternal, ImageFileDecoratorConfigInternal } from './file-decorator-internal.data';
@@ -11,12 +12,12 @@ import { DefaultFileDecoratorConfigInternal, ImageFileDecoratorConfigInternal }
11
12
  export function file(metadata) {
12
13
  switch (metadata.type) {
13
14
  case 'other':
14
- return baseProperty(new DefaultFileDecoratorConfigInternal(metadata), DecoratorTypes.FILE_DEFAULT);
15
+ return baseProperty(new DefaultFileDecoratorConfigInternal(metadata), DecoratorTypes.FILE_DEFAULT, [EntityUtilities.FILENAMES_KEY]);
15
16
  case 'image':
16
- return baseProperty(new ImageFileDecoratorConfigInternal(metadata), DecoratorTypes.FILE_IMAGE);
17
+ return baseProperty(new ImageFileDecoratorConfigInternal(metadata), DecoratorTypes.FILE_IMAGE, [EntityUtilities.FILENAMES_KEY, EntityUtilities.MULTI_PREVIEW_IMAGES_KEY, EntityUtilities.SINGLE_PREVIEW_IMAGE_KEY]);
17
18
  default:
18
19
  // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any
19
20
  throw new Error(`Unknown metadata type ${metadata.type}`);
20
21
  }
21
22
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9kZWNvcmF0b3JzL2ZpbGUvZmlsZS5kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUd0SDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsSUFBSSxDQUFDLFFBQStEO0lBQ2hGLFFBQVEsUUFBUSxDQUFDLElBQUksRUFBRTtRQUNuQixLQUFLLE9BQU87WUFDUixPQUFPLFlBQVksQ0FBQyxJQUFJLGtDQUFrQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN2RyxLQUFLLE9BQU87WUFDUixPQUFPLFlBQVksQ0FBQyxJQUFJLGdDQUFnQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuRztZQUNJLDBHQUEwRztZQUMxRyxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUEwQixRQUFnQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7S0FDMUU7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYmFzZVByb3BlcnR5IH0gZnJvbSAnLi4vYmFzZS9iYXNlLXByb3BlcnR5LmRlY29yYXRvcic7XG5pbXBvcnQgeyBEZWNvcmF0b3JUeXBlcyB9IGZyb20gJy4uL2Jhc2UvZGVjb3JhdG9yLXR5cGVzLmVudW0nO1xuaW1wb3J0IHsgRGVmYXVsdEZpbGVEZWNvcmF0b3JDb25maWdJbnRlcm5hbCwgSW1hZ2VGaWxlRGVjb3JhdG9yQ29uZmlnSW50ZXJuYWwgfSBmcm9tICcuL2ZpbGUtZGVjb3JhdG9yLWludGVybmFsLmRhdGEnO1xuaW1wb3J0IHsgRGVmYXVsdEZpbGVEZWNvcmF0b3JDb25maWcsIEltYWdlRmlsZURlY29yYXRvckNvbmZpZyB9IGZyb20gJy4vZmlsZS1kZWNvcmF0b3IuZGF0YSc7XG5cbi8qKlxuICogRGVjb3JhdG9yIGZvciBzZXR0aW5nIGFuZCBnZXR0aW5nIGZpbGUgcHJvcGVydHkgbWV0YWRhdGEuXG4gKlxuICogQHBhcmFtIG1ldGFkYXRhIC0gVGhlIG1ldGFkYXRhIG9mIHRoZSBmaWxlIHByb3BlcnR5LlxuICogQHJldHVybnMgVGhlIG1ldGhvZCB0aGF0IGRlZmluZXMgdGhlIG1ldGFkYXRhLlxuICogQHRocm93cyBXaGVuIGFuIHVua25vd24gbWV0YWRhdGEgdHlwZSB3YXMgcHJvdmlkZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaWxlKG1ldGFkYXRhOiBEZWZhdWx0RmlsZURlY29yYXRvckNvbmZpZyB8IEltYWdlRmlsZURlY29yYXRvckNvbmZpZyk6ICh0YXJnZXQ6IG9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZykgPT4gdm9pZCB7XG4gICAgc3dpdGNoIChtZXRhZGF0YS50eXBlKSB7XG4gICAgICAgIGNhc2UgJ290aGVyJzpcbiAgICAgICAgICAgIHJldHVybiBiYXNlUHJvcGVydHkobmV3IERlZmF1bHRGaWxlRGVjb3JhdG9yQ29uZmlnSW50ZXJuYWwobWV0YWRhdGEpLCBEZWNvcmF0b3JUeXBlcy5GSUxFX0RFRkFVTFQpO1xuICAgICAgICBjYXNlICdpbWFnZSc6XG4gICAgICAgICAgICByZXR1cm4gYmFzZVByb3BlcnR5KG5ldyBJbWFnZUZpbGVEZWNvcmF0b3JDb25maWdJbnRlcm5hbChtZXRhZGF0YSksIERlY29yYXRvclR5cGVzLkZJTEVfSU1BR0UpO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtbWVtYmVyLWFjY2VzcywgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIG1ldGFkYXRhIHR5cGUgJHsobWV0YWRhdGEgYXMgYW55KS50eXBlfWApO1xuICAgIH1cbn0iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9kZWNvcmF0b3JzL2ZpbGUvZmlsZS5kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHdEg7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLElBQUksQ0FBQyxRQUErRDtJQUNoRixRQUFRLFFBQVEsQ0FBQyxJQUFJLEVBQUU7UUFDbkIsS0FBSyxPQUFPO1lBQ1IsT0FBTyxZQUFZLENBQ2YsSUFBSSxrQ0FBa0MsQ0FBQyxRQUFRLENBQUMsRUFDaEQsY0FBYyxDQUFDLFlBQVksRUFDM0IsQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQ2xDLENBQUM7UUFDTixLQUFLLE9BQU87WUFDUixPQUFPLFlBQVksQ0FDZixJQUFJLGdDQUFnQyxDQUFDLFFBQVEsQ0FBQyxFQUM5QyxjQUFjLENBQUMsVUFBVSxFQUN6QixDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsZUFBZSxDQUFDLHdCQUF3QixFQUFFLGVBQWUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUN0SCxDQUFDO1FBQ047WUFDSSwwR0FBMEc7WUFDMUcsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBMEIsUUFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0tBQzFFO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudGl0eVV0aWxpdGllcyB9IGZyb20gJy4uLy4uL2NsYXNzZXMvZW50aXR5LnV0aWxpdGllcyc7XG5pbXBvcnQgeyBiYXNlUHJvcGVydHkgfSBmcm9tICcuLi9iYXNlL2Jhc2UtcHJvcGVydHkuZGVjb3JhdG9yJztcbmltcG9ydCB7IERlY29yYXRvclR5cGVzIH0gZnJvbSAnLi4vYmFzZS9kZWNvcmF0b3ItdHlwZXMuZW51bSc7XG5pbXBvcnQgeyBEZWZhdWx0RmlsZURlY29yYXRvckNvbmZpZ0ludGVybmFsLCBJbWFnZUZpbGVEZWNvcmF0b3JDb25maWdJbnRlcm5hbCB9IGZyb20gJy4vZmlsZS1kZWNvcmF0b3ItaW50ZXJuYWwuZGF0YSc7XG5pbXBvcnQgeyBEZWZhdWx0RmlsZURlY29yYXRvckNvbmZpZywgSW1hZ2VGaWxlRGVjb3JhdG9yQ29uZmlnIH0gZnJvbSAnLi9maWxlLWRlY29yYXRvci5kYXRhJztcblxuLyoqXG4gKiBEZWNvcmF0b3IgZm9yIHNldHRpbmcgYW5kIGdldHRpbmcgZmlsZSBwcm9wZXJ0eSBtZXRhZGF0YS5cbiAqXG4gKiBAcGFyYW0gbWV0YWRhdGEgLSBUaGUgbWV0YWRhdGEgb2YgdGhlIGZpbGUgcHJvcGVydHkuXG4gKiBAcmV0dXJucyBUaGUgbWV0aG9kIHRoYXQgZGVmaW5lcyB0aGUgbWV0YWRhdGEuXG4gKiBAdGhyb3dzIFdoZW4gYW4gdW5rbm93biBtZXRhZGF0YSB0eXBlIHdhcyBwcm92aWRlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbGUobWV0YWRhdGE6IERlZmF1bHRGaWxlRGVjb3JhdG9yQ29uZmlnIHwgSW1hZ2VGaWxlRGVjb3JhdG9yQ29uZmlnKTogKHRhcmdldDogb2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nKSA9PiB2b2lkIHtcbiAgICBzd2l0Y2ggKG1ldGFkYXRhLnR5cGUpIHtcbiAgICAgICAgY2FzZSAnb3RoZXInOlxuICAgICAgICAgICAgcmV0dXJuIGJhc2VQcm9wZXJ0eShcbiAgICAgICAgICAgICAgICBuZXcgRGVmYXVsdEZpbGVEZWNvcmF0b3JDb25maWdJbnRlcm5hbChtZXRhZGF0YSksXG4gICAgICAgICAgICAgICAgRGVjb3JhdG9yVHlwZXMuRklMRV9ERUZBVUxULFxuICAgICAgICAgICAgICAgIFtFbnRpdHlVdGlsaXRpZXMuRklMRU5BTUVTX0tFWV1cbiAgICAgICAgICAgICk7XG4gICAgICAgIGNhc2UgJ2ltYWdlJzpcbiAgICAgICAgICAgIHJldHVybiBiYXNlUHJvcGVydHkoXG4gICAgICAgICAgICAgICAgbmV3IEltYWdlRmlsZURlY29yYXRvckNvbmZpZ0ludGVybmFsKG1ldGFkYXRhKSxcbiAgICAgICAgICAgICAgICBEZWNvcmF0b3JUeXBlcy5GSUxFX0lNQUdFLFxuICAgICAgICAgICAgICAgIFtFbnRpdHlVdGlsaXRpZXMuRklMRU5BTUVTX0tFWSwgRW50aXR5VXRpbGl0aWVzLk1VTFRJX1BSRVZJRVdfSU1BR0VTX0tFWSwgRW50aXR5VXRpbGl0aWVzLlNJTkdMRV9QUkVWSUVXX0lNQUdFX0tFWV1cbiAgICAgICAgICAgICk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1tZW1iZXItYWNjZXNzLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gbWV0YWRhdGEgdHlwZSAkeyhtZXRhZGF0YSBhcyBhbnkpLnR5cGV9YCk7XG4gICAgfVxufSJdfQ==
@@ -1,3 +1,4 @@
1
+ import { EntityUtilities } from '../../classes/entity.utilities';
1
2
  import { baseProperty } from '../base/base-property.decorator';
2
3
  import { DecoratorTypes } from '../base/decorator-types.enum';
3
4
  import { AutocompleteStringDecoratorConfigInternal, DefaultStringDecoratorConfigInternal, DropdownStringDecoratorConfigInternal, PasswordStringDecoratorConfigInternal, TextboxStringDecoratorConfigInternal } from './string-decorator-internal.data';
@@ -16,9 +17,9 @@ export function string(metadata) {
16
17
  case 'textbox':
17
18
  return baseProperty(new TextboxStringDecoratorConfigInternal(metadata), DecoratorTypes.STRING_TEXTBOX);
18
19
  case 'password':
19
- return baseProperty(new PasswordStringDecoratorConfigInternal(metadata), DecoratorTypes.STRING_PASSWORD);
20
+ return baseProperty(new PasswordStringDecoratorConfigInternal(metadata), DecoratorTypes.STRING_PASSWORD, [EntityUtilities.CONFIRM_PASSWORD_KEY]);
20
21
  default:
21
22
  return baseProperty(new DefaultStringDecoratorConfigInternal(metadata), DecoratorTypes.STRING);
22
23
  }
23
24
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLmRlY29yYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2RlY29yYXRvcnMvc3RyaW5nL3N0cmluZy5kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUseUNBQXlDLEVBQUUsb0NBQW9DLEVBQUUscUNBQXFDLEVBQUUscUNBQXFDLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUd2UDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxNQUFNLENBQ2xCLFFBQzZGO0lBRTdGLFFBQVEsUUFBUSxDQUFDLFlBQVksRUFBRTtRQUMzQixLQUFLLFVBQVU7WUFDWCxPQUFPLFlBQVksQ0FBQyxJQUFJLHFDQUFxQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM3RyxLQUFLLGNBQWM7WUFDZixPQUFPLFlBQVksQ0FBQyxJQUFJLHlDQUF5QyxDQUFDLFFBQVEsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3JILEtBQUssU0FBUztZQUNWLE9BQU8sWUFBWSxDQUFDLElBQUksb0NBQW9DLENBQUMsUUFBUSxDQUFDLEVBQUUsY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzNHLEtBQUssVUFBVTtZQUNYLE9BQU8sWUFBWSxDQUFDLElBQUkscUNBQXFDLENBQUMsUUFBUSxDQUFDLEVBQUUsY0FBYyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzdHO1lBQ0ksT0FBTyxZQUFZLENBQUMsSUFBSSxvQ0FBb0MsQ0FBQyxRQUFRLENBQUMsRUFBRSxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDdEc7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYmFzZVByb3BlcnR5IH0gZnJvbSAnLi4vYmFzZS9iYXNlLXByb3BlcnR5LmRlY29yYXRvcic7XG5pbXBvcnQgeyBEZWNvcmF0b3JUeXBlcyB9IGZyb20gJy4uL2Jhc2UvZGVjb3JhdG9yLXR5cGVzLmVudW0nO1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlU3RyaW5nRGVjb3JhdG9yQ29uZmlnSW50ZXJuYWwsIERlZmF1bHRTdHJpbmdEZWNvcmF0b3JDb25maWdJbnRlcm5hbCwgRHJvcGRvd25TdHJpbmdEZWNvcmF0b3JDb25maWdJbnRlcm5hbCwgUGFzc3dvcmRTdHJpbmdEZWNvcmF0b3JDb25maWdJbnRlcm5hbCwgVGV4dGJveFN0cmluZ0RlY29yYXRvckNvbmZpZ0ludGVybmFsIH0gZnJvbSAnLi9zdHJpbmctZGVjb3JhdG9yLWludGVybmFsLmRhdGEnO1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlU3RyaW5nRGVjb3JhdG9yQ29uZmlnLCBEZWZhdWx0U3RyaW5nRGVjb3JhdG9yQ29uZmlnLCBEcm9wZG93blN0cmluZ0RlY29yYXRvckNvbmZpZywgUGFzc3dvcmRTdHJpbmdEZWNvcmF0b3JDb25maWcsIFRleHRib3hTdHJpbmdEZWNvcmF0b3JDb25maWcgfSBmcm9tICcuL3N0cmluZy1kZWNvcmF0b3IuZGF0YSc7XG5cbi8qKlxuICogRGVjb3JhdG9yIGZvciBzZXR0aW5nIGFuZCBnZXR0aW5nIHN0cmluZyBQcm9wZXJ0eSBtZXRhZGF0YS5cbiAqXG4gKiBAcGFyYW0gbWV0YWRhdGEgLSBUaGUgbWV0YWRhdGEgb2YgdGhlIHN0cmluZyBwcm9wZXJ0eS5cbiAqIEByZXR1cm5zIFRoZSBtZXRob2QgdGhhdCBkZWZpbmVzIHRoZSBtZXRhZGF0YS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0cmluZyhcbiAgICBtZXRhZGF0YTogRHJvcGRvd25TdHJpbmdEZWNvcmF0b3JDb25maWcgfCBBdXRvY29tcGxldGVTdHJpbmdEZWNvcmF0b3JDb25maWdcbiAgICB8IERlZmF1bHRTdHJpbmdEZWNvcmF0b3JDb25maWcgfCBUZXh0Ym94U3RyaW5nRGVjb3JhdG9yQ29uZmlnIHwgUGFzc3dvcmRTdHJpbmdEZWNvcmF0b3JDb25maWdcbik6ICh0YXJnZXQ6IG9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZykgPT4gdm9pZCB7XG4gICAgc3dpdGNoIChtZXRhZGF0YS5kaXNwbGF5U3R5bGUpIHtcbiAgICAgICAgY2FzZSAnZHJvcGRvd24nOlxuICAgICAgICAgICAgcmV0dXJuIGJhc2VQcm9wZXJ0eShuZXcgRHJvcGRvd25TdHJpbmdEZWNvcmF0b3JDb25maWdJbnRlcm5hbChtZXRhZGF0YSksIERlY29yYXRvclR5cGVzLlNUUklOR19EUk9QRE9XTik7XG4gICAgICAgIGNhc2UgJ2F1dG9jb21wbGV0ZSc6XG4gICAgICAgICAgICByZXR1cm4gYmFzZVByb3BlcnR5KG5ldyBBdXRvY29tcGxldGVTdHJpbmdEZWNvcmF0b3JDb25maWdJbnRlcm5hbChtZXRhZGF0YSksIERlY29yYXRvclR5cGVzLlNUUklOR19BVVRPQ09NUExFVEUpO1xuICAgICAgICBjYXNlICd0ZXh0Ym94JzpcbiAgICAgICAgICAgIHJldHVybiBiYXNlUHJvcGVydHkobmV3IFRleHRib3hTdHJpbmdEZWNvcmF0b3JDb25maWdJbnRlcm5hbChtZXRhZGF0YSksIERlY29yYXRvclR5cGVzLlNUUklOR19URVhUQk9YKTtcbiAgICAgICAgY2FzZSAncGFzc3dvcmQnOlxuICAgICAgICAgICAgcmV0dXJuIGJhc2VQcm9wZXJ0eShuZXcgUGFzc3dvcmRTdHJpbmdEZWNvcmF0b3JDb25maWdJbnRlcm5hbChtZXRhZGF0YSksIERlY29yYXRvclR5cGVzLlNUUklOR19QQVNTV09SRCk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gYmFzZVByb3BlcnR5KG5ldyBEZWZhdWx0U3RyaW5nRGVjb3JhdG9yQ29uZmlnSW50ZXJuYWwobWV0YWRhdGEpLCBEZWNvcmF0b3JUeXBlcy5TVFJJTkcpO1xuICAgIH1cbn0iXX0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLmRlY29yYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2RlY29yYXRvcnMvc3RyaW5nL3N0cmluZy5kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLG9DQUFvQyxFQUFFLHFDQUFxQyxFQUFFLHFDQUFxQyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHdlA7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsTUFBTSxDQUNsQixRQUM2RjtJQUU3RixRQUFRLFFBQVEsQ0FBQyxZQUFZLEVBQUU7UUFDM0IsS0FBSyxVQUFVO1lBQ1gsT0FBTyxZQUFZLENBQUMsSUFBSSxxQ0FBcUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxjQUFjLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDN0csS0FBSyxjQUFjO1lBQ2YsT0FBTyxZQUFZLENBQUMsSUFBSSx5Q0FBeUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxjQUFjLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNySCxLQUFLLFNBQVM7WUFDVixPQUFPLFlBQVksQ0FBQyxJQUFJLG9DQUFvQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMzRyxLQUFLLFVBQVU7WUFDWCxPQUFPLFlBQVksQ0FDZixJQUFJLHFDQUFxQyxDQUFDLFFBQVEsQ0FBQyxFQUNuRCxjQUFjLENBQUMsZUFBZSxFQUM5QixDQUFDLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUN6QyxDQUFDO1FBQ047WUFDSSxPQUFPLFlBQVksQ0FBQyxJQUFJLG9DQUFvQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUN0RztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnRpdHlVdGlsaXRpZXMgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2VudGl0eS51dGlsaXRpZXMnO1xuaW1wb3J0IHsgYmFzZVByb3BlcnR5IH0gZnJvbSAnLi4vYmFzZS9iYXNlLXByb3BlcnR5LmRlY29yYXRvcic7XG5pbXBvcnQgeyBEZWNvcmF0b3JUeXBlcyB9IGZyb20gJy4uL2Jhc2UvZGVjb3JhdG9yLXR5cGVzLmVudW0nO1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlU3RyaW5nRGVjb3JhdG9yQ29uZmlnSW50ZXJuYWwsIERlZmF1bHRTdHJpbmdEZWNvcmF0b3JDb25maWdJbnRlcm5hbCwgRHJvcGRvd25TdHJpbmdEZWNvcmF0b3JDb25maWdJbnRlcm5hbCwgUGFzc3dvcmRTdHJpbmdEZWNvcmF0b3JDb25maWdJbnRlcm5hbCwgVGV4dGJveFN0cmluZ0RlY29yYXRvckNvbmZpZ0ludGVybmFsIH0gZnJvbSAnLi9zdHJpbmctZGVjb3JhdG9yLWludGVybmFsLmRhdGEnO1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlU3RyaW5nRGVjb3JhdG9yQ29uZmlnLCBEZWZhdWx0U3RyaW5nRGVjb3JhdG9yQ29uZmlnLCBEcm9wZG93blN0cmluZ0RlY29yYXRvckNvbmZpZywgUGFzc3dvcmRTdHJpbmdEZWNvcmF0b3JDb25maWcsIFRleHRib3hTdHJpbmdEZWNvcmF0b3JDb25maWcgfSBmcm9tICcuL3N0cmluZy1kZWNvcmF0b3IuZGF0YSc7XG5cbi8qKlxuICogRGVjb3JhdG9yIGZvciBzZXR0aW5nIGFuZCBnZXR0aW5nIHN0cmluZyBQcm9wZXJ0eSBtZXRhZGF0YS5cbiAqXG4gKiBAcGFyYW0gbWV0YWRhdGEgLSBUaGUgbWV0YWRhdGEgb2YgdGhlIHN0cmluZyBwcm9wZXJ0eS5cbiAqIEByZXR1cm5zIFRoZSBtZXRob2QgdGhhdCBkZWZpbmVzIHRoZSBtZXRhZGF0YS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0cmluZyhcbiAgICBtZXRhZGF0YTogRHJvcGRvd25TdHJpbmdEZWNvcmF0b3JDb25maWcgfCBBdXRvY29tcGxldGVTdHJpbmdEZWNvcmF0b3JDb25maWdcbiAgICB8IERlZmF1bHRTdHJpbmdEZWNvcmF0b3JDb25maWcgfCBUZXh0Ym94U3RyaW5nRGVjb3JhdG9yQ29uZmlnIHwgUGFzc3dvcmRTdHJpbmdEZWNvcmF0b3JDb25maWdcbik6ICh0YXJnZXQ6IG9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZykgPT4gdm9pZCB7XG4gICAgc3dpdGNoIChtZXRhZGF0YS5kaXNwbGF5U3R5bGUpIHtcbiAgICAgICAgY2FzZSAnZHJvcGRvd24nOlxuICAgICAgICAgICAgcmV0dXJuIGJhc2VQcm9wZXJ0eShuZXcgRHJvcGRvd25TdHJpbmdEZWNvcmF0b3JDb25maWdJbnRlcm5hbChtZXRhZGF0YSksIERlY29yYXRvclR5cGVzLlNUUklOR19EUk9QRE9XTik7XG4gICAgICAgIGNhc2UgJ2F1dG9jb21wbGV0ZSc6XG4gICAgICAgICAgICByZXR1cm4gYmFzZVByb3BlcnR5KG5ldyBBdXRvY29tcGxldGVTdHJpbmdEZWNvcmF0b3JDb25maWdJbnRlcm5hbChtZXRhZGF0YSksIERlY29yYXRvclR5cGVzLlNUUklOR19BVVRPQ09NUExFVEUpO1xuICAgICAgICBjYXNlICd0ZXh0Ym94JzpcbiAgICAgICAgICAgIHJldHVybiBiYXNlUHJvcGVydHkobmV3IFRleHRib3hTdHJpbmdEZWNvcmF0b3JDb25maWdJbnRlcm5hbChtZXRhZGF0YSksIERlY29yYXRvclR5cGVzLlNUUklOR19URVhUQk9YKTtcbiAgICAgICAgY2FzZSAncGFzc3dvcmQnOlxuICAgICAgICAgICAgcmV0dXJuIGJhc2VQcm9wZXJ0eShcbiAgICAgICAgICAgICAgICBuZXcgUGFzc3dvcmRTdHJpbmdEZWNvcmF0b3JDb25maWdJbnRlcm5hbChtZXRhZGF0YSksXG4gICAgICAgICAgICAgICAgRGVjb3JhdG9yVHlwZXMuU1RSSU5HX1BBU1NXT1JELFxuICAgICAgICAgICAgICAgIFtFbnRpdHlVdGlsaXRpZXMuQ09ORklSTV9QQVNTV09SRF9LRVldXG4gICAgICAgICAgICApO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIGJhc2VQcm9wZXJ0eShuZXcgRGVmYXVsdFN0cmluZ0RlY29yYXRvckNvbmZpZ0ludGVybmFsKG1ldGFkYXRhKSwgRGVjb3JhdG9yVHlwZXMuU1RSSU5HKTtcbiAgICB9XG59Il19
@@ -54,6 +54,17 @@ export class ReflectUtilities {
54
54
  static has(target, propertyKey) {
55
55
  return Reflect.has(target, propertyKey);
56
56
  }
57
+ /**
58
+ * Checks if the targets key entry has a metadata value for the given metadata key.
59
+ *
60
+ * @returns Whether the metadata is null or not.
61
+ * @param metadataKey - The key of the metadata on the property.
62
+ * @param target - Object that contains the property on itself or in its prototype chain.
63
+ * @param propertyKey - The key of the target.
64
+ */
65
+ static hasMetadata(metadataKey, target, propertyKey) {
66
+ return this.getMetadata(metadataKey, target, propertyKey) != null;
67
+ }
57
68
  /**
58
69
  * Define a unique metadata entry on the target.
59
70
  *
@@ -66,4 +77,4 @@ export class ReflectUtilities {
66
77
  Reflect.defineMetadata(metadataKey, metadataValue, target, propertyKey);
67
78
  }
68
79
  }
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmbGVjdC51dGlsaXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9lbmNhcHN1bGF0aW9uL3JlZmxlY3QudXRpbGl0aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixnQkFBZ0I7SUFDbEM7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxXQUFXLENBQW1CLFdBQW1CLEVBQUUsTUFBUyxFQUFFLFdBQW9CO1FBQ3JGLE9BQU8sT0FBTyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFFLFdBQXFCLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBbUIsTUFBUztRQUN0QyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFnQixDQUFDO0lBQ2xELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsR0FBRyxDQUFtQixNQUFTLEVBQUUsV0FBb0I7UUFDeEQsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxHQUFHLENBQW1CLE1BQVMsRUFBRSxXQUFvQixFQUFFLEtBQWM7UUFDeEUsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxHQUFHLENBQW1CLE1BQVMsRUFBRSxXQUFvQjtRQUN4RCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLGNBQWMsQ0FDakIsV0FBb0IsRUFDcEIsYUFBc0IsRUFDdEIsTUFBUyxFQUNULFdBQW9CO1FBRXBCLE9BQU8sQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsV0FBcUIsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIlxuLyoqXG4gKiBFbmNhcHN1bGF0ZXMgYWxsIGZ1bmN0aW9uYWxpdHkgb2YgUmVmbGVjdC5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJlZmxlY3RVdGlsaXRpZXMge1xuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIG1ldGFkYXRhIHZhbHVlIGZvciB0aGUgcHJvdmlkZWQgbWV0YWRhdGEga2V5IG9uIHRoZSB0YXJnZXQgb2JqZWN0IG9yIGl0cyBwcm90b3R5cGUgY2hhaW4uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWV0YWRhdGFLZXkgLSBBIGtleSB1c2VkIHRvIHN0b3JlIGFuZCByZXRyaWV2ZSBtZXRhZGF0YS5cbiAgICAgKiBAcGFyYW0gdGFyZ2V0IC0gVGhlIHRhcmdldCBvYmplY3Qgb24gd2hpY2ggdGhlIG1ldGFkYXRhIGlzIGRlZmluZWQuXG4gICAgICogQHBhcmFtIHByb3BlcnR5S2V5IC0gVGhlIHByb3BlcnR5IGtleSBmb3IgdGhlIHRhcmdldC5cbiAgICAgKiBAcmV0dXJucyBUaGUgbWV0YWRhdGEgdmFsdWUgZm9yIHRoZSBtZXRhZGF0YSBrZXkgaWYgZm91bmQ7IG90aGVyd2lzZSwgdW5kZWZpbmVkLlxuICAgICAqL1xuICAgIHN0YXRpYyBnZXRNZXRhZGF0YTxUIGV4dGVuZHMgb2JqZWN0PihtZXRhZGF0YUtleTogc3RyaW5nLCB0YXJnZXQ6IFQsIHByb3BlcnR5S2V5OiBrZXlvZiBUKTogdW5rbm93biB7XG4gICAgICAgIHJldHVybiBSZWZsZWN0LmdldE1ldGFkYXRhKG1ldGFkYXRhS2V5LCB0YXJnZXQsIHByb3BlcnR5S2V5IGFzIHN0cmluZyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgc3RyaW5nIGFuZCBzeW1ib2wga2V5cyBvZiB0aGUgb3duIHByb3BlcnRpZXMgb2YgYW4gb2JqZWN0LiBUaGUgb3duIHByb3BlcnRpZXMgb2YgYW4gb2JqZWN0XG4gICAgICogYXJlIHRob3NlIHRoYXQgYXJlIGRlZmluZWQgZGlyZWN0bHkgb24gdGhhdCBvYmplY3QsIGFuZCBhcmUgbm90IGluaGVyaXRlZCBmcm9tIHRoZSBvYmplY3QncyBwcm90b3R5cGUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdGFyZ2V0IC0gT2JqZWN0IHRoYXQgY29udGFpbnMgdGhlIG93biBwcm9wZXJ0aWVzLlxuICAgICAqIEByZXR1cm5zIFRoZSBrZXlzIG9mIHRoZSBnaXZlbiBvYmplY3QuXG4gICAgICovXG4gICAgc3RhdGljIG93bktleXM8VCBleHRlbmRzIG9iamVjdD4odGFyZ2V0OiBUKTogKGtleW9mIFQpW10ge1xuICAgICAgICByZXR1cm4gUmVmbGVjdC5vd25LZXlzKHRhcmdldCkgYXMgKGtleW9mIFQpW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgcHJvcGVydHkgb2YgdGFyZ2V0LCBlcXVpdmFsZW50IHRvIGB0YXJnZXRbcHJvcGVydHlLZXldYC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0YXJnZXQgLSBPYmplY3QgdGhhdCBjb250YWlucyB0aGUgcHJvcGVydHkgb24gaXRzZWxmIG9yIGluIGl0cyBwcm90b3R5cGUgY2hhaW4uXG4gICAgICogQHBhcmFtIHByb3BlcnR5S2V5IC0gVGhlIHByb3BlcnR5IG5hbWUuXG4gICAgICogQHJldHVybnMgVGhlIHByb3BlcnR5IG9mIHRoZSB0YXJnZXQgb2YgdGhlIGdpdmVuIGtleS5cbiAgICAgKi9cbiAgICBzdGF0aWMgZ2V0PFQgZXh0ZW5kcyBvYmplY3Q+KHRhcmdldDogVCwgcHJvcGVydHlLZXk6IGtleW9mIFQpOiB1bmtub3duIHtcbiAgICAgICAgcmV0dXJuIFJlZmxlY3QuZ2V0KHRhcmdldCwgcHJvcGVydHlLZXkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIHByb3BlcnR5IG9mIHRhcmdldCwgZXF1aXZhbGVudCB0byBgdGFyZ2V0W3Byb3BlcnR5S2V5XSA9IHZhbHVlYC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0YXJnZXQgLSBPYmplY3QgdGhhdCBjb250YWlucyB0aGUgcHJvcGVydHkgb24gaXRzZWxmIG9yIGluIGl0cyBwcm90b3R5cGUgY2hhaW4uXG4gICAgICogQHBhcmFtIHByb3BlcnR5S2V5IC0gVGhlIHByb3BlcnR5IG5hbWUuXG4gICAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIHNldCB0aGUgcHJvcGVydHkgdG8uXG4gICAgICogQHJldHVybnMgSWYgc2V0dGluZyB0aGUgdmFsdWUgd2FzIHN1Y2Nlc3NmdWwuXG4gICAgICovXG4gICAgc3RhdGljIHNldDxUIGV4dGVuZHMgb2JqZWN0Pih0YXJnZXQ6IFQsIHByb3BlcnR5S2V5OiBrZXlvZiBULCB2YWx1ZTogdW5rbm93bik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gUmVmbGVjdC5zZXQodGFyZ2V0LCBwcm9wZXJ0eUtleSwgdmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEVxdWl2YWxlbnQgdG8gYHByb3BlcnR5S2V5IGluIHRhcmdldGAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdGFyZ2V0IC0gT2JqZWN0IHRoYXQgY29udGFpbnMgdGhlIHByb3BlcnR5IG9uIGl0c2VsZiBvciBpbiBpdHMgcHJvdG90eXBlIGNoYWluLlxuICAgICAqIEBwYXJhbSBwcm9wZXJ0eUtleSAtIE5hbWUgb2YgdGhlIHByb3BlcnR5LlxuICAgICAqIEByZXR1cm5zIFdoZXRoZXIgb3Igbm90IHRoZSBnaXZlbiB0YXJnZXQgaGFzIHRoZSBrZXkuXG4gICAgICovXG4gICAgc3RhdGljIGhhczxUIGV4dGVuZHMgb2JqZWN0Pih0YXJnZXQ6IFQsIHByb3BlcnR5S2V5OiBrZXlvZiBUKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBSZWZsZWN0Lmhhcyh0YXJnZXQsIHByb3BlcnR5S2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmUgYSB1bmlxdWUgbWV0YWRhdGEgZW50cnkgb24gdGhlIHRhcmdldC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBtZXRhZGF0YUtleSAtIEEga2V5IHVzZWQgdG8gc3RvcmUgYW5kIHJldHJpZXZlIG1ldGFkYXRhLlxuICAgICAqIEBwYXJhbSBtZXRhZGF0YVZhbHVlIC0gQSB2YWx1ZSB0aGF0IGNvbnRhaW5zIGF0dGFjaGVkIG1ldGFkYXRhLlxuICAgICAqIEBwYXJhbSB0YXJnZXQgLSBUaGUgdGFyZ2V0IG9iamVjdCBvbiB3aGljaCB0byBkZWZpbmUgbWV0YWRhdGEuXG4gICAgICogQHBhcmFtIHByb3BlcnR5S2V5IC0gVGhlIHByb3BlcnR5IGtleSBmb3IgdGhlIHRhcmdldC5cbiAgICAgKi9cbiAgICBzdGF0aWMgZGVmaW5lTWV0YWRhdGE8VCBleHRlbmRzIG9iamVjdD4oXG4gICAgICAgIG1ldGFkYXRhS2V5OiB1bmtub3duLFxuICAgICAgICBtZXRhZGF0YVZhbHVlOiB1bmtub3duLFxuICAgICAgICB0YXJnZXQ6IFQsXG4gICAgICAgIHByb3BlcnR5S2V5OiBrZXlvZiBUXG4gICAgKTogdm9pZCB7XG4gICAgICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUsIHRhcmdldCwgcHJvcGVydHlLZXkgYXMgc3RyaW5nKTtcbiAgICB9XG59Il19
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmbGVjdC51dGlsaXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9lbmNhcHN1bGF0aW9uL3JlZmxlY3QudXRpbGl0aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixnQkFBZ0I7SUFDbEM7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxXQUFXLENBQW1CLFdBQW1CLEVBQUUsTUFBUyxFQUFFLFdBQW9CO1FBQ3JGLE9BQU8sT0FBTyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFFLFdBQXFCLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBbUIsTUFBUztRQUN0QyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFnQixDQUFDO0lBQ2xELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsR0FBRyxDQUFtQixNQUFTLEVBQUUsV0FBb0I7UUFDeEQsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxHQUFHLENBQW1CLE1BQVMsRUFBRSxXQUFvQixFQUFFLEtBQWM7UUFDeEUsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxHQUFHLENBQW1CLE1BQVMsRUFBRSxXQUFvQjtRQUN4RCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLFdBQVcsQ0FBbUIsV0FBbUIsRUFBRSxNQUFTLEVBQUUsV0FBb0I7UUFDckYsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLElBQUksSUFBSSxDQUFDO0lBQ3RFLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLGNBQWMsQ0FDakIsV0FBb0IsRUFDcEIsYUFBc0IsRUFDdEIsTUFBUyxFQUNULFdBQW9CO1FBRXBCLE9BQU8sQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsV0FBcUIsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIlxuLyoqXG4gKiBFbmNhcHN1bGF0ZXMgYWxsIGZ1bmN0aW9uYWxpdHkgb2YgUmVmbGVjdC5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJlZmxlY3RVdGlsaXRpZXMge1xuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIG1ldGFkYXRhIHZhbHVlIGZvciB0aGUgcHJvdmlkZWQgbWV0YWRhdGEga2V5IG9uIHRoZSB0YXJnZXQgb2JqZWN0IG9yIGl0cyBwcm90b3R5cGUgY2hhaW4uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWV0YWRhdGFLZXkgLSBBIGtleSB1c2VkIHRvIHN0b3JlIGFuZCByZXRyaWV2ZSBtZXRhZGF0YS5cbiAgICAgKiBAcGFyYW0gdGFyZ2V0IC0gVGhlIHRhcmdldCBvYmplY3Qgb24gd2hpY2ggdGhlIG1ldGFkYXRhIGlzIGRlZmluZWQuXG4gICAgICogQHBhcmFtIHByb3BlcnR5S2V5IC0gVGhlIHByb3BlcnR5IGtleSBmb3IgdGhlIHRhcmdldC5cbiAgICAgKiBAcmV0dXJucyBUaGUgbWV0YWRhdGEgdmFsdWUgZm9yIHRoZSBtZXRhZGF0YSBrZXkgaWYgZm91bmQ7IG90aGVyd2lzZSwgdW5kZWZpbmVkLlxuICAgICAqL1xuICAgIHN0YXRpYyBnZXRNZXRhZGF0YTxUIGV4dGVuZHMgb2JqZWN0PihtZXRhZGF0YUtleTogc3RyaW5nLCB0YXJnZXQ6IFQsIHByb3BlcnR5S2V5OiBrZXlvZiBUKTogdW5rbm93biB7XG4gICAgICAgIHJldHVybiBSZWZsZWN0LmdldE1ldGFkYXRhKG1ldGFkYXRhS2V5LCB0YXJnZXQsIHByb3BlcnR5S2V5IGFzIHN0cmluZyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgc3RyaW5nIGFuZCBzeW1ib2wga2V5cyBvZiB0aGUgb3duIHByb3BlcnRpZXMgb2YgYW4gb2JqZWN0LiBUaGUgb3duIHByb3BlcnRpZXMgb2YgYW4gb2JqZWN0XG4gICAgICogYXJlIHRob3NlIHRoYXQgYXJlIGRlZmluZWQgZGlyZWN0bHkgb24gdGhhdCBvYmplY3QsIGFuZCBhcmUgbm90IGluaGVyaXRlZCBmcm9tIHRoZSBvYmplY3QncyBwcm90b3R5cGUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdGFyZ2V0IC0gT2JqZWN0IHRoYXQgY29udGFpbnMgdGhlIG93biBwcm9wZXJ0aWVzLlxuICAgICAqIEByZXR1cm5zIFRoZSBrZXlzIG9mIHRoZSBnaXZlbiBvYmplY3QuXG4gICAgICovXG4gICAgc3RhdGljIG93bktleXM8VCBleHRlbmRzIG9iamVjdD4odGFyZ2V0OiBUKTogKGtleW9mIFQpW10ge1xuICAgICAgICByZXR1cm4gUmVmbGVjdC5vd25LZXlzKHRhcmdldCkgYXMgKGtleW9mIFQpW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgcHJvcGVydHkgb2YgdGFyZ2V0LCBlcXVpdmFsZW50IHRvIGB0YXJnZXRbcHJvcGVydHlLZXldYC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0YXJnZXQgLSBPYmplY3QgdGhhdCBjb250YWlucyB0aGUgcHJvcGVydHkgb24gaXRzZWxmIG9yIGluIGl0cyBwcm90b3R5cGUgY2hhaW4uXG4gICAgICogQHBhcmFtIHByb3BlcnR5S2V5IC0gVGhlIHByb3BlcnR5IG5hbWUuXG4gICAgICogQHJldHVybnMgVGhlIHByb3BlcnR5IG9mIHRoZSB0YXJnZXQgb2YgdGhlIGdpdmVuIGtleS5cbiAgICAgKi9cbiAgICBzdGF0aWMgZ2V0PFQgZXh0ZW5kcyBvYmplY3Q+KHRhcmdldDogVCwgcHJvcGVydHlLZXk6IGtleW9mIFQpOiB1bmtub3duIHtcbiAgICAgICAgcmV0dXJuIFJlZmxlY3QuZ2V0KHRhcmdldCwgcHJvcGVydHlLZXkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIHByb3BlcnR5IG9mIHRhcmdldCwgZXF1aXZhbGVudCB0byBgdGFyZ2V0W3Byb3BlcnR5S2V5XSA9IHZhbHVlYC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0YXJnZXQgLSBPYmplY3QgdGhhdCBjb250YWlucyB0aGUgcHJvcGVydHkgb24gaXRzZWxmIG9yIGluIGl0cyBwcm90b3R5cGUgY2hhaW4uXG4gICAgICogQHBhcmFtIHByb3BlcnR5S2V5IC0gVGhlIHByb3BlcnR5IG5hbWUuXG4gICAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIHNldCB0aGUgcHJvcGVydHkgdG8uXG4gICAgICogQHJldHVybnMgSWYgc2V0dGluZyB0aGUgdmFsdWUgd2FzIHN1Y2Nlc3NmdWwuXG4gICAgICovXG4gICAgc3RhdGljIHNldDxUIGV4dGVuZHMgb2JqZWN0Pih0YXJnZXQ6IFQsIHByb3BlcnR5S2V5OiBrZXlvZiBULCB2YWx1ZTogdW5rbm93bik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gUmVmbGVjdC5zZXQodGFyZ2V0LCBwcm9wZXJ0eUtleSwgdmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEVxdWl2YWxlbnQgdG8gYHByb3BlcnR5S2V5IGluIHRhcmdldGAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdGFyZ2V0IC0gT2JqZWN0IHRoYXQgY29udGFpbnMgdGhlIHByb3BlcnR5IG9uIGl0c2VsZiBvciBpbiBpdHMgcHJvdG90eXBlIGNoYWluLlxuICAgICAqIEBwYXJhbSBwcm9wZXJ0eUtleSAtIE5hbWUgb2YgdGhlIHByb3BlcnR5LlxuICAgICAqIEByZXR1cm5zIFdoZXRoZXIgb3Igbm90IHRoZSBnaXZlbiB0YXJnZXQgaGFzIHRoZSBrZXkuXG4gICAgICovXG4gICAgc3RhdGljIGhhczxUIGV4dGVuZHMgb2JqZWN0Pih0YXJnZXQ6IFQsIHByb3BlcnR5S2V5OiBrZXlvZiBUKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBSZWZsZWN0Lmhhcyh0YXJnZXQsIHByb3BlcnR5S2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIHRhcmdldHMga2V5IGVudHJ5IGhhcyBhIG1ldGFkYXRhIHZhbHVlIGZvciB0aGUgZ2l2ZW4gbWV0YWRhdGEga2V5LlxuICAgICAqXG4gICAgICogQHJldHVybnMgV2hldGhlciB0aGUgbWV0YWRhdGEgaXMgbnVsbCBvciBub3QuXG4gICAgICogQHBhcmFtIG1ldGFkYXRhS2V5IC0gVGhlIGtleSBvZiB0aGUgbWV0YWRhdGEgb24gdGhlIHByb3BlcnR5LlxuICAgICAqIEBwYXJhbSB0YXJnZXQgLSBPYmplY3QgdGhhdCBjb250YWlucyB0aGUgcHJvcGVydHkgb24gaXRzZWxmIG9yIGluIGl0cyBwcm90b3R5cGUgY2hhaW4uXG4gICAgICogQHBhcmFtIHByb3BlcnR5S2V5IC0gVGhlIGtleSBvZiB0aGUgdGFyZ2V0LlxuICAgICAqL1xuICAgIHN0YXRpYyBoYXNNZXRhZGF0YTxUIGV4dGVuZHMgb2JqZWN0PihtZXRhZGF0YUtleTogc3RyaW5nLCB0YXJnZXQ6IFQsIHByb3BlcnR5S2V5OiBrZXlvZiBUKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldE1ldGFkYXRhKG1ldGFkYXRhS2V5LCB0YXJnZXQsIHByb3BlcnR5S2V5KSAhPSBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlZmluZSBhIHVuaXF1ZSBtZXRhZGF0YSBlbnRyeSBvbiB0aGUgdGFyZ2V0LlxuICAgICAqXG4gICAgICogQHBhcmFtIG1ldGFkYXRhS2V5IC0gQSBrZXkgdXNlZCB0byBzdG9yZSBhbmQgcmV0cmlldmUgbWV0YWRhdGEuXG4gICAgICogQHBhcmFtIG1ldGFkYXRhVmFsdWUgLSBBIHZhbHVlIHRoYXQgY29udGFpbnMgYXR0YWNoZWQgbWV0YWRhdGEuXG4gICAgICogQHBhcmFtIHRhcmdldCAtIFRoZSB0YXJnZXQgb2JqZWN0IG9uIHdoaWNoIHRvIGRlZmluZSBtZXRhZGF0YS5cbiAgICAgKiBAcGFyYW0gcHJvcGVydHlLZXkgLSBUaGUgcHJvcGVydHkga2V5IGZvciB0aGUgdGFyZ2V0LlxuICAgICAqL1xuICAgIHN0YXRpYyBkZWZpbmVNZXRhZGF0YTxUIGV4dGVuZHMgb2JqZWN0PihcbiAgICAgICAgbWV0YWRhdGFLZXk6IHVua25vd24sXG4gICAgICAgIG1ldGFkYXRhVmFsdWU6IHVua25vd24sXG4gICAgICAgIHRhcmdldDogVCxcbiAgICAgICAgcHJvcGVydHlLZXk6IGtleW9mIFRcbiAgICApOiB2b2lkIHtcbiAgICAgICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShtZXRhZGF0YUtleSwgbWV0YWRhdGFWYWx1ZSwgdGFyZ2V0LCBwcm9wZXJ0eUtleSBhcyBzdHJpbmcpO1xuICAgIH1cbn0iXX0=