@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.
- package/README.md +40 -42
- package/dist/cjs/ID-card/index.cjs +21 -13
- package/dist/cjs/array/index.cjs +40 -34
- package/dist/cjs/clipboard/index.cjs +14 -10
- package/dist/cjs/color/index.cjs +73 -59
- package/dist/cjs/cookie/index.cjs +16 -13
- package/dist/cjs/crypto/base64/base64.cjs +398 -206
- package/dist/cjs/crypto/base64/index.cjs +58 -35
- package/dist/cjs/crypto/md5/index.cjs +33 -8
- package/dist/cjs/crypto/md5/md5.cjs +298 -844
- package/dist/cjs/crypto/sha256/index.cjs +95 -0
- package/dist/cjs/crypto/sha256/sha256.cjs +557 -0
- package/dist/cjs/crypto/sm3/index.cjs +27 -0
- package/dist/cjs/crypto/sm3/sm3.cjs +200 -0
- package/dist/cjs/crypto/sm4/index.cjs +101 -0
- package/dist/cjs/crypto/sm4/sm4.cjs +498 -0
- package/dist/cjs/date/index.cjs +379 -335
- package/dist/cjs/desensitized/index.cjs +21 -18
- package/dist/cjs/device/index.cjs +33 -30
- package/dist/cjs/dom/index.cjs +26 -23
- package/dist/cjs/file/index.cjs +51 -41
- package/dist/cjs/function/index.cjs +22 -19
- package/dist/cjs/id/index.cjs +6 -2
- package/dist/cjs/index.cjs +108 -127
- package/dist/cjs/keycode/index.cjs +9 -12
- package/dist/cjs/math/index.cjs +113 -81
- package/dist/cjs/number/index.cjs +10 -7
- package/dist/cjs/object/index.cjs +77 -30
- package/dist/cjs/pagination/index.cjs +25 -10
- package/dist/cjs/random/index.cjs +8 -5
- package/dist/cjs/regexp/index.cjs +23 -20
- package/dist/cjs/storage/index.cjs +4 -1
- package/dist/cjs/storage/localStorage.cjs +5 -5
- package/dist/cjs/storage/sessionStorage.cjs +6 -6
- package/dist/cjs/string/index.cjs +66 -63
- package/dist/cjs/url/index.cjs +83 -80
- package/dist/cjs/validate/index.cjs +122 -106
- package/dist/es/ID-card/index.d.ts +19 -14
- package/dist/es/ID-card/index.mjs +22 -14
- package/dist/es/array/index.d.ts +56 -50
- package/dist/es/array/index.mjs +40 -34
- package/dist/es/clipboard/index.d.ts +10 -7
- package/dist/es/clipboard/index.mjs +14 -10
- package/dist/es/color/index.d.ts +28 -25
- package/dist/es/color/index.mjs +73 -59
- package/dist/es/constants/date.d.ts +4 -174
- package/dist/es/constants/id-card.d.ts +4 -43
- package/dist/es/constants/index.d.ts +11 -7
- package/dist/es/constants/keycode.d.ts +1 -103
- package/dist/es/constants/lang.d.ts +4 -4
- package/dist/es/constants/math.d.ts +4 -4
- package/dist/es/constants/regexp.d.ts +4 -24
- package/dist/es/constants/sort.d.ts +4 -5
- package/dist/es/cookie/index.d.ts +13 -13
- package/dist/es/cookie/index.mjs +16 -13
- package/dist/es/crypto/base64/base64.d.ts +8 -5
- package/dist/es/crypto/base64/base64.mjs +393 -204
- package/dist/es/crypto/base64/index.d.ts +41 -24
- package/dist/es/crypto/base64/index.mjs +53 -32
- package/dist/es/crypto/index.d.ts +8 -8
- package/dist/es/crypto/md5/index.d.ts +20 -7
- package/dist/es/crypto/md5/index.mjs +32 -9
- package/dist/es/crypto/md5/md5.d.ts +9 -142
- package/dist/es/crypto/md5/md5.mjs +299 -844
- package/dist/es/crypto/sha256/index.d.ts +52 -0
- package/dist/es/crypto/sha256/index.mjs +86 -0
- package/dist/es/crypto/sha256/sha256.d.ts +82 -0
- package/dist/es/crypto/sha256/sha256.mjs +548 -0
- package/dist/es/crypto/sm3/index.d.ts +13 -0
- package/dist/es/crypto/sm3/index.mjs +24 -0
- package/dist/es/crypto/sm3/sm3.d.ts +3 -0
- package/dist/es/crypto/sm3/sm3.mjs +197 -0
- package/dist/es/crypto/sm4/index.d.ts +56 -0
- package/dist/es/crypto/sm4/index.mjs +95 -0
- package/dist/es/crypto/sm4/sm4.d.ts +48 -0
- package/dist/es/crypto/sm4/sm4.mjs +490 -0
- package/dist/es/date/index.d.ts +236 -175
- package/dist/es/date/index.mjs +378 -335
- package/dist/es/desensitized/index.d.ts +26 -23
- package/dist/es/desensitized/index.mjs +21 -18
- package/dist/es/device/index.d.ts +31 -25
- package/dist/es/device/index.mjs +33 -30
- package/dist/es/dom/index.d.ts +32 -29
- package/dist/es/dom/index.mjs +26 -23
- package/dist/es/file/index.d.ts +30 -30
- package/dist/es/file/index.mjs +51 -41
- package/dist/es/function/index.d.ts +10 -7
- package/dist/es/function/index.mjs +22 -19
- package/dist/es/id/index.d.ts +3 -0
- package/dist/es/id/index.mjs +6 -2
- package/dist/es/index.d.ts +24 -25
- package/dist/es/index.mjs +6 -23
- package/dist/es/keycode/index.d.ts +6 -6
- package/dist/es/keycode/index.mjs +9 -12
- package/dist/es/math/index.d.ts +37 -37
- package/dist/es/math/index.mjs +113 -81
- package/dist/es/number/index.d.ts +7 -7
- package/dist/es/number/index.mjs +10 -7
- package/dist/es/object/index.d.ts +20 -19
- package/dist/es/object/index.mjs +77 -30
- package/dist/es/pagination/index.d.ts +39 -6
- package/dist/es/pagination/index.mjs +25 -10
- package/dist/es/random/index.d.ts +10 -7
- package/dist/es/random/index.mjs +8 -5
- package/dist/es/regexp/index.d.ts +30 -30
- package/dist/es/regexp/index.mjs +23 -20
- package/dist/es/storage/index.d.ts +10 -4
- package/dist/es/storage/index.mjs +4 -1
- package/dist/es/storage/localStorage.d.ts +9 -9
- package/dist/es/storage/localStorage.mjs +5 -5
- package/dist/es/storage/sessionStorage.d.ts +9 -9
- package/dist/es/storage/sessionStorage.mjs +6 -6
- package/dist/es/string/index.d.ts +62 -59
- package/dist/es/string/index.mjs +66 -63
- package/dist/es/url/index.d.ts +65 -65
- package/dist/es/url/index.mjs +83 -80
- package/dist/es/validate/index.d.ts +83 -80
- package/dist/es/validate/index.mjs +122 -106
- package/dist/index.d.ts +2355 -2803
- package/dist/lib/index.full.umd.js +3297 -9474
- package/dist/lib/index.full.umd.min.js +2 -64
- package/dist/lib/index.full.umd.min.js.map +1 -1
- package/dist/resolver/auto-imports.cjs +38 -31
- package/dist/resolver/auto-imports.mjs +38 -31
- package/dist/resolver/index.cjs +1 -2
- package/dist/resolver/index.d.ts +1 -1
- package/dist/resolver/index.mjs +1 -2
- package/package.json +96 -90
- package/dist/cjs/crypto/aes/aes.cjs +0 -480
- package/dist/cjs/crypto/aes/index.cjs +0 -27
- package/dist/cjs/crypto/base32/base32.cjs +0 -357
- package/dist/cjs/crypto/base32/index.cjs +0 -41
- package/dist/cjs/crypto/des/des.cjs +0 -257
- package/dist/cjs/crypto/des/index.cjs +0 -28
- package/dist/cjs/crypto/sha/sha1/index.cjs +0 -24
- package/dist/cjs/crypto/sha/sha1/sha1.cjs +0 -529
- package/dist/cjs/crypto/sha/sha256/index.cjs +0 -43
- package/dist/cjs/crypto/sha/sha256/sha256.cjs +0 -595
- package/dist/cjs/crypto/sha/sha3/index.cjs +0 -41
- package/dist/cjs/crypto/sha/sha3/sha3.cjs +0 -624
- package/dist/cjs/crypto/sha/sha512/index.cjs +0 -81
- package/dist/cjs/crypto/sha/sha512/sha512.cjs +0 -950
- package/dist/cjs/crypto/sm/lib/asn1.cjs +0 -149
- package/dist/cjs/crypto/sm/lib/ec.cjs +0 -315
- package/dist/cjs/crypto/sm/lib/jsbn.cjs +0 -1608
- package/dist/cjs/crypto/sm/lib/sm3.cjs +0 -158
- package/dist/cjs/crypto/sm/lib/utils.cjs +0 -170
- package/dist/cjs/crypto/sm/sm2/index.cjs +0 -112
- package/dist/cjs/crypto/sm/sm2/sm2.cjs +0 -231
- package/dist/cjs/crypto/sm/sm3/index.cjs +0 -15
- package/dist/cjs/crypto/sm/sm3/sm3.cjs +0 -93
- package/dist/cjs/crypto/sm/sm4/index.cjs +0 -27
- package/dist/cjs/crypto/sm/sm4/sm4.cjs +0 -327
- package/dist/cjs/crypto/tea/index.cjs +0 -25
- package/dist/cjs/crypto/tea/tea.cjs +0 -187
- package/dist/cjs/weapp/index.cjs +0 -142
- package/dist/es/crypto/aes/aes.d.ts +0 -156
- package/dist/es/crypto/aes/aes.mjs +0 -478
- package/dist/es/crypto/aes/index.d.ts +0 -16
- package/dist/es/crypto/aes/index.mjs +0 -24
- package/dist/es/crypto/base32/base32.d.ts +0 -3
- package/dist/es/crypto/base32/base32.mjs +0 -353
- package/dist/es/crypto/base32/index.d.ts +0 -24
- package/dist/es/crypto/base32/index.mjs +0 -36
- package/dist/es/crypto/des/des.d.ts +0 -52
- package/dist/es/crypto/des/des.mjs +0 -255
- package/dist/es/crypto/des/index.d.ts +0 -14
- package/dist/es/crypto/des/index.mjs +0 -25
- package/dist/es/crypto/sha/index.d.ts +0 -4
- package/dist/es/crypto/sha/sha1/index.d.ts +0 -13
- package/dist/es/crypto/sha/sha1/index.mjs +0 -21
- package/dist/es/crypto/sha/sha1/sha1.d.ts +0 -2
- package/dist/es/crypto/sha/sha1/sha1.mjs +0 -526
- package/dist/es/crypto/sha/sha256/index.d.ts +0 -26
- package/dist/es/crypto/sha/sha256/index.mjs +0 -38
- package/dist/es/crypto/sha/sha256/sha256.d.ts +0 -4
- package/dist/es/crypto/sha/sha256/sha256.mjs +0 -590
- package/dist/es/crypto/sha/sha3/index.d.ts +0 -24
- package/dist/es/crypto/sha/sha3/index.mjs +0 -36
- package/dist/es/crypto/sha/sha3/sha3.d.ts +0 -4
- package/dist/es/crypto/sha/sha3/sha3.mjs +0 -619
- package/dist/es/crypto/sha/sha512/index.d.ts +0 -52
- package/dist/es/crypto/sha/sha512/index.mjs +0 -72
- package/dist/es/crypto/sha/sha512/sha512.d.ts +0 -8
- package/dist/es/crypto/sha/sha512/sha512.mjs +0 -941
- package/dist/es/crypto/sm/index.d.ts +0 -3
- package/dist/es/crypto/sm/lib/asn1.d.ts +0 -12
- package/dist/es/crypto/sm/lib/asn1.mjs +0 -146
- package/dist/es/crypto/sm/lib/ec.d.ts +0 -126
- package/dist/es/crypto/sm/lib/ec.mjs +0 -312
- package/dist/es/crypto/sm/lib/jsbn.d.ts +0 -198
- package/dist/es/crypto/sm/lib/jsbn.mjs +0 -1605
- package/dist/es/crypto/sm/lib/sm3.d.ts +0 -5
- package/dist/es/crypto/sm/lib/sm3.mjs +0 -155
- package/dist/es/crypto/sm/lib/utils.d.ts +0 -53
- package/dist/es/crypto/sm/lib/utils.mjs +0 -158
- package/dist/es/crypto/sm/sm2/index.d.ts +0 -71
- package/dist/es/crypto/sm/sm2/index.mjs +0 -101
- package/dist/es/crypto/sm/sm2/sm2.d.ts +0 -34
- package/dist/es/crypto/sm/sm2/sm2.mjs +0 -220
- package/dist/es/crypto/sm/sm3/index.d.ts +0 -7
- package/dist/es/crypto/sm/sm3/index.mjs +0 -13
- package/dist/es/crypto/sm/sm3/sm3.d.ts +0 -1
- package/dist/es/crypto/sm/sm3/sm3.mjs +0 -91
- package/dist/es/crypto/sm/sm4/index.d.ts +0 -16
- package/dist/es/crypto/sm/sm4/index.mjs +0 -24
- package/dist/es/crypto/sm/sm4/sm4.d.ts +0 -2
- package/dist/es/crypto/sm/sm4/sm4.mjs +0 -324
- package/dist/es/crypto/tea/index.d.ts +0 -14
- package/dist/es/crypto/tea/index.mjs +0 -22
- package/dist/es/crypto/tea/tea.d.ts +0 -69
- package/dist/es/crypto/tea/tea.mjs +0 -185
- package/dist/es/weapp/index.d.ts +0 -57
- 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
|
|
8
|
+
`浏览器 Cookie`,`浏览器 Clipboard`,`浏览器 Dom`等多个模块,同时支持`es模块化`、`umd浏览器环境`、
|
|
9
9
|
`require服务端环境`,满足不同场景的开发需求,大幅提升开发效率。
|
|
10
10
|
|
|
11
11
|
### 📦 安装
|
|
12
12
|
|
|
13
13
|
```bash
|
|
14
14
|
# npm
|
|
15
|
-
npm i @
|
|
15
|
+
npm i @ivujs/i-utils --save
|
|
16
16
|
|
|
17
17
|
# pnpm
|
|
18
|
-
pnpm i @
|
|
18
|
+
pnpm i @ivujs/i-utils --save
|
|
19
19
|
|
|
20
20
|
# yarn
|
|
21
|
-
yarn add @
|
|
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 "@
|
|
30
|
+
import { testLoaded } from "@ivujs/i-utils";
|
|
31
31
|
|
|
32
32
|
testLoaded();
|
|
33
33
|
|
|
34
34
|
// 全量引入
|
|
35
|
-
import * as iUtils from "@
|
|
35
|
+
import * as iUtils from "@ivujs/i-utils";
|
|
36
36
|
|
|
37
37
|
iUtils.testLoaded();
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
-
####
|
|
40
|
+
#### cjs 服务端环境
|
|
41
41
|
|
|
42
42
|
```javascript
|
|
43
43
|
// 全量引入
|
|
44
|
-
const iUtils = require("@
|
|
44
|
+
const iUtils = require("@ivujs/i-utils");
|
|
45
45
|
iUtils.testLoaded();
|
|
46
46
|
|
|
47
47
|
// 按需引入
|
|
48
|
-
const { testLoaded } = require("@
|
|
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
|
|
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 "@
|
|
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 {
|
|
105
|
+
const { IUtilsResolver } = require("@ivujs/i-utils/resolver");
|
|
106
106
|
|
|
107
107
|
module.exports = {
|
|
108
108
|
plugins: [
|
|
109
109
|
AutoImport({
|
|
110
|
-
resolvers: [
|
|
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/
|
|
153
|
-
[数字](https://github.com/qq575792372/i-utils/blob/main/
|
|
154
|
-
[数组](https://github.com/qq575792372/i-utils/blob/main/
|
|
155
|
-
[对象](https://github.com/qq575792372/i-utils/blob/main/
|
|
156
|
-
[函数](https://github.com/qq575792372/i-utils/blob/main/
|
|
157
|
-
[日期](https://github.com/qq575792372/i-utils/blob/main/
|
|
158
|
-
[数学](https://github.com/qq575792372/i-utils/blob/main/
|
|
159
|
-
[正则](https://github.com/qq575792372/i-utils/blob/main/
|
|
160
|
-
[随机数](https://github.com/qq575792372/i-utils/blob/main/
|
|
161
|
-
|
|
162
|
-
[文件](https://github.com/qq575792372/i-utils/blob/main/
|
|
163
|
-
[颜色](https://github.com/qq575792372/i-utils/blob/main/
|
|
164
|
-
[校验](https://github.com/qq575792372/i-utils/blob/main/
|
|
165
|
-
[键盘](https://github.com/qq575792372/i-utils/blob/main/
|
|
166
|
-
|
|
167
|
-
[生成
|
|
168
|
-
[加解密算法](https://github.com/qq575792372/i-utils/blob/main/
|
|
169
|
-
[脱敏](https://github.com/qq575792372/i-utils/blob/main/
|
|
170
|
-
[身份证号码](https://github.com/qq575792372/i-utils/blob/main/
|
|
171
|
-
[分页](https://github.com/qq575792372/i-utils/blob/main/pagination
|
|
172
|
-
|
|
173
|
-
[浏览器 Url](https://github.com/qq575792372/i-utils/blob/main/
|
|
174
|
-
[浏览器 Cookie](https://github.com/qq575792372/i-utils/blob/main/
|
|
175
|
-
[浏览器 Storage](https://github.com/qq575792372/i-utils/blob/main/
|
|
176
|
-
[浏览器 Dom](https://github.com/qq575792372/i-utils/blob/main/
|
|
177
|
-
[浏览器 Device](https://github.com/qq575792372/i-utils/blob/main/
|
|
178
|
-
[浏览器 Clipboard](https://github.com/qq575792372/i-utils/blob/main/
|
|
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 {
|
|
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 {
|
|
30
|
-
* @returns {
|
|
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 {
|
|
47
|
-
* @returns {
|
|
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
|
-
|
|
53
|
-
|
|
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 {
|
|
58
|
-
* @returns {
|
|
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 {
|
|
75
|
-
* @returns {
|
|
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
|
-
|
|
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;
|
package/dist/cjs/array/index.cjs
CHANGED
|
@@ -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 {
|
|
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 {
|
|
18
|
-
* @returns {
|
|
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 {
|
|
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 {
|
|
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 {
|
|
47
|
+
* @param {string|number} value 元素
|
|
45
48
|
* @param {Array} array 查找的数组
|
|
46
|
-
* @returns {
|
|
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 {
|
|
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 {
|
|
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 {
|
|
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 {
|
|
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 {
|
|
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 {
|
|
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 {
|
|
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 {
|
|
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 {
|
|
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 {
|
|
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 {
|
|
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 {
|
|
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 {
|
|
239
|
-
* @param {
|
|
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 {
|
|
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
|
|
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 (
|
|
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 = {
|
|
336
|
-
|
|
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
|
-
|
|
352
|
-
|
|
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
|
-
|
|
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
|
-
|
|
382
|
-
|
|
383
|
-
for (
|
|
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
|
-
|
|
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
|
-
|
|
15
|
-
for (
|
|
16
|
-
for (
|
|
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
|
-
|
|
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 {
|
|
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
|
-
|
|
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 {
|
|
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(
|
|
119
|
-
|
|
120
|
-
|
|
121
|
+
return new Promise((resolve, reject) => {
|
|
122
|
+
setClipboardText("")
|
|
123
|
+
.then(() => resolve(true))
|
|
124
|
+
.catch(reject);
|
|
121
125
|
});
|
|
122
126
|
}
|
|
123
127
|
|