@acorex/core 7.22.0 → 7.23.1

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 (138) hide show
  1. package/{dateTime → date-time}/README.md +2 -2
  2. package/{dateTime → date-time}/lib/datetime.class.d.ts +1 -0
  3. package/{dateTime → date-time}/lib/formatters/datetime-formatter.d.ts +1 -1
  4. package/{dateTime → date-time}/lib/formatters/timeleft-formatter.d.ts +1 -1
  5. package/esm2022/acorex-core.mjs +1 -1
  6. package/esm2022/config/lib/configs.mjs +1 -1
  7. package/esm2022/config/lib/configs.service.mjs +3 -3
  8. package/esm2022/date-time/acorex-core-date-time.mjs +5 -0
  9. package/esm2022/date-time/index.mjs +11 -0
  10. package/esm2022/date-time/lib/calendar.service.mjs +100 -0
  11. package/esm2022/date-time/lib/dateTime.config.mjs +50 -0
  12. package/esm2022/date-time/lib/datetime.class.mjs +337 -0
  13. package/esm2022/date-time/lib/datetime.module.mjs +27 -0
  14. package/esm2022/date-time/lib/datetime.pipe.mjs +29 -0
  15. package/esm2022/date-time/lib/formatters/datetime-formatter.mjs +32 -0
  16. package/esm2022/date-time/lib/formatters/timeleft-formatter.mjs +91 -0
  17. package/esm2022/date-time/lib/georgian.calendar.mjs +203 -0
  18. package/esm2022/date-time/lib/holidays.loader.mjs +13 -0
  19. package/esm2022/date-time/lib/jalali.calendar.mjs +440 -0
  20. package/esm2022/events/lib/event.service.mjs +4 -4
  21. package/esm2022/events/lib/event.type.mjs +1 -1
  22. package/esm2022/file/lib/file-download-ref.class.mjs +1 -1
  23. package/esm2022/file/lib/file-size-formatter.mjs +4 -4
  24. package/esm2022/file/lib/file-upload-ref.class.mjs +1 -1
  25. package/esm2022/file/lib/file.module.mjs +6 -6
  26. package/esm2022/file/lib/file.service.mjs +5 -5
  27. package/esm2022/format/lib/format.config.mjs +1 -1
  28. package/esm2022/format/lib/format.module.mjs +13 -16
  29. package/esm2022/format/lib/format.pipe.mjs +10 -6
  30. package/esm2022/format/lib/format.service.mjs +19 -16
  31. package/esm2022/format/lib/format.types.mjs +1 -1
  32. package/esm2022/format/lib/formatters/number-formatter.mjs +6 -7
  33. package/esm2022/format/lib/formatters/string-formatter.mjs +1 -1
  34. package/esm2022/image/lib/image.service.mjs +4 -4
  35. package/esm2022/index.mjs +2 -2
  36. package/esm2022/memorize/lib/memorize.decorator.mjs +1 -1
  37. package/esm2022/pipes/lib/safe/safe.pipe.mjs +4 -4
  38. package/esm2022/platform/lib/platform.service.mjs +47 -42
  39. package/esm2022/storage/cookie-storage.service.mjs +15 -8
  40. package/esm2022/storage/local-storage.service.mjs +46 -10
  41. package/esm2022/storage/session-storage.service.mjs +3 -3
  42. package/esm2022/translation/lib/translation-scope.resolver.mjs +4 -4
  43. package/esm2022/translation/lib/translation.config.mjs +2 -2
  44. package/esm2022/translation/lib/translation.loader.mjs +3 -3
  45. package/esm2022/translation/lib/translation.module.mjs +10 -10
  46. package/esm2022/translation/lib/translation.service.mjs +19 -11
  47. package/esm2022/translation/lib/translation.types.mjs +1 -1
  48. package/esm2022/translation/lib/translator.directive.mjs +5 -5
  49. package/esm2022/translation/lib/translator.pipe.mjs +4 -4
  50. package/esm2022/utils/lib/auto-unsubscribe.mjs +4 -4
  51. package/esm2022/utils/lib/color-util.mjs +4 -2
  52. package/esm2022/utils/lib/drawing-util.mjs +6 -3
  53. package/esm2022/utils/lib/html-util.mjs +17 -3
  54. package/esm2022/utils/lib/string-util.mjs +1 -1
  55. package/esm2022/validation/lib/rules/between-rule.mjs +7 -7
  56. package/esm2022/validation/lib/rules/callback-rule.mjs +10 -7
  57. package/esm2022/validation/lib/rules/equal-rule.mjs +7 -7
  58. package/esm2022/validation/lib/rules/greater-than.mjs +12 -8
  59. package/esm2022/validation/lib/rules/length-rule.mjs +10 -7
  60. package/esm2022/validation/lib/rules/less-than-rule.mjs +12 -8
  61. package/esm2022/validation/lib/rules/maxlength-rule.mjs +12 -9
  62. package/esm2022/validation/lib/rules/minlength-rule.mjs +12 -9
  63. package/esm2022/validation/lib/rules/regex-rule.mjs +15 -12
  64. package/esm2022/validation/lib/rules/required-rule.mjs +14 -14
  65. package/esm2022/validation/lib/validation.config.mjs +3 -3
  66. package/esm2022/validation/lib/validation.module.mjs +15 -19
  67. package/esm2022/validation/lib/validation.service.mjs +19 -16
  68. package/esm2022/validation/lib/validation.types.mjs +1 -1
  69. package/fesm2022/acorex-core-config.mjs +3 -3
  70. package/fesm2022/acorex-core-config.mjs.map +1 -1
  71. package/fesm2022/{acorex-core-dateTime.mjs → acorex-core-date-time.mjs} +96 -45
  72. package/fesm2022/acorex-core-date-time.mjs.map +1 -0
  73. package/fesm2022/acorex-core-events.mjs +3 -3
  74. package/fesm2022/acorex-core-events.mjs.map +1 -1
  75. package/fesm2022/acorex-core-file.mjs +12 -12
  76. package/fesm2022/acorex-core-file.mjs.map +1 -1
  77. package/fesm2022/acorex-core-format.mjs +43 -40
  78. package/fesm2022/acorex-core-format.mjs.map +1 -1
  79. package/fesm2022/acorex-core-image.mjs +3 -3
  80. package/fesm2022/acorex-core-image.mjs.map +1 -1
  81. package/fesm2022/acorex-core-memorize.mjs.map +1 -1
  82. package/fesm2022/acorex-core-pipes.mjs +3 -3
  83. package/fesm2022/acorex-core-pipes.mjs.map +1 -1
  84. package/fesm2022/acorex-core-platform.mjs +46 -41
  85. package/fesm2022/acorex-core-platform.mjs.map +1 -1
  86. package/fesm2022/acorex-core-storage.mjs +63 -20
  87. package/fesm2022/acorex-core-storage.mjs.map +1 -1
  88. package/fesm2022/acorex-core-translation.mjs +31 -23
  89. package/fesm2022/acorex-core-translation.mjs.map +1 -1
  90. package/fesm2022/acorex-core-utils.mjs +27 -8
  91. package/fesm2022/acorex-core-utils.mjs.map +1 -1
  92. package/fesm2022/acorex-core-validation.mjs +110 -88
  93. package/fesm2022/acorex-core-validation.mjs.map +1 -1
  94. package/fesm2022/acorex-core.mjs +3 -1
  95. package/fesm2022/acorex-core.mjs.map +1 -1
  96. package/file/lib/file-size-formatter.d.ts +1 -1
  97. package/format/lib/format.config.d.ts +1 -1
  98. package/format/lib/format.service.d.ts +5 -5
  99. package/format/lib/formatters/number-formatter.d.ts +1 -1
  100. package/format/lib/formatters/string-formatter.d.ts +1 -1
  101. package/index.d.ts +1 -2
  102. package/package.json +16 -15
  103. package/storage/local-storage.service.d.ts +6 -0
  104. package/translation/lib/translation-scope.resolver.d.ts +1 -1
  105. package/translation/lib/translation.config.d.ts +2 -2
  106. package/translation/lib/translation.loader.d.ts +3 -3
  107. package/validation/lib/rules/between-rule.d.ts +2 -2
  108. package/validation/lib/rules/callback-rule.d.ts +2 -2
  109. package/validation/lib/rules/equal-rule.d.ts +2 -2
  110. package/validation/lib/rules/greater-than.d.ts +2 -2
  111. package/validation/lib/rules/length-rule.d.ts +2 -2
  112. package/validation/lib/rules/less-than-rule.d.ts +2 -2
  113. package/validation/lib/rules/maxlength-rule.d.ts +2 -2
  114. package/validation/lib/rules/minlength-rule.d.ts +2 -2
  115. package/validation/lib/rules/regex-rule.d.ts +2 -2
  116. package/validation/lib/rules/required-rule.d.ts +2 -2
  117. package/validation/lib/validation.service.d.ts +4 -4
  118. package/esm2022/dateTime/acorex-core-dateTime.mjs +0 -5
  119. package/esm2022/dateTime/index.mjs +0 -11
  120. package/esm2022/dateTime/lib/calendar.service.mjs +0 -91
  121. package/esm2022/dateTime/lib/dateTime.config.mjs +0 -50
  122. package/esm2022/dateTime/lib/datetime.class.mjs +0 -325
  123. package/esm2022/dateTime/lib/datetime.module.mjs +0 -21
  124. package/esm2022/dateTime/lib/datetime.pipe.mjs +0 -29
  125. package/esm2022/dateTime/lib/formatters/datetime-formatter.mjs +0 -30
  126. package/esm2022/dateTime/lib/formatters/timeleft-formatter.mjs +0 -91
  127. package/esm2022/dateTime/lib/georgian.calendar.mjs +0 -198
  128. package/esm2022/dateTime/lib/holidays.loader.mjs +0 -13
  129. package/esm2022/dateTime/lib/jalali.calendar.mjs +0 -423
  130. package/fesm2022/acorex-core-dateTime.mjs.map +0 -1
  131. /package/{dateTime → date-time}/index.d.ts +0 -0
  132. /package/{dateTime → date-time}/lib/calendar.service.d.ts +0 -0
  133. /package/{dateTime → date-time}/lib/dateTime.config.d.ts +0 -0
  134. /package/{dateTime → date-time}/lib/datetime.module.d.ts +0 -0
  135. /package/{dateTime → date-time}/lib/datetime.pipe.d.ts +0 -0
  136. /package/{dateTime → date-time}/lib/georgian.calendar.d.ts +0 -0
  137. /package/{dateTime → date-time}/lib/holidays.loader.d.ts +0 -0
  138. /package/{dateTime → date-time}/lib/jalali.calendar.d.ts +0 -0
