@ivujs/i-utils 2.0.0 → 2.1.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 (214) hide show
  1. package/README.md +40 -42
  2. package/dist/cjs/ID-card/index.cjs +21 -13
  3. package/dist/cjs/array/index.cjs +40 -34
  4. package/dist/cjs/clipboard/index.cjs +14 -10
  5. package/dist/cjs/color/index.cjs +73 -59
  6. package/dist/cjs/cookie/index.cjs +16 -13
  7. package/dist/cjs/crypto/base64/base64.cjs +398 -206
  8. package/dist/cjs/crypto/base64/index.cjs +58 -35
  9. package/dist/cjs/crypto/md5/index.cjs +33 -8
  10. package/dist/cjs/crypto/md5/md5.cjs +298 -844
  11. package/dist/cjs/crypto/sha256/index.cjs +95 -0
  12. package/dist/cjs/crypto/sha256/sha256.cjs +557 -0
  13. package/dist/cjs/crypto/sm3/index.cjs +27 -0
  14. package/dist/cjs/crypto/sm3/sm3.cjs +200 -0
  15. package/dist/cjs/crypto/sm4/index.cjs +101 -0
  16. package/dist/cjs/crypto/sm4/sm4.cjs +498 -0
  17. package/dist/cjs/date/index.cjs +379 -335
  18. package/dist/cjs/desensitized/index.cjs +21 -18
  19. package/dist/cjs/device/index.cjs +33 -30
  20. package/dist/cjs/dom/index.cjs +26 -23
  21. package/dist/cjs/file/index.cjs +51 -41
  22. package/dist/cjs/function/index.cjs +22 -19
  23. package/dist/cjs/id/index.cjs +6 -2
  24. package/dist/cjs/index.cjs +108 -127
  25. package/dist/cjs/keycode/index.cjs +9 -12
  26. package/dist/cjs/math/index.cjs +113 -81
  27. package/dist/cjs/number/index.cjs +10 -7
  28. package/dist/cjs/object/index.cjs +77 -30
  29. package/dist/cjs/pagination/index.cjs +25 -10
  30. package/dist/cjs/random/index.cjs +8 -5
  31. package/dist/cjs/regexp/index.cjs +23 -20
  32. package/dist/cjs/storage/index.cjs +4 -1
  33. package/dist/cjs/storage/localStorage.cjs +5 -5
  34. package/dist/cjs/storage/sessionStorage.cjs +6 -6
  35. package/dist/cjs/string/index.cjs +66 -63
  36. package/dist/cjs/url/index.cjs +83 -80
  37. package/dist/cjs/validate/index.cjs +122 -106
  38. package/dist/es/ID-card/index.d.ts +19 -14
  39. package/dist/es/ID-card/index.mjs +22 -14
  40. package/dist/es/array/index.d.ts +56 -50
  41. package/dist/es/array/index.mjs +40 -34
  42. package/dist/es/clipboard/index.d.ts +10 -7
  43. package/dist/es/clipboard/index.mjs +14 -10
  44. package/dist/es/color/index.d.ts +28 -25
  45. package/dist/es/color/index.mjs +73 -59
  46. package/dist/es/constants/date.d.ts +4 -174
  47. package/dist/es/constants/id-card.d.ts +4 -43
  48. package/dist/es/constants/index.d.ts +11 -7
  49. package/dist/es/constants/keycode.d.ts +1 -103
  50. package/dist/es/constants/lang.d.ts +4 -4
  51. package/dist/es/constants/math.d.ts +4 -4
  52. package/dist/es/constants/regexp.d.ts +4 -24
  53. package/dist/es/constants/sort.d.ts +4 -5
  54. package/dist/es/cookie/index.d.ts +13 -13
  55. package/dist/es/cookie/index.mjs +16 -13
  56. package/dist/es/crypto/base64/base64.d.ts +8 -5
  57. package/dist/es/crypto/base64/base64.mjs +393 -204
  58. package/dist/es/crypto/base64/index.d.ts +41 -24
  59. package/dist/es/crypto/base64/index.mjs +53 -32
  60. package/dist/es/crypto/index.d.ts +8 -8
  61. package/dist/es/crypto/md5/index.d.ts +20 -7
  62. package/dist/es/crypto/md5/index.mjs +32 -9
  63. package/dist/es/crypto/md5/md5.d.ts +9 -142
  64. package/dist/es/crypto/md5/md5.mjs +299 -844
  65. package/dist/es/crypto/sha256/index.d.ts +52 -0
  66. package/dist/es/crypto/sha256/index.mjs +86 -0
  67. package/dist/es/crypto/sha256/sha256.d.ts +82 -0
  68. package/dist/es/crypto/sha256/sha256.mjs +548 -0
  69. package/dist/es/crypto/sm3/index.d.ts +13 -0
  70. package/dist/es/crypto/sm3/index.mjs +24 -0
  71. package/dist/es/crypto/sm3/sm3.d.ts +3 -0
  72. package/dist/es/crypto/sm3/sm3.mjs +197 -0
  73. package/dist/es/crypto/sm4/index.d.ts +56 -0
  74. package/dist/es/crypto/sm4/index.mjs +95 -0
  75. package/dist/es/crypto/sm4/sm4.d.ts +48 -0
  76. package/dist/es/crypto/sm4/sm4.mjs +490 -0
  77. package/dist/es/date/index.d.ts +236 -175
  78. package/dist/es/date/index.mjs +378 -335
  79. package/dist/es/desensitized/index.d.ts +26 -23
  80. package/dist/es/desensitized/index.mjs +21 -18
  81. package/dist/es/device/index.d.ts +31 -25
  82. package/dist/es/device/index.mjs +33 -30
  83. package/dist/es/dom/index.d.ts +32 -29
  84. package/dist/es/dom/index.mjs +26 -23
  85. package/dist/es/file/index.d.ts +30 -30
  86. package/dist/es/file/index.mjs +51 -41
  87. package/dist/es/function/index.d.ts +10 -7
  88. package/dist/es/function/index.mjs +22 -19
  89. package/dist/es/id/index.d.ts +3 -0
  90. package/dist/es/id/index.mjs +6 -2
  91. package/dist/es/index.d.ts +24 -25
  92. package/dist/es/index.mjs +6 -23
  93. package/dist/es/keycode/index.d.ts +6 -6
  94. package/dist/es/keycode/index.mjs +9 -12
  95. package/dist/es/math/index.d.ts +37 -37
  96. package/dist/es/math/index.mjs +113 -81
  97. package/dist/es/number/index.d.ts +7 -7
  98. package/dist/es/number/index.mjs +10 -7
  99. package/dist/es/object/index.d.ts +20 -19
  100. package/dist/es/object/index.mjs +77 -30
  101. package/dist/es/pagination/index.d.ts +39 -6
  102. package/dist/es/pagination/index.mjs +25 -10
  103. package/dist/es/random/index.d.ts +10 -7
  104. package/dist/es/random/index.mjs +8 -5
  105. package/dist/es/regexp/index.d.ts +30 -30
  106. package/dist/es/regexp/index.mjs +23 -20
  107. package/dist/es/storage/index.d.ts +10 -4
  108. package/dist/es/storage/index.mjs +4 -1
  109. package/dist/es/storage/localStorage.d.ts +9 -9
  110. package/dist/es/storage/localStorage.mjs +5 -5
  111. package/dist/es/storage/sessionStorage.d.ts +9 -9
  112. package/dist/es/storage/sessionStorage.mjs +6 -6
  113. package/dist/es/string/index.d.ts +62 -59
  114. package/dist/es/string/index.mjs +66 -63
  115. package/dist/es/url/index.d.ts +65 -65
  116. package/dist/es/url/index.mjs +83 -80
  117. package/dist/es/validate/index.d.ts +83 -80
  118. package/dist/es/validate/index.mjs +122 -106
  119. package/dist/index.d.ts +2355 -2803
  120. package/dist/lib/index.full.umd.js +3297 -9474
  121. package/dist/lib/index.full.umd.min.js +2 -64
  122. package/dist/lib/index.full.umd.min.js.map +1 -1
  123. package/dist/resolver/auto-imports.cjs +38 -31
  124. package/dist/resolver/auto-imports.mjs +38 -31
  125. package/dist/resolver/index.cjs +1 -2
  126. package/dist/resolver/index.d.ts +1 -1
  127. package/dist/resolver/index.mjs +1 -2
  128. package/package.json +96 -90
  129. package/dist/cjs/crypto/aes/aes.cjs +0 -480
  130. package/dist/cjs/crypto/aes/index.cjs +0 -27
  131. package/dist/cjs/crypto/base32/base32.cjs +0 -357
  132. package/dist/cjs/crypto/base32/index.cjs +0 -41
  133. package/dist/cjs/crypto/des/des.cjs +0 -257
  134. package/dist/cjs/crypto/des/index.cjs +0 -28
  135. package/dist/cjs/crypto/sha/sha1/index.cjs +0 -24
  136. package/dist/cjs/crypto/sha/sha1/sha1.cjs +0 -529
  137. package/dist/cjs/crypto/sha/sha256/index.cjs +0 -43
  138. package/dist/cjs/crypto/sha/sha256/sha256.cjs +0 -595
  139. package/dist/cjs/crypto/sha/sha3/index.cjs +0 -41
  140. package/dist/cjs/crypto/sha/sha3/sha3.cjs +0 -624
  141. package/dist/cjs/crypto/sha/sha512/index.cjs +0 -81
  142. package/dist/cjs/crypto/sha/sha512/sha512.cjs +0 -950
  143. package/dist/cjs/crypto/sm/lib/asn1.cjs +0 -149
  144. package/dist/cjs/crypto/sm/lib/ec.cjs +0 -315
  145. package/dist/cjs/crypto/sm/lib/jsbn.cjs +0 -1608
  146. package/dist/cjs/crypto/sm/lib/sm3.cjs +0 -158
  147. package/dist/cjs/crypto/sm/lib/utils.cjs +0 -170
  148. package/dist/cjs/crypto/sm/sm2/index.cjs +0 -112
  149. package/dist/cjs/crypto/sm/sm2/sm2.cjs +0 -231
  150. package/dist/cjs/crypto/sm/sm3/index.cjs +0 -15
  151. package/dist/cjs/crypto/sm/sm3/sm3.cjs +0 -93
  152. package/dist/cjs/crypto/sm/sm4/index.cjs +0 -27
  153. package/dist/cjs/crypto/sm/sm4/sm4.cjs +0 -327
  154. package/dist/cjs/crypto/tea/index.cjs +0 -25
  155. package/dist/cjs/crypto/tea/tea.cjs +0 -187
  156. package/dist/cjs/weapp/index.cjs +0 -142
  157. package/dist/es/crypto/aes/aes.d.ts +0 -156
  158. package/dist/es/crypto/aes/aes.mjs +0 -478
  159. package/dist/es/crypto/aes/index.d.ts +0 -16
  160. package/dist/es/crypto/aes/index.mjs +0 -24
  161. package/dist/es/crypto/base32/base32.d.ts +0 -3
  162. package/dist/es/crypto/base32/base32.mjs +0 -353
  163. package/dist/es/crypto/base32/index.d.ts +0 -24
  164. package/dist/es/crypto/base32/index.mjs +0 -36
  165. package/dist/es/crypto/des/des.d.ts +0 -52
  166. package/dist/es/crypto/des/des.mjs +0 -255
  167. package/dist/es/crypto/des/index.d.ts +0 -14
  168. package/dist/es/crypto/des/index.mjs +0 -25
  169. package/dist/es/crypto/sha/index.d.ts +0 -4
  170. package/dist/es/crypto/sha/sha1/index.d.ts +0 -13
  171. package/dist/es/crypto/sha/sha1/index.mjs +0 -21
  172. package/dist/es/crypto/sha/sha1/sha1.d.ts +0 -2
  173. package/dist/es/crypto/sha/sha1/sha1.mjs +0 -526
  174. package/dist/es/crypto/sha/sha256/index.d.ts +0 -26
  175. package/dist/es/crypto/sha/sha256/index.mjs +0 -38
  176. package/dist/es/crypto/sha/sha256/sha256.d.ts +0 -4
  177. package/dist/es/crypto/sha/sha256/sha256.mjs +0 -590
  178. package/dist/es/crypto/sha/sha3/index.d.ts +0 -24
  179. package/dist/es/crypto/sha/sha3/index.mjs +0 -36
  180. package/dist/es/crypto/sha/sha3/sha3.d.ts +0 -4
  181. package/dist/es/crypto/sha/sha3/sha3.mjs +0 -619
  182. package/dist/es/crypto/sha/sha512/index.d.ts +0 -52
  183. package/dist/es/crypto/sha/sha512/index.mjs +0 -72
  184. package/dist/es/crypto/sha/sha512/sha512.d.ts +0 -8
  185. package/dist/es/crypto/sha/sha512/sha512.mjs +0 -941
  186. package/dist/es/crypto/sm/index.d.ts +0 -3
  187. package/dist/es/crypto/sm/lib/asn1.d.ts +0 -12
  188. package/dist/es/crypto/sm/lib/asn1.mjs +0 -146
  189. package/dist/es/crypto/sm/lib/ec.d.ts +0 -126
  190. package/dist/es/crypto/sm/lib/ec.mjs +0 -312
  191. package/dist/es/crypto/sm/lib/jsbn.d.ts +0 -198
  192. package/dist/es/crypto/sm/lib/jsbn.mjs +0 -1605
  193. package/dist/es/crypto/sm/lib/sm3.d.ts +0 -5
  194. package/dist/es/crypto/sm/lib/sm3.mjs +0 -155
  195. package/dist/es/crypto/sm/lib/utils.d.ts +0 -53
  196. package/dist/es/crypto/sm/lib/utils.mjs +0 -158
  197. package/dist/es/crypto/sm/sm2/index.d.ts +0 -71
  198. package/dist/es/crypto/sm/sm2/index.mjs +0 -101
  199. package/dist/es/crypto/sm/sm2/sm2.d.ts +0 -34
  200. package/dist/es/crypto/sm/sm2/sm2.mjs +0 -220
  201. package/dist/es/crypto/sm/sm3/index.d.ts +0 -7
  202. package/dist/es/crypto/sm/sm3/index.mjs +0 -13
  203. package/dist/es/crypto/sm/sm3/sm3.d.ts +0 -1
  204. package/dist/es/crypto/sm/sm3/sm3.mjs +0 -91
  205. package/dist/es/crypto/sm/sm4/index.d.ts +0 -16
  206. package/dist/es/crypto/sm/sm4/index.mjs +0 -24
  207. package/dist/es/crypto/sm/sm4/sm4.d.ts +0 -2
  208. package/dist/es/crypto/sm/sm4/sm4.mjs +0 -324
  209. package/dist/es/crypto/tea/index.d.ts +0 -14
  210. package/dist/es/crypto/tea/index.mjs +0 -22
  211. package/dist/es/crypto/tea/tea.d.ts +0 -69
  212. package/dist/es/crypto/tea/tea.mjs +0 -185
  213. package/dist/es/weapp/index.d.ts +0 -57
  214. package/dist/es/weapp/index.mjs +0 -131
