@yelon/util 17.3.2 → 18.0.0

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 (236) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +27 -27
  3. package/array/array-type.service.d.ts +68 -68
  4. package/array/array.service.d.ts +78 -78
  5. package/array/index.d.ts +2 -2
  6. package/browser/cookie.service.d.ts +64 -64
  7. package/browser/copy.d.ts +6 -6
  8. package/browser/index.d.ts +5 -5
  9. package/browser/is-empty.d.ts +6 -6
  10. package/browser/scroll.service.d.ts +34 -34
  11. package/browser/style.d.ts +21 -21
  12. package/config/abc/cell.type.d.ts +118 -118
  13. package/config/abc/date-picker.type.d.ts +52 -52
  14. package/config/abc/error-collect.type.d.ts +10 -10
  15. package/config/abc/exception.type.d.ts +9 -9
  16. package/config/abc/image.type.d.ts +15 -15
  17. package/config/abc/index.d.ts +17 -18
  18. package/config/abc/loading.type.d.ts +31 -31
  19. package/config/abc/lodop.type.d.ts +33 -33
  20. package/config/abc/media.type.d.ts +11 -11
  21. package/config/abc/onboarding.type.d.ts +4 -4
  22. package/config/abc/page-header.type.d.ts +39 -39
  23. package/config/abc/pdf.type.d.ts +35 -35
  24. package/config/abc/se.type.d.ts +32 -32
  25. package/config/abc/sg.type.d.ts +10 -10
  26. package/config/abc/st.type.d.ts +465 -465
  27. package/config/abc/sv.type.d.ts +14 -14
  28. package/config/abc/xlsx.type.d.ts +12 -12
  29. package/config/abc/zip.type.d.ts +10 -10
  30. package/config/acl/acl.type.d.ts +32 -32
  31. package/config/auth/auth.type.d.ts +51 -51
  32. package/config/bis/bis.type.d.ts +11 -11
  33. package/config/cache/cache.type.d.ts +66 -66
  34. package/config/chart/chart.type.d.ts +33 -33
  35. package/config/config.service.d.ts +13 -13
  36. package/config/config.types.d.ts +51 -52
  37. package/config/index.d.ts +14 -14
  38. package/config/mock/mock.type.d.ts +14 -14
  39. package/config/sf/sf.type.d.ts +133 -133
  40. package/config/socket/socket.type.d.ts +4 -4
  41. package/config/theme/http.type.d.ts +15 -15
  42. package/config/theme/i18n.type.d.ts +14 -14
  43. package/config/theme/index.d.ts +3 -3
  44. package/config/theme/pipe.type.d.ts +3 -3
  45. package/config/theme/responsive.type.d.ts +12 -12
  46. package/config/util/array.type.d.ts +22 -22
  47. package/config/util/currency.type.d.ts +39 -39
  48. package/date-time/index.d.ts +2 -2
  49. package/date-time/picker.d.ts +68 -68
  50. package/date-time/time.d.ts +39 -39
  51. package/decorator/convert.d.ts +32 -32
  52. package/decorator/index.d.ts +2 -2
  53. package/decorator/zone-outside.d.ts +35 -35
  54. package/esm2022/array/array-type.service.mjs +1 -1
  55. package/esm2022/array/array.mjs +4 -4
  56. package/esm2022/array/array.service.mjs +277 -277
  57. package/esm2022/array/index.mjs +2 -2
  58. package/esm2022/browser/browser.mjs +4 -4
  59. package/esm2022/browser/cookie.service.mjs +99 -99
  60. package/esm2022/browser/copy.mjs +27 -27
  61. package/esm2022/browser/index.mjs +5 -5
  62. package/esm2022/browser/is-empty.mjs +18 -18
  63. package/esm2022/browser/scroll.service.mjs +84 -84
  64. package/esm2022/browser/style.mjs +37 -37
  65. package/esm2022/config/abc/cell.type.mjs +1 -1
  66. package/esm2022/config/abc/date-picker.type.mjs +1 -1
  67. package/esm2022/config/abc/error-collect.type.mjs +1 -1
  68. package/esm2022/config/abc/exception.type.mjs +1 -1
  69. package/esm2022/config/abc/image.type.mjs +1 -1
  70. package/esm2022/config/abc/index.mjs +18 -19
  71. package/esm2022/config/abc/loading.type.mjs +1 -1
  72. package/esm2022/config/abc/lodop.type.mjs +1 -1
  73. package/esm2022/config/abc/media.type.mjs +1 -1
  74. package/esm2022/config/abc/onboarding.type.mjs +1 -1
  75. package/esm2022/config/abc/page-header.type.mjs +1 -1
  76. package/esm2022/config/abc/pdf.type.mjs +1 -1
  77. package/esm2022/config/abc/se.type.mjs +1 -1
  78. package/esm2022/config/abc/sg.type.mjs +1 -1
  79. package/esm2022/config/abc/st.type.mjs +1 -1
  80. package/esm2022/config/abc/sv.type.mjs +2 -2
  81. package/esm2022/config/abc/xlsx.type.mjs +1 -1
  82. package/esm2022/config/abc/zip.type.mjs +1 -1
  83. package/esm2022/config/acl/acl.type.mjs +1 -1
  84. package/esm2022/config/auth/auth.type.mjs +1 -1
  85. package/esm2022/config/bis/bis.type.mjs +1 -1
  86. package/esm2022/config/cache/cache.type.mjs +1 -1
  87. package/esm2022/config/chart/chart.type.mjs +1 -1
  88. package/esm2022/config/config.mjs +4 -4
  89. package/esm2022/config/config.service.mjs +37 -37
  90. package/esm2022/config/config.types.mjs +12 -12
  91. package/esm2022/config/index.mjs +14 -14
  92. package/esm2022/config/mock/mock.type.mjs +1 -1
  93. package/esm2022/config/sf/sf.type.mjs +1 -1
  94. package/esm2022/config/socket/socket.type.mjs +1 -1
  95. package/esm2022/config/theme/http.type.mjs +1 -1
  96. package/esm2022/config/theme/i18n.type.mjs +1 -1
  97. package/esm2022/config/theme/index.mjs +3 -3
  98. package/esm2022/config/theme/pipe.type.mjs +1 -1
  99. package/esm2022/config/theme/responsive.type.mjs +1 -1
  100. package/esm2022/config/util/array.type.mjs +1 -1
  101. package/esm2022/config/util/currency.type.mjs +1 -1
  102. package/esm2022/date-time/date-time.mjs +4 -4
  103. package/esm2022/date-time/index.mjs +2 -2
  104. package/esm2022/date-time/picker.mjs +115 -115
  105. package/esm2022/date-time/time.mjs +100 -100
  106. package/esm2022/decorator/convert.mjs +65 -65
  107. package/esm2022/decorator/decorator.mjs +4 -4
  108. package/esm2022/decorator/index.mjs +2 -2
  109. package/esm2022/decorator/zone-outside.mjs +56 -56
  110. package/esm2022/form/form.mjs +4 -4
  111. package/esm2022/form/index.mjs +2 -2
  112. package/esm2022/form/match-control.mjs +29 -29
  113. package/esm2022/form/validators.mjs +80 -80
  114. package/esm2022/format/currency.service.mjs +232 -232
  115. package/esm2022/format/currency.types.mjs +7 -7
  116. package/esm2022/format/format.mjs +4 -4
  117. package/esm2022/format/index.mjs +4 -4
  118. package/esm2022/format/string.mjs +84 -84
  119. package/esm2022/format/validate.mjs +93 -93
  120. package/esm2022/index.mjs +13 -13
  121. package/esm2022/math/in-range.mjs +24 -24
  122. package/esm2022/math/index.mjs +2 -2
  123. package/esm2022/math/math.mjs +4 -4
  124. package/esm2022/math/round.mjs +52 -52
  125. package/esm2022/mcache/index.mjs +1 -1
  126. package/esm2022/mcache/localStorageUtils.mjs +58 -58
  127. package/esm2022/mcache/mcache.mjs +4 -4
  128. package/esm2022/mtypes/authority.type.mjs +1 -1
  129. package/esm2022/mtypes/header-menu.type.mjs +1 -1
  130. package/esm2022/mtypes/index.mjs +9 -9
  131. package/esm2022/mtypes/menu.type.mjs +1 -1
  132. package/esm2022/mtypes/mtypes.mjs +4 -4
  133. package/esm2022/mtypes/nav.types.mjs +8 -8
  134. package/esm2022/mtypes/page.mjs +41 -41
  135. package/esm2022/mtypes/project-info.types.mjs +1 -1
  136. package/esm2022/mtypes/response.mjs +1 -1
  137. package/esm2022/mtypes/role.type.mjs +1 -1
  138. package/esm2022/mtypes/user.types.mjs +1 -1
  139. package/esm2022/other/assert.mjs +66 -66
  140. package/esm2022/other/deep.mjs +77 -77
  141. package/esm2022/other/favicon.mjs +28 -28
  142. package/esm2022/other/index.mjs +7 -7
  143. package/esm2022/other/lazy.service.mjs +128 -128
  144. package/esm2022/other/logger.mjs +32 -32
  145. package/esm2022/other/other.mjs +4 -4
  146. package/esm2022/other/path-to-regexp.service.mjs +238 -238
  147. package/esm2022/other/resize.mjs +3 -3
  148. package/esm2022/pipes/currency/cny.pipe.mjs +22 -22
  149. package/esm2022/pipes/currency/index.mjs +4 -4
  150. package/esm2022/pipes/currency/mega.pipe.mjs +24 -24
  151. package/esm2022/pipes/currency/module.mjs +18 -18
  152. package/esm2022/pipes/currency/pipe-currency.mjs +4 -4
  153. package/esm2022/pipes/currency/price.pipe.mjs +26 -26
  154. package/esm2022/pipes/filter/filter.pipe.mjs +19 -19
  155. package/esm2022/pipes/filter/index.mjs +2 -2
  156. package/esm2022/pipes/filter/module.mjs +16 -16
  157. package/esm2022/pipes/filter/pipe-filter.mjs +4 -4
  158. package/esm2022/pipes/format/index.mjs +2 -2
  159. package/esm2022/pipes/format/mask.pipe.mjs +33 -33
  160. package/esm2022/pipes/format/module.mjs +16 -16
  161. package/esm2022/pipes/format/pipe-format.mjs +4 -4
  162. package/esm2022/pipes/index.mjs +3 -3
  163. package/esm2022/pipes/pipes.mjs +4 -4
  164. package/esm2022/token/index.mjs +2 -2
  165. package/esm2022/token/page-visibility.mjs +14 -14
  166. package/esm2022/token/token.mjs +4 -4
  167. package/esm2022/token/window.mjs +16 -16
  168. package/esm2022/yelon-util.mjs +4 -4
  169. package/fesm2022/array.mjs +285 -285
  170. package/fesm2022/browser.mjs +273 -273
  171. package/fesm2022/config.mjs +58 -58
  172. package/fesm2022/config.mjs.map +1 -1
  173. package/fesm2022/date-time.mjs +223 -223
  174. package/fesm2022/decorator.mjs +129 -129
  175. package/fesm2022/form.mjs +118 -118
  176. package/fesm2022/format.mjs +426 -426
  177. package/fesm2022/math.mjs +85 -85
  178. package/fesm2022/mcache.mjs +65 -65
  179. package/fesm2022/mtypes.mjs +57 -57
  180. package/fesm2022/other.mjs +583 -583
  181. package/fesm2022/pipe-currency.mjs +90 -90
  182. package/fesm2022/pipe-filter.mjs +41 -41
  183. package/fesm2022/pipe-format.mjs +55 -55
  184. package/fesm2022/pipes.mjs +8 -8
  185. package/fesm2022/token.mjs +37 -37
  186. package/fesm2022/yelon-util.mjs +18 -18
  187. package/form/index.d.ts +2 -2
  188. package/form/match-control.d.ts +15 -15
  189. package/form/validators.d.ts +62 -62
  190. package/format/currency.service.d.ts +38 -38
  191. package/format/currency.types.d.ts +82 -82
  192. package/format/index.d.ts +4 -4
  193. package/format/string.d.ts +44 -44
  194. package/format/validate.d.ts +72 -72
  195. package/index.d.ts +13 -13
  196. package/math/in-range.d.ts +14 -14
  197. package/math/index.d.ts +2 -2
  198. package/math/round.d.ts +33 -33
  199. package/mcache/index.d.ts +1 -1
  200. package/mcache/localStorageUtils.d.ts +18 -18
  201. package/mtypes/authority.type.d.ts +3 -3
  202. package/mtypes/header-menu.type.d.ts +13 -13
  203. package/mtypes/index.d.ts +9 -9
  204. package/mtypes/menu.type.d.ts +41 -41
  205. package/mtypes/nav.types.d.ts +29 -29
  206. package/mtypes/page.d.ts +47 -47
  207. package/mtypes/project-info.types.d.ts +22 -22
  208. package/mtypes/response.d.ts +7 -7
  209. package/mtypes/role.type.d.ts +10 -10
  210. package/mtypes/user.types.d.ts +22 -22
  211. package/other/assert.d.ts +36 -36
  212. package/other/deep.d.ts +35 -35
  213. package/other/favicon.d.ts +2 -2
  214. package/other/index.d.ts +7 -7
  215. package/other/lazy.service.d.ts +47 -47
  216. package/other/logger.d.ts +5 -5
  217. package/other/path-to-regexp.service.d.ts +27 -27
  218. package/other/resize.d.ts +1 -1
  219. package/package.json +135 -135
  220. package/pipes/currency/cny.pipe.d.ts +14 -14
  221. package/pipes/currency/index.d.ts +4 -4
  222. package/pipes/currency/mega.pipe.d.ts +15 -15
  223. package/pipes/currency/module.d.ts +9 -9
  224. package/pipes/currency/price.pipe.d.ts +18 -18
  225. package/pipes/filter/filter.pipe.d.ts +13 -13
  226. package/pipes/filter/index.d.ts +2 -2
  227. package/pipes/filter/module.d.ts +7 -7
  228. package/pipes/format/index.d.ts +2 -2
  229. package/pipes/format/mask.pipe.d.ts +27 -27
  230. package/pipes/format/module.d.ts +7 -7
  231. package/pipes/index.d.ts +3 -3
  232. package/token/index.d.ts +2 -2
  233. package/token/page-visibility.d.ts +8 -8
  234. package/token/window.d.ts +7 -7
  235. package/config/abc/qr.type.d.ts +0 -25
  236. package/esm2022/config/abc/qr.type.mjs +0 -2