@@ -9,22 +9,25 @@ class AXCallbackValidationRule {
9
9
  return 'callback';
10
10
  }
11
11
  async validate(value, options) {
12
- const validationResult = options?.validate(value, options) || { result: false, message: "Invalid callback function" };
12
+ const validationResult = options?.validate(value, options) || {
13
+ result: false,
14
+ message: 'Invalid callback function',
15
+ };
13
16
  const createResult = (result) => ({
14
17
  rule: this.name,
15
18
  result: result.result,
16
19
  message: result.message ?? options?.message ?? '',
17
- value: value
20
+ value: value,
18
21
  });
19
22
  if (validationResult instanceof Promise) {
20
23
  return validationResult.then(createResult);
21
24
  }
22
25
  return createResult(validationResult);
23
26
  }
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXCallbackValidationRule, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
25
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXCallbackValidationRule }); }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXCallbackValidationRule, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
28
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXCallbackValidationRule }); }
26
29
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXCallbackValidationRule, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXCallbackValidationRule, decorators: [{
28
31
  type: Injectable
29
32
  }] });
30
33
 
@@ -37,13 +40,15 @@ class AXRegexValidationRule {
37
40
  }
38
41
  async validate(value, options) {
39
42
  // Convert string pattern to RegExp if necessary
40
- const regexPattern = typeof options.pattern === 'string' ? new RegExp(options.pattern) : options.pattern;
43
+ const regexPattern = typeof options.pattern === 'string'
44
+ ? new RegExp(options.pattern)
45
+ : options.pattern;
41
46
  if (!value || (isString(value) && isEmpty(value.trim()))) {
42
47
  return {
43
48
  rule: this.name,
44
49
  result: true,
45
50
  message: null,
46
- value: value
51
+ value: value,
47
52
  };
48
53
  }
49
54
  else if (!isString(value)) {
@@ -51,22 +56,23 @@ class AXRegexValidationRule {
51
56
  rule: this.name,
52
57
  result: false,
53
58
  message: `${value} is not string value.`,
54
- value: value
59
+ value: value,
55
60
  };
56
61
  }
57
62
  const isValid = regexPattern.test(value);
58
- const translatedMessage = await this.traslationService.translateAsync(options?.message ?? `The value does not match the pattern ${regexPattern}.`, { params: { title: options?.['title'] } });
63
+ const translatedMessage = await this.traslationService.translateAsync(options?.message ??
64
+ `The value does not match the pattern ${regexPattern}.`, { params: { title: options?.['title'] } });
59
65
  return {
60
66
  rule: this.name,
61
67
  result: isValid,
62
68
  message: isValid ? null : translatedMessage,
63
- value: value
69
+ value: value,
64
70
  };
65
71
  }
66
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXRegexValidationRule, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
67
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXRegexValidationRule }); }
72
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXRegexValidationRule, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
73
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXRegexValidationRule }); }
68
74
  }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXRegexValidationRule, decorators: [{
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXRegexValidationRule, decorators: [{
70
76
  type: Injectable
71
77
  }] });
72
78
 
@@ -79,26 +85,26 @@ class AXRequiredValidationRule {
79
85
  }
80
86
  async validate(value, options) {
81
87
  const rules = [
82
- { test: val => isNull(val) || isUndefined(val) },
83
- { test: val => isString(val) && isEmpty(val.trim()) },
84
- { test: val => isNumber(val) && isNaN(val) },
85
- { test: val => isArray(val) && isEmpty(val) }
88
+ { test: (val) => isNull(val) || isUndefined(val) },
89
+ { test: (val) => isString(val) && isEmpty(val.trim()) },
90
+ { test: (val) => isNumber(val) && isNaN(val) },
91
+ { test: (val) => isArray(val) && isEmpty(val) },
86
92
  ];
87
- const failedRule = find(rules, rule => rule.test(value));
93
+ const failedRule = find(rules, (rule) => rule.test(value));
88
94
  const isValid = !failedRule;
89
- const translatedMessage = await this.traslationService.translateAsync("validation.messages.required", { params: { title: options?.['title'] } });
95
+ const translatedMessage = await this.traslationService.translateAsync('validation.messages.required', { params: { title: options?.['title'] } });
90
96
  const message = failedRule ? options?.message ?? translatedMessage : null;
91
97
  return {
92
98
  rule: this.name,
93
99
  result: isValid,
94
100
  message: message,
95
- value
101
+ value,
96
102
  };
97
103
  }
98
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXRequiredValidationRule, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
99
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXRequiredValidationRule }); }
104
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXRequiredValidationRule, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
105
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXRequiredValidationRule }); }
100
106
  }
101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXRequiredValidationRule, decorators: [{
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXRequiredValidationRule, decorators: [{
102
108
  type: Injectable
103
109
  }] });
104
110
 
@@ -112,14 +118,17 @@ class AXLengthValidationRule {
112
118
  return {
113
119
  rule: this.name,
114
120
  result: isValid,
115
- message: isValid ? null : options?.message ?? `The value must be between ${options.min} and ${options.max} chars`,
116
- value: value
121
+ message: isValid
122
+ ? null
123
+ : options?.message ??
124
+ `The value must be between ${options.min} and ${options.max} chars`,
125
+ value: value,
117
126
  };
118
127
  }
119
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXLengthValidationRule, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
120
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXLengthValidationRule }); }
128
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXLengthValidationRule, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
129
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXLengthValidationRule }); }
121
130
  }
122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXLengthValidationRule, decorators: [{
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXLengthValidationRule, decorators: [{
123
132
  type: Injectable
124
133
  }] });
125
134
 
@@ -129,18 +138,21 @@ class AXMaxLengthValidationRule {
129
138
  return 'maxLength';
130
139
  }
131
140
  async validate(value, options) {
132
- const isValid = isEmpty(value) ? true : (value?.length <= options.value);
141
+ const isValid = isEmpty(value) ? true : value?.length <= options.value;
133
142
  return {
134
143
  rule: this.name,
135
144
  result: isValid,
136
- message: isValid ? '' : options?.message ?? `The value must not exceed ${options.value} characters.`,
137
- value: value
145
+ message: isValid
146
+ ? ''
147
+ : options?.message ??
148
+ `The value must not exceed ${options.value} characters.`,
149
+ value: value,
138
150
  };
139
151
  }
140
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXMaxLengthValidationRule, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
141
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXMaxLengthValidationRule }); }
152
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXMaxLengthValidationRule, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
153
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXMaxLengthValidationRule }); }
142
154
  }
143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXMaxLengthValidationRule, decorators: [{
155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXMaxLengthValidationRule, decorators: [{
144
156
  type: Injectable
145
157
  }] });
146
158
 
@@ -149,18 +161,21 @@ class AXMinLengthValidationRule {
149
161
  return 'minLength';
150
162
  }
151
163
  async validate(value, options) {
152
- const isValid = isEmpty(value) ? true : (value?.length >= options.value);
164
+ const isValid = isEmpty(value) ? true : value?.length >= options.value;
153
165
  return {
154
166
  rule: this.name,
155
167
  result: isValid,
156
- message: isValid ? '' : options?.message ?? `The value must be at least ${options.value} characters long.`,
157
- value: value
168
+ message: isValid
169
+ ? ''
170
+ : options?.message ??
171
+ `The value must be at least ${options.value} characters long.`,
172
+ value: value,
158
173
  };
159
174
  }
160
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXMinLengthValidationRule, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
161
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXMinLengthValidationRule }); }
175
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXMinLengthValidationRule, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
176
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXMinLengthValidationRule }); }
162
177
  }
