@acorex/core 7.17.26 → 7.17.27

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 (111) hide show
  1. package/dateTime/index.d.ts +2 -0
  2. package/dateTime/lib/calendar.service.d.ts +6 -1
  3. package/dateTime/lib/datetime.class.d.ts +6 -5
  4. package/dateTime/lib/datetime.module.d.ts +0 -2
  5. package/dateTime/lib/datetime.pipe.d.ts +3 -0
  6. package/dateTime/lib/formatters/datetime-formatter.d.ts +19 -0
  7. package/dateTime/lib/formatters/timeleft-formatter.d.ts +16 -0
  8. package/esm2022/dateTime/index.mjs +3 -1
  9. package/esm2022/dateTime/lib/calendar.service.mjs +17 -9
  10. package/esm2022/dateTime/lib/dateTime.config.mjs +5 -28
  11. package/esm2022/dateTime/lib/datetime.class.mjs +66 -14
  12. package/esm2022/dateTime/lib/datetime.module.mjs +9 -11
  13. package/esm2022/dateTime/lib/datetime.pipe.mjs +5 -7
  14. package/esm2022/dateTime/lib/formatters/datetime-formatter.mjs +30 -0
  15. package/esm2022/dateTime/lib/formatters/timeleft-formatter.mjs +91 -0
  16. package/esm2022/file/lib/file-size-formatter.mjs +2 -2
  17. package/esm2022/file/lib/file.module.mjs +8 -10
  18. package/esm2022/format/index.mjs +3 -2
  19. package/esm2022/format/lib/format.config.mjs +3 -2
  20. package/esm2022/format/lib/format.module.mjs +22 -9
  21. package/esm2022/format/lib/format.pipe.mjs +5 -6
  22. package/esm2022/format/lib/format.service.mjs +57 -12
  23. package/esm2022/format/lib/format.types.mjs +2 -0
  24. package/esm2022/format/lib/formatters/number-formatter.mjs +75 -0
  25. package/esm2022/translation/index.mjs +7 -2
  26. package/esm2022/translation/lib/translation-scope.resolver.mjs +11 -0
  27. package/esm2022/translation/lib/translation.config.mjs +20 -0
  28. package/esm2022/translation/lib/translation.loader.mjs +14 -0
  29. package/esm2022/translation/lib/translation.module.mjs +29 -7
  30. package/esm2022/translation/lib/translation.service.mjs +105 -0
  31. package/esm2022/translation/lib/translation.types.mjs +2 -0
  32. package/esm2022/translation/lib/translator.directive.mjs +28 -0
  33. package/esm2022/translation/lib/translator.pipe.mjs +33 -7
  34. package/esm2022/validation/index.mjs +2 -2
  35. package/esm2022/validation/lib/rules/between-rule.mjs +8 -1
  36. package/esm2022/validation/lib/rules/callback-rule.mjs +8 -1
  37. package/esm2022/validation/lib/rules/equal-rule.mjs +8 -1
  38. package/esm2022/validation/lib/rules/greater-than.mjs +8 -1
  39. package/esm2022/validation/lib/rules/length-rule.mjs +9 -1
  40. package/esm2022/validation/lib/rules/less-than-rule.mjs +8 -1
  41. package/esm2022/validation/lib/rules/maxlength-rule.mjs +8 -1
  42. package/esm2022/validation/lib/rules/minlength-rule.mjs +8 -1
  43. package/esm2022/validation/lib/rules/regex-rule.mjs +13 -2
  44. package/esm2022/validation/lib/rules/required-rule.mjs +13 -3
  45. package/esm2022/validation/lib/validation.config.mjs +3 -4
  46. package/esm2022/validation/lib/validation.module.mjs +38 -12
  47. package/esm2022/validation/lib/validation.service.mjs +30 -16
  48. package/esm2022/validation/lib/validation.types.mjs +3 -0
  49. package/fesm2022/acorex-core-dateTime.mjs +110 -68
  50. package/fesm2022/acorex-core-dateTime.mjs.map +1 -1
  51. package/fesm2022/acorex-core-file.mjs +8 -9
  52. package/fesm2022/acorex-core-file.mjs.map +1 -1
  53. package/fesm2022/acorex-core-format.mjs +147 -55
  54. package/fesm2022/acorex-core-format.mjs.map +1 -1
  55. package/fesm2022/acorex-core-translation.mjs +212 -45
  56. package/fesm2022/acorex-core-translation.mjs.map +1 -1
  57. package/fesm2022/acorex-core-validation.mjs +131 -32
  58. package/fesm2022/acorex-core-validation.mjs.map +1 -1
  59. package/file/lib/file-size-formatter.d.ts +10 -2
  60. package/file/lib/file.module.d.ts +2 -3
  61. package/format/index.d.ts +2 -1
  62. package/format/lib/format.config.d.ts +4 -3
  63. package/format/lib/format.module.d.ts +9 -3
  64. package/format/lib/format.pipe.d.ts +2 -1
  65. package/format/lib/format.service.d.ts +26 -2
  66. package/format/lib/format.types.d.ts +4 -0
  67. package/format/lib/formatters/number-formatter.d.ts +23 -0
  68. package/package.json +1 -7
  69. package/translation/index.d.ts +6 -1
  70. package/translation/lib/translation-scope.resolver.d.ts +2 -0
  71. package/translation/lib/translation.config.d.ts +14 -0
  72. package/translation/lib/translation.loader.d.ts +14 -0
  73. package/translation/lib/translation.module.d.ts +2 -1
  74. package/translation/lib/translation.service.d.ts +26 -0
  75. package/translation/lib/translation.types.d.ts +10 -0
  76. package/translation/lib/translator.directive.d.ts +12 -0
  77. package/translation/lib/translator.pipe.d.ts +12 -4
  78. package/validation/index.d.ts +1 -1
  79. package/validation/lib/rules/between-rule.d.ts +5 -2
  80. package/validation/lib/rules/callback-rule.d.ts +5 -2
  81. package/validation/lib/rules/equal-rule.d.ts +5 -2
  82. package/validation/lib/rules/greater-than.d.ts +5 -2
  83. package/validation/lib/rules/length-rule.d.ts +5 -2
  84. package/validation/lib/rules/less-than-rule.d.ts +5 -2
  85. package/validation/lib/rules/maxlength-rule.d.ts +5 -2
  86. package/validation/lib/rules/minlength-rule.d.ts +5 -2
  87. package/validation/lib/rules/regex-rule.d.ts +6 -2
  88. package/validation/lib/rules/required-rule.d.ts +6 -2
  89. package/validation/lib/validation.config.d.ts +3 -3
  90. package/validation/lib/validation.module.d.ts +10 -4
  91. package/validation/lib/validation.service.d.ts +8 -3
  92. package/validation/lib/{validation.d.ts → validation.types.d.ts} +3 -3
  93. package/dateTime/lib/datetime-formatter.d.ts +0 -15
  94. package/esm2022/dateTime/lib/datetime-formatter.mjs +0 -109
  95. package/esm2022/format/lib/number-formatter.mjs +0 -16
  96. package/esm2022/format/lib/string-formatter.mjs +0 -26
  97. package/esm2022/intl/acorex-core-intl.mjs +0 -5
  98. package/esm2022/intl/index.mjs +0 -3
  99. package/esm2022/intl/lib/numbers/number-format-options.mjs +0 -10
  100. package/esm2022/intl/lib/numbers/numbers-utils.mjs +0 -39
  101. package/esm2022/translation/lib/translator.mjs +0 -42
  102. package/esm2022/validation/lib/validation.mjs +0 -2
  103. package/fesm2022/acorex-core-intl.mjs +0 -54
  104. package/fesm2022/acorex-core-intl.mjs.map +0 -1
  105. package/format/lib/number-formatter.d.ts +0 -5
  106. package/format/lib/string-formatter.d.ts +0 -5
  107. package/intl/README.md +0 -3
  108. package/intl/index.d.ts +0 -2
  109. package/intl/lib/numbers/number-format-options.d.ts +0 -7
  110. package/intl/lib/numbers/numbers-utils.d.ts +0 -3
  111. package/translation/lib/translator.d.ts +0 -11