package/README.md CHANGED
@@ -5,20 +5,20 @@
5
5
 
6
6
  🔥 **i-utils** 🔥是一款功能强大、高效的一站式前端模块化 **JavaScript** 工具库,支持 `Typescript` 导入,
7
7
  其集成了众多日常开发中用到的方法,覆盖`字符串`,`数组`,`数学`,`文件`,`数学`,`文件`,`加解密算法`,`脱敏`,`分页`,
8
- `浏览器 Cookie`,`浏览器 Clipboard`,`浏览器 Dom`,`微信小程序工具`等多个模块,同时支持`es模块化`、`umd浏览器环境`、
8
+ `浏览器 Cookie`,`浏览器 Clipboard`,`浏览器 Dom`等多个模块,同时支持`es模块化`、`umd浏览器环境`、
9
9
  `require服务端环境`,满足不同场景的开发需求,大幅提升开发效率。
10
10
 
11
11
  ### 📦 安装
12
12
 
13
13
  ```bash
14
14
  # npm
15
- npm i @ivu-plus/i-utils --save
15
+ npm i @ivujs/i-utils --save
16
16
 
17
17
  # pnpm
18
- pnpm i @ivu-plus/i-utils --save
18
+ pnpm i @ivujs/i-utils --save
19
19
 
20
20
  # yarn
21
- yarn add @ivu-plus/i-utils --save
21
+ yarn add @ivujs/i-utils --save
22
22
  ```