163
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXMinLengthValidationRule, decorators: [{
178
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXMinLengthValidationRule, decorators: [{
164
179
  type: Injectable
165
180
  }] });
166
181
 
@@ -182,13 +197,13 @@ class AXBetweenValidationRule {
182
197
  rule: this.name,
183
198
  result: isValid || isEmpty(value),
184
199
  message: isValid ? '' : options?.message ?? baseMessage,
185
- value: value
200
+ value: value,
186
201
  };
187
202
  }
188
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXBetweenValidationRule, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
189
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXBetweenValidationRule }); }
203
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXBetweenValidationRule, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
204
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXBetweenValidationRule }); }
190
205
  }
191
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXBetweenValidationRule, decorators: [{
206
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXBetweenValidationRule, decorators: [{
192
207
  type: Injectable
193
208
  }] });
194
209
 
@@ -205,13 +220,13 @@ class AXEqualValidationRule {
205
220
  rule: this.name,
206
221
  result: isValid,
207
222
  message: isValid ? '' : options?.message ?? defaultMessage,
208
- value: value
223
+ value: value,
209
224
  };
210
225
  }
211
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXEqualValidationRule, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
212
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXEqualValidationRule }); }
226
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXEqualValidationRule, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
227
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXEqualValidationRule }); }
213
228
  }
214
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXEqualValidationRule, decorators: [{
229
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXEqualValidationRule, decorators: [{
215
230
  type: Injectable
216
231
  }] });
217
232
 
@@ -221,19 +236,23 @@ class AXGreaterThanValidationRule {
221
236
  return 'greaterThan';
222
237
  }
223
238
  async validate(value, options) {
224
- const isValid = (isNull(value) || isUndefined(value)) ? true : (options.inclusive ? value >= options.value : value > options.value);
239
+ const isValid = isNull(value) || isUndefined(value)
240
+ ? true
241
+ : options.inclusive
242
+ ? value >= options.value
243
+ : value > options.value;
225
244
  const baseMessage = `The value must be ${options.inclusive ? 'greater than or equal to' : 'greater than'} ${options.value}.`;
226
245
  return {
227
246
  rule: this.name,
228
247
  result: isValid,
229
248
  message: isValid ? '' : options?.message ?? baseMessage,
230
- value: value
249
+ value: value,
231
250
  };
232
251
  }
233
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXGreaterThanValidationRule, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
234
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXGreaterThanValidationRule }); }
252
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXGreaterThanValidationRule, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
253
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXGreaterThanValidationRule }); }
235
254
  }
236
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXGreaterThanValidationRule, decorators: [{
255
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXGreaterThanValidationRule, decorators: [{
237
256
  type: Injectable
238
257
  }] });
239
258
 
@@ -243,19 +262,23 @@ class AXLessThanValidationRule {
243
262
  return 'lessThan';
244
263
  }
245
264
  async validate(value, options) {
246
- const isValid = (isNull(value) || isUndefined(value)) ? true : (options.inclusive ? value <= options.value : value < options.value);
265
+ const isValid = isNull(value) || isUndefined(value)
266
+ ? true
267
+ : options.inclusive
268
+ ? value <= options.value
269
+ : value < options.value;
247
270
  const baseMessage = `The value must be ${options.inclusive ? 'less than or equal to' : 'less than'} ${options.value}.`;
248
271
  return {
249
272
  rule: this.name,
250
273
  result: isValid,
251
274
  message: isValid ? '' : options?.message ?? baseMessage,
252
- value: value
275
+ value: value,
253
276
  };
254
277
  }
255
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXLessThanValidationRule, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
256
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXLessThanValidationRule }); }
278
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXLessThanValidationRule, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
279
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXLessThanValidationRule }); }
257
280
  }
258
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXLessThanValidationRule, decorators: [{
281
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXLessThanValidationRule, decorators: [{
259
282
  type: Injectable
260
283
  }] });
261
284
 
@@ -272,14 +295,14 @@ const AXValidationDefaultConfig = {
272
295
  options: {
273
296
  pattern: /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
274
297
  message: 'validation.messages.email',
275
- }
298
+ },
276
299
  },
277
300
  phone: {
278
301
  rule: 'regex',
279
302
  options: {
280
303
  pattern: /^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\s\./0-9]*$/,
281
304
  message: 'validation.messages.phone',
282
- }
305
+ },
283
306
  },
284
307
  },
285
308
  };
@@ -301,10 +324,13 @@ class AXValidationRegistryService {
301
324
  this.injector = injector;
302
325
  }
303
326
  register(...plugins) {
304
- plugins.forEach(t => {
305
- const childInjector = Injector.create({ providers: [{ provide: t, useClass: t, deps: [] }], parent: this.injector });
327
+ plugins.forEach((t) => {
328
+ const childInjector = Injector.create({
329
+ providers: [{ provide: t, useClass: t, deps: [] }],
330
+ parent: this.injector,
331
+ });
306
332
  const v = childInjector.get(t);
307
- if (v && !this.plugins.some(p => p.name == v.name)) {
333
+ if (v && !this.plugins.some((p) => p.name == v.name)) {
308
334
  this.plugins.push(v);
309
335
  }
310
336
  });
@@ -312,13 +338,13 @@ class AXValidationRegistryService {
312
338
  get(ruleName) {
313
339
  return this.plugins.find((c) => c.name == ruleName);
314
340
  }
315
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXValidationRegistryService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
316
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXValidationRegistryService, providedIn: 'root' }); }
341
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXValidationRegistryService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
342
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXValidationRegistryService, providedIn: 'root' }); }
317
343
  }
318
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXValidationRegistryService, decorators: [{
344
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXValidationRegistryService, decorators: [{
319
345
  type: Injectable,
320
346
  args: [{
321
- providedIn: 'root'
347
+ providedIn: 'root',
322
348
  }]
323
349
  }], ctorParameters: () => [{ type: i0.Injector }] });
324
350
  class AXValidationService {
@@ -334,7 +360,7 @@ class AXValidationService {
334
360
  rule: ruleName,
335
361
  result: false,
336
362
  message: await this.translationService.translateAsync('validation.messages.invalid-rull-name', { params: { name: ruleName } }),
337
- value
363
+ value,
338
364
  };
339
365
  }
340
366
  if (options?.message) {
@@ -350,10 +376,10 @@ class AXValidationService {
350
376
  ruleFor(value) {
351
377
  return new AXValidationRuleChain(this, value);
352
378
  }
353
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXValidationService, deps: [{ token: AXValidationRegistryService }, { token: i1.AXTranslationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
354
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXValidationService, providedIn: 'root' }); }
379
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXValidationService, deps: [{ token: AXValidationRegistryService }, { token: i1.AXTranslationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
380
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXValidationService, providedIn: 'root' }); }
355
381
  }
356
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXValidationService, decorators: [{
382
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXValidationService, decorators: [{
357
383
  type: Injectable,
358
384
  args: [{ providedIn: 'root' }]
359
385
  }], ctorParameters: () => [{ type: AXValidationRegistryService }, { type: i1.AXTranslationService }] });
@@ -393,7 +419,7 @@ const BUILT_IN_RULES = [
393
419
  AXEqualValidationRule,
394
420
  AXLessThanValidationRule,
395
421
  AXGreaterThanValidationRule,
396
- AXBetweenValidationRule
422
+ AXBetweenValidationRule,
397
423
  ];
398
424
  class AXValidationModule {
399
425
  static forRoot(configs) {
@@ -407,9 +433,9 @@ class AXValidationModule {
407
433
  pluginRegistry.register(...[...BUILT_IN_RULES, ...(configs?.rules || [])]);
408
434
  },
409
435
  deps: [AXValidationRegistryService],
410
- multi: true
411
- }
412
- ]
436
+ multi: true,
437
+ },
438
+ ],
413
439
  };
414
440
  }
415
441
  static forChild(configs) {
@@ -423,32 +449,28 @@ class AXValidationModule {
423
449
  pluginRegistry.register(...[...BUILT_IN_RULES, ...(configs?.rules || [])]);
424
450
  },
425
451
  deps: [AXValidationRegistryService],
426
- multi: true
427
- }
428
- ]
452
+ multi: true,
453
+ },
454
+ ],
429
455
  };
430
456
  }
431
457
  /**
432
458
  * @ignore
433
459
  */
434
460
  constructor(instances) {
435
- instances.forEach(f => {
461
+ instances.forEach((f) => {
436
462
  f();
437
463
  });
438
464
  }
439
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXValidationModule, deps: [{ token: 'AXValidationModuleFactory' }], target: i0.ɵɵFactoryTarget.NgModule }); }
440
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.3", ngImport: i0, type: AXValidationModule }); }
441
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXValidationModule, providers: [
442
- ...BUILT_IN_RULES
443
- ] }); }
465
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXValidationModule, deps: [{ token: 'AXValidationModuleFactory' }], target: i0.ɵɵFactoryTarget.NgModule }); }
466
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.4", ngImport: i0, type: AXValidationModule }); }
467
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXValidationModule, providers: [...BUILT_IN_RULES] }); }
444
468
  }