@@ -0,0 +1,75 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { isInteger, defaults, padStart } from 'lodash-es';
3
+ import * as i0 from "@angular/core";
4
+ export class AXNumberFormatter {
5
+ constructor() {
6
+ this.separatorsCache = {};
7
+ }
8
+ get name() {
9
+ return 'number';
10
+ }
11
+ format(value, options) {
12
+ const { thousandSeparator, decimalSeparator } = this.getLocaleSeparators(options?.locale);
13
+ // Merge user options with default options
14
+ const effectiveOptions = defaults({}, options, {
15
+ thousandSeparator,
16
+ decimalSeparator,
17
+ zeroPadLength: 0,
18
+ locale: navigator.language
19
+ });
20
+ const sign = value < 0 ? '-' : '';
21
+ const absoluteValue = Math.abs(value);
22
+ // Handling zero padding for integer part
23
+ let integerPart = Math.floor(absoluteValue).toString();
24
+ if (effectiveOptions.zeroPadLength && effectiveOptions.zeroPadLength > integerPart.length) {
25
+ integerPart = padStart(integerPart, effectiveOptions.zeroPadLength, '0');
26
+ }
27
+ // Applying thousand separator to integer part
28
+ if (effectiveOptions.thousandSeparator) {
29
+ integerPart = integerPart.replace(/\B(?=(\d{3})+(?!\d))/g, effectiveOptions.thousandSeparator);
30
+ }
31
+ // Constructing the final formatted value
32
+ let formattedValue = sign + integerPart;
33
+ if (effectiveOptions.decimalPlaces !== undefined) {
34
+ // Limiting decimal places if specified
35
+ const decimalPart = absoluteValue.toFixed(effectiveOptions.decimalPlaces).split('.')[1];
36
+ formattedValue += effectiveOptions.decimalSeparator + decimalPart;
37
+ }
38
+ else if (!isInteger(value)) {
39
+ // Showing full decimal part if decimalPlaces is not specified
40
+ const decimalPart = absoluteValue.toString().split('.')[1] || '';
41
+ if (decimalPart.length > 0) {
42
+ formattedValue += effectiveOptions.decimalSeparator + decimalPart;
43
+ }
44
+ }
45
+ return formattedValue;
46
+ }
47
+ getLocaleSeparators(locale = navigator.language) {
48
+ // Use cache if available
49
+ if (this.separatorsCache[locale]) {
50
+ return this.separatorsCache[locale];
51
+ }
52
+ console.log('getLocaleSeparators', locale);
53
+ const numberFormat = new Intl.NumberFormat(locale);
54
+ const parts = numberFormat.formatToParts(1234567.89);
55
+ let thousandSeparator = '';
56
+ let decimalSeparator = '';
57
+ for (const part of parts) {
58
+ if (part.type === 'group') {
59
+ thousandSeparator = part.value;
60
+ }
61
+ else if (part.type === 'decimal') {
62
+ decimalSeparator = part.value;
63
+ }
64
+ }
65
+ // Cache the result
66
+ this.separatorsCache[locale] = { thousandSeparator, decimalSeparator };
67
+ return this.separatorsCache[locale];
68
+ }
69
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXNumberFormatter, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
70
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXNumberFormatter }); }
71
+ }
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXNumberFormatter, decorators: [{
73
+ type: Injectable
74
+ }] });
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWZvcm1hdHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9mb3JtYXQvc3JjL2xpYi9mb3JtYXR0ZXJzL251bWJlci1mb3JtYXR0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBa0IxRCxNQUFNLE9BQU8saUJBQWlCO0lBRDlCO1FBR1Usb0JBQWUsR0FBRyxFQUFFLENBQUM7S0F1RTlCO0lBckVDLElBQUksSUFBSTtRQUNOLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBYSxFQUFFLE9BQWlDO1FBQ3JELE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDMUYsMENBQTBDO1FBQzFDLE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUU7WUFDN0MsaUJBQWlCO1lBQ2pCLGdCQUFnQjtZQUNoQixhQUFhLEVBQUUsQ0FBQztZQUNoQixNQUFNLEVBQUUsU0FBUyxDQUFDLFFBQVE7U0FDM0IsQ0FBQyxDQUFDO1FBRUgsTUFBTSxJQUFJLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDbEMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV0Qyx5Q0FBeUM7UUFDekMsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN2RCxJQUFJLGdCQUFnQixDQUFDLGFBQWEsSUFBSSxnQkFBZ0IsQ0FBQyxhQUFhLEdBQUcsV0FBVyxDQUFDLE1BQU0sRUFBRTtZQUN6RixXQUFXLEdBQUcsUUFBUSxDQUFDLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDMUU7UUFFRCw4Q0FBOEM7UUFDOUMsSUFBSSxnQkFBZ0IsQ0FBQyxpQkFBaUIsRUFBRTtZQUN0QyxXQUFXLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1NBQ2hHO1FBRUQseUNBQXlDO1FBQ3pDLElBQUksY0FBYyxHQUFHLElBQUksR0FBRyxXQUFXLENBQUM7UUFDeEMsSUFBSSxnQkFBZ0IsQ0FBQyxhQUFhLEtBQUssU0FBUyxFQUFFO1lBQ2hELHVDQUF1QztZQUN2QyxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4RixjQUFjLElBQUksZ0JBQWdCLENBQUMsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDO1NBQ25FO2FBQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM1Qiw4REFBOEQ7WUFDOUQsTUFBTSxXQUFXLEdBQUcsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDakUsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDMUIsY0FBYyxJQUFJLGdCQUFnQixDQUFDLGdCQUFnQixHQUFHLFdBQVcsQ0FBQzthQUNuRTtTQUNGO1FBRUQsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQztJQUVPLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsUUFBUTtRQUNyRCx5QkFBeUI7UUFDekIsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2hDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNyQztRQUVELE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFDMUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25ELE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckQsSUFBSSxpQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFDM0IsSUFBSSxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFFMUIsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUU7WUFDeEIsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRTtnQkFDekIsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQzthQUNoQztpQkFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFO2dCQUNsQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO2FBQy9CO1NBQ0Y7UUFFRCxtQkFBbUI7UUFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLENBQUM7UUFDdkUsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7OEdBeEVVLGlCQUFpQjtrSEFBakIsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhGb3JtYXR0ZXIgfSBmcm9tICcuLi9mb3JtYXQuY29uZmlnJztcbmltcG9ydCB7IEFYRm9ybWF0T3B0aW9ucyB9IGZyb20gJy4uL2Zvcm1hdC50eXBlcyc7XG5pbXBvcnQgeyBpc0ludGVnZXIsIGRlZmF1bHRzLCBwYWRTdGFydCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBBWE51bWJlckZvcm1hdHRlck9wdGlvbnMgZXh0ZW5kcyBBWEZvcm1hdE9wdGlvbnMge1xuICBkZWNpbWFsUGxhY2VzPzogbnVtYmVyO1xuICB0aG91c2FuZFNlcGFyYXRvcj86IHN0cmluZztcbiAgZGVjaW1hbFNlcGFyYXRvcj86IHN0cmluZztcbiAgemVyb1BhZExlbmd0aD86IG51bWJlcjsgLy8gTmV3IG9wdGlvbiBmb3IgemVybyBwYWRkaW5nLFxuICBsb2NhbGU/OiBzdHJpbmdcbn1cblxuZGVjbGFyZSBtb2R1bGUgJy4uL2Zvcm1hdC50eXBlcycge1xuICBpbnRlcmZhY2UgQVhGb3JtYXRPcHRpb25zTWFwIHtcbiAgICAnbnVtYmVyJzogQVhOdW1iZXJGb3JtYXR0ZXJPcHRpb25zO1xuICB9XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWE51bWJlckZvcm1hdHRlciBpbXBsZW1lbnRzIEFYRm9ybWF0dGVyIHtcblxuICBwcml2YXRlIHNlcGFyYXRvcnNDYWNoZSA9IHt9O1xuXG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdudW1iZXInO1xuICB9XG5cbiAgZm9ybWF0KHZhbHVlOiBudW1iZXIsIG9wdGlvbnM6IEFYTnVtYmVyRm9ybWF0dGVyT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgY29uc3QgeyB0aG91c2FuZFNlcGFyYXRvciwgZGVjaW1hbFNlcGFyYXRvciB9ID0gdGhpcy5nZXRMb2NhbGVTZXBhcmF0b3JzKG9wdGlvbnM/LmxvY2FsZSk7XG4gICAgLy8gTWVyZ2UgdXNlciBvcHRpb25zIHdpdGggZGVmYXVsdCBvcHRpb25zXG4gICAgY29uc3QgZWZmZWN0aXZlT3B0aW9ucyA9IGRlZmF1bHRzKHt9LCBvcHRpb25zLCB7XG4gICAgICB0aG91c2FuZFNlcGFyYXRvcixcbiAgICAgIGRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICB6ZXJvUGFkTGVuZ3RoOiAwLFxuICAgICAgbG9jYWxlOiBuYXZpZ2F0b3IubGFuZ3VhZ2VcbiAgICB9KTtcblxuICAgIGNvbnN0IHNpZ24gPSB2YWx1ZSA8IDAgPyAnLScgOiAnJztcbiAgICBjb25zdCBhYnNvbHV0ZVZhbHVlID0gTWF0aC5hYnModmFsdWUpO1xuXG4gICAgLy8gSGFuZGxpbmcgemVybyBwYWRkaW5nIGZvciBpbnRlZ2VyIHBhcnRcbiAgICBsZXQgaW50ZWdlclBhcnQgPSBNYXRoLmZsb29yKGFic29sdXRlVmFsdWUpLnRvU3RyaW5nKCk7XG4gICAgaWYgKGVmZmVjdGl2ZU9wdGlvbnMuemVyb1BhZExlbmd0aCAmJiBlZmZlY3RpdmVPcHRpb25zLnplcm9QYWRMZW5ndGggPiBpbnRlZ2VyUGFydC5sZW5ndGgpIHtcbiAgICAgIGludGVnZXJQYXJ0ID0gcGFkU3RhcnQoaW50ZWdlclBhcnQsIGVmZmVjdGl2ZU9wdGlvbnMuemVyb1BhZExlbmd0aCwgJzAnKTtcbiAgICB9XG5cbiAgICAvLyBBcHBseWluZyB0aG91c2FuZCBzZXBhcmF0b3IgdG8gaW50ZWdlciBwYXJ0XG4gICAgaWYgKGVmZmVjdGl2ZU9wdGlvbnMudGhvdXNhbmRTZXBhcmF0b3IpIHtcbiAgICAgIGludGVnZXJQYXJ0ID0gaW50ZWdlclBhcnQucmVwbGFjZSgvXFxCKD89KFxcZHszfSkrKD8hXFxkKSkvZywgZWZmZWN0aXZlT3B0aW9ucy50aG91c2FuZFNlcGFyYXRvcik7XG4gICAgfVxuXG4gICAgLy8gQ29uc3RydWN0aW5nIHRoZSBmaW5hbCBmb3JtYXR0ZWQgdmFsdWVcbiAgICBsZXQgZm9ybWF0dGVkVmFsdWUgPSBzaWduICsgaW50ZWdlclBhcnQ7XG4gICAgaWYgKGVmZmVjdGl2ZU9wdGlvbnMuZGVjaW1hbFBsYWNlcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBMaW1pdGluZyBkZWNpbWFsIHBsYWNlcyBpZiBzcGVjaWZpZWRcbiAgICAgIGNvbnN0IGRlY2ltYWxQYXJ0ID0gYWJzb2x1dGVWYWx1ZS50b0ZpeGVkKGVmZmVjdGl2ZU9wdGlvbnMuZGVjaW1hbFBsYWNlcykuc3BsaXQoJy4nKVsxXTtcbiAgICAgIGZvcm1hdHRlZFZhbHVlICs9IGVmZmVjdGl2ZU9wdGlvbnMuZGVjaW1hbFNlcGFyYXRvciArIGRlY2ltYWxQYXJ0O1xuICAgIH0gZWxzZSBpZiAoIWlzSW50ZWdlcih2YWx1ZSkpIHtcbiAgICAgIC8vIFNob3dpbmcgZnVsbCBkZWNpbWFsIHBhcnQgaWYgZGVjaW1hbFBsYWNlcyBpcyBub3Qgc3BlY2lmaWVkXG4gICAgICBjb25zdCBkZWNpbWFsUGFydCA9IGFic29sdXRlVmFsdWUudG9TdHJpbmcoKS5zcGxpdCgnLicpWzFdIHx8ICcnO1xuICAgICAgaWYgKGRlY2ltYWxQYXJ0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgZm9ybWF0dGVkVmFsdWUgKz0gZWZmZWN0aXZlT3B0aW9ucy5kZWNpbWFsU2VwYXJhdG9yICsgZGVjaW1hbFBhcnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZvcm1hdHRlZFZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRMb2NhbGVTZXBhcmF0b3JzKGxvY2FsZSA9IG5hdmlnYXRvci5sYW5ndWFnZSk6IHsgdGhvdXNhbmRTZXBhcmF0b3I6IHN0cmluZywgZGVjaW1hbFNlcGFyYXRvcjogc3RyaW5nIH0ge1xuICAgIC8vIFVzZSBjYWNoZSBpZiBhdmFpbGFibGVcbiAgICBpZiAodGhpcy5zZXBhcmF0b3JzQ2FjaGVbbG9jYWxlXSkge1xuICAgICAgcmV0dXJuIHRoaXMuc2VwYXJhdG9yc0NhY2hlW2xvY2FsZV07XG4gICAgfVxuXG4gICAgY29uc29sZS5sb2coJ2dldExvY2FsZVNlcGFyYXRvcnMnLCBsb2NhbGUpXG4gICAgY29uc3QgbnVtYmVyRm9ybWF0ID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KGxvY2FsZSk7XG4gICAgY29uc3QgcGFydHMgPSBudW1iZXJGb3JtYXQuZm9ybWF0VG9QYXJ0cygxMjM0NTY3Ljg5KTtcbiAgICBsZXQgdGhvdXNhbmRTZXBhcmF0b3IgPSAnJztcbiAgICBsZXQgZGVjaW1hbFNlcGFyYXRvciA9ICcnO1xuXG4gICAgZm9yIChjb25zdCBwYXJ0IG9mIHBhcnRzKSB7XG4gICAgICBpZiAocGFydC50eXBlID09PSAnZ3JvdXAnKSB7XG4gICAgICAgIHRob3VzYW5kU2VwYXJhdG9yID0gcGFydC52YWx1ZTtcbiAgICAgIH0gZWxzZSBpZiAocGFydC50eXBlID09PSAnZGVjaW1hbCcpIHtcbiAgICAgICAgZGVjaW1hbFNlcGFyYXRvciA9IHBhcnQudmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2FjaGUgdGhlIHJlc3VsdFxuICAgIHRoaXMuc2VwYXJhdG9yc0NhY2hlW2xvY2FsZV0gPSB7IHRob3VzYW5kU2VwYXJhdG9yLCBkZWNpbWFsU2VwYXJhdG9yIH07XG4gICAgcmV0dXJuIHRoaXMuc2VwYXJhdG9yc0NhY2hlW2xvY2FsZV07XG4gIH1cbn1cbiJdfQ==
@@ -1,4 +1,9 @@
1
+ export * from './lib/translation.config';
2
+ export * from './lib/translation.loader';
1
3
  export * from './lib/translation.module';