23
23
 
24
24
  ### 🎨 使用
@@ -27,25 +27,25 @@ yarn add @ivu-plus/i-utils --save
27
27
 
28
28
  ```javascript
29
29
  // 按需引入
30
- import { testLoaded } from "@ivu-plus/i-utils";
30
+ import { testLoaded } from "@ivujs/i-utils";
31
31
 
32
32
  testLoaded();
33
33
 
34
34
  // 全量引入
35
- import * as iUtils from "@ivu-plus/i-utils";
35
+ import * as iUtils from "@ivujs/i-utils";
36
36
 
37
37
  iUtils.testLoaded();
38
38
  ```
39
39
 
40
- #### commonjs 服务端环境
40
+ #### cjs 服务端环境
41
41
 
42
42
  ```javascript
43
43
  // 全量引入
44
- const iUtils = require("@ivu-plus/i-utils");
44
+ const iUtils = require("@ivujs/i-utils");
45
45
  iUtils.testLoaded();
46
46
 
47
47
  // 按需引入
48
- const { testLoaded } = require("@ivu-plus/i-utils");
48
+ const { testLoaded } = require("@ivujs/i-utils");
49
49
  testLoaded();
50
50
  ```
51
51
 
@@ -73,7 +73,7 @@ testLoaded();
73
73
 
