@o3r/forms 12.0.0-next.1 → 12.0.0-next.12

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 (39) hide show
  1. package/fesm2022/o3r-forms.mjs +32 -28
  2. package/fesm2022/o3r-forms.mjs.map +1 -1
  3. package/package.json +13 -14
  4. package/schematics/package.json +3 -0
  5. package/validators/date/date-validators.module.d.ts +7 -4
  6. package/validators/date/date-validators.module.d.ts.map +1 -1
  7. package/validators/date/max-date.directive.d.ts +1 -1
  8. package/validators/date/min-date.directive.d.ts +1 -1
  9. package/validators/number/max.directive.d.ts +1 -1
  10. package/validators/number/min.directive.d.ts +1 -1
  11. package/validators/number/number-validators.module.d.ts +7 -4
  12. package/validators/number/number-validators.module.d.ts.map +1 -1
  13. package/esm2022/annotations/async-input.mjs +0 -50
  14. package/esm2022/annotations/index.mjs +0 -2
  15. package/esm2022/core/custom-validation.mjs +0 -2
  16. package/esm2022/core/errors.mjs +0 -2
  17. package/esm2022/core/extended-validator.mjs +0 -11
  18. package/esm2022/core/flat-errors.mjs +0 -2
  19. package/esm2022/core/helpers.mjs +0 -91
  20. package/esm2022/core/index.mjs +0 -7
  21. package/esm2022/core/submit.mjs +0 -2
  22. package/esm2022/o3r-forms.mjs +0 -5
  23. package/esm2022/public_api.mjs +0 -5
  24. package/esm2022/stores/form-error-messages/form-error-messages.actions.mjs +0 -29
  25. package/esm2022/stores/form-error-messages/form-error-messages.module.mjs +0 -39
  26. package/esm2022/stores/form-error-messages/form-error-messages.reducer.mjs +0 -28
  27. package/esm2022/stores/form-error-messages/form-error-messages.selectors.mjs +0 -19
  28. package/esm2022/stores/form-error-messages/form-error-messages.state.mjs +0 -5
  29. package/esm2022/stores/form-error-messages/index.mjs +0 -6
  30. package/esm2022/stores/index.mjs +0 -2
  31. package/esm2022/validators/date/date-validators.module.mjs +0 -19
  32. package/esm2022/validators/date/index.mjs +0 -4
  33. package/esm2022/validators/date/max-date.directive.mjs +0 -74
  34. package/esm2022/validators/date/min-date.directive.mjs +0 -74
  35. package/esm2022/validators/index.mjs +0 -3
  36. package/esm2022/validators/number/index.mjs +0 -4
  37. package/esm2022/validators/number/max.directive.mjs +0 -63
  38. package/esm2022/validators/number/min.directive.mjs +0 -63
  39. package/esm2022/validators/number/number-validators.module.mjs +0 -19
@@ -232,13 +232,13 @@ class FormErrorMessagesStoreModule {
232
232
  ]
233
233
  };
234
234
  }
235
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormErrorMessagesStoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
236
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: FormErrorMessagesStoreModule, imports: [i1.StoreFeatureModule] }); }
237
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormErrorMessagesStoreModule, providers: [
235
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: FormErrorMessagesStoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
236
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.7", ngImport: i0, type: FormErrorMessagesStoreModule, imports: [i1.StoreFeatureModule] }); }
237
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: FormErrorMessagesStoreModule, providers: [
238
238
  { provide: FORM_ERROR_MESSAGES_REDUCER_TOKEN, useFactory: getDefaultFormErrorMessagesReducer }
239
239
  ], imports: [StoreModule.forFeature(FORM_ERROR_MESSAGES_STORE_NAME, FORM_ERROR_MESSAGES_REDUCER_TOKEN)] }); }
240
240
  }
241
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormErrorMessagesStoreModule, decorators: [{
241
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: FormErrorMessagesStoreModule, decorators: [{
242
242
  type: NgModule,
243
243
  args: [{
244
244
  imports: [
@@ -311,8 +311,8 @@ class MaxDateValidator {
311
311
  };
312
312
  return result;
313
313
  }
314
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MaxDateValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
315
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: MaxDateValidator, selector: "[maxdate][formControlName],[maxdate][formControl],[maxdate][ngModel]", inputs: { maxdate: "maxdate" }, providers: [
314
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: MaxDateValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
315
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.7", type: MaxDateValidator, isStandalone: true, selector: "[maxdate][formControlName],[maxdate][formControl],[maxdate][ngModel]", inputs: { maxdate: "maxdate" }, providers: [
316
316
  {
317
317
  provide: NG_VALIDATORS,
318
318
  useExisting: forwardRef((() => MaxDateValidator)),
@@ -320,7 +320,7 @@ class MaxDateValidator {
320
320
  }
321
321
  ], usesOnChanges: true, ngImport: i0 }); }
322
322
  }
323
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MaxDateValidator, decorators: [{
323
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: MaxDateValidator, decorators: [{
324
324
  type: Directive,
325
325
  args: [{
326
326
  selector: '[maxdate][formControlName],[maxdate][formControl],[maxdate][ngModel]',
@@ -381,8 +381,8 @@ class MinDateValidator {
381
381
  };
382
382
  return result;
383
383
  }
384
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MinDateValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
385
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: MinDateValidator, selector: "[mindate][formControlName],[mindate][formControl],[mindate][ngModel]", inputs: { mindate: "mindate" }, providers: [
384
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: MinDateValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
385
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.7", type: MinDateValidator, isStandalone: true, selector: "[mindate][formControlName],[mindate][formControl],[mindate][ngModel]", inputs: { mindate: "mindate" }, providers: [
386
386
  {
387
387
  provide: NG_VALIDATORS,
388
388
  useExisting: forwardRef((() => MinDateValidator)),
@@ -390,7 +390,7 @@ class MinDateValidator {
390
390
  }
391
391
  ], usesOnChanges: true, ngImport: i0 }); }
392
392
  }
393
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MinDateValidator, decorators: [{
393
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: MinDateValidator, decorators: [{
394
394
  type: Directive,
395
395
  args: [{
396
396
  selector: '[mindate][formControlName],[mindate][formControl],[mindate][ngModel]',
@@ -406,16 +406,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
406
406
  type: Input
407
407
  }] } });
408
408
 
409
+ /**
410
+ * @deprecated MaxDateValidator and MinDateValidator are now standalone, this module will be removed in v14
411
+ */
409
412
  class DateValidatorsModule {
410
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateValidatorsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
411
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DateValidatorsModule, declarations: [MaxDateValidator, MinDateValidator], imports: [CommonModule], exports: [MaxDateValidator, MinDateValidator] }); }
412
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateValidatorsModule, imports: [CommonModule] }); }
413
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DateValidatorsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
414
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.7", ngImport: i0, type: DateValidatorsModule, imports: [CommonModule, MaxDateValidator, MinDateValidator], exports: [MaxDateValidator, MinDateValidator] }); }
415
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DateValidatorsModule, imports: [CommonModule] }); }
413
416
  }
414
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateValidatorsModule, decorators: [{
417
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DateValidatorsModule, decorators: [{
415
418
  type: NgModule,
416
419
  args: [{
417
- imports: [CommonModule],
418
- declarations: [MaxDateValidator, MinDateValidator],
420
+ imports: [CommonModule, MaxDateValidator, MinDateValidator],
419
421
  exports: [MaxDateValidator, MinDateValidator]
420
422
  }]
421
423
  }] });
@@ -454,8 +456,8 @@ class MaxValidator {
454
456
  registerOnValidatorChange(fn) {
455
457
  this.onChange = fn;
456
458
  }
457
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MaxValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
458
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: MaxValidator, selector: "[max][formControlName],[max][formControl],[max][ngModel]", inputs: { max: "max" }, host: { properties: { "attr.max": "max ? max : null" } }, providers: [
459
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: MaxValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
460
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.7", type: MaxValidator, isStandalone: true, selector: "[max][formControlName],[max][formControl],[max][ngModel]", inputs: { max: "max" }, host: { properties: { "attr.max": "max ? max : null" } }, providers: [
459
461
  {
460
462
  provide: NG_VALIDATORS,
461
463
  useExisting: forwardRef((() => MaxValidator)),
@@ -463,7 +465,7 @@ class MaxValidator {
463
465
  }
464
466
  ], usesOnChanges: true, ngImport: i0 }); }
465
467
  }
466
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MaxValidator, decorators: [{
468
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: MaxValidator, decorators: [{
467
469
  type: Directive,
468
470
  args: [{
469
471
  selector: '[max][formControlName],[max][formControl],[max][ngModel]',
@@ -514,8 +516,8 @@ class MinValidator {
514
516
  registerOnValidatorChange(fn) {
515
517
  this.onChange = fn;
516
518
  }
517
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MinValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
518
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: MinValidator, selector: "[min][formControlName],[min][formControl],[min][ngModel]", inputs: { min: "min" }, host: { properties: { "attr.min": "min ? min : null" } }, providers: [
519
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: MinValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
520
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.7", type: MinValidator, isStandalone: true, selector: "[min][formControlName],[min][formControl],[min][ngModel]", inputs: { min: "min" }, host: { properties: { "attr.min": "min ? min : null" } }, providers: [
519
521
  {
520
522
  provide: NG_VALIDATORS,
521
523
  useExisting: forwardRef((() => MinValidator)),
@@ -523,7 +525,7 @@ class MinValidator {
523
525
  }
524
526
  ], usesOnChanges: true, ngImport: i0 }); }
525
527
  }
526
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MinValidator, decorators: [{
528
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: MinValidator, decorators: [{
527
529
  type: Directive,
528
530
  args: [{
529
531
  selector: '[min][formControlName],[min][formControl],[min][ngModel]',
@@ -540,16 +542,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
540
542
  type: Input
541
543
  }] } });
542
544
 
545
+ /**
546
+ * @deprecated MaxValidator and MinValidator are now standalone, this module will be removed in v14
547
+ */
543
548
  class NumberValidatorsModule {
544
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NumberValidatorsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
545
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: NumberValidatorsModule, declarations: [MaxValidator, MinValidator], imports: [CommonModule], exports: [MaxValidator, MinValidator] }); }
546
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NumberValidatorsModule, imports: [CommonModule] }); }
549
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NumberValidatorsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
550
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.7", ngImport: i0, type: NumberValidatorsModule, imports: [CommonModule, MaxValidator, MinValidator], exports: [MaxValidator, MinValidator] }); }
551
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NumberValidatorsModule, imports: [CommonModule] }); }
547
552
  }