2
- export * from './lib/translator';
4
+ export * from './lib/translation.types';
5
+ export * from './lib/translation-scope.resolver';
6
+ export * from './lib/translation.service';
7
+ export * from './lib/translator.directive';
3
8
  export * from './lib/translator.pipe';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdHJhbnNsYXRpb24vc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvdHJhbnNsYXRpb24ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RyYW5zbGF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHJhbnNsYXRvci5waXBlJztcbiJdfQ==
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdHJhbnNsYXRpb24vc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL3RyYW5zbGF0aW9uLmNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90cmFuc2xhdGlvbi5sb2FkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHJhbnNsYXRpb24ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RyYW5zbGF0aW9uLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RyYW5zbGF0aW9uLXNjb3BlLnJlc29sdmVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RyYW5zbGF0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHJhbnNsYXRvci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHJhbnNsYXRvci5waXBlJztcbiJdfQ==
@@ -0,0 +1,11 @@
1
+ import { inject } from "@angular/core";
2
+ import { AXTranslationService } from "./translation.service";
3
+ import { AX_TRANSLATION_CONFIG } from "./translation.config";
4
+ export const loadTranslationScope = (route, state) => {
5
+ const translatorService = inject(AXTranslationService);
6
+ const config = inject(AX_TRANSLATION_CONFIG);
7
+ const scopeValue = route.data[config.scopeResolverKey];
8
+ const scopes = Array.isArray(scopeValue) ? scopeValue : [scopeValue];
9
+ return translatorService.loadLanguagesAndScopes([translatorService.getActiveLang()], scopes);
10
+ };
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24tc2NvcGUucmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdHJhbnNsYXRpb24vc3JjL2xpYi90cmFuc2xhdGlvbi1zY29wZS5yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTdELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTdELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUF1QixDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtJQUNyRSxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3ZELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQzdDLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDdkQsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3JFLE9BQU8saUJBQWlCLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ2pHLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gXCIuL3RyYW5zbGF0aW9uLnNlcnZpY2VcIjtcbmltcG9ydCB7IFJlc29sdmVGbiB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7IEFYX1RSQU5TTEFUSU9OX0NPTkZJRyB9IGZyb20gXCIuL3RyYW5zbGF0aW9uLmNvbmZpZ1wiO1xuXG5leHBvcnQgY29uc3QgbG9hZFRyYW5zbGF0aW9uU2NvcGU6IFJlc29sdmVGbjx1bmtub3duPiA9IChyb3V0ZSwgc3RhdGUpID0+IHtcbiAgICBjb25zdCB0cmFuc2xhdG9yU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG4gICAgY29uc3QgY29uZmlnID0gaW5qZWN0KEFYX1RSQU5TTEFUSU9OX0NPTkZJRyk7XG4gICAgY29uc3Qgc2NvcGVWYWx1ZSA9IHJvdXRlLmRhdGFbY29uZmlnLnNjb3BlUmVzb2x2ZXJLZXldO1xuICAgIGNvbnN0IHNjb3BlcyA9IEFycmF5LmlzQXJyYXkoc2NvcGVWYWx1ZSkgPyBzY29wZVZhbHVlIDogW3Njb3BlVmFsdWVdO1xuICAgIHJldHVybiB0cmFuc2xhdG9yU2VydmljZS5sb2FkTGFuZ3VhZ2VzQW5kU2NvcGVzKFt0cmFuc2xhdG9yU2VydmljZS5nZXRBY3RpdmVMYW5nKCldLCBzY29wZXMpO1xufTsiXX0=
@@ -0,0 +1,20 @@
1
+ import { InjectionToken } from "@angular/core";
2
+ export const AX_TRANSLATION_CONFIG = new InjectionToken('AX_TRANSLATION_CONFIG', {
3
+ providedIn: 'root',
4
+ factory: () => {
5
+ return AXTranslationDefaultConfig;
6
+ },
7
+ });
8
+ export const AXTranslationDefaultConfig = {
9
+ defaultLang: 'en',
10
+ defaultScope: 'common',
11
+ scopeResolverKey: 'scope',
12
+ };
13
+ export function translationConfig(config = {}) {
14
+ const result = {
15
+ ...AXTranslationDefaultConfig,
16
+ ...config,
17
+ };
18
+ return result;
19
+ }
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3RyYW5zbGF0aW9uL3NyYy9saWIvdHJhbnNsYXRpb24uY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFjL0MsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxjQUFjLENBQXNCLHVCQUF1QixFQUFFO0lBQ2xHLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDVixPQUFPLDBCQUEwQixDQUFDO0lBQ3RDLENBQUM7Q0FDSixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBd0I7SUFDM0QsV0FBVyxFQUFFLElBQUk7SUFDakIsWUFBWSxFQUFFLFFBQVE7SUFDdEIsZ0JBQWdCLEVBQUUsT0FBTztDQUM1QixDQUFDO0FBSUYsTUFBTSxVQUFVLGlCQUFpQixDQUFDLFNBQXFDLEVBQUU7SUFDckUsTUFBTSxNQUFNLEdBQUc7UUFDWCxHQUFHLDBCQUEwQjtRQUM3QixHQUFHLE1BQU07S0FDWixDQUFDO0lBQ0YsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFYVHJhbnNsYXRlTGFuZywgQVhUcmFuc2xhdGVTY29wZSB9IGZyb20gXCIuL3RyYW5zbGF0aW9uLnR5cGVzXCI7XG5cblxuXG5leHBvcnQgaW50ZXJmYWNlIEFYVHJhbnNsYXRpb25Db25maWcge1xuICAgIGRlZmF1bHRMYW5nOiBBWFRyYW5zbGF0ZUxhbmcsXG4gICAgZGVmYXVsdFNjb3BlOiBBWFRyYW5zbGF0ZVNjb3BlLFxuICAgIHByZWxvYWRMYW5ncz86IEFYVHJhbnNsYXRlTGFuZ1tdLFxuICAgIHByZWxvYWRTY29wZXM/OiBBWFRyYW5zbGF0ZUxhbmdbXSxcbiAgICBhdmFpbGFibGVMYW5ncz86IEFYVHJhbnNsYXRlTGFuZ1tdLFxuICAgIHNjb3BlUmVzb2x2ZXJLZXk6IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgQVhfVFJBTlNMQVRJT05fQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPEFYVHJhbnNsYXRpb25Db25maWc+KCdBWF9UUkFOU0xBVElPTl9DT05GSUcnLCB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIEFYVHJhbnNsYXRpb25EZWZhdWx0Q29uZmlnO1xuICAgIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IEFYVHJhbnNsYXRpb25EZWZhdWx0Q29uZmlnOiBBWFRyYW5zbGF0aW9uQ29uZmlnID0ge1xuICAgIGRlZmF1bHRMYW5nOiAnZW4nLFxuICAgIGRlZmF1bHRTY29wZTogJ2NvbW1vbicsXG4gICAgc2NvcGVSZXNvbHZlcktleTogJ3Njb3BlJyxcbn07XG5cbmV4cG9ydCB0eXBlIEFYUGFydGlhbFRyYW5zbGF0aW9uQ29uZmlnID0gUGFydGlhbDxBWFRyYW5zbGF0aW9uQ29uZmlnPjtcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zbGF0aW9uQ29uZmlnKGNvbmZpZzogQVhQYXJ0aWFsVHJhbnNsYXRpb25Db25maWcgPSB7fSk6IEFYVHJhbnNsYXRpb25Db25maWcge1xuICAgIGNvbnN0IHJlc3VsdCA9IHtcbiAgICAgICAgLi4uQVhUcmFuc2xhdGlvbkRlZmF1bHRDb25maWcsXG4gICAgICAgIC4uLmNvbmZpZyxcbiAgICB9O1xuICAgIHJldHVybiByZXN1bHQ7XG59XG4iXX0=
@@ -0,0 +1,14 @@
1
+ import { InjectionToken } from "@angular/core";
2
+ import { of } from "rxjs";
3
+ export class AXTranslationLoaderDefault {
4
+ getTranslation(options) {
5
+ return of({});
6
+ }
7
+ }
8
+ export const AX_TRANSLATION_LOADER = new InjectionToken('AX_TRANSLATION_LOADER', {
9
+ providedIn: 'root',
10
+ factory: () => {
11
+ return new AXTranslationLoaderDefault();
12
+ },
13
+ });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24ubG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3RyYW5zbGF0aW9uL3NyYy9saWIvdHJhbnNsYXRpb24ubG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQWF0QyxNQUFNLE9BQU8sMEJBQTBCO0lBQ25DLGNBQWMsQ0FBQyxPQUFtQztRQUM5QyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsQixDQUFDO0NBQ0o7QUFHRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLGNBQWMsQ0FBc0IsdUJBQXVCLEVBQUU7SUFDbEcsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUNWLE9BQU8sSUFBSSwwQkFBMEIsRUFBRSxDQUFDO0lBQzVDLENBQUM7Q0FDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBWFRyYW5zbGF0ZUxhbmcsIEFYVHJhbnNsYXRlU2NvcGUsIEFYVHJhbnNsYXRpb24gfSBmcm9tIFwiLi90cmFuc2xhdGlvbi50eXBlc1wiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tIFwicnhqc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYVHJhbnNsYXRpb25Mb2FkZXJPcHRpb25zIHtcbiAgICBsYW5nOiBBWFRyYW5zbGF0ZUxhbmcsXG4gICAgc2NvcGU/OiBBWFRyYW5zbGF0ZVNjb3BlO1xufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhUcmFuc2xhdGlvbkxvYWRlciB7XG4gICAgZ2V0VHJhbnNsYXRpb24ob3B0aW9uczogQVhUcmFuc2xhdGlvbkxvYWRlck9wdGlvbnMpOiBPYnNlcnZhYmxlPEFYVHJhbnNsYXRpb24+O1xufVxuXG5cbmV4cG9ydCBjbGFzcyBBWFRyYW5zbGF0aW9uTG9hZGVyRGVmYXVsdCBpbXBsZW1lbnRzIEFYVHJhbnNsYXRpb25Mb2FkZXIge1xuICAgIGdldFRyYW5zbGF0aW9uKG9wdGlvbnM6IEFYVHJhbnNsYXRpb25Mb2FkZXJPcHRpb25zKTogT2JzZXJ2YWJsZTxBWFRyYW5zbGF0aW9uPiB7XG4gICAgICAgIHJldHVybiBvZih7fSk7XG4gICAgfVxufVxuXG5cbmV4cG9ydCBjb25zdCBBWF9UUkFOU0xBVElPTl9MT0FERVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48QVhUcmFuc2xhdGlvbkxvYWRlcj4oJ0FYX1RSQU5TTEFUSU9OX0xPQURFUicsIHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG4gICAgZmFjdG9yeTogKCkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IEFYVHJhbnNsYXRpb25Mb2FkZXJEZWZhdWx0KCk7XG4gICAgfSxcbn0pOyJdfQ==
@@ -1,18 +1,40 @@
1
- import { NgModule } from '@angular/core';
1
+ import { APP_INITIALIZER, NgModule } from '@angular/core';
2
2
  import { AXTranslatorPipe } from './translator.pipe';
3
+ import { AXTranslatorDirective } from './translator.directive';
4
+ import { AXTranslationService } from './translation.service';
5
+ import { AX_TRANSLATION_CONFIG } from './translation.config';
3
6
  import * as i0 from "@angular/core";
7
+ function initializeApp(translatorService, config) {
8
+ return () => {
9
+ return translatorService.loadLanguagesAndScopes(config.preloadLangs ?? [config.defaultLang], config.preloadScopes ?? [config.defaultScope]);
10
+ };
11
+ }
4
12
  export class AXTranslationModule {
5
13
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXTranslationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: AXTranslationModule, declarations: [AXTranslatorPipe], exports: [AXTranslatorPipe] }); }
7
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXTranslationModule }); }
14
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: AXTranslationModule, declarations: [AXTranslatorPipe, AXTranslatorDirective], exports: [AXTranslatorPipe, AXTranslatorDirective] }); }
15
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXTranslationModule, providers: [
16
+ {
17
+ provide: APP_INITIALIZER,
18
+ useFactory: initializeApp,
19
+ deps: [AXTranslationService, AX_TRANSLATION_CONFIG],
20
+ multi: true
21
+ }
22
+ ] }); }
8
23
  }