74
74
  #### 自动导入
75
75
 
76
- 需要使用额外的插件来实现自动导入,`IUtilsResolver`解析器支持 `Vite` 和 `Webpack` 工具。
76
+ 需要使用额外的插件来实现自动导入,`IUtilsResolver`解析器支持在 `Vite` 和 `Webpack` 工具中使用。
77
77
 
78
78
  首先需要安装自动导入插件
79
79
 
@@ -87,7 +87,7 @@ pnpm install unplugin-auto-import -D
87
87
  ```javascript
88
88
  import { defineConfig } from "vite";
89
89
  import AutoImport from "unplugin-auto-import/vite";
90
- import { IUtilsResolver } from "@ivu-plus/i-utils/resolver";
90
+ import { IUtilsResolver } from "@ivujs/i-utils/resolver";
91
91
 
92
92
  export default defineConfig({
93
93
  plugins: [
@@ -102,12 +102,12 @@ export default defineConfig({
102
102
 
103
103
  ```javascript
104
104
  const AutoImport = require("unplugin-auto-import/webpack");
105
- const { ElementPlusResolver } = require("@ivu-plus/i-utils/resolver");
105
+ const { IUtilsResolver } = require("@ivujs/i-utils/resolver");
106
106
 
107
107
  module.exports = {
108
108
  plugins: [
109
109
  AutoImport({
110
- resolvers: [ElementPlusResolver()],
110
+ resolvers: [IUtilsResolver()],
111
111
  }),
112
112
  ],
113
113
  };
@@ -149,35 +149,33 @@ npm publish
149
149
 
