@yelon/util 12.0.13 → 12.0.17

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 (231) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +2 -2
  3. package/array/array-type.service.d.ts +68 -68
  4. package/array/array.service.d.ts +75 -75
  5. package/array/index.d.ts +2 -2
  6. package/array/yelon-util-array.d.ts +4 -4
  7. package/array/yelon-util-array.metadata.json +1 -1
  8. package/browser/browser.d.ts +4 -4
  9. package/browser/cookie.service.d.ts +64 -64
  10. package/browser/copy.d.ts +6 -6
  11. package/browser/index.d.ts +5 -5
  12. package/browser/is-empty.d.ts +6 -6
  13. package/browser/scroll.service.d.ts +34 -34
  14. package/browser/style.d.ts +21 -21
  15. package/bundles/browser.umd.js +275 -275
  16. package/bundles/yelon-util-array.umd.js +606 -606
  17. package/bundles/yelon-util-array.umd.js.map +1 -1
  18. package/bundles/yelon-util-config.umd.js +366 -366
  19. package/bundles/yelon-util-date-time.umd.js +216 -216
  20. package/bundles/yelon-util-decorator.umd.js +437 -437
  21. package/bundles/yelon-util-form.umd.js +116 -116
  22. package/bundles/yelon-util-format.umd.js +726 -726
  23. package/bundles/yelon-util-math.umd.js +83 -83
  24. package/bundles/yelon-util-other.umd.js +652 -656
  25. package/bundles/yelon-util-other.umd.js.map +1 -1
  26. package/bundles/yelon-util-pipes-currency.umd.js +83 -83
  27. package/bundles/yelon-util-pipes-filter.umd.js +353 -353
  28. package/bundles/yelon-util-pipes-format.umd.js +47 -47
  29. package/bundles/yelon-util-pipes.umd.js +7 -7
  30. package/bundles/yelon-util-token.umd.js +30 -30
  31. package/bundles/yelon-util.umd.js +7 -7
  32. package/config/abc/date-picker.type.d.ts +52 -52
  33. package/config/abc/error-collect.type.d.ts +10 -10
  34. package/config/abc/image.type.d.ts +15 -15
  35. package/config/abc/index.d.ts +16 -16
  36. package/config/abc/loading.type.d.ts +31 -31
  37. package/config/abc/lodop.type.d.ts +33 -33
  38. package/config/abc/media.type.d.ts +11 -11
  39. package/config/abc/onboarding.type.d.ts +4 -4
  40. package/config/abc/page-header.type.d.ts +39 -39
  41. package/config/abc/pdf.type.d.ts +35 -35
  42. package/config/abc/qr.type.d.ts +25 -25
  43. package/config/abc/se.type.d.ts +32 -32
  44. package/config/abc/sg.type.d.ts +10 -10
  45. package/config/abc/st.type.d.ts +427 -431
  46. package/config/abc/sv.type.d.ts +14 -14
  47. package/config/abc/xlsx.type.d.ts +12 -12
  48. package/config/abc/zip.type.d.ts +10 -10
  49. package/config/acl/acl.type.d.ts +32 -32
  50. package/config/auth/auth.type.d.ts +55 -55
  51. package/config/bis/bis.type.d.ts +7 -7
  52. package/config/cache/cache.type.d.ts +40 -40
  53. package/config/chart/chart.type.d.ts +33 -33
  54. package/config/config.service.d.ts +10 -10
  55. package/config/config.types.d.ts +49 -49
  56. package/config/index.d.ts +14 -14
  57. package/config/mock/mock.type.d.ts +18 -18
  58. package/config/sf/sf.type.d.ts +127 -127
  59. package/config/stomp/stomp.type.d.ts +2 -2
  60. package/config/theme/http.type.d.ts +14 -14
  61. package/config/theme/i18n.type.d.ts +8 -8
  62. package/config/theme/index.d.ts +3 -3
  63. package/config/theme/responsive.type.d.ts +12 -12
  64. package/config/util/array.type.d.ts +22 -22
  65. package/config/util/currency.type.d.ts +39 -39
  66. package/config/yelon-util-config.d.ts +4 -4
  67. package/date-time/index.d.ts +2 -2
  68. package/date-time/picker.d.ts +68 -68
  69. package/date-time/time.d.ts +26 -26
  70. package/date-time/yelon-util-date-time.d.ts +4 -4
  71. package/decorator/convert.d.ts +24 -24
  72. package/decorator/index.d.ts +2 -2
  73. package/decorator/yelon-util-decorator.d.ts +4 -4
  74. package/decorator/zone-outside.d.ts +35 -35
  75. package/esm2015/array/array-type.service.js +1 -1
  76. package/esm2015/array/array.service.js +250 -250
  77. package/esm2015/array/index.js +2 -2
  78. package/esm2015/array/yelon-util-array.js +4 -4
  79. package/esm2015/browser/browser.js +4 -4
  80. package/esm2015/browser/cookie.service.js +103 -103
  81. package/esm2015/browser/copy.js +26 -26
  82. package/esm2015/browser/index.js +5 -5
  83. package/esm2015/browser/is-empty.js +18 -18
  84. package/esm2015/browser/scroll.service.js +88 -88
  85. package/esm2015/browser/style.js +37 -37
  86. package/esm2015/config/abc/date-picker.type.js +1 -1
  87. package/esm2015/config/abc/error-collect.type.js +1 -1
  88. package/esm2015/config/abc/image.type.js +1 -1
  89. package/esm2015/config/abc/index.js +16 -16
  90. package/esm2015/config/abc/loading.type.js +1 -1
  91. package/esm2015/config/abc/lodop.type.js +1 -1
  92. package/esm2015/config/abc/media.type.js +1 -1
  93. package/esm2015/config/abc/onboarding.type.js +1 -1
  94. package/esm2015/config/abc/page-header.type.js +1 -1
  95. package/esm2015/config/abc/pdf.type.js +1 -1
  96. package/esm2015/config/abc/qr.type.js +1 -1
  97. package/esm2015/config/abc/se.type.js +1 -1
  98. package/esm2015/config/abc/sg.type.js +1 -1
  99. package/esm2015/config/abc/st.type.js +2 -2
  100. package/esm2015/config/abc/sv.type.js +2 -2
  101. package/esm2015/config/abc/xlsx.type.js +1 -1
  102. package/esm2015/config/abc/zip.type.js +1 -1
  103. package/esm2015/config/acl/acl.type.js +1 -1
  104. package/esm2015/config/auth/auth.type.js +1 -1
  105. package/esm2015/config/bis/bis.type.js +1 -1
  106. package/esm2015/config/cache/cache.type.js +1 -1
  107. package/esm2015/config/chart/chart.type.js +1 -1
  108. package/esm2015/config/config.service.js +33 -33
  109. package/esm2015/config/config.types.js +8 -8
  110. package/esm2015/config/index.js +14 -14
  111. package/esm2015/config/mock/mock.type.js +1 -1
  112. package/esm2015/config/sf/sf.type.js +1 -1
  113. package/esm2015/config/stomp/stomp.type.js +1 -1
  114. package/esm2015/config/theme/http.type.js +1 -1
  115. package/esm2015/config/theme/i18n.type.js +1 -1
  116. package/esm2015/config/theme/index.js +3 -3
  117. package/esm2015/config/theme/responsive.type.js +1 -1
  118. package/esm2015/config/util/array.type.js +1 -1
  119. package/esm2015/config/util/currency.type.js +1 -1
  120. package/esm2015/config/yelon-util-config.js +4 -4
  121. package/esm2015/date-time/index.js +2 -2
  122. package/esm2015/date-time/picker.js +115 -115
  123. package/esm2015/date-time/time.js +83 -83
  124. package/esm2015/date-time/yelon-util-date-time.js +4 -4
  125. package/esm2015/decorator/convert.js +55 -55
  126. package/esm2015/decorator/index.js +2 -2
  127. package/esm2015/decorator/yelon-util-decorator.js +4 -4
  128. package/esm2015/decorator/zone-outside.js +54 -54
  129. package/esm2015/form/index.js +2 -2
  130. package/esm2015/form/match-control.js +29 -29
  131. package/esm2015/form/validators.js +80 -80
  132. package/esm2015/form/yelon-util-form.js +4 -4
  133. package/esm2015/format/currency.service.js +224 -224
  134. package/esm2015/format/currency.types.js +7 -7
  135. package/esm2015/format/index.js +4 -4
  136. package/esm2015/format/string.js +75 -75
  137. package/esm2015/format/validate.js +93 -93
  138. package/esm2015/format/yelon-util-format.js +4 -4
  139. package/esm2015/index.js +11 -11
  140. package/esm2015/math/in-range.js +24 -24
  141. package/esm2015/math/index.js +2 -2
  142. package/esm2015/math/round.js +52 -52
  143. package/esm2015/math/yelon-util-math.js +4 -4
  144. package/esm2015/other/assert.js +66 -66
  145. package/esm2015/other/deep.js +76 -76
  146. package/esm2015/other/index.js +4 -4
  147. package/esm2015/other/lazy.service.js +118 -118
  148. package/esm2015/other/logger.js +33 -36
  149. package/esm2015/other/yelon-util-other.js +4 -4
  150. package/esm2015/pipes/currency/cny.pipe.js +21 -21
  151. package/esm2015/pipes/currency/index.js +3 -3
  152. package/esm2015/pipes/currency/mega.pipe.js +25 -25
  153. package/esm2015/pipes/currency/module.js +13 -13
  154. package/esm2015/pipes/currency/price.pipe.js +25 -25
  155. package/esm2015/pipes/currency/yelon-util-pipes-currency.js +5 -5
  156. package/esm2015/pipes/filter/filter.pipe.js +14 -14
  157. package/esm2015/pipes/filter/index.js +2 -2
  158. package/esm2015/pipes/filter/module.js +11 -11
  159. package/esm2015/pipes/filter/yelon-util-pipes-filter.js +4 -4
  160. package/esm2015/pipes/format/index.js +2 -2
  161. package/esm2015/pipes/format/mask.pipe.js +29 -29
  162. package/esm2015/pipes/format/module.js +11 -11
  163. package/esm2015/pipes/format/yelon-util-pipes-format.js +4 -4
  164. package/esm2015/pipes/index.js +3 -3
  165. package/esm2015/pipes/yelon-util-pipes.js +4 -4
  166. package/esm2015/token/index.js +2 -2
  167. package/esm2015/token/page-visibility.js +15 -15
  168. package/esm2015/token/window.js +16 -16
  169. package/esm2015/token/yelon-util-token.js +4 -4
  170. package/esm2015/yelon-util.js +4 -4
  171. package/fesm2015/browser.js +257 -257
  172. package/fesm2015/yelon-util-array.js +246 -246
  173. package/fesm2015/yelon-util-array.js.map +1 -1
  174. package/fesm2015/yelon-util-config.js +36 -36
  175. package/fesm2015/yelon-util-date-time.js +196 -196
  176. package/fesm2015/yelon-util-decorator.js +107 -107
  177. package/fesm2015/yelon-util-form.js +108 -108
  178. package/fesm2015/yelon-util-format.js +390 -390
  179. package/fesm2015/yelon-util-math.js +75 -75
  180. package/fesm2015/yelon-util-other.js +281 -284
  181. package/fesm2015/yelon-util-other.js.map +1 -1
  182. package/fesm2015/yelon-util-pipes-currency.js +72 -72
  183. package/fesm2015/yelon-util-pipes-filter.js +22 -22
  184. package/fesm2015/yelon-util-pipes-format.js +36 -36
  185. package/fesm2015/yelon-util-pipes.js +2 -2
  186. package/fesm2015/yelon-util-token.js +25 -25
  187. package/fesm2015/yelon-util.js +2 -2
  188. package/form/index.d.ts +2 -2
  189. package/form/match-control.d.ts +15 -15
  190. package/form/validators.d.ts +62 -62
  191. package/form/yelon-util-form.d.ts +4 -4
  192. package/format/currency.service.d.ts +34 -34
  193. package/format/currency.types.d.ts +77 -77
  194. package/format/index.d.ts +4 -4
  195. package/format/string.d.ts +44 -44
  196. package/format/validate.d.ts +72 -72
  197. package/format/yelon-util-format.d.ts +4 -4
  198. package/index.d.ts +11 -11
  199. package/math/in-range.d.ts +14 -14
  200. package/math/index.d.ts +2 -2
  201. package/math/round.d.ts +33 -33
  202. package/math/yelon-util-math.d.ts +4 -4
  203. package/other/assert.d.ts +36 -36
  204. package/other/deep.d.ts +33 -33
  205. package/other/index.d.ts +4 -4
  206. package/other/lazy.service.d.ts +22 -22
  207. package/other/logger.d.ts +5 -6
  208. package/other/yelon-util-other.d.ts +4 -4
  209. package/other/yelon-util-other.metadata.json +1 -1
  210. package/package.json +1 -1
  211. package/pipes/currency/cny.pipe.d.ts +12 -12
  212. package/pipes/currency/index.d.ts +3 -3
  213. package/pipes/currency/mega.pipe.d.ts +13 -13
  214. package/pipes/currency/module.d.ts +2 -2
  215. package/pipes/currency/price.pipe.d.ts +16 -16
  216. package/pipes/currency/yelon-util-pipes-currency.d.ts +5 -5
  217. package/pipes/filter/filter.pipe.d.ts +10 -10
  218. package/pipes/filter/index.d.ts +2 -2
  219. package/pipes/filter/module.d.ts +2 -2
  220. package/pipes/filter/yelon-util-pipes-filter.d.ts +4 -4
  221. package/pipes/format/index.d.ts +2 -2
  222. package/pipes/format/mask.pipe.d.ts +24 -24
  223. package/pipes/format/module.d.ts +2 -2
  224. package/pipes/format/yelon-util-pipes-format.d.ts +4 -4
  225. package/pipes/index.d.ts +3 -3
  226. package/pipes/yelon-util-pipes.d.ts +4 -4
  227. package/token/index.d.ts +2 -2
  228. package/token/page-visibility.d.ts +8 -8
  229. package/token/window.d.ts +7 -7
  230. package/token/yelon-util-token.d.ts +4 -4
  231. package/yelon-util.d.ts +4 -4