9
24
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXTranslationModule, decorators: [{
10
25
  type: NgModule,
11
26
  args: [{
12
27
  imports: [],
13
- exports: [AXTranslatorPipe],
14
- declarations: [AXTranslatorPipe],
15
- providers: [],
28
+ exports: [AXTranslatorPipe, AXTranslatorDirective],
29
+ declarations: [AXTranslatorPipe, AXTranslatorDirective],
30
+ providers: [
31
+ {
32
+ provide: APP_INITIALIZER,
33
+ useFactory: initializeApp,
34
+ deps: [AXTranslationService, AX_TRANSLATION_CONFIG],
35
+ multi: true
36
+ }
37
+ ],
16
38
  }]
17
39
  }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3RyYW5zbGF0aW9uL3NyYy9saWIvdHJhbnNsYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBUXJELE1BQU0sT0FBTyxtQkFBbUI7OEdBQW5CLG1CQUFtQjsrR0FBbkIsbUJBQW1CLGlCQUhmLGdCQUFnQixhQURyQixnQkFBZ0I7K0dBSWYsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQU4vQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxFQUFFO29CQUNYLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUMzQixZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDaEMsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdG9yUGlwZSB9IGZyb20gJy4vdHJhbnNsYXRvci5waXBlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW10sXG4gIGV4cG9ydHM6IFtBWFRyYW5zbGF0b3JQaXBlXSxcbiAgZGVjbGFyYXRpb25zOiBbQVhUcmFuc2xhdG9yUGlwZV0sXG4gIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFYVHJhbnNsYXRpb25Nb2R1bGUge31cbiJdfQ==
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3RyYW5zbGF0aW9uL3NyYy9saWIvdHJhbnNsYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTdELE9BQU8sRUFBdUIscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFHbEYsU0FBUyxhQUFhLENBQUMsaUJBQXVDLEVBQUUsTUFBMkI7SUFDekYsT0FBTyxHQUFvQixFQUFFO1FBQzNCLE9BQU8saUJBQWlCLENBQUMsc0JBQXNCLENBQzdDLE1BQU0sQ0FBQyxZQUFZLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQzNDLE1BQU0sQ0FBQyxhQUFhLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQTtJQUNsRCxDQUFDLENBQUM7QUFDSixDQUFDO0FBZUQsTUFBTSxPQUFPLG1CQUFtQjs4R0FBbkIsbUJBQW1COytHQUFuQixtQkFBbUIsaUJBVmYsZ0JBQWdCLEVBQUUscUJBQXFCLGFBRDVDLGdCQUFnQixFQUFFLHFCQUFxQjsrR0FXdEMsbUJBQW1CLGFBVG5CO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLFVBQVUsRUFBRSxhQUFhO2dCQUN6QixJQUFJLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxxQkFBcUIsQ0FBQztnQkFDbkQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGOzsyRkFFVSxtQkFBbUI7a0JBYi9CLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUscUJBQXFCLENBQUM7b0JBQ2xELFlBQVksRUFBRSxDQUFDLGdCQUFnQixFQUFFLHFCQUFxQixDQUFDO29CQUN2RCxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFVBQVUsRUFBRSxhQUFhOzRCQUN6QixJQUFJLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxxQkFBcUIsQ0FBQzs0QkFDbkQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0b3JQaXBlIH0gZnJvbSAnLi90cmFuc2xhdG9yLnBpcGUnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdG9yRGlyZWN0aXZlIH0gZnJvbSAnLi90cmFuc2xhdG9yLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJy4vdHJhbnNsYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uQ29uZmlnLCBBWF9UUkFOU0xBVElPTl9DT05GSUcgfSBmcm9tICcuL3RyYW5zbGF0aW9uLmNvbmZpZyc7XG5cblxuZnVuY3Rpb24gaW5pdGlhbGl6ZUFwcCh0cmFuc2xhdG9yU2VydmljZTogQVhUcmFuc2xhdGlvblNlcnZpY2UsIGNvbmZpZzogQVhUcmFuc2xhdGlvbkNvbmZpZykge1xuICByZXR1cm4gKCk6IE9ic2VydmFibGU8YW55PiA9PiB7XG4gICAgcmV0dXJuIHRyYW5zbGF0b3JTZXJ2aWNlLmxvYWRMYW5ndWFnZXNBbmRTY29wZXMoXG4gICAgICBjb25maWcucHJlbG9hZExhbmdzID8/IFtjb25maWcuZGVmYXVsdExhbmddLFxuICAgICAgY29uZmlnLnByZWxvYWRTY29wZXMgPz8gW2NvbmZpZy5kZWZhdWx0U2NvcGVdKVxuICB9O1xufVxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXSxcbiAgZXhwb3J0czogW0FYVHJhbnNsYXRvclBpcGUsIEFYVHJhbnNsYXRvckRpcmVjdGl2ZV0sXG4gIGRlY2xhcmF0aW9uczogW0FYVHJhbnNsYXRvclBpcGUsIEFYVHJhbnNsYXRvckRpcmVjdGl2ZV0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgIHVzZUZhY3Rvcnk6IGluaXRpYWxpemVBcHAsXG4gICAgICBkZXBzOiBbQVhUcmFuc2xhdGlvblNlcnZpY2UsIEFYX1RSQU5TTEFUSU9OX0NPTkZJR10sXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhUcmFuc2xhdGlvbk1vZHVsZSB7IH1cbiJdfQ==
@@ -0,0 +1,105 @@
1
+ import { Injectable, inject } from '@angular/core';
2
+ import { BehaviorSubject, catchError, forkJoin, map, of, switchMap, tap } from 'rxjs';
3
+ import { AX_TRANSLATION_LOADER } from './translation.loader';
4
+ import { set as lodashSet, get as lodashGet } from 'lodash-es';
5
+ import { AX_TRANSLATION_CONFIG } from './translation.config';
6
+ import * as i0 from "@angular/core";
7
+ let service;
8
+ export function translateSync(key, options) {
9
+ return service.translateSync(key, options);
10
+ }
11
+ export class AXTranslationService {
12
+ /**
13
+ * @ignore
14
+ */
15
+ constructor() {
16
+ this.loader = inject(AX_TRANSLATION_LOADER);
17
+ this.config = inject(AX_TRANSLATION_CONFIG);
18
+ this.translationCache = {};
19
+ this.activeLang = new BehaviorSubject(this.getDefaultLang());
20
+ this.langChanges$ = this.activeLang.asObservable();
21
+ service = this;
22
+ }
23
+ loadLanguagesAndScopes(languages, scopes) {
24
+ const requests = languages.flatMap(lang => scopes.map(scope => {
25
+ if (this.translationCache[lang]?.[scope]) {
26
+ return of(this.translationCache[lang][scope]);
27
+ }
28
+ return this.loader.getTranslation({ lang, scope }).pipe(tap(translations => this.cacheTranslations(lang, scope, translations)), catchError(error => {
29
+ console.error(`Error loading translations for lang: ${lang}, scope: ${scope}`, error);
30
+ return of(null); // You can return 'null' or any other fallback value
31
+ }));
32
+ }));
33
+ return forkJoin(...requests);
34
+ }
35
+ cacheTranslations(lang, scope, translations) {
36
+ lodashSet(this.translationCache, `${lang}.${scope}`, translations);
37
+ }
38
+ getDefaultLang() {
39
+ return this.config.defaultLang;
40
+ }
41
+ getActiveLang() {
42
+ return this.activeLang.getValue();
43
+ }
44
+ setActiveLang(lang) {
45
+ this.activeLang.next(lang);
46
+ }
47
+ load(key, options = {}) {
48
+ const { lang = this.getActiveLang(), scope = this.config.defaultScope } = options;
49
+ const fetchTranslation = (language) => {
50
+ // Check if translations are available in the cache
51
+ if (this.translationCache[language]?.[scope]) {
52
+ return of(this.getTranslation(key, language, scope, options.params));
53
+ }
54
+ // Load translations for the language and scope
55
+ return this.loadLanguagesAndScopes([language], [scope]).pipe(map(() => {
56
+ const translation = this.translationCache[language]?.[scope]?.[key] || key;
57
+ return this.getTranslation(translation, language, scope, options.params);
58
+ }), switchMap(translatedText => {
59
+ if (translatedText === key && language !== this.getDefaultLang()) {
60
+ // If the translation is not found and the language is not default,
61
+ // try fetching from the default language
62
+ return fetchTranslation(this.getDefaultLang());
63
+ }
64
+ return of(translatedText);
65
+ }));
66
+ };
67
+ // Return the translation or initiate fetching process
68
+ return fetchTranslation(lang);
69
+ }
70
+ getTranslation(key, lang, scope, params) {
71
+ let translation = (lodashGet(this.translationCache, `${lang}.${scope}.${key}`) || key);
72
+ // Replace params like {{ name }}
73
+ if (params) {
74
+ Object.keys(params).forEach(paramKey => {
75
+ const paramValue = params[paramKey];
76
+ translation = translation.replace(new RegExp(`{{\\s*${paramKey}\\s*}}`, 'g'), paramValue);
77
+ });
78
+ }
79
+ // Replace translations like {{ t('key') }}
80
+ const translationPattern = /{{\s*t\('([^']+)'\)\s*}}/g;
81
+ translation = translation.replace(translationPattern, (match, innerKey) => {
82
+ return this.getTranslation(innerKey, lang, scope, params);
83
+ });
84
+ return translation;
85
+ }
86
+ translate(key, options) {
87
+ if (options?.lang) {
88
+ return this.load(key, options);
89
+ }
90
+ return this.langChanges$.pipe(switchMap((lang) => {
91
+ return this.load(key, { ...options, lang: lang });
92
+ }));
93
+ }
94
+ translateSync(key, options) {
95
+ const { lang = this.getActiveLang(), scope = this.config.defaultScope } = options || {};
96
+ return this.getTranslation(key, lang, scope, options?.params);
97
+ }
98
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXTranslationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
99
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXTranslationService, providedIn: 'root' }); }
100
+ }
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXTranslationService, decorators: [{
102
+ type: Injectable,
103
+ args: [{ providedIn: 'root' }]
104
+ }], ctorParameters: () => [] });
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS90cmFuc2xhdGlvbi9zcmMvbGliL3RyYW5zbGF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBYyxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsR0FBRyxJQUFJLFNBQVMsRUFBRSxHQUFHLElBQUksU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUU3RCxJQUFJLE9BQTZCLENBQUM7QUFHbEMsTUFBTSxVQUFVLGFBQWEsQ0FBQyxHQUFXLEVBQUUsT0FBNEI7SUFDbkUsT0FBTyxPQUFPLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUMvQyxDQUFDO0FBSUQsTUFBTSxPQUFPLG9CQUFvQjtJQVc3Qjs7T0FFRztJQUNIO1FBWlEsV0FBTSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO1FBQ3RDLFdBQU0sR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQTtRQUV0QyxxQkFBZ0IsR0FBbUQsRUFBRSxDQUFDO1FBRXRFLGVBQVUsR0FBNEIsSUFBSSxlQUFlLENBQVMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDakcsaUJBQVksR0FBdUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQU85RCxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFHTSxzQkFBc0IsQ0FBQyxTQUFtQixFQUFFLE1BQWdCO1FBQy9ELE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FDdEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNmLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3RDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2FBQ2pEO1lBQ0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDbkQsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUMsRUFDdEUsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsd0NBQXdDLElBQUksWUFBWSxLQUFLLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDdEYsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxvREFBb0Q7WUFDekUsQ0FBQyxDQUFDLENBQ0wsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUNMLENBQUM7UUFFRixPQUFPLFFBQVEsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxJQUFZLEVBQUUsS0FBYSxFQUFFLFlBQXdDO1FBQzNGLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxJQUFJLElBQUksS0FBSyxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVNLGNBQWM7UUFDakIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQztJQUNuQyxDQUFDO0lBRU0sYUFBYTtRQUNoQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVNLGFBQWEsQ0FBQyxJQUFZO1FBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFJTyxJQUFJLENBQUMsR0FBVyxFQUFFLFVBQThCLEVBQUU7UUFDdEQsTUFBTSxFQUFFLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRWxGLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxRQUFnQixFQUFzQixFQUFFO1lBQzlELG1EQUFtRDtZQUNuRCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUMxQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2FBQ3hFO1lBRUQsK0NBQStDO1lBQy9DLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDeEQsR0FBRyxDQUFDLEdBQUcsRUFBRTtnQkFDTCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQztnQkFDM0UsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM3RSxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsY0FBYyxDQUFDLEVBQUU7Z0JBQ3ZCLElBQUksY0FBYyxLQUFLLEdBQUcsSUFBSSxRQUFRLEtBQUssSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFO29CQUM5RCxtRUFBbUU7b0JBQ25FLHlDQUF5QztvQkFDekMsT0FBTyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztpQkFDbEQ7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDOUIsQ0FBQyxDQUFDLENBQ0wsQ0FBQztRQUNOLENBQUMsQ0FBQztRQUVGLHNEQUFzRDtRQUN0RCxPQUFPLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTyxjQUFjLENBQUMsR0FBVyxFQUFFLElBQVksRUFBRSxLQUFhLEVBQUUsTUFBMEI7UUFDdkYsSUFBSSxXQUFXLEdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEdBQUcsSUFBSSxJQUFJLEtBQUssSUFBSSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEdBQUcsQ0FBVyxDQUFBO1FBRXhHLGlDQUFpQztRQUNqQyxJQUFJLE1BQU0sRUFBRTtZQUNSLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUNuQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFXLENBQUM7Z0JBQzlDLFdBQVcsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLFNBQVMsUUFBUSxRQUFRLEVBQUUsR0FBRyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDOUYsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUVELDJDQUEyQztRQUMzQyxNQUFNLGtCQUFrQixHQUFHLDJCQUEyQixDQUFDO1FBQ3ZELFdBQVcsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQ3RFLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM5RCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sV0FBVyxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxTQUFTLENBQUMsR0FBVyxFQUFFLE9BQTRCO1FBQ3RELElBQUksT0FBTyxFQUFFLElBQUksRUFBRTtZQUNmLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUE7U0FDakM7UUFDRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUN6QixTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNmLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxHQUFHLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUNyRCxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVNLGFBQWEsQ0FBQyxHQUFXLEVBQUUsT0FBNEI7UUFDMUQsTUFBTSxFQUFFLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLEdBQUcsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUN4RixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2xFLENBQUM7OEdBeEhRLG9CQUFvQjtrSEFBcEIsb0JBQW9CLGNBRFAsTUFBTTs7MkZBQ25CLG9CQUFvQjtrQkFEaEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgY2F0Y2hFcnJvciwgZm9ya0pvaW4sIG1hcCwgb2YsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0ZUhhc2hNYXAsIEFYVHJhbnNsYXRlT3B0aW9ucywgQVhUcmFuc2xhdGVQYXJhbXMgfSBmcm9tICcuL3RyYW5zbGF0aW9uLnR5cGVzJztcbmltcG9ydCB7IEFYX1RSQU5TTEFUSU9OX0xPQURFUiB9IGZyb20gJy4vdHJhbnNsYXRpb24ubG9hZGVyJztcbmltcG9ydCB7IHNldCBhcyBsb2Rhc2hTZXQsIGdldCBhcyBsb2Rhc2hHZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQVhfVFJBTlNMQVRJT05fQ09ORklHIH0gZnJvbSAnLi90cmFuc2xhdGlvbi5jb25maWcnO1xuXG5sZXQgc2VydmljZTogQVhUcmFuc2xhdGlvblNlcnZpY2U7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zbGF0ZVN5bmMoa2V5OiBzdHJpbmcsIG9wdGlvbnM/OiBBWFRyYW5zbGF0ZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgIHJldHVybiBzZXJ2aWNlLnRyYW5zbGF0ZVN5bmMoa2V5LCBvcHRpb25zKTtcbn1cblxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFYVHJhbnNsYXRpb25TZXJ2aWNlIHtcblxuICAgIHByaXZhdGUgbG9hZGVyID0gaW5qZWN0KEFYX1RSQU5TTEFUSU9OX0xPQURFUilcbiAgICBwcml2YXRlIGNvbmZpZyA9IGluamVjdChBWF9UUkFOU0xBVElPTl9DT05GSUcpXG5cbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uQ2FjaGU6IEFYVHJhbnNsYXRlSGFzaE1hcDxBWFRyYW5zbGF0ZUhhc2hNYXA8c3RyaW5nPj4gPSB7fTtcblxuICAgIHByaXZhdGUgYWN0aXZlTGFuZzogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4odGhpcy5nZXREZWZhdWx0TGFuZygpKTtcbiAgICBsYW5nQ2hhbmdlcyQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IHRoaXMuYWN0aXZlTGFuZy5hc09ic2VydmFibGUoKTtcblxuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzZXJ2aWNlID0gdGhpcztcbiAgICB9XG5cblxuICAgIHB1YmxpYyBsb2FkTGFuZ3VhZ2VzQW5kU2NvcGVzKGxhbmd1YWdlczogc3RyaW5nW10sIHNjb3Blczogc3RyaW5nW10pOiBPYnNlcnZhYmxlPHVua25vd24+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdHMgPSBsYW5ndWFnZXMuZmxhdE1hcChsYW5nID0+XG4gICAgICAgICAgICBzY29wZXMubWFwKHNjb3BlID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50cmFuc2xhdGlvbkNhY2hlW2xhbmddPy5bc2NvcGVdKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZih0aGlzLnRyYW5zbGF0aW9uQ2FjaGVbbGFuZ11bc2NvcGVdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9hZGVyLmdldFRyYW5zbGF0aW9uKHsgbGFuZywgc2NvcGUgfSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdGFwKHRyYW5zbGF0aW9ucyA9PiB0aGlzLmNhY2hlVHJhbnNsYXRpb25zKGxhbmcsIHNjb3BlLCB0cmFuc2xhdGlvbnMpKSxcbiAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBFcnJvciBsb2FkaW5nIHRyYW5zbGF0aW9ucyBmb3IgbGFuZzogJHtsYW5nfSwgc2NvcGU6ICR7c2NvcGV9YCwgZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpOyAvLyBZb3UgY2FuIHJldHVybiAnbnVsbCcgb3IgYW55IG90aGVyIGZhbGxiYWNrIHZhbHVlXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIGZvcmtKb2luKC4uLnJlcXVlc3RzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhY2hlVHJhbnNsYXRpb25zKGxhbmc6IHN0cmluZywgc2NvcGU6IHN0cmluZywgdHJhbnNsYXRpb25zOiBBWFRyYW5zbGF0ZUhhc2hNYXA8c3RyaW5nPik6IHZvaWQge1xuICAgICAgICBsb2Rhc2hTZXQodGhpcy50cmFuc2xhdGlvbkNhY2hlLCBgJHtsYW5nfS4ke3Njb3BlfWAsIHRyYW5zbGF0aW9ucyk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldERlZmF1bHRMYW5nKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5kZWZhdWx0TGFuZztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QWN0aXZlTGFuZygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5hY3RpdmVMYW5nLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEFjdGl2ZUxhbmcobGFuZzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWN0aXZlTGFuZy5uZXh0KGxhbmcpO1xuICAgIH1cblxuXG5cbiAgICBwcml2YXRlIGxvYWQoa2V5OiBzdHJpbmcsIG9wdGlvbnM6IEFYVHJhbnNsYXRlT3B0aW9ucyA9IHt9KTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgY29uc3QgeyBsYW5nID0gdGhpcy5nZXRBY3RpdmVMYW5nKCksIHNjb3BlID0gdGhpcy5jb25maWcuZGVmYXVsdFNjb3BlIH0gPSBvcHRpb25zO1xuXG4gICAgICAgIGNvbnN0IGZldGNoVHJhbnNsYXRpb24gPSAobGFuZ3VhZ2U6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiA9PiB7XG4gICAgICAgICAgICAvLyBDaGVjayBpZiB0cmFuc2xhdGlvbnMgYXJlIGF2YWlsYWJsZSBpbiB0aGUgY2FjaGVcbiAgICAgICAgICAgIGlmICh0aGlzLnRyYW5zbGF0aW9uQ2FjaGVbbGFuZ3VhZ2VdPy5bc2NvcGVdKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKHRoaXMuZ2V0VHJhbnNsYXRpb24oa2V5LCBsYW5ndWFnZSwgc2NvcGUsIG9wdGlvbnMucGFyYW1zKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIExvYWQgdHJhbnNsYXRpb25zIGZvciB0aGUgbGFuZ3VhZ2UgYW5kIHNjb3BlXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5sb2FkTGFuZ3VhZ2VzQW5kU2NvcGVzKFtsYW5ndWFnZV0sIFtzY29wZV0pLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdHJhbnNsYXRpb24gPSB0aGlzLnRyYW5zbGF0aW9uQ2FjaGVbbGFuZ3VhZ2VdPy5bc2NvcGVdPy5ba2V5XSB8fCBrZXk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFRyYW5zbGF0aW9uKHRyYW5zbGF0aW9uLCBsYW5ndWFnZSwgc2NvcGUsIG9wdGlvbnMucGFyYW1zKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAodHJhbnNsYXRlZFRleHQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodHJhbnNsYXRlZFRleHQgPT09IGtleSAmJiBsYW5ndWFnZSAhPT0gdGhpcy5nZXREZWZhdWx0TGFuZygpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgdHJhbnNsYXRpb24gaXMgbm90IGZvdW5kIGFuZCB0aGUgbGFuZ3VhZ2UgaXMgbm90IGRlZmF1bHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0cnkgZmV0Y2hpbmcgZnJvbSB0aGUgZGVmYXVsdCBsYW5ndWFnZVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZldGNoVHJhbnNsYXRpb24odGhpcy5nZXREZWZhdWx0TGFuZygpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YodHJhbnNsYXRlZFRleHQpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9O1xuXG4gICAgICAgIC8vIFJldHVybiB0aGUgdHJhbnNsYXRpb24gb3IgaW5pdGlhdGUgZmV0Y2hpbmcgcHJvY2Vzc1xuICAgICAgICByZXR1cm4gZmV0Y2hUcmFuc2xhdGlvbihsYW5nKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFRyYW5zbGF0aW9uKGtleTogc3RyaW5nLCBsYW5nOiBzdHJpbmcsIHNjb3BlOiBzdHJpbmcsIHBhcmFtcz86IEFYVHJhbnNsYXRlUGFyYW1zKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHRyYW5zbGF0aW9uOiBzdHJpbmcgPSAobG9kYXNoR2V0KHRoaXMudHJhbnNsYXRpb25DYWNoZSwgYCR7bGFuZ30uJHtzY29wZX0uJHtrZXl9YCkgfHwga2V5KSBhcyBzdHJpbmdcblxuICAgICAgICAvLyBSZXBsYWNlIHBhcmFtcyBsaWtlIHt7IG5hbWUgfX1cbiAgICAgICAgaWYgKHBhcmFtcykge1xuICAgICAgICAgICAgT2JqZWN0LmtleXMocGFyYW1zKS5mb3JFYWNoKHBhcmFtS2V5ID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJhbVZhbHVlID0gcGFyYW1zW3BhcmFtS2V5XSBhcyBzdHJpbmc7XG4gICAgICAgICAgICAgICAgdHJhbnNsYXRpb24gPSB0cmFuc2xhdGlvbi5yZXBsYWNlKG5ldyBSZWdFeHAoYHt7XFxcXHMqJHtwYXJhbUtleX1cXFxccyp9fWAsICdnJyksIHBhcmFtVmFsdWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZXBsYWNlIHRyYW5zbGF0aW9ucyBsaWtlIHt7IHQoJ2tleScpIH19XG4gICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uUGF0dGVybiA9IC97e1xccyp0XFwoJyhbXiddKyknXFwpXFxzKn19L2c7XG4gICAgICAgIHRyYW5zbGF0aW9uID0gdHJhbnNsYXRpb24ucmVwbGFjZSh0cmFuc2xhdGlvblBhdHRlcm4sIChtYXRjaCwgaW5uZXJLZXkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFRyYW5zbGF0aW9uKGlubmVyS2V5LCBsYW5nLCBzY29wZSwgcGFyYW1zKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRyYW5zbGF0aW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyB0cmFuc2xhdGUoa2V5OiBzdHJpbmcsIG9wdGlvbnM/OiBBWFRyYW5zbGF0ZU9wdGlvbnMpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICBpZiAob3B0aW9ucz8ubGFuZykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9hZChrZXksIG9wdGlvbnMpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMubGFuZ0NoYW5nZXMkLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKGxhbmcpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5sb2FkKGtleSwgeyAuLi5vcHRpb25zLCBsYW5nOiBsYW5nIH0pXG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyB0cmFuc2xhdGVTeW5jKGtleTogc3RyaW5nLCBvcHRpb25zPzogQVhUcmFuc2xhdGVPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgeyBsYW5nID0gdGhpcy5nZXRBY3RpdmVMYW5nKCksIHNjb3BlID0gdGhpcy5jb25maWcuZGVmYXVsdFNjb3BlIH0gPSBvcHRpb25zIHx8IHt9O1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRUcmFuc2xhdGlvbihrZXksIGxhbmcsIHNjb3BlLCBvcHRpb25zPy5wYXJhbXMpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24udHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdHJhbnNsYXRpb24vc3JjL2xpYi90cmFuc2xhdGlvbi50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQVhUcmFuc2xhdGVQYXJhbXM8VCA9IHVua25vd24+ID0gUmVjb3JkPHN0cmluZywgVD47XG5leHBvcnQgdHlwZSBBWFRyYW5zbGF0ZUhhc2hNYXA8VCA9IHVua25vd24+ID0gUmVjb3JkPHN0cmluZywgVD47XG5leHBvcnQgdHlwZSBBWFRyYW5zbGF0aW9uID0gUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbmV4cG9ydCB0eXBlIEFYVHJhbnNsYXRlTGFuZyA9IHN0cmluZztcblxuZXhwb3J0IHR5cGUgQVhUcmFuc2xhdGVTY29wZSA9IHN0cmluZztcblxuZXhwb3J0IGludGVyZmFjZSBBWFRyYW5zbGF0ZU9wdGlvbnMge1xuICAgIGxhbmc/OiBBWFRyYW5zbGF0ZUxhbmc7XG4gICAgc2NvcGU/OiBBWFRyYW5zbGF0ZVNjb3BlXG4gICAgcGFyYW1zPzogQVhUcmFuc2xhdGVQYXJhbXMsXG59Il19
@@ -0,0 +1,28 @@
1
+ import { Directive, TemplateRef, ViewContainerRef } from "@angular/core";
2
+ import { AXTranslationService } from "./translation.service";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./translation.service";
5
+ export class AXTranslatorDirective {
6
+ constructor(templateRef, viewContainer, translationService) {
7
+ this.templateRef = templateRef;
8
+ this.viewContainer = viewContainer;
9
+ this.translationService = translationService;
10
+ }
11
+ ngOnInit() {
12
+ this.viewContainer.clear();
13
+ this.viewContainer.createEmbeddedView(this.templateRef, {
14
+ $implicit: (key, options) => {
15
+ return this.translationService.translate(key, options);
16
+ }
17
+ });
18
+ }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXTranslatorDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i1.AXTranslationService }], target: i0.ɵɵFactoryTarget.Directive }); }
20
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.8", type: AXTranslatorDirective, selector: "[translate]", ngImport: i0 }); }
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXTranslatorDirective, decorators: [{
23
+ type: Directive,
24
+ args: [{
25
+ selector: '[translate]',
26
+ }]
27
+ }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i1.AXTranslationService }] });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdHJhbnNsYXRpb24vc3JjL2xpYi90cmFuc2xhdG9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFzRCxXQUFXLEVBQUUsZ0JBQWdCLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDckksT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQU03RCxNQUFNLE9BQU8scUJBQXFCO0lBRTlCLFlBQ1ksV0FBNkIsRUFDN0IsYUFBK0IsRUFDL0Isa0JBQXdDO1FBRnhDLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM3QixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDL0IsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFzQjtJQUNoRCxDQUFDO0lBRUwsUUFBUTtRQUNKLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BELFNBQVMsRUFBRSxDQUFDLEdBQVcsRUFBRSxPQUE0QixFQUFFLEVBQUU7Z0JBQ3JELE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUE7WUFDMUQsQ0FBQztTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBZlEscUJBQXFCO2tHQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBSGpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGFBQWE7aUJBQzFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcywgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYsIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gXCIuL3RyYW5zbGF0aW9uLnNlcnZpY2VcIjtcbmltcG9ydCB7IEFYVHJhbnNsYXRlT3B0aW9ucyB9IGZyb20gXCIuL3RyYW5zbGF0aW9uLnR5cGVzXCI7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3RyYW5zbGF0ZV0nLFxufSlcbmV4cG9ydCBjbGFzcyBBWFRyYW5zbGF0b3JEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGlvblNlcnZpY2U6IEFYVHJhbnNsYXRpb25TZXJ2aWNlXG4gICAgKSB7IH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmLCB7XG4gICAgICAgICAgICAkaW1wbGljaXQ6IChrZXk6IHN0cmluZywgb3B0aW9ucz86IEFYVHJhbnNsYXRlT3B0aW9ucykgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGUoa2V5LCBvcHRpb25zKVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59Il19
@@ -1,15 +1,41 @@
1
- import { Pipe } from '@angular/core';
2
- import { AXTranslator } from './translator';
1
+ import { ChangeDetectorRef, Pipe, inject } from '@angular/core';
2
+ import { AXTranslationService } from './translation.service';
3
3
  import * as i0 from "@angular/core";