150
150
  [常量集合 Constant](https://github.com/qq575792372/i-utils/blob/main/doc/constants.md)
151
151
 
152
- [字符串](https://github.com/qq575792372/i-utils/blob/main/doc/string.md)
153
- [数字](https://github.com/qq575792372/i-utils/blob/main/doc/number.md)
154
- [数组](https://github.com/qq575792372/i-utils/blob/main/doc/array.md)
155
- [对象](https://github.com/qq575792372/i-utils/blob/main/doc/object.md)
156
- [函数](https://github.com/qq575792372/i-utils/blob/main/doc/function.md)
157
- [日期](https://github.com/qq575792372/i-utils/blob/main/doc/date.md)
158
- [数学](https://github.com/qq575792372/i-utils/blob/main/doc/math.md)
159
- [正则](https://github.com/qq575792372/i-utils/blob/main/doc/regexp.md)
160
- [随机数](https://github.com/qq575792372/i-utils/blob/main/doc/random.md)
161
-
162
- [文件](https://github.com/qq575792372/i-utils/blob/main/doc/file.md)
163
- [颜色](https://github.com/qq575792372/i-utils/blob/main/doc/color.md)
164
- [校验](https://github.com/qq575792372/i-utils/blob/main/doc/validate.md)
165
- [键盘](https://github.com/qq575792372/i-utils/blob/main/doc/keycode.md)
166
-
167
- [生成id](https://github.com/qq575792372/i-utils/blob/main/doc/id.md)
168
- [加解密算法](https://github.com/qq575792372/i-utils/blob/main/doc/crypto.md)
169
- [脱敏](https://github.com/qq575792372/i-utils/blob/main/doc/desensitized.md)
170
- [身份证号码](https://github.com/qq575792372/i-utils/blob/main/doc/ID-card.md)
171
- [分页](https://github.com/qq575792372/i-utils/blob/main/pagination/net.md)
172
-
173
- [浏览器 Url](https://github.com/qq575792372/i-utils/blob/main/doc/browser-url.md)
174
- [浏览器 Cookie](https://github.com/qq575792372/i-utils/blob/main/doc/browser-storage.md)
175
- [浏览器 Storage](https://github.com/qq575792372/i-utils/blob/main/doc/browser-cookie.md)
176
- [浏览器 Dom](https://github.com/qq575792372/i-utils/blob/main/doc/browser-dom.md)
177
- [浏览器 Device](https://github.com/qq575792372/i-utils/blob/main/doc/browser-device.md)
178
- [浏览器 Clipboard](https://github.com/qq575792372/i-utils/blob/main/doc/browser-clipboard.md)
179
-
180
- [微信小程序工具](https://github.com/qq575792372/i-utils/blob/main/doc/weapp.md)
152
+ [字符串](https://github.com/qq575792372/i-utils/blob/main/docs/字符串.md)
153
+ [数字](https://github.com/qq575792372/i-utils/blob/main/docs/数字.md)
154
+ [数组](https://github.com/qq575792372/i-utils/blob/main/docs/数组.md)
155
+ [对象](https://github.com/qq575792372/i-utils/blob/main/docs/对象.md)
156
+ [函数](https://github.com/qq575792372/i-utils/blob/main/docs/函数.md)
157
+ [日期](https://github.com/qq575792372/i-utils/blob/main/docs/日期.md)
158
+ [数学](https://github.com/qq575792372/i-utils/blob/main/docs/数学.md)
159
+ [正则](https://github.com/qq575792372/i-utils/blob/main/docs/正则.md)
160
+ [随机数](https://github.com/qq575792372/i-utils/blob/main/docs/随机数.md)
161
+
162
+ [文件](https://github.com/qq575792372/i-utils/blob/main/docs/文件.md)
163
+ [颜色](https://github.com/qq575792372/i-utils/blob/main/docs/颜色.md)
164
+ [校验](https://github.com/qq575792372/i-utils/blob/main/docs/校验.md)
165
+ [键盘](https://github.com/qq575792372/i-utils/blob/main/docs/键盘.md)
166
+
167
+ [生成 Id](https://github.com/qq575792372/i-utils/blob/main/docs/生成Id.md)
168
+ [加解密算法](https://github.com/qq575792372/i-utils/blob/main/docs/加解密算法.md)
169
+ [脱敏](https://github.com/qq575792372/i-utils/blob/main/docs/脱敏.md)
170
+ [身份证号码](https://github.com/qq575792372/i-utils/blob/main/docs/身份证号码.md)
171
+ [分页](https://github.com/qq575792372/i-utils/blob/main/pagination/分页.md)
172
+
173
+ [浏览器 Url](https://github.com/qq575792372/i-utils/blob/main/docs/浏览器Url.md)
174
+ [浏览器 Cookie](https://github.com/qq575792372/i-utils/blob/main/docs/浏览器Cookie.md)
175
+ [浏览器 Storage](https://github.com/qq575792372/i-utils/blob/main/docs/浏览器Storage.md)
176
+ [浏览器 Dom](https://github.com/qq575792372/i-utils/blob/main/docs/浏览器Dom.md)
177
+ [浏览器 Device](https://github.com/qq575792372/i-utils/blob/main/docs/浏览器Device.md)
178
+ [浏览器 Clipboard](https://github.com/qq575792372/i-utils/blob/main/docs/浏览器Clipboard.md)
181
179
 
182
180
  ### 🔖Git 提交规范
183
181
 
@@ -4,10 +4,13 @@ var index = require('../validate/index.cjs');
4
4
  var index$1 = require('../date/index.cjs');
5
5
  var idCard = require('../constants/id-card.cjs');
6
6
 
7
+ /**
8
+ * @module 身份证号码
9
+ */
7
10
  /**
8
11
  * 根据身份证号码获取信息
9
12
  * @description 能获取到 籍贯,出生日期,年龄,性别
10
- * @param {String} idCard 身份证号码,支持一代15位和二代18位
13
+ * @param {string} idCard 身份证号码,支持一代15位和二代18位
11
14
  * @returns {Object} 返回身份证信息对象
12
15
  */
13
16
  function getInfoByIDCard(idCard) {
@@ -26,8 +29,8 @@ function getInfoByIDCard(idCard) {
26
29
  }
27
30
  /**
28
31
  * 根据身份证号码获得生日
29
- * @param {String} idCard 身份证号码,支持一代15位和二代18位
30
- * @returns {String} 返回生日
32
+ * @param {string} idCard 身份证号码,支持一代15位和二代18位
33
+ * @returns {string} 返回生日
31
34
  */
32
35
  function getBirthdayByIDCard(idCard) {
33
36
  if (index.isNull(idCard))
@@ -43,23 +46,25 @@ function getBirthdayByIDCard(idCard) {
43
46
  }
44
47
  /**
45
48
  * 根据身份证号码获得年龄
46
- * @param {String} idCard 身份证号码,支持一代15位和二代18位
47
- * @returns {Number} 返回年龄
49
+ * @param {string} idCard 身份证号码,支持一代15位和二代18位
50
+ * @returns {number} 返回年龄
48
51
  */
49
52
  function getAgeByIDCard(idCard) {
50
53
  if (index.isNull(idCard))
51
54
  return;
52
- let birthday = getBirthdayByIDCard(idCard);
53
- return index$1.getAge(index$1.parseDate(birthday));
55
+ const birthday = getBirthdayByIDCard(idCard);
56
+ if (birthday) {
57
+ return index$1.getAge(index$1.toDate(String(birthday)));
58
+ }
54
59
  }
55
60
  /**
56
61
  * 根据身份证号码获得性别
57
- * @param {String} idCard 身份证号码,支持一代15位和二代18位
58
- * @returns {String} 返回性别
62
+ * @param {string} idCard 身份证号码,支持一代15位和二代18位
63
+ * @returns {string} 返回性别
59
64
  */
60
65
  function getSexByIDCard(idCard$1) {
61
66
  if (index.isNull(idCard$1))
62
- return;
67
+ return undefined;
63
68
  // 15位身份证
64
69
  if (idCard$1.length === 15) {
65
70
  return Number(idCard$1.substring(14)) % 2 === 0 ? idCard.ID_CARD.SEX.WOMAN : idCard.ID_CARD.SEX.MAN;
@@ -71,13 +76,16 @@ function getSexByIDCard(idCard$1) {
71
76
  }
72
77
  /**
73
78
  * 根据身份证号码获得省份
74
- * @param {String} idCard 身份证号码,支持一代15位和二代18位
75
- * @returns {String} 返回省份
79
+ * @param {string} idCard 身份证号码,支持一代15位和二代18位
80
+ * @returns {string} 返回省份
76
81
  */
77
82
  function getProvinceByIDCard(idCard$1) {
78
83
  if (index.isNull(idCard$1))
79
84
  return;
80
- return idCard.ID_CARD.PROVINCE[idCard$1.substring(0, 2)];
85
+ const prefix = idCard$1.substring(0, 2);
86
+ if (prefix) {
87
+ return idCard.ID_CARD.PROVINCE[prefix];
88
+ }
81
89
  }
82
90
 
83
91
  exports.getAgeByIDCard = getAgeByIDCard;
@@ -3,19 +3,22 @@
3
3
  var sort = require('../constants/sort.cjs');
4
4
  var index = require('../validate/index.cjs');
5
5
 
6
+ /**
7
+ * @module 数组
8
+ */
6
9
  /* 数组计算 */
7
10
  /**
8
11
  * 数组最小值
9
12
  * @param {Array} array 数组
10
- * @returns {Number} 返回最小值
13
+ * @returns {number} 返回最小值
11
14
  */
12
15
  function arrayMin(array) {
13
16
  return Math.min.apply(null, array);
14
17
  }
15
18
  /**
16
19
  * 数组最大值
17
- * @param {Array} array 数组
18
- * @returns {Number} 返回最大值
20
+ * @param {array} array 数组
21
+ * @returns {number} 返回最大值
19
22
  */
20
23
  function arrayMax(array) {
21
24
  return Math.max.apply(null, array);
@@ -23,7 +26,7 @@ function arrayMax(array) {
23
26
  /**
24
27
  * 数组求和
25
28
  * @param {Array} array 数组
26
- * @returns {Number} 返回和
29
+ * @returns {number} 返回和
27
30
  */
28
31
  function arraySum(array) {
29
32
  return array.reduce(function (pre, cur) {
@@ -33,7 +36,7 @@ function arraySum(array) {
33
36
  /**
34
37
  * 数组求平均值
35
38
  * @param {Array} array 数组
36
- * @returns {Number} 返回平均数
39
+ * @returns {number} 返回平均数
37
40
  */
38
41
  function arrayAvg(array) {
39
42
  return arraySum(array) / array.length;
@@ -41,9 +44,9 @@ function arrayAvg(array) {
41
44
  /* 数组比较 */
42
45
  /**
43
46
  * 数组中是否包含指定的元素
44
- * @param {String|Number} value 元素
47
+ * @param {string|number} value 元素
45
48
  * @param {Array} array 查找的数组
46
- * @returns {Boolean} 返回结果
49
+ * @returns {boolean} 返回结果
47
50
  */
48
51
  function inArray(value, array) {
49
52
  if (index.isNull(value))
@@ -54,7 +57,7 @@ function inArray(value, array) {
54
57
  * 比较两个数组是否相等
55
58
  * @param {Array} array1 数组1
56
59
  * @param {Array} array2 数组2
57
- * @returns {Boolean} 返回结果
60
+ * @returns {boolean} 返回结果
58
61
  */
59
62
  function arrayEquals(array1, array2) {
60
63
  if (array1 === array2)
@@ -66,7 +69,7 @@ function arrayEquals(array1, array2) {
66
69
  /* 数组操作 */
67
70
  /**
68
71
  * 生成指定长度的数组
69
- * @param {Number} length 长度,默认 0
72
+ * @param {number} length 长度,默认 0
70
73
  * @returns {Array} 返回数组
71
74
  */
72
75
  function arrayCreate(length = 0) {
@@ -76,7 +79,7 @@ function arrayCreate(length = 0) {
76
79
  * 数组指定位置添加元素
77
80
  * @description 如果数组为空,则在0位置添加元素
78
81
  * @param {Array} array 数组
79
- * @param {Number} index 下标位置,默认0
82
+ * @param {number} index 下标位置,默认0
80
83
  * @param {*} value 添加的元素
81
84
  * @returns {Array} 返回操作后的数组
82
85
  */
@@ -98,7 +101,7 @@ function arrayInsert(array = [], index = 0, value = undefined) {
98
101
  * 数组指定位置前面添加元素
99
102
  * @description 如果数组为空,则在0位置添加元素
100
103
  * @param {Array} array 数组
101
- * @param {Number} index 下标位置,默认0
104
+ * @param {number} index 下标位置,默认0
102
105
  * @param {*} value 添加的元素
103
106
  * @returns {Array} 返回操作后的数组
104
107
  */
@@ -120,7 +123,7 @@ function arrayInsertBefore(array = [], index = 0, value = undefined) {
120
123
  * 数组指定位置后面添加元素
121
124
  * @description 如果数组为空,则在0位置添加元素
122
125
  * @param {Array} array 数组
123
- * @param {Number} index 下标位置,默认0
126
+ * @param {number} index 下标位置,默认0
124
127
  * @param {*} value 添加的元素
125
128
  * @returns {Array} 返回操作后的数组
126
129
  */
@@ -141,7 +144,7 @@ function arrayInsertAfter(array = [], index = 0, value = undefined) {
141
144
  /**
142
145
  * 数组指定位置删除元素
143
146
  * @param {Array} array 数组
144
- * @param {Number} index 下标位置,默认0
147
+ * @param {number} index 下标位置,默认0
145
148
  * @returns {Array} 返回操作后的数组
146
149
  */
147
150
  function arrayRemove(array = [], index = 0) {
@@ -153,7 +156,7 @@ function arrayRemove(array = [], index = 0) {
153
156
  /**
154
157
  * 数组指定位置前面删除元素
155
158
  * @param {Array} array 数组
156
- * @param {Number} index 下标位置,默认0
159
+ * @param {number} index 下标位置,默认0
157
160
  * @returns {Array} 返回操作后的数组
158
161
  */
159
162
  function arrayRemoveBefore(array = [], index = 0) {
@@ -165,7 +168,7 @@ function arrayRemoveBefore(array = [], index = 0) {
165
168
  /**
166
169
  * 数组指定位置后面删除元素
167
170
  * @param {Array} array 数组
168
- * @param {Number} index 下标位置,默认0
171
+ * @param {number} index 下标位置,默认0
169
172
  * @returns {Array} 返回操作后的数组
170
173
  */
171
174
  function arrayRemoveAfter(array = [], index = 0) {
@@ -177,7 +180,7 @@ function arrayRemoveAfter(array = [], index = 0) {
177
180
  /**
178
181
  * 数组置顶
179
182
  * @param {Array} array 数组
180
- * @param {Number} index 下标位置,默认0
183
+ * @param {number} index 下标位置,默认0
181
184
  * @returns {Array} 返回操作后的数组
182
185
  */
183
186
  function arrayTop(array = [], index = 0) {
@@ -189,7 +192,7 @@ function arrayTop(array = [], index = 0) {
189
192
  /**
190
193
  * 数组置尾
191
194
  * @param {Array} array 数组
192
- * @param {Number} index 下标位置,默认0
195
+ * @param {number} index 下标位置,默认0
193
196
  * @returns {Array} 返回操作后的数组
194
197
  */
195
198
  function arrayBottom(array = [], index = 0) {
@@ -201,7 +204,7 @@ function arrayBottom(array = [], index = 0) {
201
204
  /**
202
205
  * 数组向上移动
203
206
  * @param {Array} array 数组
204
- * @param {Number} index 下标位置,默认0
207
+ * @param {number} index 下标位置,默认0
205
208
  * @returns {Array} 返回操作后的数组
206
209
  */
207
210
  function arrayUp(array = [], index = 0) {
@@ -218,7 +221,7 @@ function arrayUp(array = [], index = 0) {
218
221
  /**
219
222
  * 数组向下移动
220
223
  * @param {Array} array 数组
221
- * @param {Number} index 下标位置,默认0
224
+ * @param {number} index 下标位置,默认0
222
225
  * @returns {Array} 返回操作后的数组
223
226
  */
224
227
  function arrayDown(array = [], index = 0) {
@@ -235,8 +238,8 @@ function arrayDown(array = [], index = 0) {
235
238
  /**
236
239
  * 数组交换元素
237
240
  * @param {Array} array 数组
238
- * @param {Number} sourceIndex 原索引
239
- * @param {Number} targetIndex 目标索引
241
+ * @param {number} sourceIndex 原索引
242
+ * @param {number} targetIndex 目标索引
240
243
  * @returns {Array} 返回操作后的数组
241
244
  */
242
245
  function arraySwap(array, sourceIndex, targetIndex) {
@@ -249,7 +252,7 @@ function arraySwap(array, sourceIndex, targetIndex) {
249
252
  /**
250
253
  * 数组排序
251
254
  * @param {Array} array 数组
252
- * @param {Number} mode 排序模式,参考常量集合中 数组常量,默认是升序
255
+ * @param {number} mode 排序模式,参考常量集合中 数组常量,默认是升序
253
256
  * @returns {Array} 返回操作后的数组
254
257
  */
255
258
  function arraySort(array, mode = sort.SORT.ASC) {
@@ -264,9 +267,8 @@ function arraySort(array, mode = sort.SORT.ASC) {
264
267
  // 随机
265
268
  case sort.SORT.RANDOM:
266
269
  return Math.random() - 0.5;
267
- // 默认
268
270
  default:
269
- return array;
271
+ return 0;
270
272
  }
271
273
  });
272
274
  }
@@ -279,7 +281,7 @@ function arraySort(array, mode = sort.SORT.ASC) {
279
281
  */
280
282
  function arraySortBy(array, props) {
281
283
  return array.sort((a, b) => {
282
- for (let item of props) {
284
+ for (const item of props) {
283
285
  // 排序配置
284
286
  let prop = "", order = "asc";
285
287
  if (index.isObject(item)) {
@@ -332,8 +334,12 @@ function arrayShuffle(array) {
332
334
  * @param {Object} setting 配置项
333
335
  * @returns {Array} 返回树形节点
334
336
  */
335
- function arrayToTree(array, setting = { key: "id", parentKey: "pid", childrenKey: "children" }) {
336
- let key = setting.key, parentKey = setting.parentKey, childrenKey = setting.childrenKey;
337
+ function arrayToTree(array, setting = {
338
+ key: "id",
339
+ parentKey: "pid",
340
+ childrenKey: "children",
341
+ }) {
342
+ const key = setting.key, parentKey = setting.parentKey, childrenKey = setting.childrenKey;
337
343
  // 数组或者key是否为空
338
344
  if (!array || array.length === 0 || !key || key === "")
339
345
  return [];
@@ -348,15 +354,15 @@ function arrayToTree(array, setting = { key: "id", parentKey: "pid", childrenKey
348
354
  return node[childrenKey];
349
355
  };
350
356
  // 声明变量
351
- let result = [];
352
- let tempMap = {};
357
+ const result = [];
358
+ const tempMap = {};
353
359
  for (let i = 0; i < array.length; i++) {
354
360
  // 如果源数据数组中有children,则需要删除掉,否则会导致和之前的children合并
355
361
  array[i][childrenKey] && delete array[i][childrenKey];
356
362
  tempMap[array[i][key]] = array[i];
357
363
  }
358
364
  for (let i = 0; i < array.length; i++) {
359
- let parent = tempMap[array[i][parentKey]];
365
+ const parent = tempMap[array[i][parentKey]];
360
366
  if (parent && array[i][key] !== array[i][parentKey]) {
361
367
  let children = nodeChildren(parent, childrenKey);
362
368
  if (!children) {
@@ -378,9 +384,9 @@ function arrayToTree(array, setting = { key: "id", parentKey: "pid", childrenKey
378
384
  * @returns {Array} 返回普通数组
379
385
  */
380
386
  function treeToArray(nodes, setting = { childrenKey: "children" }) {
381
- let childrenKey = setting.childrenKey;
382
- let result = [];
383
- for (let node of nodes) {
387
+ const childrenKey = setting.childrenKey;
388
+ const result = [];
389
+ for (const node of nodes) {
384
390
  // 删除掉多余空的children
385
391
  if (node[childrenKey] && !node[childrenKey].length) {
386
392
  delete node[childrenKey];
@@ -388,7 +394,7 @@ function treeToArray(nodes, setting = { childrenKey: "children" }) {
388
394
  result.push(node);
389
395
  // 继续执行
390
396
  if (node[childrenKey] && node[childrenKey].length) {
391
- let array = treeToArray(node[childrenKey], setting);
397
+ const array = treeToArray(node[childrenKey], setting);
392
398
  array && result.push(...array);
393
399
  }
394
400
  }
@@ -2,6 +2,9 @@
2
2
 
3
3
  var index = require('../file/index.cjs');
4
4
 
5
+ /**
6
+ * @module 浏览器Clipboard
7
+ */
5
8
  /**
6
9
  * 获得剪切板数据
7
10
  * @description 获得的剪切板的数据是会返回多个可用的MIME类型,比如是纯文本就返回一个['text/plain'],是复制的html则会返回两个可用的['text/plain','text/html'],是复制的图片则是['image/png']
@@ -11,13 +14,13 @@ function getClipboard() {
11
14
  return new Promise((resolve, reject) => {
12
15
  if (window.navigator.clipboard) {
13
16
  window.navigator.clipboard.read().then((clipboardItems) => {
14
- let list = [];
15
- for (let item of clipboardItems) {
16
- for (let type of item.types) {
17
+ const list = [];
18
+ for (const item of clipboardItems) {
19
+ for (const type of item.types) {
17
20
  item.getType(type).then(async (blob) => {
18
21
  // 文本类型,可以直接输出为字符串
19
22
  if (blob.type.includes("text")) {
20
- let text = await index.blobToText(blob);
23
+ const text = await index.blobToText(blob);
21
24
  list.push({ type: blob.type, data: text });
22
25
  }
23
26
  // 图片和其他文件类型,返回blob对象
@@ -59,7 +62,7 @@ function getClipboardText() {
59
62
  /**
60
63
  * 设置剪切板数据
61
64
  * @description 可以设置文本或者blob类型的数据
62
- * @param {String,Blob} data 写入的数据,可以是文本或blob数据
65
+ * @param {string|Blob} data 写入的数据,可以是文本或blob数据
63
66
  * @returns {Promise} 返回结果
64
67
  */
65
68
  function setClipboard(data) {
@@ -69,7 +72,7 @@ function setClipboard(data) {
69
72
  let clipboardItem = null;
70
73
  // 是文本类型
71
74
  if (typeof data === "string") {
72
- let blob = new Blob([data], { type: "text/plain" });
75
+ const blob = new Blob([data], { type: "text/plain" });
73
76
  clipboardItem = new window.ClipboardItem({
74
77
  ["text/plain"]: blob,
75
78
  });
@@ -92,7 +95,7 @@ function setClipboard(data) {
92
95
  }
93
96
  /**
94
97
  * 设置剪切板文本
95
- * @param {String} text 写入的文本
98
+ * @param {string} text 写入的文本
96
99
  * @returns {Promise} 返回结果
97
100
  */
98
101
  function setClipboardText(text) {
@@ -115,9 +118,10 @@ function setClipboardText(text) {
115
118
  * @returns {Promise} 返回结果
116
119
  */
117
120
  function clearClipboard() {
118
- return new Promise(async (resolve, reject) => {
119
- await setClipboardText("");
120
- resolve(true);
121
+ return new Promise((resolve, reject) => {
122
+ setClipboardText("")
123
+ .then(() => resolve(true))
124
+ .catch(reject);
121
125
  });
122
126
  }
123
127