@@ -1,116 +1,116 @@
1
1
  import { warn } from '@yelon/util/other';
2
2
 
3
- function propDecoratorFactory(name, fallback, defaultValue) {
4
- function propDecorator(target, propName, originalDescriptor) {
5
- const privatePropName = `$$__${propName}`;
6
- if (Object.prototype.hasOwnProperty.call(target, privatePropName)) {
7
- warn(`The prop "${privatePropName}" is already exist, it will be overrided by ${name} decorator.`);
8
- }
9
- Object.defineProperty(target, privatePropName, {
10
- configurable: true,
11
- writable: true
12
- });
13
- return {
14
- get() {
15
- return originalDescriptor && originalDescriptor.get
16
- ? originalDescriptor.get.bind(this)()
17
- : this[privatePropName];
18
- },
19
- set(value) {
20
- if (originalDescriptor && originalDescriptor.set) {
21
- originalDescriptor.set.bind(this)(fallback(value, defaultValue));
22
- }
23
- this[privatePropName] = fallback(value, defaultValue);
24
- }
25
- };
26
- }
27
- return propDecorator;
28
- }
29
- function toBoolean(value, defaultValue = false) {
30
- return value == null ? defaultValue : `${value}` !== 'false';
31
- }
32
- /**
33
- * Input decorator that handle a prop to do get/set automatically with toBoolean
34
- *
35
- * ```ts
36
- * {AT}Input() {AT}InputBoolean() visible: boolean = false;
37
- * {AT}Input() {AT}InputBoolean(null) visible: boolean = false;
38
- * ```
39
- */
40
- function InputBoolean(defaultValue = false) {
41
- return propDecoratorFactory('InputBoolean', toBoolean, defaultValue);
42
- }
43
- function toNumber(value, fallbackValue = 0) {
44
- return !isNaN(parseFloat(value)) && !isNaN(Number(value)) ? Number(value) : fallbackValue;
45
- }
46
- /**
47
- * Input decorator that handle a prop to do get/set automatically with toNumber
48
- *
49
- * ```ts
50
- * {AT}Input() {AT}InputNumber() visible: number = 1;
51
- * {AT}Input() {AT}InputNumber(null) visible: number = 2;
52
- * ```
53
- */
54
- function InputNumber(defaultValue = 0) {
55
- return propDecoratorFactory('InputNumber', toNumber, defaultValue);
3
+ function propDecoratorFactory(name, fallback, defaultValue) {
4
+ function propDecorator(target, propName, originalDescriptor) {
5
+ const privatePropName = `$$__${propName}`;
6
+ if (Object.prototype.hasOwnProperty.call(target, privatePropName)) {
7
+ warn(`The prop "${privatePropName}" is already exist, it will be overrided by ${name} decorator.`);
8
+ }
9
+ Object.defineProperty(target, privatePropName, {
10
+ configurable: true,
11
+ writable: true
12
+ });
13
+ return {
14
+ get() {
15
+ return originalDescriptor && originalDescriptor.get
16
+ ? originalDescriptor.get.bind(this)()
17
+ : this[privatePropName];
18
+ },
19
+ set(value) {
20
+ if (originalDescriptor && originalDescriptor.set) {
21
+ originalDescriptor.set.bind(this)(fallback(value, defaultValue));
22
+ }
23
+ this[privatePropName] = fallback(value, defaultValue);
24
+ }
25
+ };
26
+ }
27
+ return propDecorator;
28
+ }
29
+ function toBoolean(value, defaultValue = false) {
30
+ return value == null ? defaultValue : `${value}` !== 'false';
31
+ }
32
+ /**
33
+ * Input decorator that handle a prop to do get/set automatically with toBoolean
34
+ *
35
+ * ```ts
36
+ * {AT}Input() {AT}InputBoolean() visible: boolean = false;
37
+ * {AT}Input() {AT}InputBoolean(null) visible: boolean = false;
38
+ * ```
39
+ */
40
+ function InputBoolean(defaultValue = false) {
41
+ return propDecoratorFactory('InputBoolean', toBoolean, defaultValue);
42
+ }
43
+ function toNumber(value, fallbackValue = 0) {
44
+ return !isNaN(parseFloat(value)) && !isNaN(Number(value)) ? Number(value) : fallbackValue;
45
+ }
46
+ /**
47
+ * Input decorator that handle a prop to do get/set automatically with toNumber
48
+ *
49
+ * ```ts
50
+ * {AT}Input() {AT}InputNumber() visible: number = 1;
51
+ * {AT}Input() {AT}InputNumber(null) visible: number = 2;
52
+ * ```
53
+ */
54
+ function InputNumber(defaultValue = 0) {
55
+ return propDecoratorFactory('InputNumber', toNumber, defaultValue);
56
56
  }
57
57
 
58
- function makeFn(type, options) {
59
- return (_, __, descriptor) => {
60
- const source = descriptor.value;
61
- descriptor.value = function (...data) {
62
- const that = this;
63
- const ngZone = that[(options === null || options === void 0 ? void 0 : options.ngZoneName) || 'ngZone'];
64
- if (!ngZone) {
65
- warn(`ZoneOutside: Decorator should have 'ngZone' property with 'NgZone' class.`);
66
- return source.call(this, ...data);
67
- }
68
- let res;
69
- ngZone[type](() => {
70
- res = source.call(this, ...data);
71
- });
72
- return res;
73
- };
74
- return descriptor;
75
- };
76
- }
77
- /**
78
- * The decoration method runs in `runOutsideAngular`
79
- *
80
- * 装饰方法运行在 `runOutsideAngular` 内
81
- *
82
- * ```ts
83
- * class MockClass {
84
- * constructor(public ngZone: NgZone) {}
85
- *
86
- * {AT}ZoneOutside()
87
- * runOutsideAngular(): void {}
88
- * }
89
- * ```
90
- */
91
- function ZoneOutside(options) {
92
- return makeFn('runOutsideAngular', options);
93
- }
94
- /**
95
- * The decoration method runs in `run`
96
- *
97
- * 装饰方法运行在 `run` 内
98
- *
99
- * ```ts
100
- * class MockClass {
101
- * constructor(public ngZone: NgZone) {}
102
- *
103
- * {AT}ZoneRun()
104
- * run(): void {}
105
- * }
106
- * ```
107
- */
108
- function ZoneRun(options) {
109
- return makeFn('run', options);
58
+ function makeFn(type, options) {
59
+ return (_, __, descriptor) => {
60
+ const source = descriptor.value;
61
+ descriptor.value = function (...data) {
62
+ const that = this;
63
+ const ngZone = that[(options === null || options === void 0 ? void 0 : options.ngZoneName) || 'ngZone'];
64
+ if (!ngZone) {
65
+ warn(`ZoneOutside: Decorator should have 'ngZone' property with 'NgZone' class.`);
66
+ return source.call(this, ...data);
67
+ }
68
+ let res;
69
+ ngZone[type](() => {
70
+ res = source.call(this, ...data);
71
+ });
72
+ return res;
73
+ };
74
+ return descriptor;
75
+ };
76
+ }
77
+ /**
78
+ * The decoration method runs in `runOutsideAngular`
79
+ *
80
+ * 装饰方法运行在 `runOutsideAngular` 内
81
+ *
82
+ * ```ts
83
+ * class MockClass {
84
+ * constructor(public ngZone: NgZone) {}
85
+ *
86
+ * {AT}ZoneOutside()
87
+ * runOutsideAngular(): void {}
88
+ * }
89
+ * ```
90
+ */
91
+ function ZoneOutside(options) {
92
+ return makeFn('runOutsideAngular', options);
93
+ }
94
+ /**
95
+ * The decoration method runs in `run`
96
+ *
97
+ * 装饰方法运行在 `run` 内
98
+ *
99
+ * ```ts
100
+ * class MockClass {
101
+ * constructor(public ngZone: NgZone) {}
102
+ *
103
+ * {AT}ZoneRun()
104
+ * run(): void {}
105
+ * }
106
+ * ```
107
+ */
108
+ function ZoneRun(options) {
109
+ return makeFn('run', options);
110
110
  }
111
111
 
112
- /**
113
- * Generated bundle index. Do not edit.
112
+ /**
113
+ * Generated bundle index. Do not edit.
114
114
  */
115
115
 
116
116
  export { InputBoolean, InputNumber, ZoneOutside, ZoneRun, toBoolean, toNumber };
@@ -1,117 +1,117 @@
1
1
  import { isNum, isInt, isDecimal, isIdCard, isMobile, isUrl, isIp, isColor, isChinese } from '@yelon/util/format';
2
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
- }
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
81
  }
82
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
- };
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
111
  }
112
112
 
113
- /**
114
- * Generated bundle index. Do not edit.
113
+ /**
114
+ * Generated bundle index. Do not edit.
115
115
  */
116
116
 
117
117
  export { MatchControl, _Validators };