4
4
  export class AXTranslatorPipe {
5
- transform(value, arg1, arg2) {
6
- return AXTranslator.get(value, arg1, arg2);
5
+ constructor() {
6
+ this.service = inject(AXTranslationService);
7
+ this.cdr = inject(ChangeDetectorRef);
8
+ this.value = '';
9
+ this.lastKey = null;
10
+ this.subscription = null;
11
+ }
12
+ transform(key, options) {
13
+ if (!key || key === this.lastKey) {
14
+ return this.value;
15
+ }
16
+ this.lastKey = key;
17
+ this.value = key;
18
+ this.dispose();
19
+ this.subscription = this.service.translate(key, options).subscribe(translatedValue => {
20
+ this.value = translatedValue;
21
+ this.cdr.markForCheck();
22
+ });
23
+ return this.value;
24
+ }
25
+ ngOnDestroy() {
26
+ this.dispose();
27
+ }
28
+ dispose() {
29
+ if (this.subscription) {
30
+ this.subscription.unsubscribe();
31
+ this.subscription = null;
32
+ }
7
33
  }
8
34
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXTranslatorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
9
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: AXTranslatorPipe, name: "trans" }); }
35
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: AXTranslatorPipe, name: "translate", pure: false }); }
10
36
  }
11
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXTranslatorPipe, decorators: [{
12
38
  type: Pipe,
13
- args: [{ name: 'trans', pure: true }]
39
+ args: [{ name: 'translate', pure: false }]
14
40
  }] });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3RyYW5zbGF0aW9uL3NyYy9saWIvdHJhbnNsYXRvci5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBRzVDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsU0FBUyxDQUFDLEtBQWEsRUFBRSxJQUFzQixFQUFFLElBQWE7UUFDNUQsT0FBTyxZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQzs4R0FIVSxnQkFBZ0I7NEdBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFENUIsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYVHJhbnNsYXRvciB9IGZyb20gJy4vdHJhbnNsYXRvcic7XG5cbkBQaXBlKHsgbmFtZTogJ3RyYW5zJywgcHVyZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIEFYVHJhbnNsYXRvclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcsIGFyZzE/OiBvYmplY3QgfCBzdHJpbmcsIGFyZzI/OiBvYmplY3QpOiBzdHJpbmcge1xuICAgIHJldHVybiBBWFRyYW5zbGF0b3IuZ2V0KHZhbHVlLCBhcmcxLCBhcmcyKTtcbiAgfVxufVxuIl19
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3RyYW5zbGF0aW9uL3NyYy9saWIvdHJhbnNsYXRvci5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBYSxJQUFJLEVBQWlCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFPN0QsTUFBTSxPQUFPLGdCQUFnQjtJQUQ3QjtRQUdVLFlBQU8sR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUN2QyxRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFaEMsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUNuQixZQUFPLEdBQWtCLElBQUksQ0FBQztRQUM5QixpQkFBWSxHQUF3QixJQUFJLENBQUM7S0EwQmxEO0lBeEJDLFNBQVMsQ0FBQyxHQUFXLEVBQUUsT0FBNEI7UUFDakQsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLEtBQUssSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDbkI7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztRQUNqQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLEVBQUU7WUFDbkYsSUFBSSxDQUFDLEtBQUssR0FBRyxlQUFlLENBQUM7WUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRU8sT0FBTztRQUNiLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQzs4R0FoQ1UsZ0JBQWdCOzRHQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRDVCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgT25EZXN0cm95LCBQaXBlLCBQaXBlVHJhbnNmb3JtLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi90cmFuc2xhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGVPcHRpb25zIH0gZnJvbSAnLi90cmFuc2xhdGlvbi50eXBlcyc7XG5cblxuXG5AUGlwZSh7IG5hbWU6ICd0cmFuc2xhdGUnLCBwdXJlOiBmYWxzZSB9KVxuZXhwb3J0IGNsYXNzIEFYVHJhbnNsYXRvclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgc2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG4gIHByaXZhdGUgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICBwcml2YXRlIHZhbHVlOiBzdHJpbmcgPSAnJztcbiAgcHJpdmF0ZSBsYXN0S2V5OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gIHRyYW5zZm9ybShrZXk6IHN0cmluZywgb3B0aW9ucz86IEFYVHJhbnNsYXRlT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgaWYgKCFrZXkgfHwga2V5ID09PSB0aGlzLmxhc3RLZXkpIHtcbiAgICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICAgIH1cbiAgICB0aGlzLmxhc3RLZXkgPSBrZXk7XG4gICAgdGhpcy52YWx1ZSA9IGtleTtcbiAgICB0aGlzLmRpc3Bvc2UoKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuc2VydmljZS50cmFuc2xhdGUoa2V5LCBvcHRpb25zKS5zdWJzY3JpYmUodHJhbnNsYXRlZFZhbHVlID0+IHtcbiAgICAgIHRoaXMudmFsdWUgPSB0cmFuc2xhdGVkVmFsdWU7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGlzcG9zZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXNwb3NlKCkge1xuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gbnVsbDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,4 +1,4 @@
1
- export * from './lib/validation';
1
+ export * from './lib/validation.types';
2
2
  //