@@ -1,129 +1,129 @@
1
- import { warn } from '@yelon/util/other';
2
-
3
- function propDecoratorFactory(name, fallback, defaultValue) {
4
- function propDecorator(target, propName, originalDescriptor) {
5
- const privatePropName = `$$__${propName}`;
6
- if (typeof ngDevMode === 'undefined' || ngDevMode) {
7
- if (Object.prototype.hasOwnProperty.call(target, privatePropName)) {
8
- warn(`The prop "${privatePropName}" is already exist, it will be overrided by ${name} decorator.`);
9
- }
10
- }
11
- Object.defineProperty(target, privatePropName, {
12
- configurable: true,
13
- writable: true
14
- });
15
- return {
16
- get() {
17
- return originalDescriptor && originalDescriptor.get
18
- ? originalDescriptor.get.bind(this)()
19
- : this[privatePropName];
20
- },
21
- set(value) {
22
- if (originalDescriptor && originalDescriptor.set) {
23
- originalDescriptor.set.bind(this)(fallback(value, defaultValue));
24
- }
25
- this[privatePropName] = fallback(value, defaultValue);
26
- }
27
- };
28
- }
29
- return propDecorator;
30
- }
31
- function toBoolean(value, defaultValue = false) {
32
- return value == null ? defaultValue : `${value}` !== 'false';
33
- }
34
- /**
35
- * @deprecated Recommended to use the built-in `transform` and `static ngAcceptInputType_` can be removed
36
- * - Use `@Input({ transform: booleanAttribute })` instead of `@InputBoolean()`
37
- * - Use `@Input({ transform: (v: unknown) => (v == null ? null : booleanAttribute(v)) })` instead of `@InputBoolean(null)`
38
- *
39
- * Input decorator that handle a prop to do get/set automatically with toBoolean
40
- *
41
- * ```ts
42
- * {AT}Input() {AT}InputBoolean() visible: boolean = false;
43
- * {AT}Input() {AT}InputBoolean(null) visible: boolean = false;
44
- * ```
45
- */
46
- function InputBoolean(defaultValue = false) {
47
- return propDecoratorFactory('InputBoolean', toBoolean, defaultValue);
48
- }
49
- function toNumber(value, fallbackValue = 0) {
50
- return !isNaN(parseFloat(value)) && !isNaN(Number(value)) ? Number(value) : fallbackValue;
51
- }
52
- /**
53
- * @deprecated Recommended to use the built-in `transform` and `static ngAcceptInputType_` can be removed
54
- * - Use `@Input({ transform: numberAttribute })` instead of `@InputNumber()`
55
- * - Use `@Input({ transform: (v: unknown) => (v == null ? null : numberAttribute(v)) })` instead of `@InputNumber(null)`
56
- *
57
- * Input decorator that handle a prop to do get/set automatically with toNumber
58
- *
59
- * ```ts
60
- * {AT}Input() {AT}InputNumber() visible: number = 1;
61
- * {AT}Input() {AT}InputNumber(null) visible: number = 2;
62
- * ```
63
- */
64
- function InputNumber(defaultValue = 0) {
65
- return propDecoratorFactory('InputNumber', toNumber, defaultValue);
66
- }
67
-
68
- function makeFn(type, options) {
69
- return (_, __, descriptor) => {
70
- const source = descriptor.value;
71
- descriptor.value = function (...data) {
72
- const that = this;
73
- const ngZone = that[options?.ngZoneName || 'ngZone'];
74
- if (!ngZone) {
75
- if (typeof ngDevMode === 'undefined' || ngDevMode) {
76
- warn(`ZoneOutside: Decorator should have 'ngZone' property with 'NgZone' class.`);
77
- }
78
- return source.call(this, ...data);
79
- }
80
- let res;
81
- ngZone[type](() => {
82
- res = source.call(this, ...data);
83
- });
84
- return res;
85
- };
86
- return descriptor;
87
- };
88
- }
89
- /**
90
- * The decoration method runs in `runOutsideAngular`
91
- *
92
- * 装饰方法运行在 `runOutsideAngular` 内
93
- *
94
- * ```ts
95
- * class MockClass {
96
- * readonly ngZone = inject(NgZone);
97
- *
98
- * {AT}ZoneOutside()
99
- * runOutsideAngular(): void {}
100
- * }
101
- * ```
102
- */
103
- function ZoneOutside(options) {
104
- return makeFn('runOutsideAngular', options);
105
- }
106
- /**
107
- * The decoration method runs in `run`
108
- *
109
- * 装饰方法运行在 `run` 内
110
- *
111
- * ```ts
112
- * class MockClass {
113
- * readonly ngZone = inject(NgZone);
114
- *
115
- * {AT}ZoneRun()
116
- * run(): void {}
117
- * }
118
- * ```
119
- */
120
- function ZoneRun(options) {
121
- return makeFn('run', options);
122
- }
123
-
124
- /**
125
- * Generated bundle index. Do not edit.
126
- */
127
-
128
- export { InputBoolean, InputNumber, ZoneOutside, ZoneRun, toBoolean, toNumber };
129
- //# sourceMappingURL=decorator.mjs.map
1
+ import { warn } from '@yelon/util/other';
2
+
3
+ function propDecoratorFactory(name, fallback, defaultValue) {
4
+ function propDecorator(target, propName, originalDescriptor) {
5
+ const privatePropName = `$$__${propName}`;
6
+ if (typeof ngDevMode === 'undefined' || ngDevMode) {
7
+ if (Object.prototype.hasOwnProperty.call(target, privatePropName)) {
8
+ warn(`The prop "${privatePropName}" is already exist, it will be overrided by ${name} decorator.`);
9
+ }
10
+ }
11
+ Object.defineProperty(target, privatePropName, {
12
+ configurable: true,
13
+ writable: true
14
+ });
15
+ return {
16
+ get() {
17
+ return originalDescriptor && originalDescriptor.get
18
+ ? originalDescriptor.get.bind(this)()
19
+ : this[privatePropName];
20
+ },
21
+ set(value) {
22
+ if (originalDescriptor && originalDescriptor.set) {
23
+ originalDescriptor.set.bind(this)(fallback(value, defaultValue));
24
+ }
25
+ this[privatePropName] = fallback(value, defaultValue);
26
+ }
27
+ };
28
+ }
29
+ return propDecorator;
30
+ }
31
+ function toBoolean(value, defaultValue = false) {
32
+ return value == null ? defaultValue : `${value}` !== 'false';
33
+ }
34
+ /**
35
+ * @deprecated Recommended to use the built-in `transform` and `static ngAcceptInputType_` can be removed
36
+ * - Use `@Input({ transform: booleanAttribute })` instead of `@InputBoolean()`
37
+ * - Use `@Input({ transform: (v: unknown) => (v == null ? null : booleanAttribute(v)) })` instead of `@InputBoolean(null)`
38
+ *
39
+ * Input decorator that handle a prop to do get/set automatically with toBoolean
40
+ *
41
+ * ```ts
42
+ * {AT}Input() {AT}InputBoolean() visible: boolean = false;
43
+ * {AT}Input() {AT}InputBoolean(null) visible: boolean = false;
44
+ * ```
45
+ */
46
+ function InputBoolean(defaultValue = false) {
47
+ return propDecoratorFactory('InputBoolean', toBoolean, defaultValue);
48
+ }
49
+ function toNumber(value, fallbackValue = 0) {
50
+ return !isNaN(parseFloat(value)) && !isNaN(Number(value)) ? Number(value) : fallbackValue;
51
+ }
52
+ /**
53
+ * @deprecated Recommended to use the built-in `transform` and `static ngAcceptInputType_` can be removed
54
+ * - Use `@Input({ transform: numberAttribute })` instead of `@InputNumber()`
55
+ * - Use `@Input({ transform: (v: unknown) => (v == null ? null : numberAttribute(v)) })` instead of `@InputNumber(null)`
56
+ *
57
+ * Input decorator that handle a prop to do get/set automatically with toNumber
58
+ *
59
+ * ```ts
60
+ * {AT}Input() {AT}InputNumber() visible: number = 1;
61
+ * {AT}Input() {AT}InputNumber(null) visible: number = 2;
62
+ * ```
63
+ */
64
+ function InputNumber(defaultValue = 0) {
65
+ return propDecoratorFactory('InputNumber', toNumber, defaultValue);
66
+ }
67
+
68
+ function makeFn(type, options) {
69
+ return (_, __, descriptor) => {
70
+ const source = descriptor.value;
71
+ descriptor.value = function (...data) {
72
+ const that = this;
73
+ const ngZone = that[options?.ngZoneName || 'ngZone'];
74
+ if (!ngZone) {
75
+ if (typeof ngDevMode === 'undefined' || ngDevMode) {
76
+ warn(`ZoneOutside: Decorator should have 'ngZone' property with 'NgZone' class.`);
77
+ }
78
+ return source.call(this, ...data);
79
+ }
80
+ let res;
81
+ ngZone[type](() => {
82
+ res = source.call(this, ...data);
83
+ });
84
+ return res;
85
+ };
86
+ return descriptor;
87
+ };
88
+ }
89
+ /**
90
+ * The decoration method runs in `runOutsideAngular`
91
+ *
92
+ * 装饰方法运行在 `runOutsideAngular` 内
93
+ *
94
+ * ```ts
95
+ * class MockClass {
96
+ * readonly ngZone = inject(NgZone);
97
+ *
98
+ * {AT}ZoneOutside()
99
+ * runOutsideAngular(): void {}
100
+ * }
101
+ * ```
102
+ */
103
+ function ZoneOutside(options) {
104
+ return makeFn('runOutsideAngular', options);
105
+ }
106
+ /**
107
+ * The decoration method runs in `run`
108
+ *
109
+ * 装饰方法运行在 `run` 内
110
+ *
111
+ * ```ts
112
+ * class MockClass {
113
+ * readonly ngZone = inject(NgZone);
114
+ *
115
+ * {AT}ZoneRun()
116
+ * run(): void {}
117
+ * }
118
+ * ```
119
+ */
120
+ function ZoneRun(options) {
121
+ return makeFn('run', options);
122
+ }
123
+
124
+ /**
125
+ * Generated bundle index. Do not edit.
126
+ */
127
+
128
+ export { InputBoolean, InputNumber, ZoneOutside, ZoneRun, toBoolean, toNumber };
129
+ //# sourceMappingURL=decorator.mjs.map
package/fesm2022/form.mjs CHANGED
@@ -1,118 +1,118 @@
1
- import { isNum, isInt, isDecimal, isIdCard, isMobile, isUrl, isIp, isColor, isChinese } from '@yelon/util/format';
2
-
3
- /**
4
- * A set of validators for reactive forms
5
- *
6
- * 一套用于响应式表单的验证器
7
- */
8
- class _Validators {
9
- /**
10
- * Wheter is number
11
- *
12
- * 是否为数字
13
- */
14
- static num(control) {
15
- return isNum(control.value) ? null : { num: true };
16
- }
17
- /**
18
- * Wheter is integer
19
- *
20
- * 是否为整数
21
- */
22
- static int(control) {
23
- return isInt(control.value) ? null : { int: true };
24
- }
25
- /**
26
- * Wheter is decimal
27
- *
28
- * 是否为小数点数值
29
- */
30
- static decimal(control) {
31
- return isDecimal(control.value) ? null : { decimal: true };
32
- }
33
- /**
34
- * Wheter is People's Republic of China identity card
35
- *
36
- * 是否为中华人民共和国居民身份证
37
- */
38
- static idCard(control) {
39
- return isIdCard(control.value) ? null : { idCard: true };
40
- }
41
- /**
42
- * Wheter is china mobile (China)
43
- *
44
- * 是否为手机号(中国)
45
- */
46
- static mobile(control) {
47
- return isMobile(control.value) ? null : { mobile: true };
48
- }
49
- /**
50
- * Wheter is url address
51
- *
52
- * 是否URL地址
53
- */
54
- static url(control) {
55
- return isUrl(control.value) ? null : { url: true };
56
- }
57
- /**
58
- * Wheter is IPv4 address (Support v4, v6)
59
- *
60
- * 是否IP4地址(支持v4、v6)
61
- */
62
- static ip(control) {
63
- return isIp(control.value) ? null : { ip: true };
64
- }
65
- /**
66
- * Wheter is color
67
- *
68
- * 是否颜色代码值
69
- */
70
- static color(control) {
71
- return isColor(control.value) ? null : { color: true };
72
- }
73
- /**
74
- * Wheter is chinese
75
- *
76
- * 是否中文
77
- */
78
- static chinese(control) {
79
- return isChinese(control.value) ? null : { chinese: true };
80
- }
81
- }
82
-
83
- /**
84
- * Match two control values
85
- *
86
- * 匹配两个控件值
87
- * ```ts
88
- * this.form = new FormGroup({
89
- * pwd: new FormControl(''),
90
- * repwd: new FormControl(''),
91
- * }, {
92
- * validators: MatchControl('pwd', 'repwd'),
93
- * });
94
- * ```
95
- */
96
- function MatchControl(controlName, matchingControlName) {
97
- return (formGroup) => {
98
- const control = formGroup.get(controlName);
99
- const matchingControl = formGroup.get(matchingControlName);
100
- if (matchingControl.errors && !matchingControl.errors.matchControl) {
101
- return null;
102
- }
103
- if (control.value !== matchingControl.value) {
104
- matchingControl.setErrors({ matchControl: true });
105
- }
106
- else {
107
- matchingControl.setErrors(null);
108
- }
109
- return null;
110
- };
111
- }
112
-
113
- /**
114
- * Generated bundle index. Do not edit.
115
- */
116
-
117
- export { MatchControl, _Validators };
118
- //# sourceMappingURL=form.mjs.map
1
+ import { isNum, isInt, isDecimal, isIdCard, isMobile, isUrl, isIp, isColor, isChinese } from '@yelon/util/format';
2
+
3
+ /**
4
+ * A set of validators for reactive forms
5
+ *
6
+ * 一套用于响应式表单的验证器
7
+ */
8
+ class _Validators {
9
+ /**
10
+ * Wheter is number
11
+ *
12
+ * 是否为数字
13
+ */
14
+ static num(control) {
15
+ return isNum(control.value) ? null : { num: true };
16
+ }
17
+ /**
18
+ * Wheter is integer
19
+ *
20
+ * 是否为整数
21
+ */
22
+ static int(control) {
23
+ return isInt(control.value) ? null : { int: true };
24
+ }
25
+ /**
26
+ * Wheter is decimal
27
+ *
28
+ * 是否为小数点数值
29
+ */
30
+ static decimal(control) {
31
+ return isDecimal(control.value) ? null : { decimal: true };
32
+ }
33
+ /**
34
+ * Wheter is People's Republic of China identity card
35
+ *
36
+ * 是否为中华人民共和国居民身份证
37
+ */
38
+ static idCard(control) {
39
+ return isIdCard(control.value) ? null : { idCard: true };
40
+ }
41
+ /**
42
+ * Wheter is china mobile (China)
43
+ *
44
+ * 是否为手机号(中国)
45
+ */
46
+ static mobile(control) {
47
+ return isMobile(control.value) ? null : { mobile: true };
48
+ }
49
+ /**
50
+ * Wheter is url address
51
+ *
52
+ * 是否URL地址
53
+ */
54
+ static url(control) {
55
+ return isUrl(control.value) ? null : { url: true };
56
+ }
57
+ /**
58
+ * Wheter is IPv4 address (Support v4, v6)
59
+ *
60
+ * 是否IP4地址(支持v4、v6)
61
+ */
62
+ static ip(control) {
63
+ return isIp(control.value) ? null : { ip: true };
64
+ }
65
+ /**
66
+ * Wheter is color
67
+ *
68
+ * 是否颜色代码值
69
+ */
70
+ static color(control) {
71
+ return isColor(control.value) ? null : { color: true };
72
+ }
73
+ /**
74
+ * Wheter is chinese
75
+ *
76
+ * 是否中文
77
+ */
78
+ static chinese(control) {
79
+ return isChinese(control.value) ? null : { chinese: true };
80
+ }
81
+ }
82
+
83
+ /**
84
+ * Match two control values
85
+ *
86
+ * 匹配两个控件值
87
+ * ```ts
88
+ * this.form = new FormGroup({
89
+ * pwd: new FormControl(''),
90
+ * repwd: new FormControl(''),
91
+ * }, {
92
+ * validators: MatchControl('pwd', 'repwd'),
93
+ * });
94
+ * ```
95
+ */
96
+ function MatchControl(controlName, matchingControlName) {
97
+ return (formGroup) => {
98
+ const control = formGroup.get(controlName);
99
+ const matchingControl = formGroup.get(matchingControlName);
100
+ if (matchingControl.errors && !matchingControl.errors.matchControl) {
101
+ return null;
102
+ }
103
+ if (control.value !== matchingControl.value) {
104
+ matchingControl.setErrors({ matchControl: true });
105
+ }
106
+ else {
107
+ matchingControl.setErrors(null);
108
+ }
109
+ return null;
110
+ };
111
+ }
112
+
113
+ /**
114
+ * Generated bundle index. Do not edit.
115
+ */
116
+
117
+ export { MatchControl, _Validators };
118
+ //# sourceMappingURL=form.mjs.map