548
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NumberValidatorsModule, decorators: [{
553
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NumberValidatorsModule, decorators: [{
549
554
  type: NgModule,
550
555
  args: [{
551
- imports: [CommonModule],
552
- declarations: [MaxValidator, MinValidator],
556
+ imports: [CommonModule, MaxValidator, MinValidator],
553
557
  exports: [MaxValidator, MinValidator]
554
558
  }]
555
559
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"o3r-forms.mjs","sources":["../../src/annotations/async-input.ts","../../src/core/extended-validator.ts","../../src/core/helpers.ts","../../src/stores/form-error-messages/form-error-messages.actions.ts","../../src/stores/form-error-messages/form-error-messages.reducer.ts","../../src/stores/form-error-messages/form-error-messages.state.ts","../../src/stores/form-error-messages/form-error-messages.module.ts","../../src/stores/form-error-messages/form-error-messages.selectors.ts","../../src/validators/date/max-date.directive.ts","../../src/validators/date/min-date.directive.ts","../../src/validators/date/date-validators.module.ts","../../src/validators/number/max.directive.ts","../../src/validators/number/min.directive.ts","../../src/validators/number/number-validators.module.ts","../../src/o3r-forms.ts"],"sourcesContent":["import {\n BehaviorSubject,\n Observable,\n} from 'rxjs';\nimport {\n switchMap,\n} from 'rxjs/operators';\n\n/**\n * Decorator for @Input property\n * It considers the input as an async one.\n * When a change in the input happens, it unsubscribe from the previous value\n * and subscribe to the next one\n * @param privateFieldName\n * @example\n * ```typescript\n * \\@Input()\n * \\@AsyncInput()\n * myStream$: Observable<number>;\n * ```\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention -- required convention for decorator\nexport function AsyncInput(privateFieldName?: string) {\n return (target: any, key: string) => {\n const privateSubjectField = `_subject_${privateFieldName || key}`;\n const privateStreamField = `_stream_${privateFieldName || key}`;\n if (delete target[key]) {\n Object.defineProperty(target, key, {\n get: function (this: any) {\n // Returning the same stream for reference check sake\n return this[privateStreamField];\n },\n set: function (this: any, value: Observable<any> | undefined) {\n if (value) {\n if (this[privateSubjectField]) {\n this[privateSubjectField].next(value);\n } else {\n this[privateSubjectField] = new BehaviorSubject<Observable<any>>(value);\n // Everytime the subject emits, we will discard the previous one\n // and subscribe to the new emission\n this[privateStreamField] = this[privateSubjectField].pipe(\n switchMap((stream$: Observable<any>) => stream$)\n );\n }\n } else {\n this[privateStreamField] = value;\n this[privateSubjectField] = value;\n }\n },\n enumerable: true,\n configurable: true\n });\n }\n };\n}\n","import {\n AbstractControl,\n ValidationErrors,\n Validator,\n ValidatorFn,\n} from '@angular/forms';\n\nexport abstract class ExtendedValidator implements Validator {\n /**\n * Full list of validator functions\n */\n public abstract validators: ValidatorFn[];\n\n /**\n * Apply the list of validators on a specific Control\n * @param control\n */\n public validate(control: AbstractControl): ValidationErrors | null {\n const errors = Object.assign({}, ...this.validators.map((validatorFunctions) => validatorFunctions(control)));\n\n return Object.keys(errors).length > 0 ? errors : null;\n }\n}\n","import {\n AbstractControl,\n FormGroup,\n ValidationErrors,\n} from '@angular/forms';\nimport {\n ControlFlatErrors,\n FlatError,\n} from './flat-errors';\n\n/**\n * Checks if controls is a FormGroup\n * @param control\n */\nexport function isFormGroup(control: AbstractControl): control is FormGroup {\n return Object.prototype.hasOwnProperty.call(control, 'controls');\n}\n\n/**\n * Mark the controls in the given form as touched and dirty\n * @param control\n */\nexport function markAllControlsDirtyAndTouched(control: AbstractControl) {\n control.markAsDirty({ onlySelf: true });\n control.markAsTouched({ onlySelf: true });\n if (isFormGroup(control)) {\n Object.keys(control.controls).forEach((controlName) => {\n const currentControl = control.get(controlName);\n if (currentControl) {\n markAllControlsDirtyAndTouched(currentControl);\n }\n });\n }\n}\n\n/**\n * Mark the controls in the given form as untouched and pristine\n * @param control\n */\nexport function markAllControlsPristineAndUntouched(control: AbstractControl) {\n control.markAsUntouched({ onlySelf: true });\n control.markAsPristine({ onlySelf: true });\n if (isFormGroup(control)) {\n Object.keys(control.controls).forEach((controlName) => {\n const currentControl = control.get(controlName);\n if (currentControl) {\n markAllControlsPristineAndUntouched(currentControl);\n }\n });\n }\n}\n\n/**\n * Transforms ValidationErrors object into an array of FlatErrors.\n * @note It filters out the 'customErrors'\n * @param errors Validation errors in a control\n */\nconst getErrorList = (errors: ValidationErrors): FlatError[] => {\n return Object.keys(errors)\n .filter((errorKey) => errorKey !== 'customErrors')\n .map((errorKey) => {\n const errorValue = errors[errorKey];\n return {\n errorKey,\n errorValue,\n validationError: { [errorKey]: errorValue }\n };\n });\n};\n\n/**\n * Gets a flat list of all the errors in the form and it's descendents\n * @param form Form to be checked\n */\nexport function getFlatControlErrors(form: AbstractControl) {\n /**\n * Get a ControlFlatError of the control (or form) containing the name of the control, the validations errors and custom errors\n * @param control the control to be analyzed\n * @param controlName the name of the control. Optional since forms do not have names\n */\n const getControlErrors = (control: AbstractControl, controlName?: string): ControlFlatErrors => {\n return {\n controlName,\n customErrors: (control.errors && control.errors.customErrors) || null,\n errors: control.errors ? getErrorList(control.errors) : []\n };\n };\n\n /**\n * Recursion to get all the flat errors from the control and its descendents\n * @param control the control to be analyzed\n * @param controlName the name of the control. Optional since forms do not have names\n */\n const recursiveControlErrors = (control: AbstractControl, controlName?: string): ControlFlatErrors[] => {\n const controlErrors = [getControlErrors(control, controlName)];\n if (isFormGroup(control)) {\n return Object.keys(control.controls).reduce((allErrors, childControlName) => {\n const childName = controlName ? `${controlName}.${childControlName}` : childControlName;\n return allErrors.concat(\n recursiveControlErrors(control.get(childControlName)!, `${childName}`)\n );\n }, controlErrors);\n }\n return controlErrors;\n };\n\n return recursiveControlErrors(form).filter((errors) => !!errors.customErrors || errors.errors.length > 0);\n}\n","import {\n createAction,\n props,\n} from '@ngrx/store';\nimport {\n SetEntitiesActionPayload,\n} from '@o3r/core';\nimport {\n FormError,\n} from '../../core/index';\n\n/** StateDetailsActions */\nconst ACTION_RESET = '[FormErrorMessages] reset';\n\n/** Entity Actions */\nconst ACTION_CLEAR_ENTITIES = '[FormErrorMessages] clear entities';\nconst ACTION_UPSERT_ENTITIES = '[FormErrorMessages] upsert entities';\nconst ACTION_SET_ENTITIES = '[FormErrorMessages] set entities';\nconst ACTION_REMOVE_ENTITY = '[FormErrorMessages] remove entities';\n\n/** The payload of remove entity */\nexport interface RemoveFormErrorMessagesPayload {\n /** id of the FormErrorMessages to be removed */\n id: string;\n}\n\n/**\n * Action to remove an entity from the store\n */\nexport const removeFormErrorMessagesEntity = createAction(ACTION_REMOVE_ENTITY, props<RemoveFormErrorMessagesPayload>());\n\n/**\n * Action to reset the whole state, by returning it to initial state.\n */\nexport const resetFormErrorMessages = createAction(ACTION_RESET);\n\n/**\n * Clear all formErrorMessages and fill the store with the payload\n */\nexport const setFormErrorMessagesEntities = createAction(ACTION_SET_ENTITIES, props<SetEntitiesActionPayload<FormError>>());\n\n/**\n * Update formErrorMessages with known IDs, insert the new ones\n */\nexport const upsertFormErrorMessagesEntities = createAction(ACTION_UPSERT_ENTITIES, props<SetEntitiesActionPayload<FormError>>());\n\n/**\n * Clear only the entities, keeps the other attributes in the state\n */\nexport const clearFormErrorMessagesEntities = createAction(ACTION_CLEAR_ENTITIES);\n","import {\n createEntityAdapter,\n EntityAdapter,\n} from '@ngrx/entity';\nimport {\n ActionCreator,\n createReducer,\n on,\n ReducerTypes,\n} from '@ngrx/store';\nimport * as actions from './form-error-messages.actions';\nimport {\n FormErrorMessagesState,\n FormErrorModel,\n} from './form-error-messages.state';\n\n/**\n * FormErrorMessages Store adapter\n */\nexport const formErrorMessagesAdapter: EntityAdapter<FormErrorModel> = createEntityAdapter<FormErrorModel>({\n selectId: (model) => model.formId\n});\n\n/**\n * FormErrorMessages Store initial value\n */\nexport const formErrorMessagesInitialState: FormErrorMessagesState = formErrorMessagesAdapter.getInitialState({});\n\n/**\n * List of basic actions for FormErrorMessages Store\n */\nexport const formErrorMessagesReducerFeatures: ReducerTypes<FormErrorMessagesState, ActionCreator[]>[] = [\n on(actions.resetFormErrorMessages, () => formErrorMessagesInitialState),\n\n on(actions.setFormErrorMessagesEntities, (state, payload) => formErrorMessagesAdapter.addMany(payload.entities, formErrorMessagesAdapter.removeAll(state))),\n\n on(actions.upsertFormErrorMessagesEntities, (state, payload) => formErrorMessagesAdapter.upsertMany(payload.entities, state)),\n\n on(actions.clearFormErrorMessagesEntities, (state) => formErrorMessagesAdapter.removeAll(state)),\n\n on(actions.removeFormErrorMessagesEntity, (state, payload) => formErrorMessagesAdapter.removeOne(payload.id, state))\n];\n\n/**\n * FormErrorMessages Store reducer\n */\nexport const formErrorMessagesReducer = createReducer(\n formErrorMessagesInitialState,\n ...formErrorMessagesReducerFeatures\n);\n","import {\n EntityState,\n} from '@ngrx/entity';\nimport {\n FormError,\n} from '../../core/index';\n\n/**\n * FormError model\n */\nexport interface FormErrorModel extends FormError {\n\n}\n\n/**\n * FormError store state\n */\nexport interface FormErrorMessagesState extends EntityState<FormErrorModel> {}\n\n/**\n * Name of the FormError Store\n */\nexport const FORM_ERROR_MESSAGES_STORE_NAME = 'formErrorMessages';\n\n/**\n * FormError Store Interface\n */\nexport interface FormErrorMessagesStore {\n /** FormErrorMessages state */\n [FORM_ERROR_MESSAGES_STORE_NAME]: FormErrorMessagesState;\n}\n","import {\n InjectionToken,\n ModuleWithProviders,\n NgModule,\n} from '@angular/core';\nimport {\n Action,\n ActionReducer,\n StoreModule,\n} from '@ngrx/store';\nimport {\n formErrorMessagesReducer,\n} from './form-error-messages.reducer';\nimport {\n FORM_ERROR_MESSAGES_STORE_NAME,\n FormErrorMessagesState,\n} from './form-error-messages.state';\n\n/** Token of the FormErrorMessages reducer */\nexport const FORM_ERROR_MESSAGES_REDUCER_TOKEN = new InjectionToken<ActionReducer<FormErrorMessagesState, Action>>('Feature FormErrorMessages Reducer');\n\n/** Provide default reducer for FormErrorMessages store */\nexport function getDefaultFormErrorMessagesReducer() {\n return formErrorMessagesReducer;\n}\n\n@NgModule({\n imports: [\n StoreModule.forFeature(FORM_ERROR_MESSAGES_STORE_NAME, FORM_ERROR_MESSAGES_REDUCER_TOKEN)\n ],\n providers: [\n { provide: FORM_ERROR_MESSAGES_REDUCER_TOKEN, useFactory: getDefaultFormErrorMessagesReducer }\n ]\n})\nexport class FormErrorMessagesStoreModule {\n public static forRoot<T extends FormErrorMessagesState>(reducerFactory: () => ActionReducer<T, Action>): ModuleWithProviders<FormErrorMessagesStoreModule> {\n return {\n ngModule: FormErrorMessagesStoreModule,\n providers: [\n { provide: FORM_ERROR_MESSAGES_REDUCER_TOKEN, useFactory: reducerFactory }\n ]\n };\n }\n}\n","import {\n createFeatureSelector,\n createSelector,\n} from '@ngrx/store';\nimport {\n ElementError,\n ErrorMessageObject,\n} from '../../core/index';\nimport {\n formErrorMessagesAdapter,\n} from './form-error-messages.reducer';\nimport {\n FORM_ERROR_MESSAGES_STORE_NAME,\n FormErrorMessagesState,\n} from './form-error-messages.state';\n\nconst { selectIds, selectEntities, selectAll, selectTotal } = formErrorMessagesAdapter.getSelectors();\n\n/** Select FormErrorMessages State */\nexport const selectFormErrorMessagesState = createFeatureSelector<FormErrorMessagesState>(FORM_ERROR_MESSAGES_STORE_NAME);\n\n/** Select the array of FormErrorMessages ids */\nexport const selectFormErrorMessagesIds = createSelector(selectFormErrorMessagesState, selectIds);\n\n/** Select the array of FormErrorMessages */\nexport const selectAllFormErrorMessages = createSelector(selectFormErrorMessagesState, selectAll);\n\n/** Select the dictionary of FormErrorMessages entities */\nexport const selectFormErrorMessagesEntities = createSelector(selectFormErrorMessagesState, selectEntities);\n\n/** Select the total FormErrorMessages count */\nexport const selectFormErrorMessagesTotal = createSelector(selectFormErrorMessagesState, selectTotal);\n\n/** Select the array of all ElementErrors */\nexport const selectAllElementErrors = createSelector(\n selectAllFormErrorMessages,\n (formErrorMessages) => formErrorMessages ? formErrorMessages.reduce((elementErrors: ElementError[], formErrorMessage) => [...elementErrors, ...formErrorMessage.errors], []) : []\n);\n\n/** Select the array of all ErrorMessageObjects */\nexport const selectAllErrorMessageObjects = createSelector(\n selectAllElementErrors,\n (elementErrors) => elementErrors ? elementErrors.reduce((errorMessageObjects: ErrorMessageObject[], elementError: ElementError) => [...errorMessageObjects, ...elementError.errorMessages], []) : []\n);\n","import {\n utils,\n} from '@ama-sdk/core';\nimport {\n Directive,\n forwardRef,\n Input,\n OnChanges,\n SimpleChanges,\n} from '@angular/core';\nimport {\n AbstractControl,\n NG_VALIDATORS,\n ValidationErrors,\n Validator,\n ValidatorFn,\n} from '@angular/forms';\n\n/**\n * A directive which installs the `MaxDateValidator` for any `formControlName,\n * `formControl`,\n * or control with `ngModel` that also has a `maxdate` attribute.\n */\n@Directive({\n selector: '[maxdate][formControlName],[maxdate][formControl],[maxdate][ngModel]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => MaxDateValidator),\n multi: true\n }\n ]\n})\nexport class MaxDateValidator implements Validator, OnChanges {\n /** Maximum date to compare to */\n @Input() public maxdate: utils.Date | null = null;\n\n private validator: ValidatorFn = (_a) => null;\n private onChange: () => void = () => {};\n\n private createValidator(): void {\n this.validator = MaxDateValidator.maxDate(this.maxdate);\n }\n\n /** @inheritDoc */\n public ngOnChanges(changes: SimpleChanges): void {\n if ('maxdate' in changes) {\n this.createValidator();\n\n if (this.onChange) {\n this.onChange();\n }\n }\n }\n\n /** @inheritDoc */\n public validate(c: AbstractControl): ValidationErrors | null {\n return this.maxdate == null ? null : this.validator(c);\n }\n\n /** @inheritDoc */\n public registerOnValidatorChange(fn: () => void): void {\n this.onChange = fn;\n }\n\n /**\n * Maximum Date validator\n * @param maxDate Maximum date to compare to\n */\n public static maxDate(maxDate: utils.Date | null): ValidatorFn {\n const result = (control: AbstractControl): ValidationErrors | null => {\n if (control.value instanceof utils.Date) {\n return maxDate && control.value.getTime() > maxDate.getTime() ? { maxdate: { requiredDate: maxDate, actualDate: control.value } } : null;\n }\n\n return null;\n };\n\n return result;\n }\n}\n","import {\n utils,\n} from '@ama-sdk/core';\nimport {\n Directive,\n forwardRef,\n Input,\n OnChanges,\n SimpleChanges,\n} from '@angular/core';\nimport {\n AbstractControl,\n NG_VALIDATORS,\n ValidationErrors,\n Validator,\n ValidatorFn,\n} from '@angular/forms';\n\n/**\n * A directive which installs the `MinDateValidator` for any `formControlName,\n * `formControl`,\n * or control with `ngModel` that also has a `mindate` attribute.\n */\n@Directive({\n selector: '[mindate][formControlName],[mindate][formControl],[mindate][ngModel]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => MinDateValidator),\n multi: true\n }\n ]\n})\nexport class MinDateValidator implements Validator, OnChanges {\n /** Minimum date to compare to */\n @Input() public mindate: utils.Date | null = null;\n\n private validator: ValidatorFn = (_a) => null;\n private onChange: () => void = () => {};\n\n private createValidator(): void {\n this.validator = MinDateValidator.minDate(this.mindate);\n }\n\n /** @inheritDoc */\n public ngOnChanges(changes: SimpleChanges): void {\n if ('mindate' in changes) {\n this.createValidator();\n\n if (this.onChange) {\n this.onChange();\n }\n }\n }\n\n /** @inheritDoc */\n public validate(c: AbstractControl): ValidationErrors | null {\n return this.mindate == null ? null : this.validator(c);\n }\n\n /** @inheritDoc */\n public registerOnValidatorChange(fn: () => void): void {\n this.onChange = fn;\n }\n\n /**\n * Minimum Date validator\n * @param minDate Minimum date to compare to\n */\n public static minDate(minDate: utils.Date | null): ValidatorFn {\n const result = (control: AbstractControl): ValidationErrors | null => {\n if (control.value instanceof utils.Date) {\n return minDate && control.value.getTime() < minDate.getTime() ? { mindate: { requiredDate: minDate, actualDate: control.value } } : null;\n }\n\n return null;\n };\n\n return result;\n }\n}\n","import {\n CommonModule,\n} from '@angular/common';\nimport {\n NgModule,\n} from '@angular/core';\nimport {\n MaxDateValidator,\n} from './max-date.directive';\nimport {\n MinDateValidator,\n} from './min-date.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [MaxDateValidator, MinDateValidator],\n exports: [MaxDateValidator, MinDateValidator]\n})\nexport class DateValidatorsModule {}\n","import {\n Directive,\n forwardRef,\n Input,\n OnChanges,\n SimpleChanges,\n} from '@angular/core';\nimport {\n AbstractControl,\n NG_VALIDATORS,\n ValidationErrors,\n Validator,\n ValidatorFn,\n Validators,\n} from '@angular/forms';\n\n/**\n * A directive which installs the `MaxValidator` for any `formControlName,\n * `formControl`,\n * or control with `ngModel` that also has a `max` attribute.\n */\n@Directive({\n selector: '[max][formControlName],[max][formControl],[max][ngModel]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => MaxValidator),\n multi: true\n }\n ],\n host: { '[attr.max]': 'max ? max : null' }\n})\nexport class MaxValidator implements Validator, OnChanges {\n /** Maximum date to compare to */\n @Input() public max: string | number | null = null;\n\n private validator: ValidatorFn = (_a) => null;\n private onChange: () => void = () => {};\n\n private createValidator(): void {\n if (this.max !== null) {\n this.validator = Validators.max(+this.max);\n }\n }\n\n /** @inheritDoc */\n public ngOnChanges(changes: SimpleChanges): void {\n if ('max' in changes) {\n this.createValidator();\n\n if (this.onChange) {\n this.onChange();\n }\n }\n }\n\n /** @inheritDoc */\n public validate(c: AbstractControl): ValidationErrors | null {\n return this.max == null ? null : this.validator(c);\n }\n\n /** @inheritDoc */\n public registerOnValidatorChange(fn: () => void): void {\n this.onChange = fn;\n }\n}\n","import {\n Directive,\n forwardRef,\n Input,\n OnChanges,\n SimpleChanges,\n} from '@angular/core';\nimport {\n AbstractControl,\n NG_VALIDATORS,\n ValidationErrors,\n Validator,\n ValidatorFn,\n Validators,\n} from '@angular/forms';\n\n/**\n * A directive which installs the `MinValidator` for any `formControlName,\n * `formControl`,\n * or control with `ngModel` that also has a `min` attribute.\n */\n@Directive({\n selector: '[min][formControlName],[min][formControl],[min][ngModel]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => MinValidator),\n multi: true\n }\n ],\n host: { '[attr.min]': 'min ? min : null' }\n})\nexport class MinValidator implements Validator, OnChanges {\n /** Minimum date to compare to */\n @Input() public min: string | number | null = null;\n\n private validator: ValidatorFn = (_a) => null;\n private onChange: () => void = () => {};\n\n private createValidator(): void {\n if (this.min !== null) {\n this.validator = Validators.min(+this.min);\n }\n }\n\n /** @inheritDoc */\n public ngOnChanges(changes: SimpleChanges): void {\n if ('min' in changes) {\n this.createValidator();\n\n if (this.onChange) {\n this.onChange();\n }\n }\n }\n\n /** @inheritDoc */\n public validate(c: AbstractControl): ValidationErrors | null {\n return this.min == null ? null : this.validator(c);\n }\n\n /** @inheritDoc */\n public registerOnValidatorChange(fn: () => void): void {\n this.onChange = fn;\n }\n}\n","import {\n CommonModule,\n} from '@angular/common';\nimport {\n NgModule,\n} from '@angular/core';\nimport {\n MaxValidator,\n} from './max.directive';\nimport {\n MinValidator,\n} from './min.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [MaxValidator, MinValidator],\n exports: [MaxValidator, MinValidator]\n})\nexport class NumberValidatorsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["actions.resetFormErrorMessages","actions.setFormErrorMessagesEntities","actions.upsertFormErrorMessagesEntities","actions.clearFormErrorMessagesEntities","actions.removeFormErrorMessagesEntity"],"mappings":"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"}
1
+ {"version":3,"file":"o3r-forms.mjs","sources":["../../src/annotations/async-input.ts","../../src/core/extended-validator.ts","../../src/core/helpers.ts","../../src/stores/form-error-messages/form-error-messages.actions.ts","../../src/stores/form-error-messages/form-error-messages.reducer.ts","../../src/stores/form-error-messages/form-error-messages.state.ts","../../src/stores/form-error-messages/form-error-messages.module.ts","../../src/stores/form-error-messages/form-error-messages.selectors.ts","../../src/validators/date/max-date.directive.ts","../../src/validators/date/min-date.directive.ts","../../src/validators/date/date-validators.module.ts","../../src/validators/number/max.directive.ts","../../src/validators/number/min.directive.ts","../../src/validators/number/number-validators.module.ts","../../src/o3r-forms.ts"],"sourcesContent":["import {\n BehaviorSubject,\n Observable,\n} from 'rxjs';\nimport {\n switchMap,\n} from 'rxjs/operators';\n\n/**\n * Decorator for @Input property\n * It considers the input as an async one.\n * When a change in the input happens, it unsubscribe from the previous value\n * and subscribe to the next one\n * @param privateFieldName\n * @example\n * ```typescript\n * \\@Input()\n * \\@AsyncInput()\n * myStream$: Observable<number>;\n * ```\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention -- required convention for decorator\nexport function AsyncInput(privateFieldName?: string) {\n return (target: any, key: string) => {\n const privateSubjectField = `_subject_${privateFieldName || key}`;\n const privateStreamField = `_stream_${privateFieldName || key}`;\n if (delete target[key]) {\n Object.defineProperty(target, key, {\n get: function (this: any) {\n // Returning the same stream for reference check sake\n return this[privateStreamField];\n },\n set: function (this: any, value: Observable<any> | undefined) {\n if (value) {\n if (this[privateSubjectField]) {\n this[privateSubjectField].next(value);\n } else {\n this[privateSubjectField] = new BehaviorSubject<Observable<any>>(value);\n // Everytime the subject emits, we will discard the previous one\n // and subscribe to the new emission\n this[privateStreamField] = this[privateSubjectField].pipe(\n switchMap((stream$: Observable<any>) => stream$)\n );\n }\n } else {\n this[privateStreamField] = value;\n this[privateSubjectField] = value;\n }\n },\n enumerable: true,\n configurable: true\n });\n }\n };\n}\n","import {\n AbstractControl,\n ValidationErrors,\n Validator,\n ValidatorFn,\n} from '@angular/forms';\n\nexport abstract class ExtendedValidator implements Validator {\n /**\n * Full list of validator functions\n */\n public abstract validators: ValidatorFn[];\n\n /**\n * Apply the list of validators on a specific Control\n * @param control\n */\n public validate(control: AbstractControl): ValidationErrors | null {\n const errors = Object.assign({}, ...this.validators.map((validatorFunctions) => validatorFunctions(control)));\n\n return Object.keys(errors).length > 0 ? errors : null;\n }\n}\n","import {\n AbstractControl,\n FormGroup,\n ValidationErrors,\n} from '@angular/forms';\nimport {\n ControlFlatErrors,\n FlatError,\n} from './flat-errors';\n\n/**\n * Checks if controls is a FormGroup\n * @param control\n */\nexport function isFormGroup(control: AbstractControl): control is FormGroup {\n return Object.prototype.hasOwnProperty.call(control, 'controls');\n}\n\n/**\n * Mark the controls in the given form as touched and dirty\n * @param control\n */\nexport function markAllControlsDirtyAndTouched(control: AbstractControl) {\n control.markAsDirty({ onlySelf: true });\n control.markAsTouched({ onlySelf: true });\n if (isFormGroup(control)) {\n Object.keys(control.controls).forEach((controlName) => {\n const currentControl = control.get(controlName);\n if (currentControl) {\n markAllControlsDirtyAndTouched(currentControl);\n }\n });\n }\n}\n\n/**\n * Mark the controls in the given form as untouched and pristine\n * @param control\n */\nexport function markAllControlsPristineAndUntouched(control: AbstractControl) {\n control.markAsUntouched({ onlySelf: true });\n control.markAsPristine({ onlySelf: true });\n if (isFormGroup(control)) {\n Object.keys(control.controls).forEach((controlName) => {\n const currentControl = control.get(controlName);\n if (currentControl) {\n markAllControlsPristineAndUntouched(currentControl);\n }\n });\n }\n}\n\n/**\n * Transforms ValidationErrors object into an array of FlatErrors.\n * @note It filters out the 'customErrors'\n * @param errors Validation errors in a control\n */\nconst getErrorList = (errors: ValidationErrors): FlatError[] => {\n return Object.keys(errors)\n .filter((errorKey) => errorKey !== 'customErrors')\n .map((errorKey) => {\n const errorValue = errors[errorKey];\n return {\n errorKey,\n errorValue,\n validationError: { [errorKey]: errorValue }\n };\n });\n};\n\n/**\n * Gets a flat list of all the errors in the form and it's descendents\n * @param form Form to be checked\n */\nexport function getFlatControlErrors(form: AbstractControl) {\n /**\n * Get a ControlFlatError of the control (or form) containing the name of the control, the validations errors and custom errors\n * @param control the control to be analyzed\n * @param controlName the name of the control. Optional since forms do not have names\n */\n const getControlErrors = (control: AbstractControl, controlName?: string): ControlFlatErrors => {\n return {\n controlName,\n customErrors: (control.errors && control.errors.customErrors) || null,\n errors: control.errors ? getErrorList(control.errors) : []\n };\n };\n\n /**\n * Recursion to get all the flat errors from the control and its descendents\n * @param control the control to be analyzed\n * @param controlName the name of the control. Optional since forms do not have names\n */\n const recursiveControlErrors = (control: AbstractControl, controlName?: string): ControlFlatErrors[] => {\n const controlErrors = [getControlErrors(control, controlName)];\n if (isFormGroup(control)) {\n return Object.keys(control.controls).reduce((allErrors, childControlName) => {\n const childName = controlName ? `${controlName}.${childControlName}` : childControlName;\n return allErrors.concat(\n recursiveControlErrors(control.get(childControlName)!, `${childName}`)\n );\n }, controlErrors);\n }\n return controlErrors;\n };\n\n return recursiveControlErrors(form).filter((errors) => !!errors.customErrors || errors.errors.length > 0);\n}\n","import {\n createAction,\n props,\n} from '@ngrx/store';\nimport {\n SetEntitiesActionPayload,\n} from '@o3r/core';\nimport {\n FormError,\n} from '../../core/index';\n\n/** StateDetailsActions */\nconst ACTION_RESET = '[FormErrorMessages] reset';\n\n/** Entity Actions */\nconst ACTION_CLEAR_ENTITIES = '[FormErrorMessages] clear entities';\nconst ACTION_UPSERT_ENTITIES = '[FormErrorMessages] upsert entities';\nconst ACTION_SET_ENTITIES = '[FormErrorMessages] set entities';\nconst ACTION_REMOVE_ENTITY = '[FormErrorMessages] remove entities';\n\n/** The payload of remove entity */\nexport interface RemoveFormErrorMessagesPayload {\n /** id of the FormErrorMessages to be removed */\n id: string;\n}\n\n/**\n * Action to remove an entity from the store\n */\nexport const removeFormErrorMessagesEntity = createAction(ACTION_REMOVE_ENTITY, props<RemoveFormErrorMessagesPayload>());\n\n/**\n * Action to reset the whole state, by returning it to initial state.\n */\nexport const resetFormErrorMessages = createAction(ACTION_RESET);\n\n/**\n * Clear all formErrorMessages and fill the store with the payload\n */\nexport const setFormErrorMessagesEntities = createAction(ACTION_SET_ENTITIES, props<SetEntitiesActionPayload<FormError>>());\n\n/**\n * Update formErrorMessages with known IDs, insert the new ones\n */\nexport const upsertFormErrorMessagesEntities = createAction(ACTION_UPSERT_ENTITIES, props<SetEntitiesActionPayload<FormError>>());\n\n/**\n * Clear only the entities, keeps the other attributes in the state\n */\nexport const clearFormErrorMessagesEntities = createAction(ACTION_CLEAR_ENTITIES);\n","import {\n createEntityAdapter,\n EntityAdapter,\n} from '@ngrx/entity';\nimport {\n ActionCreator,\n createReducer,\n on,\n ReducerTypes,\n} from '@ngrx/store';\nimport * as actions from './form-error-messages.actions';\nimport {\n FormErrorMessagesState,\n FormErrorModel,\n} from './form-error-messages.state';\n\n/**\n * FormErrorMessages Store adapter\n */\nexport const formErrorMessagesAdapter: EntityAdapter<FormErrorModel> = createEntityAdapter<FormErrorModel>({\n selectId: (model) => model.formId\n});\n\n/**\n * FormErrorMessages Store initial value\n */\nexport const formErrorMessagesInitialState: FormErrorMessagesState = formErrorMessagesAdapter.getInitialState({});\n\n/**\n * List of basic actions for FormErrorMessages Store\n */\nexport const formErrorMessagesReducerFeatures: ReducerTypes<FormErrorMessagesState, ActionCreator[]>[] = [\n on(actions.resetFormErrorMessages, () => formErrorMessagesInitialState),\n\n on(actions.setFormErrorMessagesEntities, (state, payload) => formErrorMessagesAdapter.addMany(payload.entities, formErrorMessagesAdapter.removeAll(state))),\n\n on(actions.upsertFormErrorMessagesEntities, (state, payload) => formErrorMessagesAdapter.upsertMany(payload.entities, state)),\n\n on(actions.clearFormErrorMessagesEntities, (state) => formErrorMessagesAdapter.removeAll(state)),\n\n on(actions.removeFormErrorMessagesEntity, (state, payload) => formErrorMessagesAdapter.removeOne(payload.id, state))\n];\n\n/**\n * FormErrorMessages Store reducer\n */\nexport const formErrorMessagesReducer = createReducer(\n formErrorMessagesInitialState,\n ...formErrorMessagesReducerFeatures\n);\n","import {\n EntityState,\n} from '@ngrx/entity';\nimport {\n FormError,\n} from '../../core/index';\n\n/**\n * FormError model\n */\nexport interface FormErrorModel extends FormError {\n\n}\n\n/**\n * FormError store state\n */\nexport interface FormErrorMessagesState extends EntityState<FormErrorModel> {}\n\n/**\n * Name of the FormError Store\n */\nexport const FORM_ERROR_MESSAGES_STORE_NAME = 'formErrorMessages';\n\n/**\n * FormError Store Interface\n */\nexport interface FormErrorMessagesStore {\n /** FormErrorMessages state */\n [FORM_ERROR_MESSAGES_STORE_NAME]: FormErrorMessagesState;\n}\n","import {\n InjectionToken,\n ModuleWithProviders,\n NgModule,\n} from '@angular/core';\nimport {\n Action,\n ActionReducer,\n StoreModule,\n} from '@ngrx/store';\nimport {\n formErrorMessagesReducer,\n} from './form-error-messages.reducer';\nimport {\n FORM_ERROR_MESSAGES_STORE_NAME,\n FormErrorMessagesState,\n} from './form-error-messages.state';\n\n/** Token of the FormErrorMessages reducer */\nexport const FORM_ERROR_MESSAGES_REDUCER_TOKEN = new InjectionToken<ActionReducer<FormErrorMessagesState, Action>>('Feature FormErrorMessages Reducer');\n\n/** Provide default reducer for FormErrorMessages store */\nexport function getDefaultFormErrorMessagesReducer() {\n return formErrorMessagesReducer;\n}\n\n@NgModule({\n imports: [\n StoreModule.forFeature(FORM_ERROR_MESSAGES_STORE_NAME, FORM_ERROR_MESSAGES_REDUCER_TOKEN)\n ],\n providers: [\n { provide: FORM_ERROR_MESSAGES_REDUCER_TOKEN, useFactory: getDefaultFormErrorMessagesReducer }\n ]\n})\nexport class FormErrorMessagesStoreModule {\n public static forRoot<T extends FormErrorMessagesState>(reducerFactory: () => ActionReducer<T, Action>): ModuleWithProviders<FormErrorMessagesStoreModule> {\n return {\n ngModule: FormErrorMessagesStoreModule,\n providers: [\n { provide: FORM_ERROR_MESSAGES_REDUCER_TOKEN, useFactory: reducerFactory }\n ]\n };\n }\n}\n","import {\n createFeatureSelector,\n createSelector,\n} from '@ngrx/store';\nimport {\n ElementError,\n ErrorMessageObject,\n} from '../../core/index';\nimport {\n formErrorMessagesAdapter,\n} from './form-error-messages.reducer';\nimport {\n FORM_ERROR_MESSAGES_STORE_NAME,\n FormErrorMessagesState,\n} from './form-error-messages.state';\n\nconst { selectIds, selectEntities, selectAll, selectTotal } = formErrorMessagesAdapter.getSelectors();\n\n/** Select FormErrorMessages State */\nexport const selectFormErrorMessagesState = createFeatureSelector<FormErrorMessagesState>(FORM_ERROR_MESSAGES_STORE_NAME);\n\n/** Select the array of FormErrorMessages ids */\nexport const selectFormErrorMessagesIds = createSelector(selectFormErrorMessagesState, selectIds);\n\n/** Select the array of FormErrorMessages */\nexport const selectAllFormErrorMessages = createSelector(selectFormErrorMessagesState, selectAll);\n\n/** Select the dictionary of FormErrorMessages entities */\nexport const selectFormErrorMessagesEntities = createSelector(selectFormErrorMessagesState, selectEntities);\n\n/** Select the total FormErrorMessages count */\nexport const selectFormErrorMessagesTotal = createSelector(selectFormErrorMessagesState, selectTotal);\n\n/** Select the array of all ElementErrors */\nexport const selectAllElementErrors = createSelector(\n selectAllFormErrorMessages,\n (formErrorMessages) => formErrorMessages ? formErrorMessages.reduce((elementErrors: ElementError[], formErrorMessage) => [...elementErrors, ...formErrorMessage.errors], []) : []\n);\n\n/** Select the array of all ErrorMessageObjects */\nexport const selectAllErrorMessageObjects = createSelector(\n selectAllElementErrors,\n (elementErrors) => elementErrors ? elementErrors.reduce((errorMessageObjects: ErrorMessageObject[], elementError: ElementError) => [...errorMessageObjects, ...elementError.errorMessages], []) : []\n);\n","import {\n utils,\n} from '@ama-sdk/core';\nimport {\n Directive,\n forwardRef,\n Input,\n OnChanges,\n SimpleChanges,\n} from '@angular/core';\nimport {\n AbstractControl,\n NG_VALIDATORS,\n ValidationErrors,\n Validator,\n ValidatorFn,\n} from '@angular/forms';\n\n/**\n * A directive which installs the `MaxDateValidator` for any `formControlName,\n * `formControl`,\n * or control with `ngModel` that also has a `maxdate` attribute.\n */\n@Directive({\n selector: '[maxdate][formControlName],[maxdate][formControl],[maxdate][ngModel]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => MaxDateValidator),\n multi: true\n }\n ]\n})\nexport class MaxDateValidator implements Validator, OnChanges {\n /** Maximum date to compare to */\n @Input() public maxdate: utils.Date | null = null;\n\n private validator: ValidatorFn = (_a) => null;\n private onChange: () => void = () => {};\n\n private createValidator(): void {\n this.validator = MaxDateValidator.maxDate(this.maxdate);\n }\n\n /** @inheritDoc */\n public ngOnChanges(changes: SimpleChanges): void {\n if ('maxdate' in changes) {\n this.createValidator();\n\n if (this.onChange) {\n this.onChange();\n }\n }\n }\n\n /** @inheritDoc */\n public validate(c: AbstractControl): ValidationErrors | null {\n return this.maxdate == null ? null : this.validator(c);\n }\n\n /** @inheritDoc */\n public registerOnValidatorChange(fn: () => void): void {\n this.onChange = fn;\n }\n\n /**\n * Maximum Date validator\n * @param maxDate Maximum date to compare to\n */\n public static maxDate(maxDate: utils.Date | null): ValidatorFn {\n const result = (control: AbstractControl): ValidationErrors | null => {\n if (control.value instanceof utils.Date) {\n return maxDate && control.value.getTime() > maxDate.getTime() ? { maxdate: { requiredDate: maxDate, actualDate: control.value } } : null;\n }\n\n return null;\n };\n\n return result;\n }\n}\n","import {\n utils,\n} from '@ama-sdk/core';\nimport {\n Directive,\n forwardRef,\n Input,\n OnChanges,\n SimpleChanges,\n} from '@angular/core';\nimport {\n AbstractControl,\n NG_VALIDATORS,\n ValidationErrors,\n Validator,\n ValidatorFn,\n} from '@angular/forms';\n\n/**\n * A directive which installs the `MinDateValidator` for any `formControlName,\n * `formControl`,\n * or control with `ngModel` that also has a `mindate` attribute.\n */\n@Directive({\n selector: '[mindate][formControlName],[mindate][formControl],[mindate][ngModel]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => MinDateValidator),\n multi: true\n }\n ]\n})\nexport class MinDateValidator implements Validator, OnChanges {\n /** Minimum date to compare to */\n @Input() public mindate: utils.Date | null = null;\n\n private validator: ValidatorFn = (_a) => null;\n private onChange: () => void = () => {};\n\n private createValidator(): void {\n this.validator = MinDateValidator.minDate(this.mindate);\n }\n\n /** @inheritDoc */\n public ngOnChanges(changes: SimpleChanges): void {\n if ('mindate' in changes) {\n this.createValidator();\n\n if (this.onChange) {\n this.onChange();\n }\n }\n }\n\n /** @inheritDoc */\n public validate(c: AbstractControl): ValidationErrors | null {\n return this.mindate == null ? null : this.validator(c);\n }\n\n /** @inheritDoc */\n public registerOnValidatorChange(fn: () => void): void {\n this.onChange = fn;\n }\n\n /**\n * Minimum Date validator\n * @param minDate Minimum date to compare to\n */\n public static minDate(minDate: utils.Date | null): ValidatorFn {\n const result = (control: AbstractControl): ValidationErrors | null => {\n if (control.value instanceof utils.Date) {\n return minDate && control.value.getTime() < minDate.getTime() ? { mindate: { requiredDate: minDate, actualDate: control.value } } : null;\n }\n\n return null;\n };\n\n return result;\n }\n}\n","import {\n CommonModule,\n} from '@angular/common';\nimport {\n NgModule,\n} from '@angular/core';\nimport {\n MaxDateValidator,\n} from './max-date.directive';\nimport {\n MinDateValidator,\n} from './min-date.directive';\n\n/**\n * @deprecated MaxDateValidator and MinDateValidator are now standalone, this module will be removed in v14\n */\n@NgModule({\n imports: [CommonModule, MaxDateValidator, MinDateValidator],\n exports: [MaxDateValidator, MinDateValidator]\n})\nexport class DateValidatorsModule {}\n","import {\n Directive,\n forwardRef,\n Input,\n OnChanges,\n SimpleChanges,\n} from '@angular/core';\nimport {\n AbstractControl,\n NG_VALIDATORS,\n ValidationErrors,\n Validator,\n ValidatorFn,\n Validators,\n} from '@angular/forms';\n\n/**\n * A directive which installs the `MaxValidator` for any `formControlName,\n * `formControl`,\n * or control with `ngModel` that also has a `max` attribute.\n */\n@Directive({\n selector: '[max][formControlName],[max][formControl],[max][ngModel]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => MaxValidator),\n multi: true\n }\n ],\n host: { '[attr.max]': 'max ? max : null' }\n})\nexport class MaxValidator implements Validator, OnChanges {\n /** Maximum date to compare to */\n @Input() public max: string | number | null = null;\n\n private validator: ValidatorFn = (_a) => null;\n private onChange: () => void = () => {};\n\n private createValidator(): void {\n if (this.max !== null) {\n this.validator = Validators.max(+this.max);\n }\n }\n\n /** @inheritDoc */\n public ngOnChanges(changes: SimpleChanges): void {\n if ('max' in changes) {\n this.createValidator();\n\n if (this.onChange) {\n this.onChange();\n }\n }\n }\n\n /** @inheritDoc */\n public validate(c: AbstractControl): ValidationErrors | null {\n return this.max == null ? null : this.validator(c);\n }\n\n /** @inheritDoc */\n public registerOnValidatorChange(fn: () => void): void {\n this.onChange = fn;\n }\n}\n","import {\n Directive,\n forwardRef,\n Input,\n OnChanges,\n SimpleChanges,\n} from '@angular/core';\nimport {\n AbstractControl,\n NG_VALIDATORS,\n ValidationErrors,\n Validator,\n ValidatorFn,\n Validators,\n} from '@angular/forms';\n\n/**\n * A directive which installs the `MinValidator` for any `formControlName,\n * `formControl`,\n * or control with `ngModel` that also has a `min` attribute.\n */\n@Directive({\n selector: '[min][formControlName],[min][formControl],[min][ngModel]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => MinValidator),\n multi: true\n }\n ],\n host: { '[attr.min]': 'min ? min : null' }\n})\nexport class MinValidator implements Validator, OnChanges {\n /** Minimum date to compare to */\n @Input() public min: string | number | null = null;\n\n private validator: ValidatorFn = (_a) => null;\n private onChange: () => void = () => {};\n\n private createValidator(): void {\n if (this.min !== null) {\n this.validator = Validators.min(+this.min);\n }\n }\n\n /** @inheritDoc */\n public ngOnChanges(changes: SimpleChanges): void {\n if ('min' in changes) {\n this.createValidator();\n\n if (this.onChange) {\n this.onChange();\n }\n }\n }\n\n /** @inheritDoc */\n public validate(c: AbstractControl): ValidationErrors | null {\n return this.min == null ? null : this.validator(c);\n }\n\n /** @inheritDoc */\n public registerOnValidatorChange(fn: () => void): void {\n this.onChange = fn;\n }\n}\n","import {\n CommonModule,\n} from '@angular/common';\nimport {\n NgModule,\n} from '@angular/core';\nimport {\n MaxValidator,\n} from './max.directive';\nimport {\n MinValidator,\n} from './min.directive';\n\n/**\n * @deprecated MaxValidator and MinValidator are now standalone, this module will be removed in v14\n */\n@NgModule({\n imports: [CommonModule, MaxValidator, MinValidator],\n exports: [MaxValidator, MinValidator]\n})\nexport class NumberValidatorsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["actions.resetFormErrorMessages","actions.setFormErrorMessagesEntities","actions.upsertFormErrorMessagesEntities","actions.clearFormErrorMessagesEntities","actions.removeFormErrorMessagesEntity"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@o3r/forms",
3
- "version": "12.0.0-next.1",
3
+ "version": "12.0.0-next.12",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -11,17 +11,18 @@
11
11
  "otter-module"
12
12
  ],
13
13
  "peerDependencies": {
14
- "@ama-sdk/core": "^12.0.0-next.1",
15
- "@angular-devkit/schematics": "^18.2.0",
16
- "@angular/common": "^18.2.0",
17
- "@angular/core": "^18.2.0",
18
- "@angular/forms": "^18.2.0",
19
- "@ngrx/entity": "^18.0.0",
20
- "@ngrx/store": "^18.0.0",
21
- "@o3r/core": "^12.0.0-next.1",
22
- "@o3r/schematics": "^12.0.0-next.1",
23
- "@schematics/angular": "^18.2.0",
24
- "rxjs": "^7.8.1"
14
+ "@ama-sdk/core": "^12.0.0-next.12",
15
+ "@angular-devkit/schematics": "^19.0.0",
16
+ "@angular/common": "^19.0.0",
17
+ "@angular/core": "^19.0.0",
18
+ "@angular/forms": "^19.0.0",
19
+ "@ngrx/entity": "^19.0.0",
20
+ "@ngrx/store": "^19.0.0",
21
+ "@o3r/core": "^12.0.0-next.12",
22
+ "@o3r/schematics": "^12.0.0-next.12",
23
+ "@schematics/angular": "^19.0.0",
24
+ "rxjs": "^7.8.1",
25
+ "ts-node": "~10.9.2"
25
26
  },
26
27
  "peerDependenciesMeta": {
27
28
  "@angular-devkit/schematics": {
@@ -49,8 +50,6 @@
49
50
  },
50
51
  ".": {
51
52
  "types": "./index.d.ts",
52
- "esm2022": "./esm2022/o3r-forms.mjs",
53
- "esm": "./esm2022/o3r-forms.mjs",
54
53
  "default": "./fesm2022/o3r-forms.mjs"
55
54
  }
56
55
  },
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "commonjs"
3
+ }
@@ -1,10 +1,13 @@
1
1
  import * as i0 from "@angular/core";
2
- import * as i1 from "./max-date.directive";
3
- import * as i2 from "./min-date.directive";
4
- import * as i3 from "@angular/common";
2
+ import * as i1 from "@angular/common";
3
+ import * as i2 from "./max-date.directive";
4
+ import * as i3 from "./min-date.directive";
5
+ /**
6
+ * @deprecated MaxDateValidator and MinDateValidator are now standalone, this module will be removed in v14
7
+ */
5
8
  export declare class DateValidatorsModule {
6
9
  static ɵfac: i0.ɵɵFactoryDeclaration<DateValidatorsModule, never>;
7
- static ɵmod: i0.ɵɵNgModuleDeclaration<DateValidatorsModule, [typeof i1.MaxDateValidator, typeof i2.MinDateValidator], [typeof i3.CommonModule], [typeof i1.MaxDateValidator, typeof i2.MinDateValidator]>;
10
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DateValidatorsModule, never, [typeof i1.CommonModule, typeof i2.MaxDateValidator, typeof i3.MinDateValidator], [typeof i2.MaxDateValidator, typeof i3.MinDateValidator]>;
8
11
  static ɵinj: i0.ɵɵInjectorDeclaration<DateValidatorsModule>;
9
12
  }
10
13
  //# sourceMappingURL=date-validators.module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-validators.module.d.ts","sourceRoot":"","sources":["../../../src/validators/date/date-validators.module.ts"],"names":[],"mappings":";;;;AAaA,qBAKa,oBAAoB;yCAApB,oBAAoB;0CAApB,oBAAoB;0CAApB,oBAAoB;CAAG"}
1
+ {"version":3,"file":"date-validators.module.d.ts","sourceRoot":"","sources":["../../../src/validators/date/date-validators.module.ts"],"names":[],"mappings":";;;;AAaA;;GAEG;AACH,qBAIa,oBAAoB;yCAApB,oBAAoB;0CAApB,oBAAoB;0CAApB,oBAAoB;CAAG"}
@@ -25,6 +25,6 @@ export declare class MaxDateValidator implements Validator, OnChanges {
25
25
  */
26
26
  static maxDate(maxDate: utils.Date | null): ValidatorFn;
27
27
  static ɵfac: i0.ɵɵFactoryDeclaration<MaxDateValidator, never>;
28
- static ɵdir: i0.ɵɵDirectiveDeclaration<MaxDateValidator, "[maxdate][formControlName],[maxdate][formControl],[maxdate][ngModel]", never, { "maxdate": { "alias": "maxdate"; "required": false; }; }, {}, never, never, false, never>;
28
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MaxDateValidator, "[maxdate][formControlName],[maxdate][formControl],[maxdate][ngModel]", never, { "maxdate": { "alias": "maxdate"; "required": false; }; }, {}, never, never, true, never>;
29
29
  }
30
30
  //# sourceMappingURL=max-date.directive.d.ts.map
@@ -25,6 +25,6 @@ export declare class MinDateValidator implements Validator, OnChanges {
25
25
  */
26
26
  static minDate(minDate: utils.Date | null): ValidatorFn;
27
27
  static ɵfac: i0.ɵɵFactoryDeclaration<MinDateValidator, never>;
28
- static ɵdir: i0.ɵɵDirectiveDeclaration<MinDateValidator, "[mindate][formControlName],[mindate][formControl],[mindate][ngModel]", never, { "mindate": { "alias": "mindate"; "required": false; }; }, {}, never, never, false, never>;
28
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MinDateValidator, "[mindate][formControlName],[mindate][formControl],[mindate][ngModel]", never, { "mindate": { "alias": "mindate"; "required": false; }; }, {}, never, never, true, never>;
29
29
  }
30
30
  //# sourceMappingURL=min-date.directive.d.ts.map
@@ -19,6 +19,6 @@ export declare class MaxValidator implements Validator, OnChanges {
19
19
  /** @inheritDoc */
20
20
  registerOnValidatorChange(fn: () => void): void;
21
21
  static ɵfac: i0.ɵɵFactoryDeclaration<MaxValidator, never>;
22
- static ɵdir: i0.ɵɵDirectiveDeclaration<MaxValidator, "[max][formControlName],[max][formControl],[max][ngModel]", never, { "max": { "alias": "max"; "required": false; }; }, {}, never, never, false, never>;
22
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MaxValidator, "[max][formControlName],[max][formControl],[max][ngModel]", never, { "max": { "alias": "max"; "required": false; }; }, {}, never, never, true, never>;
23
23
  }
24
24
  //# sourceMappingURL=max.directive.d.ts.map
@@ -19,6 +19,6 @@ export declare class MinValidator implements Validator, OnChanges {
19
19
  /** @inheritDoc */
20
20
  registerOnValidatorChange(fn: () => void): void;
21
21
  static ɵfac: i0.ɵɵFactoryDeclaration<MinValidator, never>;
22
- static ɵdir: i0.ɵɵDirectiveDeclaration<MinValidator, "[min][formControlName],[min][formControl],[min][ngModel]", never, { "min": { "alias": "min"; "required": false; }; }, {}, never, never, false, never>;
22
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MinValidator, "[min][formControlName],[min][formControl],[min][ngModel]", never, { "min": { "alias": "min"; "required": false; }; }, {}, never, never, true, never>;
23
23
  }
24
24
  //# sourceMappingURL=min.directive.d.ts.map
@@ -1,10 +1,13 @@
1
1
  import * as i0 from "@angular/core";
2
- import * as i1 from "./max.directive";
3
- import * as i2 from "./min.directive";
4
- import * as i3 from "@angular/common";
2
+ import * as i1 from "@angular/common";
3
+ import * as i2 from "./max.directive";
4
+ import * as i3 from "./min.directive";
5
+ /**
6
+ * @deprecated MaxValidator and MinValidator are now standalone, this module will be removed in v14
7
+ */
5
8
  export declare class NumberValidatorsModule {
6
9
  static ɵfac: i0.ɵɵFactoryDeclaration<NumberValidatorsModule, never>;
7
- static ɵmod: i0.ɵɵNgModuleDeclaration<NumberValidatorsModule, [typeof i1.MaxValidator, typeof i2.MinValidator], [typeof i3.CommonModule], [typeof i1.MaxValidator, typeof i2.MinValidator]>;
10
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NumberValidatorsModule, never, [typeof i1.CommonModule, typeof i2.MaxValidator, typeof i3.MinValidator], [typeof i2.MaxValidator, typeof i3.MinValidator]>;
8
11
  static ɵinj: i0.ɵɵInjectorDeclaration<NumberValidatorsModule>;
9
12
  }
10
13
  //# sourceMappingURL=number-validators.module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"number-validators.module.d.ts","sourceRoot":"","sources":["../../../src/validators/number/number-validators.module.ts"],"names":[],"mappings":";;;;AAaA,qBAKa,sBAAsB;yCAAtB,sBAAsB;0CAAtB,sBAAsB;0CAAtB,sBAAsB;CAAG"}
1
+ {"version":3,"file":"number-validators.module.d.ts","sourceRoot":"","sources":["../../../src/validators/number/number-validators.module.ts"],"names":[],"mappings":";;;;AAaA;;GAEG;AACH,qBAIa,sBAAsB;yCAAtB,sBAAsB;0CAAtB,sBAAsB;0CAAtB,sBAAsB;CAAG"}
@@ -1,50 +0,0 @@
1
- import { BehaviorSubject, } from 'rxjs';
2
- import { switchMap, } from 'rxjs/operators';
3
- /**
4
- * Decorator for @Input property
5
- * It considers the input as an async one.
6
- * When a change in the input happens, it unsubscribe from the previous value
7
- * and subscribe to the next one
8
- * @param privateFieldName
9
- * @example
10
- * ```typescript
11
- * \@Input()
12
- * \@AsyncInput()
13
- * myStream$: Observable<number>;
14
- * ```
15
- */
16
- // eslint-disable-next-line @typescript-eslint/naming-convention -- required convention for decorator
17
- export function AsyncInput(privateFieldName) {
18
- return (target, key) => {
19
- const privateSubjectField = `_subject_${privateFieldName || key}`;
20
- const privateStreamField = `_stream_${privateFieldName || key}`;
21
- if (delete target[key]) {
22
- Object.defineProperty(target, key, {
23
- get: function () {
24
- // Returning the same stream for reference check sake
25
- return this[privateStreamField];
26
- },
27
- set: function (value) {
28
- if (value) {
29
- if (this[privateSubjectField]) {
30
- this[privateSubjectField].next(value);
31
- }
32
- else {
33
- this[privateSubjectField] = new BehaviorSubject(value);
34
- // Everytime the subject emits, we will discard the previous one
35
- // and subscribe to the new emission
36
- this[privateStreamField] = this[privateSubjectField].pipe(switchMap((stream$) => stream$));
37
- }
38
- }
39
- else {
40
- this[privateStreamField] = value;
41
- this[privateSubjectField] = value;
42
- }
43
- },
44
- enumerable: true,
45
- configurable: true
46
- });
47
- }
48
- };
49
- }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtaW5wdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYW5ub3RhdGlvbnMvYXN5bmMtaW5wdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGVBQWUsR0FFaEIsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQ0wsU0FBUyxHQUNWLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEI7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gscUdBQXFHO0FBQ3JHLE1BQU0sVUFBVSxVQUFVLENBQUMsZ0JBQXlCO0lBQ2xELE9BQU8sQ0FBQyxNQUFXLEVBQUUsR0FBVyxFQUFFLEVBQUU7UUFDbEMsTUFBTSxtQkFBbUIsR0FBRyxZQUFZLGdCQUFnQixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2xFLE1BQU0sa0JBQWtCLEdBQUcsV0FBVyxnQkFBZ0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNoRSxJQUFJLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdkIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO2dCQUNqQyxHQUFHLEVBQUU7b0JBQ0gscURBQXFEO29CQUNyRCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO2dCQUNsQyxDQUFDO2dCQUNELEdBQUcsRUFBRSxVQUFxQixLQUFrQztvQkFDMUQsSUFBSSxLQUFLLEVBQUUsQ0FBQzt3QkFDVixJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUM7NEJBQzlCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDeEMsQ0FBQzs2QkFBTSxDQUFDOzRCQUNOLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLElBQUksZUFBZSxDQUFrQixLQUFLLENBQUMsQ0FBQzs0QkFDeEUsZ0VBQWdFOzRCQUNoRSxvQ0FBb0M7NEJBQ3BDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLElBQUksQ0FDdkQsU0FBUyxDQUFDLENBQUMsT0FBd0IsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQ2pELENBQUM7d0JBQ0osQ0FBQztvQkFDSCxDQUFDO3lCQUFNLENBQUM7d0JBQ04sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsS0FBSyxDQUFDO3dCQUNqQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxLQUFLLENBQUM7b0JBQ3BDLENBQUM7Z0JBQ0gsQ0FBQztnQkFDRCxVQUFVLEVBQUUsSUFBSTtnQkFDaEIsWUFBWSxFQUFFLElBQUk7YUFDbkIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIE9ic2VydmFibGUsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgc3dpdGNoTWFwLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKlxuICogRGVjb3JhdG9yIGZvciBASW5wdXQgcHJvcGVydHlcbiAqIEl0IGNvbnNpZGVycyB0aGUgaW5wdXQgYXMgYW4gYXN5bmMgb25lLlxuICogV2hlbiBhIGNoYW5nZSBpbiB0aGUgaW5wdXQgaGFwcGVucywgaXQgdW5zdWJzY3JpYmUgZnJvbSB0aGUgcHJldmlvdXMgdmFsdWVcbiAqIGFuZCBzdWJzY3JpYmUgdG8gdGhlIG5leHQgb25lXG4gKiBAcGFyYW0gcHJpdmF0ZUZpZWxkTmFtZVxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIFxcQElucHV0KClcbiAqIFxcQEFzeW5jSW5wdXQoKVxuICogbXlTdHJlYW0kOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gKiBgYGBcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAtLSByZXF1aXJlZCBjb252ZW50aW9uIGZvciBkZWNvcmF0b3JcbmV4cG9ydCBmdW5jdGlvbiBBc3luY0lucHV0KHByaXZhdGVGaWVsZE5hbWU/OiBzdHJpbmcpIHtcbiAgcmV0dXJuICh0YXJnZXQ6IGFueSwga2V5OiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBwcml2YXRlU3ViamVjdEZpZWxkID0gYF9zdWJqZWN0XyR7cHJpdmF0ZUZpZWxkTmFtZSB8fCBrZXl9YDtcbiAgICBjb25zdCBwcml2YXRlU3RyZWFtRmllbGQgPSBgX3N0cmVhbV8ke3ByaXZhdGVGaWVsZE5hbWUgfHwga2V5fWA7XG4gICAgaWYgKGRlbGV0ZSB0YXJnZXRba2V5XSkge1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCB7XG4gICAgICAgIGdldDogZnVuY3Rpb24gKHRoaXM6IGFueSkge1xuICAgICAgICAgIC8vIFJldHVybmluZyB0aGUgc2FtZSBzdHJlYW0gZm9yIHJlZmVyZW5jZSBjaGVjayBzYWtlXG4gICAgICAgICAgcmV0dXJuIHRoaXNbcHJpdmF0ZVN0cmVhbUZpZWxkXTtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAodGhpczogYW55LCB2YWx1ZTogT2JzZXJ2YWJsZTxhbnk+IHwgdW5kZWZpbmVkKSB7XG4gICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICBpZiAodGhpc1twcml2YXRlU3ViamVjdEZpZWxkXSkge1xuICAgICAgICAgICAgICB0aGlzW3ByaXZhdGVTdWJqZWN0RmllbGRdLm5leHQodmFsdWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhpc1twcml2YXRlU3ViamVjdEZpZWxkXSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8T2JzZXJ2YWJsZTxhbnk+Pih2YWx1ZSk7XG4gICAgICAgICAgICAgIC8vIEV2ZXJ5dGltZSB0aGUgc3ViamVjdCBlbWl0cywgd2Ugd2lsbCBkaXNjYXJkIHRoZSBwcmV2aW91cyBvbmVcbiAgICAgICAgICAgICAgLy8gYW5kIHN1YnNjcmliZSB0byB0aGUgbmV3IGVtaXNzaW9uXG4gICAgICAgICAgICAgIHRoaXNbcHJpdmF0ZVN0cmVhbUZpZWxkXSA9IHRoaXNbcHJpdmF0ZVN1YmplY3RGaWVsZF0ucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKHN0cmVhbSQ6IE9ic2VydmFibGU8YW55PikgPT4gc3RyZWFtJClcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpc1twcml2YXRlU3RyZWFtRmllbGRdID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzW3ByaXZhdGVTdWJqZWN0RmllbGRdID0gdmFsdWU7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export * from './async-input';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYW5ub3RhdGlvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FzeW5jLWlucHV0JztcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXZhbGlkYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29yZS9jdXN0b20tdmFsaWRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBPYnNlcnZhYmxlLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIEVycm9yTWVzc2FnZU9iamVjdCxcbn0gZnJvbSAnLi9lcnJvcnMnO1xuXG4vKipcbiAqIFRoZSByZXR1cm4gb2YgYSBjdXN0b20gdmFsaWRhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbUVycm9ycyB7XG4gIC8qKiBUaGUgY3VzdG9tIGVycm9ycyBjb21pbmcgZnJvbSBhIHZhbGlkYXRpb24gZm4gKi9cbiAgY3VzdG9tRXJyb3JzOiBFcnJvck1lc3NhZ2VPYmplY3RbXTtcbn1cblxuLyoqIEN1c3RvbSB2YWxpZGF0aW9uIGZ1bmN0aW9uICovXG5leHBvcnQgdHlwZSBDdXN0b21WYWxpZGF0aW9uRm4gPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiBDdXN0b21FcnJvcnMgfCBudWxsO1xuXG4vKiogQ3VzdG9tIGFzeW5jIHZhbGlkYXRpb24gZnVuY3Rpb24gKi9cbmV4cG9ydCB0eXBlIEFzeW5jQ3VzdG9tVmFsaWRhdGlvbkZuID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4gT2JzZXJ2YWJsZTxDdXN0b21FcnJvcnMgfCBudWxsPiB8IFByb21pc2U8Q3VzdG9tRXJyb3JzIHwgbnVsbD47XG5cbi8qKiBDdXN0b20gdmFsaWRhdGlvbiBmdW5jdGlvbnMgZm9yIGVhY2ggZmllbGQgb2YgVCBtb2RlbCAqL1xuZXhwb3J0IHR5cGUgQ3VzdG9tRmllbGRzVmFsaWRhdGlvbjxUPiA9IHsgW0sgaW4ga2V5b2YgVF0/OiBDdXN0b21WYWxpZGF0aW9uRm4gfTtcblxuLyoqIEN1c3RvbSBhc3luYyB2YWxpZGF0aW9uIGZ1bmN0aW9uIGZvciBlYWNoIGZpZWxkIG9mIFQgbW9kZWwgICovXG5leHBvcnQgdHlwZSBBc3luY0N1c3RvbUZpZWxkc1ZhbGlkYXRpb248VD4gPSB7IFtLIGluIGtleW9mIFRdPzogQXN5bmNDdXN0b21WYWxpZGF0aW9uRm4gfTtcblxuLyoqIEN1c3RvbSB2YWxpZGF0aW9uIGZvciB0aGUgZm9ybSAqL1xuZXhwb3J0IGludGVyZmFjZSBDdXN0b21Gb3JtVmFsaWRhdGlvbjxUPiB7XG4gIC8qKiBWYWxpZGF0aW9uIGZvciBlYWNoIGZpZWxkICovXG4gIGZpZWxkcz86IEN1c3RvbUZpZWxkc1ZhbGlkYXRpb248VD47XG4gIC8qKiBHbG9iYWwgdmFsaWRhdGlvbiBmb3IgdGhlIGZvcm0gKi9cbiAgZ2xvYmFsPzogQ3VzdG9tVmFsaWRhdGlvbkZuO1xufVxuXG4vKipcbiAqIEN1c3RvbSBhc3luYyB2YWxpZGF0aW9uIGZvciB0aGUgZm9ybVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFzeW5jQ3VzdG9tRm9ybVZhbGlkYXRpb248VD4ge1xuICAvKiogVmFsaWRhdGlvbiBmb3IgZWFjaCBmaWVsZCAqL1xuICBmaWVsZHM/OiBBc3luY0N1c3RvbUZpZWxkc1ZhbGlkYXRpb248VD47XG4gIC8qKiBHbG9iYWwgdmFsaWRhdGlvbiBmb3IgdGhlIGZvcm0gKi9cbiAgZ2xvYmFsPzogQXN5bmNDdXN0b21WYWxpZGF0aW9uRm47XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvcmUvZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogVGhlIGVycm9yIG9iamVjdCBzYXZlZCBpbiB0aGUgc3RvcmUgZm9yIGEgc3BlY2lmaWMgZWxlbWVudC9mb3JtQ29udHJvbCAqL1xuZXhwb3J0IGludGVyZmFjZSBFcnJvck1lc3NhZ2VPYmplY3Qge1xuICAvKipcbiAgICogIFRyYW5zbGF0aW9uIGtleSBvZiB0aGUgc2hvcnQgZXJyb3IgbWVzc2FnZSAoZS5nLiB1c2VkIGZvciBpbmxpbmUgZXJyb3JzKVxuICAgKiAgQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiAgdHJhbnNsYXRpb25LZXkgPSAndHJhdmVsZXJGb3JtLmZpcnN0TmFtZS5yZXF1aXJlZCc7IC8vID0+IGNvcnJlc3BvbmRzIHRvIHsndHJhdmVsZXJGb3JtLmZpcnN0TmFtZS5yZXF1aXJlZCc6ICdGaXJzdCBuYW1lIGlzIHJlcXVpcmVkISd9IGluIGxvY2FsaXphdGlvbiBqc29uO1xuICAgKiBgYGBcbiAgICovXG4gIHRyYW5zbGF0aW9uS2V5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRyYW5zbGF0aW9uIGtleSBvZiB0aGUgbG9uZyBlcnJvciBtZXNzYWdlIChlLmcuIHVzZWQgb24gYSBtZXNzYWdlIHBhbmVsKVxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGxvbmdUcmFuc2xhdGlvbktleSA9ICd0cmF2ZWxlckZvcm0uZmlyc3ROYW1lLnJlcXVpcmVkLmxvbmcnOyAvLyA9PiBjb3JyZXNwb25kcyB0byB7J3RyYXZlbGVyRm9ybS5maXJzdE5hbWUucmVxdWlyZWQubG9uZyc6ICdUaGUgZmlyc3QgbmFtZSBpbiB0aGUgcmVnaXN0cmF0aW9uIGZvcm0gY2Fubm90IGJlIGVtcHR5ISd9XG4gICAqIC8vIGluIGxvY2FsaXphdGlvbiBqc29uO1xuICAgKiBgYGBcbiAgICovXG4gIGxvbmdUcmFuc2xhdGlvbktleT86IHN0cmluZztcblxuICAvKiogVHJhbnNsYXRpb24gcGFyYW1ldGVycyBvZiB0aGUgZXJyb3IgbWVzc2FnZTsgVXNlZCBpbiB0aGUgc2hvcnQgbWVzc2FnZSBidXQgYWxzbyBpbiB0aGUgbG9uZyBtZXNzYWdlIGlmIG5lZWRlZCAqL1xuICB0cmFuc2xhdGlvblBhcmFtcz86IHsgW2tleTogc3RyaW5nXTogYW55IH07XG5cbiAgLyoqXG4gICAqIE9yaWdpbmFsIGVycm9yIG9iamVjdCBkZWZpbmVkIGJ5IHRoZSBjb3JyZXNwb25kaW5nIHZhbGlkYXRvclxuICAgKiBAbm90ZSBJdCdzIG9wdGlvbmFsIHNpbmNlIGN1c3RvbSBlcnJvcnMgZG9uJ3QgbmVlZCB0byBwcm92aWRlIHRoZSB2YWxpZGF0aW9uIGVycm9yXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICoge3JlcXVpcmVkOiB0cnVlfVxuICAgKiBgYGBcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiB7bWF4OiB7bWF4IDEyLCBhY3R1YWw6IDMxfX1cbiAgICogYGBgXG4gICAqL1xuICB2YWxpZGF0aW9uRXJyb3I/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuXG4gIC8qKlxuICAgKiBBbiBhdHRyaWJ1dGUgd2hpY2ggd2lsbCBiZSB0aGUgY29tYmluYXRpb24gb2YgY29tcG9uZW50IG5hbWUsIGZvcm0gY29udHJvbCBuYW1lIGFuZCB0aGUgbmFtZSBvZiB0aGUgZXJyb3JcbiAgICovXG4gIGNvZGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEVuZ2xpc2ggdHJhbnNsYXRpb24gaW5saW5lIGVycm9yIG1lc3NhZ2VcbiAgICovXG4gIHRpdGxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZm9ybUNvbnRyb2wgd2hpY2ggZ2F2ZSB0aGUgZXJyb3JcbiAgICovXG4gIGZvcm1Db250cm9sTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgZXJyb3JcbiAgICovXG4gIGVycm9yTmFtZT86IHN0cmluZztcbn1cblxuLyoqIEVycm9yIG1lc3NhZ2VzIG9mIHRoZSBodG1sIGVsZW1lbnQgaWRlbnRpZmllZCBieSBpdCdzIGlkICovXG5leHBvcnQgaW50ZXJmYWNlIEVsZW1lbnRFcnJvciB7XG4gIC8qKiBJZCBvZiB0aGUgaHRtbCBlbGVtZW50IG9uIHdoaWNoIHRoZSB2YWxpZGF0aW9uIGhhcyBmYWlsZWQgKi9cbiAgaHRtbEVsZW1lbnRJZDogc3RyaW5nO1xuXG4gIC8qKiBFbGVtZW50J3MgZXJyb3IgbWVzc2FnZSBvYmplY3RzICovXG4gIGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZU9iamVjdFtdO1xufVxuXG4vKiogRm9ybSdzIGVycm9yIG1lc3NhZ2VzIGlkZW50aWZpZWQgYnkgZm9ybSBpZCAqL1xuZXhwb3J0IGludGVyZmFjZSBGb3JtRXJyb3Ige1xuICAvKiogSWQgb2YgdGhlIGZvcm0gY29udGFpbmluZyB0aGUgZm9ybSBmaWVsZC9maWVsZHMgKi9cbiAgZm9ybUlkOiBzdHJpbmc7XG5cbiAgLyoqIENvbXBvbmVudCdzIGVsZW1lbnRzIGVycm9ycyAqL1xuICBlcnJvcnM6IEVsZW1lbnRFcnJvcltdO1xufVxuIl19
@@ -1,11 +0,0 @@
1
- export class ExtendedValidator {
2
- /**
3
- * Apply the list of validators on a specific Control
4
- * @param control
5
- */
6
- validate(control) {
7
- const errors = Object.assign({}, ...this.validators.map((validatorFunctions) => validatorFunctions(control)));
8
- return Object.keys(errors).length > 0 ? errors : null;
9
- }
10
- }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kZWQtdmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvcmUvZXh0ZW5kZWQtdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sT0FBZ0IsaUJBQWlCO0lBTXJDOzs7T0FHRztJQUNJLFFBQVEsQ0FBQyxPQUF3QjtRQUN0QyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU5RyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDeEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3IsXG4gIFZhbGlkYXRvckZuLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBFeHRlbmRlZFZhbGlkYXRvciBpbXBsZW1lbnRzIFZhbGlkYXRvciB7XG4gIC8qKlxuICAgKiBGdWxsIGxpc3Qgb2YgdmFsaWRhdG9yIGZ1bmN0aW9uc1xuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW107XG5cbiAgLyoqXG4gICAqIEFwcGx5IHRoZSBsaXN0IG9mIHZhbGlkYXRvcnMgb24gYSBzcGVjaWZpYyBDb250cm9sXG4gICAqIEBwYXJhbSBjb250cm9sXG4gICAqL1xuICBwdWJsaWMgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGNvbnN0IGVycm9ycyA9IE9iamVjdC5hc3NpZ24oe30sIC4uLnRoaXMudmFsaWRhdG9ycy5tYXAoKHZhbGlkYXRvckZ1bmN0aW9ucykgPT4gdmFsaWRhdG9yRnVuY3Rpb25zKGNvbnRyb2wpKSk7XG5cbiAgICByZXR1cm4gT2JqZWN0LmtleXMoZXJyb3JzKS5sZW5ndGggPiAwID8gZXJyb3JzIDogbnVsbDtcbiAgfVxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdC1lcnJvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29yZS9mbGF0LWVycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgVmFsaWRhdGlvbkVycm9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgRXJyb3JNZXNzYWdlT2JqZWN0LFxufSBmcm9tICcuL2Vycm9ycyc7XG5cbi8qKiBGbGF0IHJlcHJlc2VudGF0aW9uIG9mIEFuZ3VsYXIncyBWYWxpZGF0aW9uRXJyb3IgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmxhdEVycm9yIHtcbiAgLyoqIFRoZSBrZXkgdGhhdCBpZGVudGlmaWVzIHRoZSB2YWxpZGF0aW9uIGVycm9yICovXG4gIGVycm9yS2V5OiBzdHJpbmc7XG4gIC8qKiBUaGUgdmFsdWUgbGlua2VkIHRvIHRoZSB2YWxpZGF0aW9uIGVycm9yICovXG4gIGVycm9yVmFsdWU6IGFueTtcbiAgLyoqIFRoZSBvcmlnaW5hbCB2YWxpZGF0aW9uIGVycm9yICovXG4gIHZhbGlkYXRpb25FcnJvcjogVmFsaWRhdGlvbkVycm9ycztcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGFsbCBlcnJvcnMgKHZhbGlkYXRpb24gb3IgY3VzdG9tIG9uZXMpIGZyb20gYSBjb250cm9sLlxuICogVXNlZnVsIGZvciB3b3JraW5nIHdpdGggZm9ybSBlcnJvcnNcbiAqIEBub3RlIFRoZSBjb250cm9sIG1heSBiZSBmb3JtLCB0aGVyZWZvcmUgdGhlIGNvbnRyb2xOYW1lIG1heSBiZSB1bmRlZmluZWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb250cm9sRmxhdEVycm9ycyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiBhIGZpZWxkLiBlLmcgZmlyc3ROYW1lLCBjYXJkTnVtYmVyLiBJZiBpdCdzIGEgZm9ybSwgc2hvdWxkIGJlIHVuZGVmaW5lZFxuICAgKiBAbm90ZSBGb3IgY2hpbGQgZmllbGRzLCB1c2UgW3BhcmVudENvbnRyb2xOYW1lXS5bZmllbGROYW1lXS4gZS5nIGV4cGlyeURhdGUubW9udGhcbiAgICovXG4gIGNvbnRyb2xOYW1lPzogc3RyaW5nO1xuICAvKiogTGlzdCBvZiBjdXN0b21FcnJvcnMgKGNvbWluZyBmcm9tIGN1c3RvbSB2YWxpZGF0aW9uKSBsaW5rZWQgdG8gdGhlIGNvbnRyb2wgKi9cbiAgY3VzdG9tRXJyb3JzPzogRXJyb3JNZXNzYWdlT2JqZWN0W10gfCBudWxsO1xuICAvKiogVGhlIGxpc3Qgb2YgZmxhdHRlbiBlcnJvcnMgbGlua2VkIHRvIHRoZSBjb250cm9sICovXG4gIGVycm9yczogRmxhdEVycm9yW107XG59XG4iXX0=