3
3
  export * from './lib/rules/regex-rule';
4
4
  export * from './lib/rules/required-rule';
@@ -15,4 +15,4 @@ export * from './lib/rules/between-rule';
15
15
  //
16
16
  export * from './lib/validation.service';
17
17
  export * from './lib/validation.module';
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdmFsaWRhdGlvbi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxFQUFFO0FBQ0YsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsRUFBRTtBQUNGLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLEVBQUU7QUFDRixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLEVBQUU7QUFDRixjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi92YWxpZGF0aW9uJztcbi8vXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ydWxlcy9yZWdleC1ydWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3J1bGVzL3JlcXVpcmVkLXJ1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcnVsZXMvY2FsbGJhY2stcnVsZSc7XG4vL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcnVsZXMvbWlubGVuZ3RoLXJ1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcnVsZXMvbWF4bGVuZ3RoLXJ1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcnVsZXMvbGVuZ3RoLXJ1bGUnO1xuLy9cbmV4cG9ydCAqIGZyb20gJy4vbGliL3J1bGVzL2VxdWFsLXJ1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcnVsZXMvbGVzcy10aGFuLXJ1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcnVsZXMvZ3JlYXRlci10aGFuJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3J1bGVzL2JldHdlZW4tcnVsZSc7XG4vL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdmFsaWRhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZhbGlkYXRpb24ubW9kdWxlJzsiXX0=
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdmFsaWRhdGlvbi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxFQUFFO0FBQ0YsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsRUFBRTtBQUNGLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLEVBQUU7QUFDRixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLEVBQUU7QUFDRixjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi92YWxpZGF0aW9uLnR5cGVzJztcbi8vXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ydWxlcy9yZWdleC1ydWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3J1bGVzL3JlcXVpcmVkLXJ1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcnVsZXMvY2FsbGJhY2stcnVsZSc7XG4vL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcnVsZXMvbWlubGVuZ3RoLXJ1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcnVsZXMvbWF4bGVuZ3RoLXJ1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcnVsZXMvbGVuZ3RoLXJ1bGUnO1xuLy9cbmV4cG9ydCAqIGZyb20gJy4vbGliL3J1bGVzL2VxdWFsLXJ1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcnVsZXMvbGVzcy10aGFuLXJ1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcnVsZXMvZ3JlYXRlci10aGFuJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3J1bGVzL2JldHdlZW4tcnVsZSc7XG4vL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdmFsaWRhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZhbGlkYXRpb24ubW9kdWxlJzsiXX0=
@@ -1,4 +1,6 @@
1
1
  import { isEmpty } from "lodash-es";
