@yelon/util 17.3.1 → 18.0.0

Sign up to get free protection for your applications and to get access to all the features.
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
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2017-present yunzai<yunzai-bot@outlook.com>
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2017-present yunzai<yunzai-bot@outlook.com>
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,27 +1,27 @@
1
- # @yelon/util [![CI](https://github.com/hbyunzai/yelon/actions/workflows/ci.yml/badge.svg)](https://github.com/hbyunzai/yelon/actions/workflows/ci.yml) [![Codecov](https://img.shields.io/codecov/c/github/hbyunzai/yelon.svg?style=flat-square)](https://codecov.io/gh/hbyunzai/yelon) [![NPM version](https://img.shields.io/npm/v/@yelon/util.svg?style=flat-square)](https://www.npmjs.com/package/@yelon/util)
2
-
3
-
4
- Universal toolset of ng-yunzai.
5
-
6
- ## Links
7
-
8
- + [Document](https://ng.yunzainfo.com/util) ([Surge Mirror](https://ng-yunzai-doc.surge.sh/util)
9
- + [@yelon Source](https://github.com/hbyunzai/yelon)
10
- + [DEMO](https://ng-yunzai.surge.sh) ([国内镜像](https://ng.yunzainfo.com/))
11
-
12
- ## Architecture
13
-
14
- ![Architecture](https://raw.githubusercontent.com/hbyunzai/yelon/master/_screenshot/architecture.png)
15
-
16
- ## Troubleshooting
17
-
18
- Please follow this guidelines when reporting bugs and feature requests:
19
-
20
- 1. Use [GitHub Issues](https://github.com/hbyunzai/yelon/issues) board to report bugs and feature requests (not our email address)
21
- 2. Please **always** write steps to reproduce the error. That way we can focus on fixing the bug, not scratching our heads trying to reproduce it.
22
-
23
- Thanks for understanding!
24
-
25
- ### License
26
-
27
- The MIT License (see the [LICENSE](https://github.com/hbyunzai/yelon/blob/master/LICENSE) file for the full text)
1
+ # @yelon/util [![CI](https://github.com/hbyunzai/yelon/actions/workflows/ci.yml/badge.svg)](https://github.com/hbyunzai/yelon/actions/workflows/ci.yml) [![Codecov](https://img.shields.io/codecov/c/github/hbyunzai/yelon.svg?style=flat-square)](https://codecov.io/gh/hbyunzai/yelon) [![NPM version](https://img.shields.io/npm/v/@yelon/util.svg?style=flat-square)](https://www.npmjs.com/package/@yelon/util)
2
+
3
+
4
+ Universal toolset of ng-yunzai.
5
+
6
+ ## Links
7
+
8
+ + [Document](https://ng.yunzainfo.com/util) ([Surge Mirror](https://ng-yunzai-doc.surge.sh/util)
9
+ + [@yelon Source](https://github.com/hbyunzai/yelon)
10
+ + [DEMO](https://ng-yunzai.surge.sh) ([国内镜像](https://ng.yunzainfo.com/))
11
+
12
+ ## Architecture
13
+
14
+ ![Architecture](https://raw.githubusercontent.com/hbyunzai/yelon/master/_screenshot/architecture.png)
15
+
16
+ ## Troubleshooting
17
+
18
+ Please follow this guidelines when reporting bugs and feature requests:
19
+
20
+ 1. Use [GitHub Issues](https://github.com/hbyunzai/yelon/issues) board to report bugs and feature requests (not our email address)
21
+ 2. Please **always** write steps to reproduce the error. That way we can focus on fixing the bug, not scratching our heads trying to reproduce it.
22
+
23
+ Thanks for understanding!
24
+
25
+ ### License
26
+
27
+ The MIT License (see the [LICENSE](https://github.com/hbyunzai/yelon/blob/master/LICENSE) file for the full text)
@@ -1,68 +1,68 @@
1
- import type { NzTreeNode } from 'ng-zorro-antd/core/tree';
2
- export interface ArrayServiceTreeToArrOptions<T extends object = any> {
3
- /** 深度项名,默认:`'deep'` */
4
- deepMapName?: string;
5
- /** 扁平后数组的父数据项名,默认:`'parent'` */
6
- parentMapName?: string;
7
- /** 源数据子项名,默认:`'children'` */
8
- childrenMapName?: string;
9
- /** 是否移除 `children` 节点,默认:`true` */
10
- clearChildren?: boolean;
11
- /** 转换成数组结构时回调 */
12
- cb?: (item: T, parent: T | null, deep: number) => void;
13
- }
14
- export interface ArrayServiceArrToTreeOptions<T extends object = any> {
15
- /** 编号项名,默认:`'id'` */
16
- idMapName?: string;
17
- /** 父编号项名,默认:`'parent_id'` */
18
- parentIdMapName?: string;
19
- /**
20
- * 根父编号值,默认会自动计算得到最合适的根父编号值,例如:
21
- *
22
- * @example
23
- * ```ts
24
- * const res = srv.arrToTree([
25
- * { id: 2, parent_id: 'a', title: 'c1' },
26
- * { id: 4, parent_id: 2, title: 't1' },
27
- * ],
28
- * { rootParentValue: 'a' });
29
- * ```
30
- */
31
- rootParentIdValue?: any;
32
- /** 子项名,默认:`'children'` */
33
- childrenMapName?: string;
34
- /** 转换成树数据时回调 */
35
- cb?: (item: T) => void;
36
- }
37
- export interface ArrayServiceArrToTreeNodeOptions<T extends object = any> {
38
- /** 编号项名,默认:`'id'` */
39
- idMapName?: string;
40
- /** 父编号项名,默认:`'parent_id'` */
41
- parentIdMapName?: string;
42
- /** 标题项名,默认:`'title'` */
43
- titleMapName?: string;
44
- /** 设置为叶子节点项名,若数据源不存在时自动根据 `children` 值决定是否为叶子节点,默认:`'isLeaf'` */
45
- isLeafMapName?: string;
46
- /** 节点 Checkbox 是否选中项名,默认:`'checked'` */
47
- checkedMapname?: string;
48
- /** 节点本身是否选中项名,默认:`'selected'` */
49
- selectedMapname?: string;
50
- /** 节点是否展开(叶子节点无效)项名,默认:`'expanded'` */
51
- expandedMapname?: string;
52
- /** 设置是否禁用节点(不可进行任何操作)项名,默认:`'disabled'` */
53
- disabledMapname?: string;
54
- /** 转换成树数据后,执行的递归回调 */
55
- cb?: (item: T, parent: T | null, deep: number) => void;
56
- }
57
- export interface ArrayServiceGetKeysByTreeNodeOptions {
58
- /** 是否包含半选状态的值,默认:`true` */
59
- includeHalfChecked?: boolean;
60
- /** 是否重新指定 `key` 键名,若不指定表示使用 `NzTreeNode.key` 值 */
61
- keyMapName?: string;
62
- /** 回调,返回一个值 `key` 值,优先级高于其他 */
63
- cb?: (item: NzTreeNode, parent: NzTreeNode | null, deep: number) => any;
64
- }
65
- export interface ArrayServiceGroupByResult {
66
- [key: string]: any;
67
- [key: number]: any;
68
- }
1
+ import type { NzTreeNode } from 'ng-zorro-antd/core/tree';
2
+ export interface ArrayServiceTreeToArrOptions<T extends object = any> {
3
+ /** 深度项名,默认:`'deep'` */
4
+ deepMapName?: string;
5
+ /** 扁平后数组的父数据项名,默认:`'parent'` */
6
+ parentMapName?: string;
7
+ /** 源数据子项名,默认:`'children'` */
8
+ childrenMapName?: string;
9
+ /** 是否移除 `children` 节点,默认:`true` */
10
+ clearChildren?: boolean;
11
+ /** 转换成数组结构时回调 */
12
+ cb?: (item: T, parent: T | null, deep: number) => void;
13
+ }
14
+ export interface ArrayServiceArrToTreeOptions<T extends object = any> {
15
+ /** 编号项名,默认:`'id'` */
16
+ idMapName?: string;
17
+ /** 父编号项名,默认:`'parent_id'` */
18
+ parentIdMapName?: string;
19
+ /**
20
+ * 根父编号值,默认会自动计算得到最合适的根父编号值,例如:
21
+ *
22
+ * @example
23
+ * ```ts
24
+ * const res = srv.arrToTree([
25
+ * { id: 2, parent_id: 'a', title: 'c1' },
26
+ * { id: 4, parent_id: 2, title: 't1' },
27
+ * ],
28
+ * { rootParentValue: 'a' });
29
+ * ```
30
+ */
31
+ rootParentIdValue?: any;
32
+ /** 子项名,默认:`'children'` */
33
+ childrenMapName?: string;
34
+ /** 转换成树数据时回调 */
35
+ cb?: (item: T) => void;
36
+ }
37
+ export interface ArrayServiceArrToTreeNodeOptions<T extends object = any> {
38
+ /** 编号项名,默认:`'id'` */
39
+ idMapName?: string;
40
+ /** 父编号项名,默认:`'parent_id'` */
41
+ parentIdMapName?: string;
42
+ /** 标题项名,默认:`'title'` */
43
+ titleMapName?: string;
44
+ /** 设置为叶子节点项名,若数据源不存在时自动根据 `children` 值决定是否为叶子节点,默认:`'isLeaf'` */
45
+ isLeafMapName?: string;
46
+ /** 节点 Checkbox 是否选中项名,默认:`'checked'` */
47
+ checkedMapname?: string;
48
+ /** 节点本身是否选中项名,默认:`'selected'` */
49
+ selectedMapname?: string;
50
+ /** 节点是否展开(叶子节点无效)项名,默认:`'expanded'` */
51
+ expandedMapname?: string;
52
+ /** 设置是否禁用节点(不可进行任何操作)项名,默认:`'disabled'` */
53
+ disabledMapname?: string;
54
+ /** 转换成树数据后,执行的递归回调 */
55
+ cb?: (item: T, parent: T | null, deep: number) => void;
56
+ }
57
+ export interface ArrayServiceGetKeysByTreeNodeOptions {
58
+ /** 是否包含半选状态的值,默认:`true` */
59
+ includeHalfChecked?: boolean;
60
+ /** 是否重新指定 `key` 键名,若不指定表示使用 `NzTreeNode.key` 值 */
61
+ keyMapName?: string;
62
+ /** 回调,返回一个值 `key` 值,优先级高于其他 */
63
+ cb?: (item: NzTreeNode, parent: NzTreeNode | null, deep: number) => any;
64
+ }
65
+ export interface ArrayServiceGroupByResult {
66
+ [key: string]: any;
67
+ [key: number]: any;
68
+ }
@@ -1,78 +1,78 @@
1
- import { YunzaiConfigService } from '@yelon/util/config';
2
- import { NzTreeNode } from 'ng-zorro-antd/core/tree';
3
- import { ArrayServiceArrToTreeNodeOptions, ArrayServiceArrToTreeOptions, ArrayServiceGetKeysByTreeNodeOptions, ArrayServiceGroupByResult, ArrayServiceTreeToArrOptions } from './array-type.service';
4
- import * as i0 from "@angular/core";
5
- export declare class ArrayService {
6
- private c;
7
- constructor(cog: YunzaiConfigService);
8
- /**
9
- * Convert tree structure to array structure
10
- *
11
- * 将树结构转换成数组结构
12
- */
13
- treeToArr<T extends object = any>(tree: readonly T[], options?: ArrayServiceTreeToArrOptions<T>): T[];
14
- /**
15
- * Convert array structure to tree structure
16
- *
17
- * 数组转换成树数据
18
- */
19
- arrToTree<T extends object = any>(arr: readonly T[], options?: ArrayServiceArrToTreeOptions<T>): T[];
20
- /**
21
- * 数组转换成 `nz-tree` 数据源,通过 `options` 转化项名,也可以使用 `options.cb` 更高级决定数据项
22
- */
23
- arrToTreeNode<T extends object = any>(arr: readonly T[], options?: ArrayServiceArrToTreeNodeOptions): NzTreeNode[];
24
- /**
25
- * 递归访问整个树
26
- */
27
- visitTree<T extends object = any>(tree: readonly T[], cb: (item: T, parent: T | null, deep: number) => void, options?: {
28
- /** 子项名,默认:`'children'` */
29
- childrenMapName?: string;
30
- }): void;
31
- /**
32
- * Return the value of the first tree value in the tree where predicate is true, and `undefined` otherwise
33
- *
34
- * 根据条件返回树的第一个值,否则返回 `undefined`
35
- */
36
- findTree<T extends object = any>(tree: readonly T[], predicate: (item: T) => boolean, options?: {
37
- /** 子项名,默认:`'children'` */
38
- childrenMapName?: string;
39
- }): T | undefined;
40
- /**
41
- * 获取所有已经选中的 `key` 值
42
- */
43
- getKeysByTreeNode(tree: NzTreeNode[], options?: ArrayServiceGetKeysByTreeNodeOptions): any[];
44
- private baseFlat;
45
- /**
46
- * Recursively flattens array
47
- *
48
- * 递归扁平数组
49
- * ```ts
50
- * srv.flat([1, [2, 3, [4, 5, [6]]]]) => [1,2,3,4,5,6]
51
- * srv.flat([1, [2, 3, [4, 5, [6]]]], 1) => [1,2,3,[4, 5, [6]]]
52
- * ```
53
- */
54
- flat<T>(array: readonly T[], depth?: number): T[];
55
- /**
56
- * Group the array
57
- *
58
- * 对数组进行分组
59
- * ```ts
60
- * srv.groupBy([6.1, 4.2, 6.3], Math.floor) => {"4":[4.2],"6":[6.1,6.3]}
61
- * srv.groupBy(['one', 'two', 'three'], v => v.length) => {"3":["one","two"],"5":["three"]}
62
- * ```
63
- */
64
- groupBy<T>(array: readonly T[], iteratee: (value: T) => string | number): ArrayServiceGroupByResult;
65
- /**
66
- * Creates a duplicate-free version of an array
67
- *
68
- * 创建去重后的数组
69
- * ```ts
70
- * uniq([1, 2, 2, 3, 1]) => [1,2,3]
71
- * uniq([{ a: 1 }, { a: 1 }, { a: 2 }], 'a') => [{"a":1},{"a":2}]
72
- * uniq([{ a: 1 }, { a: 1 }, { a: 2 }], i => (i.a === 1 ? 'a' : 'b')) => [{"a":1},{"a":2}]
73
- * ```
74
- */
75
- uniq<T>(array: readonly T[], predicate?: string | ((value: T) => string | number | boolean)): T[];
76
- static ɵfac: i0.ɵɵFactoryDeclaration<ArrayService, never>;
77
- static ɵprov: i0.ɵɵInjectableDeclaration<ArrayService>;
78
- }
1
+ import { YunzaiConfigService } from '@yelon/util/config';
2
+ import { NzTreeNode } from 'ng-zorro-antd/core/tree';
3
+ import { ArrayServiceArrToTreeNodeOptions, ArrayServiceArrToTreeOptions, ArrayServiceGetKeysByTreeNodeOptions, ArrayServiceGroupByResult, ArrayServiceTreeToArrOptions } from './array-type.service';
4
+ import * as i0 from "@angular/core";
5
+ export declare class ArrayService {
6
+ private c;
7
+ constructor(cog: YunzaiConfigService);
8
+ /**
9
+ * Convert tree structure to array structure
10
+ *
11
+ * 将树结构转换成数组结构
12
+ */
13
+ treeToArr<T extends object = any>(tree: readonly T[], options?: ArrayServiceTreeToArrOptions<T>): T[];
14
+ /**
15
+ * Convert array structure to tree structure
16
+ *
17
+ * 数组转换成树数据
18
+ */
19
+ arrToTree<T extends object = any>(arr: readonly T[], options?: ArrayServiceArrToTreeOptions<T>): T[];
20
+ /**
21
+ * 数组转换成 `nz-tree` 数据源,通过 `options` 转化项名,也可以使用 `options.cb` 更高级决定数据项
22
+ */
23
+ arrToTreeNode<T extends object = any>(arr: readonly T[], options?: ArrayServiceArrToTreeNodeOptions): NzTreeNode[];
24
+ /**
25
+ * 递归访问整个树
26
+ */
27
+ visitTree<T extends object = any>(tree: readonly T[], cb: (item: T, parent: T | null, deep: number) => void, options?: {
28
+ /** 子项名,默认:`'children'` */
29
+ childrenMapName?: string;
30
+ }): void;
31
+ /**
32
+ * Return the value of the first tree value in the tree where predicate is true, and `undefined` otherwise
33
+ *
34
+ * 根据条件返回树的第一个值,否则返回 `undefined`
35
+ */
36
+ findTree<T extends object = any>(tree: readonly T[], predicate: (item: T) => boolean, options?: {
37
+ /** 子项名,默认:`'children'` */
38
+ childrenMapName?: string;
39
+ }): T | undefined;
40
+ /**
41
+ * 获取所有已经选中的 `key` 值
42
+ */
43
+ getKeysByTreeNode(tree: NzTreeNode[], options?: ArrayServiceGetKeysByTreeNodeOptions): any[];
44
+ private baseFlat;
45
+ /**
46
+ * Recursively flattens array
47
+ *
48
+ * 递归扁平数组
49
+ * ```ts
50
+ * srv.flat([1, [2, 3, [4, 5, [6]]]]) => [1,2,3,4,5,6]
51
+ * srv.flat([1, [2, 3, [4, 5, [6]]]], 1) => [1,2,3,[4, 5, [6]]]
52
+ * ```
53
+ */
54
+ flat<T>(array: readonly T[], depth?: number): T[];
55
+ /**
56
+ * Group the array
57
+ *
58
+ * 对数组进行分组
59
+ * ```ts
60
+ * srv.groupBy([6.1, 4.2, 6.3], Math.floor) => {"4":[4.2],"6":[6.1,6.3]}
61
+ * srv.groupBy(['one', 'two', 'three'], v => v.length) => {"3":["one","two"],"5":["three"]}
62
+ * ```
63
+ */
64
+ groupBy<T>(array: readonly T[], iteratee: (value: T) => string | number): ArrayServiceGroupByResult;
65
+ /**
66
+ * Creates a duplicate-free version of an array
67
+ *
68
+ * 创建去重后的数组
69
+ * ```ts
70
+ * uniq([1, 2, 2, 3, 1]) => [1,2,3]
71
+ * uniq([{ a: 1 }, { a: 1 }, { a: 2 }], 'a') => [{"a":1},{"a":2}]
72
+ * uniq([{ a: 1 }, { a: 1 }, { a: 2 }], i => (i.a === 1 ? 'a' : 'b')) => [{"a":1},{"a":2}]
73
+ * ```
74
+ */
75
+ uniq<T>(array: readonly T[], predicate?: string | ((value: T) => string | number | boolean)): T[];
76
+ static ɵfac: i0.ɵɵFactoryDeclaration<ArrayService, never>;
77
+ static ɵprov: i0.ɵɵInjectableDeclaration<ArrayService>;
78
+ }
package/array/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export * from './array.service';
2
- export * from './array-type.service';
1
+ export * from './array.service';
2
+ export * from './array-type.service';
@@ -1,64 +1,64 @@
1
- import * as i0 from "@angular/core";
2
- export interface CookieOptions {
3
- path?: string;
4
- domain?: string;
5
- /**
6
- * Expiration time, `number` is seconds
7
- *
8
- * 过期时间,`number` 类型表示秒数
9
- */
10
- expires?: number | Date | string;
11
- secure?: boolean;
12
- HttpOnly?: boolean;
13
- SameSite?: boolean | 'lax' | 'strict' | 'none';
14
- }
15
- /**
16
- * A set of simple Cookie manipulation classes.
17
- *
18
- * 一组简单的 Cookie 操作类。
19
- */
20
- export declare class CookieService {
21
- private readonly _doc;
22
- private readonly platform;
23
- private get doc();
24
- /**
25
- * Original cookie value
26
- *
27
- * 原始Cookie值
28
- */
29
- get cookie(): string;
30
- /**
31
- * Get all cookie key-value pairs
32
- *
33
- * 获取所有Cookie键值对
34
- */
35
- getAll(): {
36
- [key: string]: string;
37
- };
38
- /**
39
- * Get the value of given cookie `key`
40
- *
41
- * 获取指定 `key` 的值
42
- */
43
- get(key: string): string | undefined;
44
- /**
45
- * Sets a value for given cookie key
46
- *
47
- * 设置指定 Cookie 键的值
48
- */
49
- put(key: string, value: string, options?: CookieOptions): void;
50
- /**
51
- * Remove given cookie
52
- *
53
- * 移除指定 Cookie
54
- */
55
- remove(key: string, options?: CookieOptions): void;
56
- /**
57
- * Remove all cookies
58
- *
59
- * 移除所有 Cookies
60
- */
61
- removeAll(): void;
62
- static ɵfac: i0.ɵɵFactoryDeclaration<CookieService, never>;
63
- static ɵprov: i0.ɵɵInjectableDeclaration<CookieService>;
64
- }
1
+ import * as i0 from "@angular/core";
2
+ export interface CookieOptions {
3
+ path?: string;
4
+ domain?: string;
5
+ /**
6
+ * Expiration time, `number` is seconds
7
+ *
8
+ * 过期时间,`number` 类型表示秒数
9
+ */
10
+ expires?: number | Date | string;
11
+ secure?: boolean;
12
+ HttpOnly?: boolean;
13
+ SameSite?: boolean | 'lax' | 'strict' | 'none';
14
+ }
15
+ /**
16
+ * A set of simple Cookie manipulation classes.
17
+ *
18
+ * 一组简单的 Cookie 操作类。
19
+ */
20
+ export declare class CookieService {
21
+ private readonly _doc;
22
+ private readonly platform;
23
+ private get doc();
24
+ /**
25
+ * Original cookie value
26
+ *
27
+ * 原始Cookie值
28
+ */
29
+ get cookie(): string;
30
+ /**
31
+ * Get all cookie key-value pairs
32
+ *
33
+ * 获取所有Cookie键值对
34
+ */
35
+ getAll(): {
36
+ [key: string]: string;
37
+ };
38
+ /**
39
+ * Get the value of given cookie `key`
40
+ *
41
+ * 获取指定 `key` 的值
42
+ */
43
+ get(key: string): string | undefined;
44
+ /**
45
+ * Sets a value for given cookie key
46
+ *
47
+ * 设置指定 Cookie 键的值
48
+ */
49
+ put(key: string, value: string, options?: CookieOptions): void;
50
+ /**
51
+ * Remove given cookie
52
+ *
53
+ * 移除指定 Cookie
54
+ */
55
+ remove(key: string, options?: CookieOptions): void;
56
+ /**
57
+ * Remove all cookies
58
+ *
59
+ * 移除所有 Cookies
60
+ */
61
+ removeAll(): void;
62
+ static ɵfac: i0.ɵɵFactoryDeclaration<CookieService, never>;
63
+ static ɵprov: i0.ɵɵInjectableDeclaration<CookieService>;
64
+ }
package/browser/copy.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- /**
2
- * Copy text to clipboard
3
- *
4
- * 复制字符串文档至剪贴板
5
- */
6
- export declare function copy(value: string): Promise<string>;
1
+ /**
2
+ * Copy text to clipboard
3
+ *
4
+ * 复制字符串文档至剪贴板
5
+ */
6
+ export declare function copy(value: string): Promise<string>;
@@ -1,5 +1,5 @@
1
- export * from './cookie.service';
2
- export * from './copy';
3
- export * from './is-empty';
4
- export * from './scroll.service';
5
- export * from './style';
1
+ export * from './cookie.service';
2
+ export * from './copy';
3
+ export * from './is-empty';
4
+ export * from './scroll.service';
5
+ export * from './style';
@@ -1,6 +1,6 @@
1
- /**
2
- * Used to verify `<ng-content />` is empty, useful for custom components.
3
- *
4
- * 用于校验 `<ng-content />` 是否为空,自定义组件时蛮有用。
5
- */
6
- export declare function isEmpty(element: HTMLElement): boolean;
1
+ /**
2
+ * Used to verify `<ng-content />` is empty, useful for custom components.
3
+ *
4
+ * 用于校验 `<ng-content />` 是否为空,自定义组件时蛮有用。
5
+ */
6
+ export declare function isEmpty(element: HTMLElement): boolean;
@@ -1,34 +1,34 @@
1
- import * as i0 from "@angular/core";
2
- export declare class ScrollService {
3
- private readonly _doc;
4
- private readonly platform;
5
- private _getDoc;
6
- private _getWin;
7
- /**
8
- * 获取滚动条位置
9
- *
10
- * @param element 指定元素,默认 `window`
11
- */
12
- getScrollPosition(element?: Element | Window | null): [number, number];
13
- /**
14
- * 设置滚动条位置
15
- *
16
- * @param element 指定元素
17
- */
18
- scrollToPosition(element: Element | Window | null | undefined, position: [number, number]): void;
19
- /**
20
- * 设置滚动条至指定元素
21
- *
22
- * @param element 指定元素,默认 `document.body`
23
- * @param topOffset 偏移值,默认 `0`
24
- */
25
- scrollToElement(element?: Element | null, topOffset?: number): void;
26
- /**
27
- * 滚动至顶部
28
- *
29
- * @param topOffset 偏移值,默认 `0`
30
- */
31
- scrollToTop(topOffset?: number): void;
32
- static ɵfac: i0.ɵɵFactoryDeclaration<ScrollService, never>;
33
- static ɵprov: i0.ɵɵInjectableDeclaration<ScrollService>;
34
- }
1
+ import * as i0 from "@angular/core";
2
+ export declare class ScrollService {
3
+ private readonly _doc;
4
+ private readonly platform;
5
+ private _getDoc;
6
+ private _getWin;
7
+ /**
8
+ * 获取滚动条位置
9
+ *
10
+ * @param element 指定元素,默认 `window`
11
+ */
12
+ getScrollPosition(element?: Element | Window | null): [number, number];
13
+ /**
14
+ * 设置滚动条位置
15
+ *
16
+ * @param element 指定元素
17
+ */
18
+ scrollToPosition(element: Element | Window | null | undefined, position: [number, number]): void;
19
+ /**
20
+ * 设置滚动条至指定元素
21
+ *
22
+ * @param element 指定元素,默认 `document.body`
23
+ * @param topOffset 偏移值,默认 `0`
24
+ */
25
+ scrollToElement(element?: Element | null, topOffset?: number): void;
26
+ /**
27
+ * 滚动至顶部
28
+ *
29
+ * @param topOffset 偏移值,默认 `0`
30
+ */
31
+ scrollToTop(topOffset?: number): void;
32
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScrollService, never>;
33
+ static ɵprov: i0.ɵɵInjectableDeclaration<ScrollService>;
34
+ }