445
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AXValidationModule, decorators: [{
469
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AXValidationModule, decorators: [{
446
470
  type: NgModule,
447
471
  args: [{
448
472
  imports: [],
449
- providers: [
450
- ...BUILT_IN_RULES
451
- ]
473
+ providers: [...BUILT_IN_RULES],
452
474
  }]
453
475
  }], ctorParameters: () => [{ type: undefined, decorators: [{
454
476
  type: Inject,
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-core-validation.mjs","sources":["../../../../libs/core/validation/src/lib/rules/callback-rule.ts","../../../../libs/core/validation/src/lib/rules/regex-rule.ts","../../../../libs/core/validation/src/lib/rules/required-rule.ts","../../../../libs/core/validation/src/lib/rules/length-rule.ts","../../../../libs/core/validation/src/lib/rules/maxlength-rule.ts","../../../../libs/core/validation/src/lib/rules/minlength-rule.ts","../../../../libs/core/validation/src/lib/rules/between-rule.ts","../../../../libs/core/validation/src/lib/rules/equal-rule.ts","../../../../libs/core/validation/src/lib/rules/greater-than.ts","../../../../libs/core/validation/src/lib/rules/less-than-rule.ts","../../../../libs/core/validation/src/lib/validation.config.ts","../../../../libs/core/validation/src/lib/validation.service.ts","../../../../libs/core/validation/src/lib/validation.module.ts","../../../../libs/core/validation/src/lib/validation.types.ts","../../../../libs/core/validation/src/acorex-core-validation.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\nimport { AXValidationRule, AXValidationRuleOptions, AXValidationRuleResult } from \"../validation.types\";\n\nexport type AXCallbackValidation<T> = (value: T, options?: AXCallbackValidationRuleOptions<T>) => Promise<{ result: boolean, message?: string }> | { result: boolean, message?: string };\n\nexport interface AXCallbackValidationRuleOptions<T> extends AXValidationRuleOptions {\n validate: AXCallbackValidation<T>\n}\n\n// Augment the AXValidationRuleOptionsMap\ndeclare module '../validation.types' {\n interface AXValidationRuleOptionsMap {\n 'callback': AXCallbackValidationRuleOptions<unknown>;\n }\n}\n\n@Injectable()\nexport class AXCallbackValidationRule<T> implements AXValidationRule {\n\n get name(): string {\n return 'callback';\n }\n\n async validate(value: T, options: AXCallbackValidationRuleOptions<T>): Promise<AXValidationRuleResult> {\n const validationResult = options?.validate(value, options) || { result: false, message: \"Invalid callback function\" };\n const createResult = (result: { result: boolean, message?: string }) => ({\n rule: this.name,\n result: result.result,\n message: result.message ?? options?.message ?? '',\n value: value\n });\n\n if (validationResult instanceof Promise) {\n return validationResult.then(createResult);\n }\n\n return createResult(validationResult);\n }\n}","import { isEmpty, isString } from \"lodash-es\";\nimport { AXValidationRule, AXValidationRuleOptions, AXValidationRuleResult } from \"../validation.types\";\nimport { Injectable, inject } from \"@angular/core\";\nimport { AXTranslationService } from \"@acorex/core/translation\";\n\n\nexport interface AXRegexValidationRuleOptions extends AXValidationRuleOptions {\n pattern: string | RegExp;\n}\n\n// Augment the AXValidationRuleOptionsMap\ndeclare module '../validation.types' {\n interface AXValidationRuleOptionsMap {\n 'regex': AXRegexValidationRuleOptions;\n }\n}\n\n@Injectable()\nexport class AXRegexValidationRule implements AXValidationRule {\n\n private traslationService = inject(AXTranslationService);\n\n get name(): string {\n return 'regex';\n }\n\n async validate(value: string, options: AXRegexValidationRuleOptions): Promise<AXValidationRuleResult> {\n // Convert string pattern to RegExp if necessary\n const regexPattern = typeof options.pattern === 'string' ? new RegExp(options.pattern) : options.pattern;\n\n if (!value || (isString(value) && isEmpty(value.trim()))) {\n return {\n rule: this.name,\n result: true,\n message: null,\n value: value\n };\n }\n else if (!isString(value)) {\n return {\n rule: this.name,\n result: false,\n message: `${value} is not string value.`,\n value: value\n };\n }\n\n const isValid = regexPattern.test(value);\n const translatedMessage = await this.traslationService.translateAsync(\n options?.message ?? `The value does not match the pattern ${regexPattern}.`, { params: { title: options?.['title'] } });\n return {\n rule: this.name,\n result: isValid,\n message: isValid ? null : translatedMessage,\n value: value\n };\n }\n\n}","import { find, isArray, isEmpty, isNull, isNumber, isString, isUndefined } from \"lodash-es\";\nimport { AXValidationRule, AXValidationRuleOptions, AXValidationRuleResult } from \"../validation.types\";\nimport { Injectable, inject } from \"@angular/core\";\nimport { AXTranslationService } from \"@acorex/core/translation\";\nimport { firstValueFrom, lastValueFrom } from \"rxjs\";\n\n\nexport interface AXRequiredValidationRuleOptions extends AXValidationRuleOptions {\n}\n\n// Augment the AXValidationRuleOptionsMap\ndeclare module '../validation.types' {\n interface AXValidationRuleOptionsMap {\n 'required': AXRequiredValidationRuleOptions;\n }\n}\n\n@Injectable()\nexport class AXRequiredValidationRule implements AXValidationRule {\n\n private traslationService = inject(AXTranslationService);\n\n get name(): string {\n return 'required';\n }\n\n async validate(value?: unknown, options?: AXRequiredValidationRuleOptions): Promise<AXValidationRuleResult> {\n const rules = [\n { test: val => isNull(val) || isUndefined(val) },\n { test: val => isString(val) && isEmpty(val.trim()) },\n { test: val => isNumber(val) && isNaN(val) },\n { test: val => isArray(val) && isEmpty(val) }\n ];\n\n const failedRule = find(rules, rule => rule.test(value));\n const isValid = !failedRule;\n const translatedMessage = await this.traslationService.translateAsync(\"validation.messages.required\", { params: { title: options?.['title'] } });\n const message = failedRule ? options?.message ?? translatedMessage : null;\n\n return {\n rule: this.name,\n result: isValid,\n message: message,\n value\n };\n }\n}","// ax-max-length-validation-rule.ts\nimport { Injectable } from \"@angular/core\";\nimport { AXValidationRule, AXValidationRuleOptions, AXValidationRuleResult } from \"../validation.types\";\n\nexport interface AXLengthValidationRuleOptions extends AXValidationRuleOptions {\n min: number;\n max: number;\n}\n\ndeclare module '../validation.types' {\n interface AXValidationRuleOptionsMap {\n 'length': AXLengthValidationRuleOptions;\n }\n}\n\n\n@Injectable()\nexport class AXLengthValidationRule implements AXValidationRule {\n get name(): string {\n return 'length';\n }\n\n async validate(value: string, options: AXLengthValidationRuleOptions): Promise<AXValidationRuleResult> {\n const isValid = value?.length >= options.min && value?.length <= options.max;\n return {\n rule: this.name,\n result: isValid,\n message: isValid ? null : options?.message ?? `The value must be between ${options.min} and ${options.max} chars`,\n value: value\n };\n }\n}\n","// ax-max-length-validation-rule.ts\nimport { isEmpty } from \"lodash-es\";\nimport { AXValidationRule, AXValidationRuleOptions, AXValidationRuleResult } from \"../validation.types\";\nimport { Injectable } from \"@angular/core\";\n\nexport interface AXMaxLengthValidationRuleOptions extends AXValidationRuleOptions {\n value: number;\n}\n\ndeclare module '../validation.types' {\n interface AXValidationRuleOptionsMap {\n 'maxLength': AXMaxLengthValidationRuleOptions;\n }\n}\n\n\n@Injectable()\nexport class AXMaxLengthValidationRule implements AXValidationRule {\n get name(): string {\n return 'maxLength';\n }\n\n async validate(value: string, options: AXMaxLengthValidationRuleOptions): Promise<AXValidationRuleResult> {\n const isValid = isEmpty(value) ? true : (value?.length <= options.value);\n return {\n rule: this.name,\n result: isValid,\n message: isValid ? '' : options?.message ?? `The value must not exceed ${options.value} characters.`,\n value: value\n };\n }\n}\n","import { isEmpty } from \"lodash-es\";\nimport { AXValidationRule, AXValidationRuleOptions, AXValidationRuleResult } from \"../validation.types\";\nimport { Injectable } from \"@angular/core\";\n\nexport interface AXMinLengthValidationRuleOptions extends AXValidationRuleOptions {\n value: number;\n}\n\ndeclare module '../validation.types' {\n interface AXValidationRuleOptionsMap {\n 'minLength': AXMinLengthValidationRuleOptions;\n }\n}\n\n\n@Injectable()\nexport class AXMinLengthValidationRule implements AXValidationRule {\n get name(): string {\n return 'minLength';\n }\n\n async validate(value: string, options: AXMinLengthValidationRuleOptions): Promise<AXValidationRuleResult> {\n const isValid = isEmpty(value) ? true : (value?.length >= options.value);\n return {\n rule: this.name,\n result: isValid,\n message: isValid ? '' : options?.message ?? `The value must be at least ${options.value} characters long.`,\n value: value\n };\n }\n}","import { isEmpty } from \"lodash-es\";\nimport { AXValidationRule, AXValidationRuleOptions, AXValidationRuleResult } from \"../validation.types\";\nimport { Injectable } from \"@angular/core\";\n\nexport interface AXBetweenValidationRuleOptions<T = number | Date> extends AXValidationRuleOptions {\n lowerValue: T;\n upperValue: T;\n inclusive?: boolean; // Optional flag for inclusiveness\n}\n\ndeclare module '../validation.types' {\n interface AXValidationRuleOptionsMap {\n 'between': AXBetweenValidationRuleOptions;\n }\n}\n\n@Injectable()\nexport class AXBetweenValidationRule<T = number | Date> implements AXValidationRule {\n get name(): string {\n return 'between';\n }\n\n async validate(value: T, options: AXBetweenValidationRuleOptions<T>): Promise<AXValidationRuleResult> {\n let isValid;\n if (options.inclusive) {\n isValid = value >= options.lowerValue && value <= options.upperValue;\n } else {\n isValid = value > options.lowerValue && value < options.upperValue;\n }\n\n const rangeType = options.inclusive ? 'inclusive' : 'exclusive';\n const baseMessage = `The value must be within the ${rangeType} range of ${options.lowerValue} to ${options.upperValue}.`;\n\n return {\n rule: this.name,\n result: isValid || isEmpty(value),\n message: isValid ? '' : options?.message ?? baseMessage,\n value: value\n };\n }\n}","// ax-equal-validation-rule.ts\nimport { isEqual } from \"lodash-es\";\nimport { AXValidationRule, AXValidationRuleOptions, AXValidationRuleResult } from \"../validation.types\";\nimport { Injectable } from \"@angular/core\";\n\nexport interface AXEqualValidationRuleOptions extends AXValidationRuleOptions {\n value: any;\n not?: boolean; // Optional flag to invert the validation logic\n}\n\ndeclare module '../validation.types' {\n interface AXValidationRuleOptionsMap {\n 'equal': AXEqualValidationRuleOptions;\n }\n}\n@Injectable()\nexport class AXEqualValidationRule implements AXValidationRule {\n get name(): string {\n return 'equal';\n }\n\n async validate(value: any, options: AXEqualValidationRuleOptions): Promise<AXValidationRuleResult> {\n const isValueEqual = isEqual(value, options.value);\n const isValid = options.not ? !isValueEqual : isValueEqual;\n\n const defaultMessage = `The value must ${options.not ? 'not ' : ''}be equal to ${options.value}.`;\n return {\n rule: this.name,\n result: isValid,\n message: isValid ? '' : options?.message ?? defaultMessage,\n value: value\n };\n }\n}\n","// ax-greater-than-validation-rule.ts\nimport { isNull, isUndefined } from \"lodash-es\";\nimport { AXValidationRule, AXValidationRuleOptions, AXValidationRuleResult } from \"../validation.types\";\nimport { Injectable } from \"@angular/core\";\n\nexport interface AXGreaterThanValidationRuleOptions extends AXValidationRuleOptions {\n value: number;\n inclusive?: boolean; // Optional flag for inclusiveness\n}\n\ndeclare module '../validation.types' {\n interface AXValidationRuleOptionsMap {\n 'greaterThan': AXGreaterThanValidationRuleOptions;\n }\n}\n\n@Injectable()\nexport class AXGreaterThanValidationRule implements AXValidationRule {\n get name(): string {\n return 'greaterThan';\n }\n\n async validate(value: number, options: AXGreaterThanValidationRuleOptions): Promise<AXValidationRuleResult> {\n const isValid = (isNull(value) || isUndefined(value)) ? true : (options.inclusive ? value >= options.value : value > options.value);\n const baseMessage = `The value must be ${options.inclusive ? 'greater than or equal to' : 'greater than'} ${options.value}.`;\n\n return {\n rule: this.name,\n result: isValid,\n message: isValid ? '' : options?.message ?? baseMessage,\n value: value\n };\n }\n}\n","// ax-less-than-validation-rule.ts\nimport { isNull, isUndefined } from \"lodash-es\";\nimport { AXValidationRule, AXValidationRuleOptions, AXValidationRuleResult } from \"../validation.types\";\nimport { Injectable } from \"@angular/core\";\n\nexport interface AXLessThanValidationRuleOptions extends AXValidationRuleOptions {\n value: number;\n inclusive?: boolean; // Optional flag for inclusiveness\n}\n\ndeclare module '../validation.types' {\n interface AXValidationRuleOptionsMap {\n 'lessThan': AXLessThanValidationRuleOptions;\n }\n}\n\n\n@Injectable()\nexport class AXLessThanValidationRule implements AXValidationRule {\n get name(): string {\n return 'lessThan';\n }\n\n async validate(value: number, options: AXLessThanValidationRuleOptions): Promise<AXValidationRuleResult> {\n const isValid = (isNull(value) || isUndefined(value)) ? true : (options.inclusive ? value <= options.value : value < options.value);\n const baseMessage = `The value must be ${options.inclusive ? 'less than or equal to' : 'less than'} ${options.value}.`;\n\n return {\n rule: this.name,\n result: isValid,\n message: isValid ? '' : options?.message ?? baseMessage,\n value: value\n };\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { AXValidationRuleOptions, AXValidationRuleOptionsMap } from './validation.types';\n\nexport type AXValidationConfigRules = {\n [key: string]: {\n rule: keyof AXValidationRuleOptionsMap;\n options: AXValidationRuleOptions\n };\n}\n\nexport interface AXValidationConfig {\n rules: AXValidationConfigRules;\n}\n\nexport const AX_VALIDATION_CONFIG = new InjectionToken<AXValidationConfig>('AX_VALIDATION_CONFIG', {\n providedIn: 'root',\n factory: () => {\n return AXValidationDefaultConfig;\n },\n});\n\nexport const AXValidationDefaultConfig: AXValidationConfig = {\n rules: {\n email: {\n rule: 'regex',\n options: {\n pattern:\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n message: 'validation.messages.email',\n }\n },\n phone: {\n rule: 'regex',\n options: {\n pattern: /^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$/,\n message: 'validation.messages.phone',\n }\n },\n },\n};\n\nexport type AXPartialValidationConfig = Partial<AXValidationConfig>;\n\nexport function validationConfig(config: AXPartialValidationConfig = {}): AXValidationConfig {\n const result = {\n ...AXValidationDefaultConfig,\n ...config,\n };\n return result;\n}\n","import { Injectable, Injector, inject } from \"@angular/core\";\nimport { AXValidationRule, AXValidationRuleOptions, AXValidationRuleOptionsMap, AXValidationRuleResult, AXValidationSummary } from \"./validation.types\";\nimport { AXValidationConfigRules, AX_VALIDATION_CONFIG } from \"./validation.config\";\nimport { AXTranslationService } from \"@acorex/core/translation\";\nimport { merge } from \"lodash-es\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AXValidationRegistryService {\n private plugins: AXValidationRule[] = [];\n\n private configs = inject(AX_VALIDATION_CONFIG);\n\n public get customRules(): AXValidationConfigRules {\n return this.configs.rules;\n }\n\n private injector: Injector;\n\n constructor(injector: Injector) {\n this.injector = injector;\n }\n\n register(...plugins: (new () => AXValidationRule)[]) {\n plugins.forEach(t => {\n const childInjector = Injector.create({ providers: [{ provide: t, useClass: t, deps: [] }], parent: this.injector });\n const v = childInjector.get(t);\n\n if (v && !this.plugins.some(p => p.name == v.name)) {\n this.plugins.push(v);\n }\n })\n }\n\n get(ruleName: string): AXValidationRule | undefined {\n return this.plugins.find((c) => c.name == ruleName)\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class AXValidationService {\n constructor(\n private pluginRegistry: AXValidationRegistryService,\n private translationService: AXTranslationService,\n\n ) { }\n\n async validate(ruleName: string, value: unknown, options?: AXValidationRuleOptions): Promise<AXValidationRuleResult> {\n const customRule = this.pluginRegistry.customRules[ruleName];\n const validator = this.pluginRegistry.get(ruleName);\n\n if (!validator && !customRule) {\n return {\n rule: ruleName,\n result: false,\n message: await this.translationService.translateAsync('validation.messages.invalid-rull-name', { params: { name: ruleName } }),\n value\n };\n }\n\n if (options?.message) {\n options.message = await this.translationService.translateAsync(options.message)\n }\n //\n if (validator)\n return validator.validate(value, options);\n else {\n\n return this.validate(customRule.rule, value, merge(options, customRule.options));\n }\n\n }\n\n ruleFor(value: unknown): AXValidationRuleChain {\n return new AXValidationRuleChain(this, value);\n }\n}\n\nclass AXValidationRuleChain {\n private rules: { name: string, options?: AXValidationRuleOptions }[] = [];\n private validationSummary: AXValidationSummary = { result: true, rules: [] };\n\n constructor(private validationService: AXValidationService, private initialValue: unknown) { }\n\n addRule<K extends keyof AXValidationRuleOptionsMap>(name: K, options?: AXValidationRuleOptionsMap[K]): AXValidationRuleChain {\n this.rules.push({ name, options });\n return this;\n }\n\n async validate(): Promise<AXValidationSummary> {\n for (const rule of this.rules) {\n const result = await this.validationService.validate(rule.name, this.initialValue, rule.options);\n this.validationSummary.rules.push(result);\n if (!result.result) {\n this.validationSummary.result = false;\n }\n }\n return this.validationSummary;\n }\n}\n","import { APP_INITIALIZER, Inject, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { AXValidationRegistryService } from './validation.service';\nimport { AXValidationRule } from './validation.types';\nimport { AXRegexValidationRule } from './rules/regex-rule';\nimport { AXRequiredValidationRule } from './rules/required-rule';\nimport { AXCallbackValidationRule } from './rules/callback-rule';\nimport { AXMinLengthValidationRule } from './rules/minlength-rule';\nimport { AXMaxLengthValidationRule } from './rules/maxlength-rule';\nimport { AXLengthValidationRule } from './rules/length-rule';\nimport { AXEqualValidationRule } from './rules/equal-rule';\nimport { AXLessThanValidationRule } from './rules/less-than-rule';\nimport { AXGreaterThanValidationRule } from './rules/greater-than';\nimport { AXBetweenValidationRule } from './rules/between-rule';\n\n\n\nconst BUILT_IN_RULES = [\n AXRequiredValidationRule,\n AXRegexValidationRule,\n AXRequiredValidationRule,\n AXCallbackValidationRule,\n //\n AXMinLengthValidationRule,\n AXMaxLengthValidationRule,\n AXLengthValidationRule,\n //\n AXEqualValidationRule,\n AXLessThanValidationRule,\n AXGreaterThanValidationRule,\n AXBetweenValidationRule\n]\n\n\nexport interface AXValidationModuleConfigs {\n rules: (new () => AXValidationRule)[]\n}\n\n@NgModule({\n imports: [],\n providers: [\n ...BUILT_IN_RULES\n ]\n})\nexport class AXValidationModule {\n\n static forRoot(configs?: AXValidationModuleConfigs): ModuleWithProviders<AXValidationModule> {\n return {\n ngModule: AXValidationModule,\n providers: [\n ...(configs?.rules || []),\n {\n provide: 'AXValidationModuleFactory',\n useFactory: (pluginRegistry: AXValidationRegistryService) => () => {\n pluginRegistry.register(...[...BUILT_IN_RULES, ...(configs?.rules || [])]);\n },\n deps: [AXValidationRegistryService],\n multi: true\n }\n ]\n };\n }\n\n static forChild(configs?: AXValidationModuleConfigs): ModuleWithProviders<AXValidationModule> {\n return {\n ngModule: AXValidationModule,\n providers: [\n ...(configs?.rules || []),\n {\n provide: 'AXValidationModuleFactory',\n useFactory: (pluginRegistry: AXValidationRegistryService) => () => {\n pluginRegistry.register(...[...BUILT_IN_RULES, ...(configs?.rules || [])]);\n },\n deps: [AXValidationRegistryService],\n multi: true\n }\n\n ]\n };\n }\n\n /**\n * @ignore\n */\n constructor(@Inject('AXValidationModuleFactory') instances: any[]) {\n instances.forEach(f => {\n f();\n });\n }\n}\n","export interface AXValidationRuleOptions {\n message?: string\n [key: string]: unknown\n}\n\n\nexport interface AXValidationRuleOptionsMap {\n // initially empty, but will be extended by other modules\n}\n\n\nexport abstract class AXValidationRule {\n abstract get name(): string;\n abstract validate(value: unknown, options?: AXValidationRuleOptions): Promise<AXValidationRuleResult>;\n}\n\nexport interface AXValidationRuleResult {\n rule: string;\n value?: unknown;\n message?: string | null;\n result: boolean;\n [key: string]: unknown\n}\n\nexport interface AXValidationSummary {\n result: boolean;\n rules: AXValidationRuleResult[]\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-core-validation.mjs","sources":["../../../../libs/core/validation/src/lib/rules/callback-rule.ts","../../../../libs/core/validation/src/lib/rules/regex-rule.ts","../../../../libs/core/validation/src/lib/rules/required-rule.ts","../../../../libs/core/validation/src/lib/rules/length-rule.ts","../../../../libs/core/validation/src/lib/rules/maxlength-rule.ts","../../../../libs/core/validation/src/lib/rules/minlength-rule.ts","../../../../libs/core/validation/src/lib/rules/between-rule.ts","../../../../libs/core/validation/src/lib/rules/equal-rule.ts","../../../../libs/core/validation/src/lib/rules/greater-than.ts","../../../../libs/core/validation/src/lib/rules/less-than-rule.ts","../../../../libs/core/validation/src/lib/validation.config.ts","../../../../libs/core/validation/src/lib/validation.service.ts","../../../../libs/core/validation/src/lib/validation.module.ts","../../../../libs/core/validation/src/lib/validation.types.ts","../../../../libs/core/validation/src/acorex-core-validation.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport {\n AXValidationRule,\n AXValidationRuleOptions,\n AXValidationRuleResult,\n} from '../validation.types';\n\nexport type AXCallbackValidation<T> = (\n value: T,\n options?: AXCallbackValidationRuleOptions<T>\n) =>\n | Promise<{ result: boolean; message?: string }>\n | { result: boolean; message?: string };\n\nexport interface AXCallbackValidationRuleOptions<T>\n extends AXValidationRuleOptions {\n validate: AXCallbackValidation<T>;\n}\n\n// Augment the AXValidationRuleOptionsMap\ndeclare module '../validation.types' {\n interface AXValidationRuleOptionsMap {\n callback: AXCallbackValidationRuleOptions<unknown>;\n }\n}\n\n@Injectable()\nexport class AXCallbackValidationRule<T> implements AXValidationRule {\n get name(): string {\n return 'callback';\n }\n\n async validate(\n value: T,\n options: AXCallbackValidationRuleOptions<T>\n ): Promise<AXValidationRuleResult> {\n const validationResult = options?.validate(value, options) || {\n result: false,\n message: 'Invalid callback function',\n };\n const createResult = (result: { result: boolean; message?: string }) => ({\n rule: this.name,\n result: result.result,\n message: result.message ?? options?.message ?? '',\n value: value,\n });\n\n if (validationResult instanceof Promise) {\n return validationResult.then(createResult);\n }\n\n return createResult(validationResult);\n }\n}\n","import { isEmpty, isString } from 'lodash-es';\nimport {\n AXValidationRule,\n AXValidationRuleOptions,\n AXValidationRuleResult,\n} from '../validation.types';\nimport { Injectable, inject } from '@angular/core';\nimport { AXTranslationService } from '@acorex/core/translation';\n\nexport interface AXRegexValidationRuleOptions extends AXValidationRuleOptions {\n pattern: string | RegExp;\n}\n\n// Augment the AXValidationRuleOptionsMap\ndeclare module '../validation.types' {\n interface AXValidationRuleOptionsMap {\n regex: AXRegexValidationRuleOptions;\n }\n}\n\n@Injectable()\nexport class AXRegexValidationRule implements AXValidationRule {\n private traslationService = inject(AXTranslationService);\n\n get name(): string {\n return 'regex';\n }\n\n async validate(\n value: string,\n options: AXRegexValidationRuleOptions\n ): Promise<AXValidationRuleResult> {\n // Convert string pattern to RegExp if necessary\n const regexPattern =\n typeof options.pattern === 'string'\n ? new RegExp(options.pattern)\n : options.pattern;\n\n if (!value || (isString(value) && isEmpty(value.trim()))) {\n return {\n rule: this.name,\n result: true,\n message: null,\n value: value,\n };\n } else if (!isString(value)) {\n return {\n rule: this.name,\n result: false,\n message: `${value} is not string value.`,\n value: value,\n };\n }\n\n const isValid = regexPattern.test(value);\n const translatedMessage = await this.traslationService.translateAsync(\n options?.message ??\n `The value does not match the pattern ${regexPattern}.`,\n { params: { title: options?.['title'] } }\n );\n return {\n rule: this.name,\n result: isValid,\n message: isValid ? null : translatedMessage,\n value: value,\n };\n }\n}\n","import {\n find,\n isArray,\n isEmpty,\n isNull,\n isNumber,\n isString,\n isUndefined,\n} from 'lodash-es';\nimport {\n AXValidationRule,\n AXValidationRuleOptions,\n AXValidationRuleResult,\n} from '../validation.types';\nimport { Injectable, inject } from '@angular/core';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { firstValueFrom, lastValueFrom } from 'rxjs';\n\nexport interface AXRequiredValidationRuleOptions\n extends AXValidationRuleOptions {}\n\n// Augment the AXValidationRuleOptionsMap\ndeclare module '../validation.types' {\n interface AXValidationRuleOptionsMap {\n required: AXRequiredValidationRuleOptions;\n }\n}\n\n@Injectable()\nexport class AXRequiredValidationRule implements AXValidationRule {\n private traslationService = inject(AXTranslationService);\n\n get name(): string {\n return 'required';\n }\n\n async validate(\n value?: unknown,\n options?: AXRequiredValidationRuleOptions\n ): Promise<AXValidationRuleResult> {\n const rules = [\n { test: (val) => isNull(val) || isUndefined(val) },\n { test: (val) => isString(val) && isEmpty(val.trim()) },\n { test: (val) => isNumber(val) && isNaN(val) },\n { test: (val) => isArray(val) && isEmpty(val) },\n ];\n\n const failedRule = find(rules, (rule) => rule.test(value));\n const isValid = !failedRule;\n const translatedMessage = await this.traslationService.translateAsync(\n 'validation.messages.required',\n { params: { title: options?.['title'] } }\n );\n const message = failedRule ? options?.message ?? translatedMessage : null;\n\n return {\n rule: this.name,\n result: isValid,\n message: message,\n value,\n };\n }\n}\n","// ax-max-length-validation-rule.ts\nimport { Injectable } from '@angular/core';\nimport {\n AXValidationRule,\n AXValidationRuleOptions,\n AXValidationRuleResult,\n} from '../validation.types';\n\nexport interface AXLengthValidationRuleOptions extends AXValidationRuleOptions {\n min: number;\n max: number;\n}\n\ndeclare module '../validation.types' {\n interface AXValidationRuleOptionsMap {\n length: AXLengthValidationRuleOptions;\n }\n}\n\n@Injectable()\nexport class AXLengthValidationRule implements AXValidationRule {\n get name(): string {\n return 'length';\n }\n\n async validate(\n value: string,\n options: AXLengthValidationRuleOptions\n ): Promise<AXValidationRuleResult> {\n const isValid =\n value?.length >= options.min && value?.length <= options.max;\n return {\n rule: this.name,\n result: isValid,\n message: isValid\n ? null\n : options?.message ??\n `The value must be between ${options.min} and ${options.max} chars`,\n value: value,\n };\n }\n}\n","// ax-max-length-validation-rule.ts\nimport { isEmpty } from 'lodash-es';\nimport {\n AXValidationRule,\n AXValidationRuleOptions,\n AXValidationRuleResult,\n} from '../validation.types';\nimport { Injectable } from '@angular/core';\n\nexport interface AXMaxLengthValidationRuleOptions\n extends AXValidationRuleOptions {\n value: number;\n}\n\ndeclare module '../validation.types' {\n interface AXValidationRuleOptionsMap {\n maxLength: AXMaxLengthValidationRuleOptions;\n }\n}\n\n@Injectable()\nexport class AXMaxLengthValidationRule implements AXValidationRule {\n get name(): string {\n return 'maxLength';\n }\n\n async validate(\n value: string,\n options: AXMaxLengthValidationRuleOptions\n ): Promise<AXValidationRuleResult> {\n const isValid = isEmpty(value) ? true : value?.length <= options.value;\n return {\n rule: this.name,\n result: isValid,\n message: isValid\n ? ''\n : options?.message ??\n `The value must not exceed ${options.value} characters.`,\n value: value,\n };\n }\n}\n","import { isEmpty } from 'lodash-es';\nimport {\n AXValidationRule,\n AXValidationRuleOptions,\n AXValidationRuleResult,\n} from '../validation.types';\nimport { Injectable } from '@angular/core';\n\nexport interface AXMinLengthValidationRuleOptions\n extends AXValidationRuleOptions {\n value: number;\n}\n\ndeclare module '../validation.types' {\n interface AXValidationRuleOptionsMap {\n minLength: AXMinLengthValidationRuleOptions;\n }\n}\n\n@Injectable()\nexport class AXMinLengthValidationRule implements AXValidationRule {\n get name(): string {\n return 'minLength';\n }\n\n async validate(\n value: string,\n options: AXMinLengthValidationRuleOptions\n ): Promise<AXValidationRuleResult> {\n const isValid = isEmpty(value) ? true : value?.length >= options.value;\n return {\n rule: this.name,\n result: isValid,\n message: isValid\n ? ''\n : options?.message ??\n `The value must be at least ${options.value} characters long.`,\n value: value,\n };\n }\n}\n","import { isEmpty } from 'lodash-es';\nimport {\n AXValidationRule,\n AXValidationRuleOptions,\n AXValidationRuleResult,\n} from '../validation.types';\nimport { Injectable } from '@angular/core';\n\nexport interface AXBetweenValidationRuleOptions<T = number | Date>\n extends AXValidationRuleOptions {\n lowerValue: T;\n upperValue: T;\n inclusive?: boolean; // Optional flag for inclusiveness\n}\n\ndeclare module '../validation.types' {\n interface AXValidationRuleOptionsMap {\n between: AXBetweenValidationRuleOptions;\n }\n}\n\n@Injectable()\nexport class AXBetweenValidationRule<T = number | Date>\n implements AXValidationRule\n{\n get name(): string {\n return 'between';\n }\n\n async validate(\n value: T,\n options: AXBetweenValidationRuleOptions<T>\n ): Promise<AXValidationRuleResult> {\n let isValid;\n if (options.inclusive) {\n isValid = value >= options.lowerValue && value <= options.upperValue;\n } else {\n isValid = value > options.lowerValue && value < options.upperValue;\n }\n\n const rangeType = options.inclusive ? 'inclusive' : 'exclusive';\n const baseMessage = `The value must be within the ${rangeType} range of ${options.lowerValue} to ${options.upperValue}.`;\n\n return {\n rule: this.name,\n result: isValid || isEmpty(value),\n message: isValid ? '' : options?.message ?? baseMessage,\n value: value,\n };\n }\n}\n","// ax-equal-validation-rule.ts\nimport { isEqual } from 'lodash-es';\nimport {\n AXValidationRule,\n AXValidationRuleOptions,\n AXValidationRuleResult,\n} from '../validation.types';\nimport { Injectable } from '@angular/core';\n\nexport interface AXEqualValidationRuleOptions extends AXValidationRuleOptions {\n value: any;\n not?: boolean; // Optional flag to invert the validation logic\n}\n\ndeclare module '../validation.types' {\n interface AXValidationRuleOptionsMap {\n equal: AXEqualValidationRuleOptions;\n }\n}\n@Injectable()\nexport class AXEqualValidationRule implements AXValidationRule {\n get name(): string {\n return 'equal';\n }\n\n async validate(\n value: any,\n options: AXEqualValidationRuleOptions\n ): Promise<AXValidationRuleResult> {\n const isValueEqual = isEqual(value, options.value);\n const isValid = options.not ? !isValueEqual : isValueEqual;\n\n const defaultMessage = `The value must ${\n options.not ? 'not ' : ''\n }be equal to ${options.value}.`;\n return {\n rule: this.name,\n result: isValid,\n message: isValid ? '' : options?.message ?? defaultMessage,\n value: value,\n };\n }\n}\n","// ax-greater-than-validation-rule.ts\nimport { isNull, isUndefined } from 'lodash-es';\nimport {\n AXValidationRule,\n AXValidationRuleOptions,\n AXValidationRuleResult,\n} from '../validation.types';\nimport { Injectable } from '@angular/core';\n\nexport interface AXGreaterThanValidationRuleOptions\n extends AXValidationRuleOptions {\n value: number;\n inclusive?: boolean; // Optional flag for inclusiveness\n}\n\ndeclare module '../validation.types' {\n interface AXValidationRuleOptionsMap {\n greaterThan: AXGreaterThanValidationRuleOptions;\n }\n}\n\n@Injectable()\nexport class AXGreaterThanValidationRule implements AXValidationRule {\n get name(): string {\n return 'greaterThan';\n }\n\n async validate(\n value: number,\n options: AXGreaterThanValidationRuleOptions\n ): Promise<AXValidationRuleResult> {\n const isValid =\n isNull(value) || isUndefined(value)\n ? true\n : options.inclusive\n ? value >= options.value\n : value > options.value;\n const baseMessage = `The value must be ${\n options.inclusive ? 'greater than or equal to' : 'greater than'\n } ${options.value}.`;\n\n return {\n rule: this.name,\n result: isValid,\n message: isValid ? '' : options?.message ?? baseMessage,\n value: value,\n };\n }\n}\n","// ax-less-than-validation-rule.ts\nimport { isNull, isUndefined } from 'lodash-es';\nimport {\n AXValidationRule,\n AXValidationRuleOptions,\n AXValidationRuleResult,\n} from '../validation.types';\nimport { Injectable } from '@angular/core';\n\nexport interface AXLessThanValidationRuleOptions\n extends AXValidationRuleOptions {\n value: number;\n inclusive?: boolean; // Optional flag for inclusiveness\n}\n\ndeclare module '../validation.types' {\n interface AXValidationRuleOptionsMap {\n lessThan: AXLessThanValidationRuleOptions;\n }\n}\n\n@Injectable()\nexport class AXLessThanValidationRule implements AXValidationRule {\n get name(): string {\n return 'lessThan';\n }\n\n async validate(\n value: number,\n options: AXLessThanValidationRuleOptions\n ): Promise<AXValidationRuleResult> {\n const isValid =\n isNull(value) || isUndefined(value)\n ? true\n : options.inclusive\n ? value <= options.value\n : value < options.value;\n const baseMessage = `The value must be ${\n options.inclusive ? 'less than or equal to' : 'less than'\n } ${options.value}.`;\n\n return {\n rule: this.name,\n result: isValid,\n message: isValid ? '' : options?.message ?? baseMessage,\n value: value,\n };\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport {\n AXValidationRuleOptions,\n AXValidationRuleOptionsMap,\n} from './validation.types';\n\nexport type AXValidationConfigRules = {\n [key: string]: {\n rule: keyof AXValidationRuleOptionsMap;\n options: AXValidationRuleOptions;\n };\n};\n\nexport interface AXValidationConfig {\n rules: AXValidationConfigRules;\n}\n\nexport const AX_VALIDATION_CONFIG = new InjectionToken<AXValidationConfig>(\n 'AX_VALIDATION_CONFIG',\n {\n providedIn: 'root',\n factory: () => {\n return AXValidationDefaultConfig;\n },\n }\n);\n\nexport const AXValidationDefaultConfig: AXValidationConfig = {\n rules: {\n email: {\n rule: 'regex',\n options: {\n pattern:\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n message: 'validation.messages.email',\n },\n },\n phone: {\n rule: 'regex',\n options: {\n pattern: /^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$/,\n message: 'validation.messages.phone',\n },\n },\n },\n};\n\nexport type AXPartialValidationConfig = Partial<AXValidationConfig>;\n\nexport function validationConfig(\n config: AXPartialValidationConfig = {}\n): AXValidationConfig {\n const result = {\n ...AXValidationDefaultConfig,\n ...config,\n };\n return result;\n}\n","import { Injectable, Injector, inject } from '@angular/core';\nimport {\n AXValidationRule,\n AXValidationRuleOptions,\n AXValidationRuleOptionsMap,\n AXValidationRuleResult,\n AXValidationSummary,\n} from './validation.types';\nimport {\n AXValidationConfigRules,\n AX_VALIDATION_CONFIG,\n} from './validation.config';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { merge } from 'lodash-es';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXValidationRegistryService {\n private plugins: AXValidationRule[] = [];\n\n private configs = inject(AX_VALIDATION_CONFIG);\n\n public get customRules(): AXValidationConfigRules {\n return this.configs.rules;\n }\n\n private injector: Injector;\n\n constructor(injector: Injector) {\n this.injector = injector;\n }\n\n register(...plugins: (new () => AXValidationRule)[]) {\n plugins.forEach((t) => {\n const childInjector = Injector.create({\n providers: [{ provide: t, useClass: t, deps: [] }],\n parent: this.injector,\n });\n const v = childInjector.get(t);\n\n if (v && !this.plugins.some((p) => p.name == v.name)) {\n this.plugins.push(v);\n }\n });\n }\n\n get(ruleName: string): AXValidationRule | undefined {\n return this.plugins.find((c) => c.name == ruleName);\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class AXValidationService {\n constructor(\n private pluginRegistry: AXValidationRegistryService,\n private translationService: AXTranslationService\n ) {}\n\n async validate(\n ruleName: string,\n value: unknown,\n options?: AXValidationRuleOptions\n ): Promise<AXValidationRuleResult> {\n const customRule = this.pluginRegistry.customRules[ruleName];\n const validator = this.pluginRegistry.get(ruleName);\n\n if (!validator && !customRule) {\n return {\n rule: ruleName,\n result: false,\n message: await this.translationService.translateAsync(\n 'validation.messages.invalid-rull-name',\n { params: { name: ruleName } }\n ),\n value,\n };\n }\n\n if (options?.message) {\n options.message = await this.translationService.translateAsync(\n options.message\n );\n }\n //\n if (validator) return validator.validate(value, options);\n else {\n return this.validate(\n customRule.rule,\n value,\n merge(options, customRule.options)\n );\n }\n }\n\n ruleFor(value: unknown): AXValidationRuleChain {\n return new AXValidationRuleChain(this, value);\n }\n}\n\nclass AXValidationRuleChain {\n private rules: { name: string; options?: AXValidationRuleOptions }[] = [];\n private validationSummary: AXValidationSummary = { result: true, rules: [] };\n\n constructor(\n private validationService: AXValidationService,\n private initialValue: unknown\n ) {}\n\n addRule<K extends keyof AXValidationRuleOptionsMap>(\n name: K,\n options?: AXValidationRuleOptionsMap[K]\n ): AXValidationRuleChain {\n this.rules.push({ name, options });\n return this;\n }\n\n async validate(): Promise<AXValidationSummary> {\n for (const rule of this.rules) {\n const result = await this.validationService.validate(\n rule.name,\n this.initialValue,\n rule.options\n );\n this.validationSummary.rules.push(result);\n if (!result.result) {\n this.validationSummary.result = false;\n }\n }\n return this.validationSummary;\n }\n}\n","import {\n APP_INITIALIZER,\n Inject,\n Injector,\n ModuleWithProviders,\n NgModule,\n} from '@angular/core';\nimport { AXValidationRegistryService } from './validation.service';\nimport { AXValidationRule } from './validation.types';\nimport { AXRegexValidationRule } from './rules/regex-rule';\nimport { AXRequiredValidationRule } from './rules/required-rule';\nimport { AXCallbackValidationRule } from './rules/callback-rule';\nimport { AXMinLengthValidationRule } from './rules/minlength-rule';\nimport { AXMaxLengthValidationRule } from './rules/maxlength-rule';\nimport { AXLengthValidationRule } from './rules/length-rule';\nimport { AXEqualValidationRule } from './rules/equal-rule';\nimport { AXLessThanValidationRule } from './rules/less-than-rule';\nimport { AXGreaterThanValidationRule } from './rules/greater-than';\nimport { AXBetweenValidationRule } from './rules/between-rule';\n\nconst BUILT_IN_RULES = [\n AXRequiredValidationRule,\n AXRegexValidationRule,\n AXRequiredValidationRule,\n AXCallbackValidationRule,\n //\n AXMinLengthValidationRule,\n AXMaxLengthValidationRule,\n AXLengthValidationRule,\n //\n AXEqualValidationRule,\n AXLessThanValidationRule,\n AXGreaterThanValidationRule,\n AXBetweenValidationRule,\n];\n\nexport interface AXValidationModuleConfigs {\n rules: (new () => AXValidationRule)[];\n}\n\n@NgModule({\n imports: [],\n providers: [...BUILT_IN_RULES],\n})\nexport class AXValidationModule {\n static forRoot(\n configs?: AXValidationModuleConfigs\n ): ModuleWithProviders<AXValidationModule> {\n return {\n ngModule: AXValidationModule,\n providers: [\n ...(configs?.rules || []),\n {\n provide: 'AXValidationModuleFactory',\n useFactory: (pluginRegistry: AXValidationRegistryService) => () => {\n pluginRegistry.register(\n ...[...BUILT_IN_RULES, ...(configs?.rules || [])]\n );\n },\n deps: [AXValidationRegistryService],\n multi: true,\n },\n ],\n };\n }\n\n static forChild(\n configs?: AXValidationModuleConfigs\n ): ModuleWithProviders<AXValidationModule> {\n return {\n ngModule: AXValidationModule,\n providers: [\n ...(configs?.rules || []),\n {\n provide: 'AXValidationModuleFactory',\n useFactory: (pluginRegistry: AXValidationRegistryService) => () => {\n pluginRegistry.register(\n ...[...BUILT_IN_RULES, ...(configs?.rules || [])]\n );\n },\n deps: [AXValidationRegistryService],\n multi: true,\n },\n ],\n };\n }\n\n /**\n * @ignore\n */\n constructor(@Inject('AXValidationModuleFactory') instances: any[]) {\n instances.forEach((f) => {\n f();\n });\n }\n}\n","export interface AXValidationRuleOptions {\n message?: string;\n [key: string]: unknown;\n}\n\nexport interface AXValidationRuleOptionsMap {\n // initially empty, but will be extended by other modules\n}\n\nexport abstract class AXValidationRule {\n abstract get name(): string;\n abstract validate(\n value: unknown,\n options?: AXValidationRuleOptions\n ): Promise<AXValidationRuleResult>;\n}\n\nexport interface AXValidationRuleResult {\n rule: string;\n value?: unknown;\n message?: string | null;\n result: boolean;\n [key: string]: unknown;\n}\n\nexport interface AXValidationSummary {\n result: boolean;\n rules: AXValidationRuleResult[];\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
- var index = {};
1
+ const AX_CORE = 'ACOREX_CORE';
2
2
 
3
3
  /**
4
4
  * Generated bundle index. Do not edit.
5
5
  */
6
+
7
+ export { AX_CORE };
6
8
  //# sourceMappingURL=acorex-core.mjs.map