2
+ import { Injectable } from "@angular/core";
3
+ import * as i0 from "@angular/core";
2
4
  export class AXBetweenValidationRule {
3
5
  get name() {
4
6
  return 'between';
@@ -20,5 +22,10 @@ export class AXBetweenValidationRule {
20
22
  value: value
21
23
  };
22
24
  }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXBetweenValidationRule, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
26
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXBetweenValidationRule }); }
23
27
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmV0d2Vlbi1ydWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3ZhbGlkYXRpb24vc3JjL2xpYi9ydWxlcy9iZXR3ZWVuLXJ1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQWVwQyxNQUFNLE9BQU8sdUJBQXVCO0lBQ2hDLElBQUksSUFBSTtRQUNKLE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBUSxFQUFFLE9BQTBDO1FBQ3pELElBQUksT0FBTyxDQUFDO1FBQ1osSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ25CLE9BQU8sR0FBRyxLQUFLLElBQUksT0FBTyxDQUFDLFVBQVUsSUFBSSxLQUFLLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQztTQUN4RTthQUFNO1lBQ0gsT0FBTyxHQUFHLEtBQUssR0FBRyxPQUFPLENBQUMsVUFBVSxJQUFJLEtBQUssR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO1NBQ3RFO1FBRUQsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDaEUsTUFBTSxXQUFXLEdBQUcsZ0NBQWdDLFNBQVMsYUFBYSxPQUFPLENBQUMsVUFBVSxPQUFPLE9BQU8sQ0FBQyxVQUFVLEdBQUcsQ0FBQztRQUV6SCxPQUFPO1lBQ0gsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsTUFBTSxFQUFFLE9BQU8sSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQ2pDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLE9BQU8sSUFBSSxXQUFXO1lBQ3ZELEtBQUssRUFBRSxLQUFLO1NBQ2YsQ0FBQztJQUNOLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRW1wdHkgfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQgeyBBWFZhbGlkYXRpb25SdWxlLCBBWFZhbGlkYXRpb25SdWxlT3B0aW9ucywgQVhWYWxpZGF0aW9uUnVsZVJlc3VsdCB9IGZyb20gXCIuLi92YWxpZGF0aW9uXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhCZXR3ZWVuVmFsaWRhdGlvblJ1bGVPcHRpb25zPFQgPSBudW1iZXIgfCBEYXRlPiBleHRlbmRzIEFYVmFsaWRhdGlvblJ1bGVPcHRpb25zIHtcbiAgICBsb3dlclZhbHVlOiBUO1xuICAgIHVwcGVyVmFsdWU6IFQ7XG4gICAgaW5jbHVzaXZlPzogYm9vbGVhbjsgLy8gT3B0aW9uYWwgZmxhZyBmb3IgaW5jbHVzaXZlbmVzc1xufVxuXG5kZWNsYXJlIG1vZHVsZSAnLi4vdmFsaWRhdGlvbicge1xuICAgIGludGVyZmFjZSBBWFZhbGlkYXRpb25SdWxlT3B0aW9uc01hcCB7XG4gICAgICAgICdiZXR3ZWVuJzogQVhCZXR3ZWVuVmFsaWRhdGlvblJ1bGVPcHRpb25zO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFYQmV0d2VlblZhbGlkYXRpb25SdWxlPFQgPSBudW1iZXIgfCBEYXRlPiBpbXBsZW1lbnRzIEFYVmFsaWRhdGlvblJ1bGUge1xuICAgIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnYmV0d2Vlbic7XG4gICAgfVxuXG4gICAgdmFsaWRhdGUodmFsdWU6IFQsIG9wdGlvbnM6IEFYQmV0d2VlblZhbGlkYXRpb25SdWxlT3B0aW9uczxUPik6IEFYVmFsaWRhdGlvblJ1bGVSZXN1bHQge1xuICAgICAgICBsZXQgaXNWYWxpZDtcbiAgICAgICAgaWYgKG9wdGlvbnMuaW5jbHVzaXZlKSB7XG4gICAgICAgICAgICBpc1ZhbGlkID0gdmFsdWUgPj0gb3B0aW9ucy5sb3dlclZhbHVlICYmIHZhbHVlIDw9IG9wdGlvbnMudXBwZXJWYWx1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlzVmFsaWQgPSB2YWx1ZSA+IG9wdGlvbnMubG93ZXJWYWx1ZSAmJiB2YWx1ZSA8IG9wdGlvbnMudXBwZXJWYWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJhbmdlVHlwZSA9IG9wdGlvbnMuaW5jbHVzaXZlID8gJ2luY2x1c2l2ZScgOiAnZXhjbHVzaXZlJztcbiAgICAgICAgY29uc3QgYmFzZU1lc3NhZ2UgPSBgVGhlIHZhbHVlIG11c3QgYmUgd2l0aGluIHRoZSAke3JhbmdlVHlwZX0gcmFuZ2Ugb2YgJHtvcHRpb25zLmxvd2VyVmFsdWV9IHRvICR7b3B0aW9ucy51cHBlclZhbHVlfS5gO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBydWxlOiB0aGlzLm5hbWUsXG4gICAgICAgICAgICByZXN1bHQ6IGlzVmFsaWQgfHwgaXNFbXB0eSh2YWx1ZSksXG4gICAgICAgICAgICBtZXNzYWdlOiBpc1ZhbGlkID8gJycgOiBvcHRpb25zPy5tZXNzYWdlID8/IGJhc2VNZXNzYWdlLFxuICAgICAgICAgICAgdmFsdWU6IHZhbHVlXG4gICAgICAgIH07XG4gICAgfVxufSJdfQ==
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXBetweenValidationRule, decorators: [{
29
+ type: Injectable
30
+ }] });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmV0d2Vlbi1ydWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3ZhbGlkYXRpb24vc3JjL2xpYi9ydWxlcy9iZXR3ZWVuLXJ1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVwQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQWUzQyxNQUFNLE9BQU8sdUJBQXVCO0lBQ2hDLElBQUksSUFBSTtRQUNKLE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBUSxFQUFFLE9BQTBDO1FBQ3pELElBQUksT0FBTyxDQUFDO1FBQ1osSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ25CLE9BQU8sR0FBRyxLQUFLLElBQUksT0FBTyxDQUFDLFVBQVUsSUFBSSxLQUFLLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQztTQUN4RTthQUFNO1lBQ0gsT0FBTyxHQUFHLEtBQUssR0FBRyxPQUFPLENBQUMsVUFBVSxJQUFJLEtBQUssR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO1NBQ3RFO1FBRUQsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDaEUsTUFBTSxXQUFXLEdBQUcsZ0NBQWdDLFNBQVMsYUFBYSxPQUFPLENBQUMsVUFBVSxPQUFPLE9BQU8sQ0FBQyxVQUFVLEdBQUcsQ0FBQztRQUV6SCxPQUFPO1lBQ0gsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsTUFBTSxFQUFFLE9BQU8sSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQ2pDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLE9BQU8sSUFBSSxXQUFXO1lBQ3ZELEtBQUssRUFBRSxLQUFLO1NBQ2YsQ0FBQztJQUNOLENBQUM7OEdBdEJRLHVCQUF1QjtrSEFBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gXCJsb2Rhc2gtZXNcIjtcbmltcG9ydCB7IEFYVmFsaWRhdGlvblJ1bGUsIEFYVmFsaWRhdGlvblJ1bGVPcHRpb25zLCBBWFZhbGlkYXRpb25SdWxlUmVzdWx0IH0gZnJvbSBcIi4uL3ZhbGlkYXRpb24udHlwZXNcIjtcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYQmV0d2VlblZhbGlkYXRpb25SdWxlT3B0aW9uczxUID0gbnVtYmVyIHwgRGF0ZT4gZXh0ZW5kcyBBWFZhbGlkYXRpb25SdWxlT3B0aW9ucyB7XG4gICAgbG93ZXJWYWx1ZTogVDtcbiAgICB1cHBlclZhbHVlOiBUO1xuICAgIGluY2x1c2l2ZT86IGJvb2xlYW47IC8vIE9wdGlvbmFsIGZsYWcgZm9yIGluY2x1c2l2ZW5lc3Ncbn1cblxuZGVjbGFyZSBtb2R1bGUgJy4uL3ZhbGlkYXRpb24udHlwZXMnIHtcbiAgICBpbnRlcmZhY2UgQVhWYWxpZGF0aW9uUnVsZU9wdGlvbnNNYXAge1xuICAgICAgICAnYmV0d2Vlbic6IEFYQmV0d2VlblZhbGlkYXRpb25SdWxlT3B0aW9ucztcbiAgICB9XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWEJldHdlZW5WYWxpZGF0aW9uUnVsZTxUID0gbnVtYmVyIHwgRGF0ZT4gaW1wbGVtZW50cyBBWFZhbGlkYXRpb25SdWxlIHtcbiAgICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ2JldHdlZW4nO1xuICAgIH1cblxuICAgIHZhbGlkYXRlKHZhbHVlOiBULCBvcHRpb25zOiBBWEJldHdlZW5WYWxpZGF0aW9uUnVsZU9wdGlvbnM8VD4pOiBBWFZhbGlkYXRpb25SdWxlUmVzdWx0IHtcbiAgICAgICAgbGV0IGlzVmFsaWQ7XG4gICAgICAgIGlmIChvcHRpb25zLmluY2x1c2l2ZSkge1xuICAgICAgICAgICAgaXNWYWxpZCA9IHZhbHVlID49IG9wdGlvbnMubG93ZXJWYWx1ZSAmJiB2YWx1ZSA8PSBvcHRpb25zLnVwcGVyVmFsdWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpc1ZhbGlkID0gdmFsdWUgPiBvcHRpb25zLmxvd2VyVmFsdWUgJiYgdmFsdWUgPCBvcHRpb25zLnVwcGVyVmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByYW5nZVR5cGUgPSBvcHRpb25zLmluY2x1c2l2ZSA/ICdpbmNsdXNpdmUnIDogJ2V4Y2x1c2l2ZSc7XG4gICAgICAgIGNvbnN0IGJhc2VNZXNzYWdlID0gYFRoZSB2YWx1ZSBtdXN0IGJlIHdpdGhpbiB0aGUgJHtyYW5nZVR5cGV9IHJhbmdlIG9mICR7b3B0aW9ucy5sb3dlclZhbHVlfSB0byAke29wdGlvbnMudXBwZXJWYWx1ZX0uYDtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcnVsZTogdGhpcy5uYW1lLFxuICAgICAgICAgICAgcmVzdWx0OiBpc1ZhbGlkIHx8IGlzRW1wdHkodmFsdWUpLFxuICAgICAgICAgICAgbWVzc2FnZTogaXNWYWxpZCA/ICcnIDogb3B0aW9ucz8ubWVzc2FnZSA/PyBiYXNlTWVzc2FnZSxcbiAgICAgICAgICAgIHZhbHVlOiB2YWx1ZVxuICAgICAgICB9O1xuICAgIH1cbn0iXX0=
@@ -1,3 +1,5 @@
1
+ import { Injectable } from "@angular/core";
2
+ import * as i0 from "@angular/core";
1
3
  export class AXCallbackValidationRule {
2
4
  get name() {
3
5
  return 'callback';
@@ -15,5 +17,10 @@ export class AXCallbackValidationRule {
15
17
  }
16
18
  return createResult(validationResult);
17
19
  }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXCallbackValidationRule, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
21
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXCallbackValidationRule }); }
18
22
  }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsbGJhY2stcnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS92YWxpZGF0aW9uL3NyYy9saWIvcnVsZXMvY2FsbGJhY2stcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFlQSxNQUFNLE9BQU8sd0JBQXdCO0lBRWpDLElBQUksSUFBSTtRQUNKLE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBUSxFQUFFLE9BQTJDO1FBQzFELE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxFQUFFLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxDQUFDO1FBQ3RILE1BQU0sWUFBWSxHQUFHLENBQUMsTUFBNkMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNyRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07WUFDckIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLElBQUksT0FBTyxFQUFFLE9BQU8sSUFBSSxFQUFFO1lBQ2pELEtBQUssRUFBRSxLQUFLO1NBQ2YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxnQkFBZ0IsWUFBWSxPQUFPLEVBQUU7WUFDckMsT0FBTyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDOUM7UUFFRCxPQUFPLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzFDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYVmFsaWRhdGlvblJ1bGUsIEFYVmFsaWRhdGlvblJ1bGVPcHRpb25zLCBBWFZhbGlkYXRpb25SdWxlUmVzdWx0IH0gZnJvbSBcIi4uL3ZhbGlkYXRpb25cIjtcblxuZXhwb3J0IHR5cGUgQVhDYWxsYmFja1ZhbGlkYXRpb248VD4gPSAodmFsdWU6IFQsIG9wdGlvbnM/OiBBWENhbGxiYWNrVmFsaWRhdGlvblJ1bGVPcHRpb25zPFQ+KSA9PiBQcm9taXNlPHsgcmVzdWx0OiBib29sZWFuLCBtZXNzYWdlPzogc3RyaW5nIH0+IHwgeyByZXN1bHQ6IGJvb2xlYW4sIG1lc3NhZ2U/OiBzdHJpbmcgfTtcblxuZXhwb3J0IGludGVyZmFjZSBBWENhbGxiYWNrVmFsaWRhdGlvblJ1bGVPcHRpb25zPFQ+IGV4dGVuZHMgQVhWYWxpZGF0aW9uUnVsZU9wdGlvbnMge1xuICAgIHZhbGlkYXRlOiBBWENhbGxiYWNrVmFsaWRhdGlvbjxUPlxufVxuXG4vLyBBdWdtZW50IHRoZSBBWFZhbGlkYXRpb25SdWxlT3B0aW9uc01hcFxuZGVjbGFyZSBtb2R1bGUgJy4uL3ZhbGlkYXRpb24nIHtcbiAgICBpbnRlcmZhY2UgQVhWYWxpZGF0aW9uUnVsZU9wdGlvbnNNYXAge1xuICAgICAgICAnY2FsbGJhY2snOiBBWENhbGxiYWNrVmFsaWRhdGlvblJ1bGVPcHRpb25zPHVua25vd24+O1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFYQ2FsbGJhY2tWYWxpZGF0aW9uUnVsZTxUPiBpbXBsZW1lbnRzIEFYVmFsaWRhdGlvblJ1bGUge1xuXG4gICAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICdjYWxsYmFjayc7XG4gICAgfVxuXG4gICAgdmFsaWRhdGUodmFsdWU6IFQsIG9wdGlvbnM6IEFYQ2FsbGJhY2tWYWxpZGF0aW9uUnVsZU9wdGlvbnM8VD4pOiBBWFZhbGlkYXRpb25SdWxlUmVzdWx0IHwgUHJvbWlzZTxBWFZhbGlkYXRpb25SdWxlUmVzdWx0PiB7XG4gICAgICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBvcHRpb25zPy52YWxpZGF0ZSh2YWx1ZSwgb3B0aW9ucykgfHwgeyByZXN1bHQ6IGZhbHNlLCBtZXNzYWdlOiBcIkludmFsaWQgY2FsbGJhY2sgZnVuY3Rpb25cIiB9O1xuICAgICAgICBjb25zdCBjcmVhdGVSZXN1bHQgPSAocmVzdWx0OiB7IHJlc3VsdDogYm9vbGVhbiwgbWVzc2FnZT86IHN0cmluZyB9KSA9PiAoe1xuICAgICAgICAgICAgcnVsZTogdGhpcy5uYW1lLFxuICAgICAgICAgICAgcmVzdWx0OiByZXN1bHQucmVzdWx0LFxuICAgICAgICAgICAgbWVzc2FnZTogcmVzdWx0Lm1lc3NhZ2UgPz8gb3B0aW9ucz8ubWVzc2FnZSA/PyAnJyxcbiAgICAgICAgICAgIHZhbHVlOiB2YWx1ZVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAodmFsaWRhdGlvblJlc3VsdCBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWxpZGF0aW9uUmVzdWx0LnRoZW4oY3JlYXRlUmVzdWx0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjcmVhdGVSZXN1bHQodmFsaWRhdGlvblJlc3VsdCk7XG4gICAgfVxufSJdfQ==
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXCallbackValidationRule, decorators: [{
24
+ type: Injectable
25
+ }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsbGJhY2stcnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS92YWxpZGF0aW9uL3NyYy9saWIvcnVsZXMvY2FsbGJhY2stcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQWlCM0MsTUFBTSxPQUFPLHdCQUF3QjtJQUVqQyxJQUFJLElBQUk7UUFDSixPQUFPLFVBQVUsQ0FBQztJQUN0QixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQVEsRUFBRSxPQUEyQztRQUMxRCxNQUFNLGdCQUFnQixHQUFHLE9BQU8sRUFBRSxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsQ0FBQztRQUN0SCxNQUFNLFlBQVksR0FBRyxDQUFDLE1BQTZDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDckUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1lBQ3JCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxJQUFJLE9BQU8sRUFBRSxPQUFPLElBQUksRUFBRTtZQUNqRCxLQUFLLEVBQUUsS0FBSztTQUNmLENBQUMsQ0FBQztRQUVILElBQUksZ0JBQWdCLFlBQVksT0FBTyxFQUFFO1lBQ3JDLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzlDO1FBRUQsT0FBTyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUMxQyxDQUFDOzhHQXBCUSx3QkFBd0I7a0hBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQVhWYWxpZGF0aW9uUnVsZSwgQVhWYWxpZGF0aW9uUnVsZU9wdGlvbnMsIEFYVmFsaWRhdGlvblJ1bGVSZXN1bHQgfSBmcm9tIFwiLi4vdmFsaWRhdGlvbi50eXBlc1wiO1xuXG5leHBvcnQgdHlwZSBBWENhbGxiYWNrVmFsaWRhdGlvbjxUPiA9ICh2YWx1ZTogVCwgb3B0aW9ucz86IEFYQ2FsbGJhY2tWYWxpZGF0aW9uUnVsZU9wdGlvbnM8VD4pID0+IFByb21pc2U8eyByZXN1bHQ6IGJvb2xlYW4sIG1lc3NhZ2U/OiBzdHJpbmcgfT4gfCB7IHJlc3VsdDogYm9vbGVhbiwgbWVzc2FnZT86IHN0cmluZyB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYQ2FsbGJhY2tWYWxpZGF0aW9uUnVsZU9wdGlvbnM8VD4gZXh0ZW5kcyBBWFZhbGlkYXRpb25SdWxlT3B0aW9ucyB7XG4gICAgdmFsaWRhdGU6IEFYQ2FsbGJhY2tWYWxpZGF0aW9uPFQ+XG59XG5cbi8vIEF1Z21lbnQgdGhlIEFYVmFsaWRhdGlvblJ1bGVPcHRpb25zTWFwXG5kZWNsYXJlIG1vZHVsZSAnLi4vdmFsaWRhdGlvbi50eXBlcycge1xuICAgIGludGVyZmFjZSBBWFZhbGlkYXRpb25SdWxlT3B0aW9uc01hcCB7XG4gICAgICAgICdjYWxsYmFjayc6IEFYQ2FsbGJhY2tWYWxpZGF0aW9uUnVsZU9wdGlvbnM8dW5rbm93bj47XG4gICAgfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhDYWxsYmFja1ZhbGlkYXRpb25SdWxlPFQ+IGltcGxlbWVudHMgQVhWYWxpZGF0aW9uUnVsZSB7XG5cbiAgICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ2NhbGxiYWNrJztcbiAgICB9XG5cbiAgICB2YWxpZGF0ZSh2YWx1ZTogVCwgb3B0aW9uczogQVhDYWxsYmFja1ZhbGlkYXRpb25SdWxlT3B0aW9uczxUPik6IEFYVmFsaWRhdGlvblJ1bGVSZXN1bHQgfCBQcm9taXNlPEFYVmFsaWRhdGlvblJ1bGVSZXN1bHQ+IHtcbiAgICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IG9wdGlvbnM/LnZhbGlkYXRlKHZhbHVlLCBvcHRpb25zKSB8fCB7IHJlc3VsdDogZmFsc2UsIG1lc3NhZ2U6IFwiSW52YWxpZCBjYWxsYmFjayBmdW5jdGlvblwiIH07XG4gICAgICAgIGNvbnN0IGNyZWF0ZVJlc3VsdCA9IChyZXN1bHQ6IHsgcmVzdWx0OiBib29sZWFuLCBtZXNzYWdlPzogc3RyaW5nIH0pID0+ICh7XG4gICAgICAgICAgICBydWxlOiB0aGlzLm5hbWUsXG4gICAgICAgICAgICByZXN1bHQ6IHJlc3VsdC5yZXN1bHQsXG4gICAgICAgICAgICBtZXNzYWdlOiByZXN1bHQubWVzc2FnZSA/PyBvcHRpb25zPy5tZXNzYWdlID8/ICcnLFxuICAgICAgICAgICAgdmFsdWU6IHZhbHVlXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbGlkYXRpb25SZXN1bHQudGhlbihjcmVhdGVSZXN1bHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNyZWF0ZVJlc3VsdCh2YWxpZGF0aW9uUmVzdWx0KTtcbiAgICB9XG59Il19
@@ -1,5 +1,7 @@
1
1
  // ax-equal-validation-rule.ts
2
2
  import { isEqual } from "lodash-es";
3
+ import { Injectable } from "@angular/core";
4
+ import * as i0 from "@angular/core";
3
5
  export class AXEqualValidationRule {
4
6
  get name() {
5
7
  return 'equal';
@@ -15,5 +17,10 @@ export class AXEqualValidationRule {
15
17
  value: value
16
18
  };
17
19
  }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXEqualValidationRule, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
21
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXEqualValidationRule }); }
18
22
  }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXF1YWwtcnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS92YWxpZGF0aW9uL3NyYy9saWIvcnVsZXMvZXF1YWwtcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4QkFBOEI7QUFDOUIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQWNwQyxNQUFNLE9BQU8scUJBQXFCO0lBQzlCLElBQUksSUFBSTtRQUNKLE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBVSxFQUFFLE9BQXFDO1FBQ3RELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25ELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7UUFFM0QsTUFBTSxjQUFjLEdBQUcsa0JBQWtCLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxlQUFlLE9BQU8sQ0FBQyxLQUFLLEdBQUcsQ0FBQztRQUNsRyxPQUFPO1lBQ0gsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsTUFBTSxFQUFFLE9BQU87WUFDZixPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxPQUFPLElBQUksY0FBYztZQUMxRCxLQUFLLEVBQUUsS0FBSztTQUNmLENBQUM7SUFDTixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBheC1lcXVhbC12YWxpZGF0aW9uLXJ1bGUudHNcbmltcG9ydCB7IGlzRXF1YWwgfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQgeyBBWFZhbGlkYXRpb25SdWxlLCBBWFZhbGlkYXRpb25SdWxlT3B0aW9ucywgQVhWYWxpZGF0aW9uUnVsZVJlc3VsdCB9IGZyb20gXCIuLi92YWxpZGF0aW9uXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhFcXVhbFZhbGlkYXRpb25SdWxlT3B0aW9ucyBleHRlbmRzIEFYVmFsaWRhdGlvblJ1bGVPcHRpb25zIHtcbiAgICB2YWx1ZTogYW55O1xuICAgIG5vdD86IGJvb2xlYW47IC8vIE9wdGlvbmFsIGZsYWcgdG8gaW52ZXJ0IHRoZSB2YWxpZGF0aW9uIGxvZ2ljXG59XG5cbmRlY2xhcmUgbW9kdWxlICcuLi92YWxpZGF0aW9uJyB7XG4gICAgaW50ZXJmYWNlIEFYVmFsaWRhdGlvblJ1bGVPcHRpb25zTWFwIHtcbiAgICAgICAgJ2VxdWFsJzogQVhFcXVhbFZhbGlkYXRpb25SdWxlT3B0aW9ucztcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBWEVxdWFsVmFsaWRhdGlvblJ1bGUgaW1wbGVtZW50cyBBWFZhbGlkYXRpb25SdWxlIHtcbiAgICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ2VxdWFsJztcbiAgICB9XG5cbiAgICB2YWxpZGF0ZSh2YWx1ZTogYW55LCBvcHRpb25zOiBBWEVxdWFsVmFsaWRhdGlvblJ1bGVPcHRpb25zKTogQVhWYWxpZGF0aW9uUnVsZVJlc3VsdCB7XG4gICAgICAgIGNvbnN0IGlzVmFsdWVFcXVhbCA9IGlzRXF1YWwodmFsdWUsIG9wdGlvbnMudmFsdWUpO1xuICAgICAgICBjb25zdCBpc1ZhbGlkID0gb3B0aW9ucy5ub3QgPyAhaXNWYWx1ZUVxdWFsIDogaXNWYWx1ZUVxdWFsO1xuXG4gICAgICAgIGNvbnN0IGRlZmF1bHRNZXNzYWdlID0gYFRoZSB2YWx1ZSBtdXN0ICR7b3B0aW9ucy5ub3QgPyAnbm90ICcgOiAnJ31iZSBlcXVhbCB0byAke29wdGlvbnMudmFsdWV9LmA7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBydWxlOiB0aGlzLm5hbWUsXG4gICAgICAgICAgICByZXN1bHQ6IGlzVmFsaWQsXG4gICAgICAgICAgICBtZXNzYWdlOiBpc1ZhbGlkID8gJycgOiBvcHRpb25zPy5tZXNzYWdlID8/IGRlZmF1bHRNZXNzYWdlLFxuICAgICAgICAgICAgdmFsdWU6IHZhbHVlXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXEqualValidationRule, decorators: [{
24
+ type: Injectable
25
+ }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXF1YWwtcnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS92YWxpZGF0aW9uL3NyYy9saWIvcnVsZXMvZXF1YWwtcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4QkFBOEI7QUFDOUIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVwQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQWEzQyxNQUFNLE9BQU8scUJBQXFCO0lBQzlCLElBQUksSUFBSTtRQUNKLE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBVSxFQUFFLE9BQXFDO1FBQ3RELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25ELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7UUFFM0QsTUFBTSxjQUFjLEdBQUcsa0JBQWtCLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxlQUFlLE9BQU8sQ0FBQyxLQUFLLEdBQUcsQ0FBQztRQUNsRyxPQUFPO1lBQ0gsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsTUFBTSxFQUFFLE9BQU87WUFDZixPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxPQUFPLElBQUksY0FBYztZQUMxRCxLQUFLLEVBQUUsS0FBSztTQUNmLENBQUM7SUFDTixDQUFDOzhHQWhCUSxxQkFBcUI7a0hBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8vIGF4LWVxdWFsLXZhbGlkYXRpb24tcnVsZS50c1xuaW1wb3J0IHsgaXNFcXVhbCB9IGZyb20gXCJsb2Rhc2gtZXNcIjtcbmltcG9ydCB7IEFYVmFsaWRhdGlvblJ1bGUsIEFYVmFsaWRhdGlvblJ1bGVPcHRpb25zLCBBWFZhbGlkYXRpb25SdWxlUmVzdWx0IH0gZnJvbSBcIi4uL3ZhbGlkYXRpb24udHlwZXNcIjtcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYRXF1YWxWYWxpZGF0aW9uUnVsZU9wdGlvbnMgZXh0ZW5kcyBBWFZhbGlkYXRpb25SdWxlT3B0aW9ucyB7XG4gICAgdmFsdWU6IGFueTtcbiAgICBub3Q/OiBib29sZWFuOyAvLyBPcHRpb25hbCBmbGFnIHRvIGludmVydCB0aGUgdmFsaWRhdGlvbiBsb2dpY1xufVxuXG5kZWNsYXJlIG1vZHVsZSAnLi4vdmFsaWRhdGlvbi50eXBlcycge1xuICAgIGludGVyZmFjZSBBWFZhbGlkYXRpb25SdWxlT3B0aW9uc01hcCB7XG4gICAgICAgICdlcXVhbCc6IEFYRXF1YWxWYWxpZGF0aW9uUnVsZU9wdGlvbnM7XG4gICAgfVxufVxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYRXF1YWxWYWxpZGF0aW9uUnVsZSBpbXBsZW1lbnRzIEFYVmFsaWRhdGlvblJ1bGUge1xuICAgIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnZXF1YWwnO1xuICAgIH1cblxuICAgIHZhbGlkYXRlKHZhbHVlOiBhbnksIG9wdGlvbnM6IEFYRXF1YWxWYWxpZGF0aW9uUnVsZU9wdGlvbnMpOiBBWFZhbGlkYXRpb25SdWxlUmVzdWx0IHtcbiAgICAgICAgY29uc3QgaXNWYWx1ZUVxdWFsID0gaXNFcXVhbCh2YWx1ZSwgb3B0aW9ucy52YWx1ZSk7XG4gICAgICAgIGNvbnN0IGlzVmFsaWQgPSBvcHRpb25zLm5vdCA/ICFpc1ZhbHVlRXF1YWwgOiBpc1ZhbHVlRXF1YWw7XG5cbiAgICAgICAgY29uc3QgZGVmYXVsdE1lc3NhZ2UgPSBgVGhlIHZhbHVlIG11c3QgJHtvcHRpb25zLm5vdCA/ICdub3QgJyA6ICcnfWJlIGVxdWFsIHRvICR7b3B0aW9ucy52YWx1ZX0uYDtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHJ1bGU6IHRoaXMubmFtZSxcbiAgICAgICAgICAgIHJlc3VsdDogaXNWYWxpZCxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGlzVmFsaWQgPyAnJyA6IG9wdGlvbnM/Lm1lc3NhZ2UgPz8gZGVmYXVsdE1lc3NhZ2UsXG4gICAgICAgICAgICB2YWx1ZTogdmFsdWVcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
@@ -1,5 +1,7 @@
1
1
  // ax-greater-than-validation-rule.ts
2
2
  import { isNull, isUndefined } from "lodash-es";
3
+ import { Injectable } from "@angular/core";
4
+ import * as i0 from "@angular/core";
3
5
  export class AXGreaterThanValidationRule {
4
6
  get name() {
5
7
  return 'greaterThan';
@@ -14,5 +16,10 @@ export class AXGreaterThanValidationRule {
14
16
  value: value
15
17
  };
16
18
  }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXGreaterThanValidationRule, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
20
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXGreaterThanValidationRule }); }
17
21
  }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JlYXRlci10aGFuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3ZhbGlkYXRpb24vc3JjL2xpYi9ydWxlcy9ncmVhdGVyLXRoYW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEscUNBQXFDO0FBQ3JDLE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBY2hELE1BQU0sT0FBTywyQkFBMkI7SUFDcEMsSUFBSSxJQUFJO1FBQ0osT0FBTyxhQUFhLENBQUM7SUFDekIsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFhLEVBQUUsT0FBMkM7UUFDL0QsTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwSSxNQUFNLFdBQVcsR0FBRyxxQkFBcUIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLGNBQWMsSUFBSSxPQUFPLENBQUMsS0FBSyxHQUFHLENBQUM7UUFFN0gsT0FBTztZQUNILElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLE1BQU0sRUFBRSxPQUFPO1lBQ2YsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxJQUFJLFdBQVc7WUFDdkQsS0FBSyxFQUFFLEtBQUs7U0FDZixDQUFDO0lBQ04sQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLy8gYXgtZ3JlYXRlci10aGFuLXZhbGlkYXRpb24tcnVsZS50c1xuaW1wb3J0IHsgaXNOdWxsLCBpc1VuZGVmaW5lZCB9IGZyb20gXCJsb2Rhc2gtZXNcIjtcbmltcG9ydCB7IEFYVmFsaWRhdGlvblJ1bGUsIEFYVmFsaWRhdGlvblJ1bGVPcHRpb25zLCBBWFZhbGlkYXRpb25SdWxlUmVzdWx0IH0gZnJvbSBcIi4uL3ZhbGlkYXRpb25cIjtcblxuZXhwb3J0IGludGVyZmFjZSBBWEdyZWF0ZXJUaGFuVmFsaWRhdGlvblJ1bGVPcHRpb25zIGV4dGVuZHMgQVhWYWxpZGF0aW9uUnVsZU9wdGlvbnMge1xuICAgIHZhbHVlOiBudW1iZXI7XG4gICAgaW5jbHVzaXZlPzogYm9vbGVhbjsgLy8gT3B0aW9uYWwgZmxhZyBmb3IgaW5jbHVzaXZlbmVzc1xufVxuXG5kZWNsYXJlIG1vZHVsZSAnLi4vdmFsaWRhdGlvbicge1xuICAgIGludGVyZmFjZSBBWFZhbGlkYXRpb25SdWxlT3B0aW9uc01hcCB7XG4gICAgICAgICdncmVhdGVyVGhhbic6IEFYR3JlYXRlclRoYW5WYWxpZGF0aW9uUnVsZU9wdGlvbnM7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQVhHcmVhdGVyVGhhblZhbGlkYXRpb25SdWxlIGltcGxlbWVudHMgQVhWYWxpZGF0aW9uUnVsZSB7XG4gICAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICdncmVhdGVyVGhhbic7XG4gICAgfVxuXG4gICAgdmFsaWRhdGUodmFsdWU6IG51bWJlciwgb3B0aW9uczogQVhHcmVhdGVyVGhhblZhbGlkYXRpb25SdWxlT3B0aW9ucyk6IEFYVmFsaWRhdGlvblJ1bGVSZXN1bHQge1xuICAgICAgICBjb25zdCBpc1ZhbGlkID0gKGlzTnVsbCh2YWx1ZSkgfHwgaXNVbmRlZmluZWQodmFsdWUpKSA/IHRydWUgOiAob3B0aW9ucy5pbmNsdXNpdmUgPyB2YWx1ZSA+PSBvcHRpb25zLnZhbHVlIDogdmFsdWUgPiBvcHRpb25zLnZhbHVlKTtcbiAgICAgICAgY29uc3QgYmFzZU1lc3NhZ2UgPSBgVGhlIHZhbHVlIG11c3QgYmUgJHtvcHRpb25zLmluY2x1c2l2ZSA/ICdncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8nIDogJ2dyZWF0ZXIgdGhhbid9ICR7b3B0aW9ucy52YWx1ZX0uYDtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcnVsZTogdGhpcy5uYW1lLFxuICAgICAgICAgICAgcmVzdWx0OiBpc1ZhbGlkLFxuICAgICAgICAgICAgbWVzc2FnZTogaXNWYWxpZCA/ICcnIDogb3B0aW9ucz8ubWVzc2FnZSA/PyBiYXNlTWVzc2FnZSxcbiAgICAgICAgICAgIHZhbHVlOiB2YWx1ZVxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXGreaterThanValidationRule, decorators: [{
23
+ type: Injectable
24
+ }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JlYXRlci10aGFuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3ZhbGlkYXRpb24vc3JjL2xpYi9ydWxlcy9ncmVhdGVyLXRoYW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEscUNBQXFDO0FBQ3JDLE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRWhELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBYzNDLE1BQU0sT0FBTywyQkFBMkI7SUFDcEMsSUFBSSxJQUFJO1FBQ0osT0FBTyxhQUFhLENBQUM7SUFDekIsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFhLEVBQUUsT0FBMkM7UUFDL0QsTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwSSxNQUFNLFdBQVcsR0FBRyxxQkFBcUIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLGNBQWMsSUFBSSxPQUFPLENBQUMsS0FBSyxHQUFHLENBQUM7UUFFN0gsT0FBTztZQUNILElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLE1BQU0sRUFBRSxPQUFPO1lBQ2YsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxJQUFJLFdBQVc7WUFDdkQsS0FBSyxFQUFFLEtBQUs7U0FDZixDQUFDO0lBQ04sQ0FBQzs4R0FmUSwyQkFBMkI7a0hBQTNCLDJCQUEyQjs7MkZBQTNCLDJCQUEyQjtrQkFEdkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8vIGF4LWdyZWF0ZXItdGhhbi12YWxpZGF0aW9uLXJ1bGUudHNcbmltcG9ydCB7IGlzTnVsbCwgaXNVbmRlZmluZWQgfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQgeyBBWFZhbGlkYXRpb25SdWxlLCBBWFZhbGlkYXRpb25SdWxlT3B0aW9ucywgQVhWYWxpZGF0aW9uUnVsZVJlc3VsdCB9IGZyb20gXCIuLi92YWxpZGF0aW9uLnR5cGVzXCI7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuZXhwb3J0IGludGVyZmFjZSBBWEdyZWF0ZXJUaGFuVmFsaWRhdGlvblJ1bGVPcHRpb25zIGV4dGVuZHMgQVhWYWxpZGF0aW9uUnVsZU9wdGlvbnMge1xuICAgIHZhbHVlOiBudW1iZXI7XG4gICAgaW5jbHVzaXZlPzogYm9vbGVhbjsgLy8gT3B0aW9uYWwgZmxhZyBmb3IgaW5jbHVzaXZlbmVzc1xufVxuXG5kZWNsYXJlIG1vZHVsZSAnLi4vdmFsaWRhdGlvbi50eXBlcycge1xuICAgIGludGVyZmFjZSBBWFZhbGlkYXRpb25SdWxlT3B0aW9uc01hcCB7XG4gICAgICAgICdncmVhdGVyVGhhbic6IEFYR3JlYXRlclRoYW5WYWxpZGF0aW9uUnVsZU9wdGlvbnM7XG4gICAgfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhHcmVhdGVyVGhhblZhbGlkYXRpb25SdWxlIGltcGxlbWVudHMgQVhWYWxpZGF0aW9uUnVsZSB7XG4gICAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICdncmVhdGVyVGhhbic7XG4gICAgfVxuXG4gICAgdmFsaWRhdGUodmFsdWU6IG51bWJlciwgb3B0aW9uczogQVhHcmVhdGVyVGhhblZhbGlkYXRpb25SdWxlT3B0aW9ucyk6IEFYVmFsaWRhdGlvblJ1bGVSZXN1bHQge1xuICAgICAgICBjb25zdCBpc1ZhbGlkID0gKGlzTnVsbCh2YWx1ZSkgfHwgaXNVbmRlZmluZWQodmFsdWUpKSA/IHRydWUgOiAob3B0aW9ucy5pbmNsdXNpdmUgPyB2YWx1ZSA+PSBvcHRpb25zLnZhbHVlIDogdmFsdWUgPiBvcHRpb25zLnZhbHVlKTtcbiAgICAgICAgY29uc3QgYmFzZU1lc3NhZ2UgPSBgVGhlIHZhbHVlIG11c3QgYmUgJHtvcHRpb25zLmluY2x1c2l2ZSA/ICdncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8nIDogJ2dyZWF0ZXIgdGhhbid9ICR7b3B0aW9ucy52YWx1ZX0uYDtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcnVsZTogdGhpcy5uYW1lLFxuICAgICAgICAgICAgcmVzdWx0OiBpc1ZhbGlkLFxuICAgICAgICAgICAgbWVzc2FnZTogaXNWYWxpZCA/ICcnIDogb3B0aW9ucz8ubWVzc2FnZSA/PyBiYXNlTWVzc2FnZSxcbiAgICAgICAgICAgIHZhbHVlOiB2YWx1ZVxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==