@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/dist/es/url/index.d.ts
CHANGED
|
@@ -1,118 +1,118 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* 获得协议名
|
|
3
|
-
* @param {
|
|
4
|
-
* @returns {
|
|
3
|
+
* @param {string} url url地址,默认当前url地址
|
|
4
|
+
* @returns {string} 返回协议名
|
|
5
5
|
*/
|
|
6
|
-
export function getProtocol(url?: string): string;
|
|
6
|
+
export declare function getProtocol(url?: string): string | undefined;
|
|
7
7
|
/**
|
|
8
8
|
* 获得主机地址
|
|
9
|
-
* @param {
|
|
10
|
-
* @returns {
|
|
9
|
+
* @param {string} url url地址,默认当前url地址
|
|
10
|
+
* @returns {string} 返回主机地址
|
|
11
11
|
*/
|
|
12
|
-
export function getHost(url?: string): string;
|
|
12
|
+
export declare function getHost(url?: string): string | undefined;
|
|
13
13
|
/**
|
|
14
14
|
* 获得主机名称
|
|
15
|
-
* @param {
|
|
16
|
-
* @returns {
|
|
15
|
+
* @param {string} url url地址,默认当前url地址
|
|
16
|
+
* @returns {string} 返回主机名称
|
|
17
17
|
*/
|
|
18
|
-
export function getHostName(url?: string): string;
|
|
18
|
+
export declare function getHostName(url?: string): string | undefined;
|
|
19
19
|
/**
|
|
20
20
|
* 获得端口号
|
|
21
|
-
* @param {
|
|
22
|
-
* @returns {
|
|
21
|
+
* @param {string} url url地址,默认当前url地址
|
|
22
|
+
* @returns {string} 返回端口号
|
|
23
23
|
*/
|
|
24
|
-
export function getPort(url?: string): string;
|
|
24
|
+
export declare function getPort(url?: string): string | undefined;
|
|
25
25
|
/**
|
|
26
26
|
* 获得地址路径
|
|
27
|
-
* @param {
|
|
28
|
-
* @returns {
|
|
27
|
+
* @param {string} url url地址,默认当前url地址
|
|
28
|
+
* @returns {string} 返回地址路径
|
|
29
29
|
*/
|
|
30
|
-
export function getUrlPath(url?: string): string;
|
|
30
|
+
export declare function getUrlPath(url?: string): string | undefined;
|
|
31
31
|
/**
|
|
32
32
|
* 获得hash字符串
|
|
33
|
-
* @param {
|
|
34
|
-
* @returns {
|
|
33
|
+
* @param {string} url url地址,默认当前url地址
|
|
34
|
+
* @returns {string} 返回hash字符串
|
|
35
35
|
*/
|
|
36
|
-
export function getUrlHash(url?: string): string;
|
|
36
|
+
export declare function getUrlHash(url?: string): string | undefined;
|
|
37
37
|
/**
|
|
38
38
|
* 获得查询参数字符串
|
|
39
|
-
* @param {
|
|
40
|
-
* @returns {
|
|
39
|
+
* @param {string} url url地址,默认当前url地址
|
|
40
|
+
* @returns {string} 返回查询参数字符串
|
|
41
41
|
*/
|
|
42
|
-
export function getSearchString(url?: string): string;
|
|
42
|
+
export declare function getSearchString(url?: string): string | undefined;
|
|
43
43
|
/**
|
|
44
44
|
* 查询参数字符串中是否包含某个参数
|
|
45
|
-
* @param {
|
|
46
|
-
* @param {
|
|
47
|
-
* @returns {
|
|
45
|
+
* @param {string} url url地址,默认当前url地址
|
|
46
|
+
* @param {string} name 参数名
|
|
47
|
+
* @returns {boolean} 返回结果
|
|
48
48
|
*/
|
|
49
|
-
export function hasSearchParam(url: string, name: string): boolean;
|
|
49
|
+
export declare function hasSearchParam(url: string | undefined, name: string): boolean;
|
|
50
50
|
/**
|
|
51
51
|
* 查询参数字符串中获得某个参数的值
|
|
52
|
-
* @param {
|
|
53
|
-
* @param {
|
|
54
|
-
* @returns {
|
|
52
|
+
* @param {string} url url地址,默认当前url地址
|
|
53
|
+
* @param {string} name 参数名
|
|
54
|
+
* @returns {string} 返回查询到的值
|
|
55
55
|
*/
|
|
56
|
-
export function getSearchParam(url?: string, name?: string): string;
|
|
56
|
+
export declare function getSearchParam(url?: string, name?: string): string | undefined;
|
|
57
57
|
/**
|
|
58
58
|
* 查询参数字符串中设置某个参数的值
|
|
59
|
-
* @param {
|
|
60
|
-
* @param {
|
|
61
|
-
* @param {
|
|
62
|
-
* @returns {
|
|
59
|
+
* @param {string} name 参数名
|
|
60
|
+
* @param {string|number|Array} value 参数值,如果是数组,则解析为:&ids[0]=1&ids[2]=2
|
|
61
|
+
* @param {string} url url地址,默认当前url地址
|
|
62
|
+
* @returns {string} 返回查询参数字符串
|
|
63
63
|
*/
|
|
64
|
-
export function setSearchParam(url: string, name: string, value:
|
|
64
|
+
export declare function setSearchParam(url: string | undefined, name: string | undefined, value: string | number | number[] | string[]): string;
|
|
65
65
|
/**
|
|
66
66
|
* 查询参数字符串转为对象
|
|
67
|
-
* @param {
|
|
67
|
+
* @param {string} url url地址,默认当前url地址
|
|
68
68
|
* @returns {Object} 返回参数对象
|
|
69
69
|
*/
|
|
70
|
-
export function parseSearchParam(url?: string):
|
|
70
|
+
export declare function parseSearchParam(url?: string): Record<string, any>;
|
|
71
71
|
/**
|
|
72
72
|
* 对象转为查询参数字符串
|
|
73
73
|
* @param {Object} params 参数对象
|
|
74
|
-
* @param {
|
|
75
|
-
* @returns {
|
|
74
|
+
* @param {string} url url地址,如果不为空,则会拼接好查询参数字符串的url地址
|
|
75
|
+
* @returns {string} 返回参数字符串
|
|
76
76
|
*/
|
|
77
|
-
export function stringifySearchParam(params:
|
|
77
|
+
export declare function stringifySearchParam(params: Record<string, any>, url?: string): string;
|
|
78
78
|
/**
|
|
79
79
|
* 查询参数字符串中在最前面追加新参数和值
|
|
80
|
-
* @param {
|
|
81
|
-
* @param {
|
|
82
|
-
* @param {
|
|
83
|
-
* @returns {
|
|
80
|
+
* @param {string} url url地址,默认当前url地址
|
|
81
|
+
* @param {string} name 参数名
|
|
82
|
+
* @param {string|number|Array} value 参数值,如果是数组,则解析为:&ids[0]=1&ids[2]=2
|
|
83
|
+
* @returns {string} 返回查询参数字符串
|
|
84
84
|
*/
|
|
85
|
-
export function prependSearchParam(url: string, name: string, value:
|
|
85
|
+
export declare function prependSearchParam(url: string | undefined, name: string, value: string | number | number[] | string[]): string;
|
|
86
86
|
/**
|
|
87
87
|
* 查询参数字符串中在某个参数的前面追加新参数和值
|
|
88
|
-
* @param {
|
|
89
|
-
* @param {
|
|
90
|
-
* @param {
|
|
91
|
-
* @param {
|
|
92
|
-
* @returns {
|
|
88
|
+
* @param {string} url url地址,默认当前url地址
|
|
89
|
+
* @param {string} name 参数名
|
|
90
|
+
* @param {string|number|Array} value 参数值,如果是数组,则解析为:&ids[0]=1&ids[2]=2
|
|
91
|
+
* @param {string} beforeParam 在前面追加参数的名称
|
|
92
|
+
* @returns {string} 返回查询参数字符串
|
|
93
93
|
*/
|
|
94
|
-
export function prependToSearchParam(url: string, beforeParam: string, name: string, value:
|
|
94
|
+
export declare function prependToSearchParam(url: string | undefined, beforeParam: string, name: string, value: string | number | number[] | string[]): string;
|
|
95
95
|
/**
|
|
96
96
|
* 查询参数字符串中在最后面追加新参数和值
|
|
97
|
-
* @param {
|
|
98
|
-
* @param {
|
|
99
|
-
* @param {
|
|
100
|
-
* @returns {
|
|
97
|
+
* @param {string} url url地址,默认当前url地址
|
|
98
|
+
* @param {string} name 参数名
|
|
99
|
+
* @param {string,number,Array} value 参数值,如果是数组,则解析为:&ids[0]=1&ids[2]=2
|
|
100
|
+
* @returns {string} 返回查询参数字符串
|
|
101
101
|
*/
|
|
102
|
-
export function appendSearchParam(url: string, name: string, value:
|
|
102
|
+
export declare function appendSearchParam(url: string | undefined, name: string, value: string | number | number[] | string[]): string;
|
|
103
103
|
/**
|
|
104
104
|
* 查询参数字符串中在某个参数的后面追加新参数和值
|
|
105
|
-
* @param {
|
|
106
|
-
* @param {
|
|
107
|
-
* @param {
|
|
108
|
-
* @param {
|
|
109
|
-
* @returns {
|
|
105
|
+
* @param {string} url url地址,默认当前url地址
|
|
106
|
+
* @param {string} name 参数名
|
|
107
|
+
* @param {string,number,Array} value 参数值,如果是数组,则解析为:&ids[0]=1&ids[2]=2
|
|
108
|
+
* @param {string} afterName 在后面追加参数的名称
|
|
109
|
+
* @returns {string} 返回查询参数字符串
|
|
110
110
|
*/
|
|
111
|
-
export function appendToSearchParam(url: string, afterName: string, name: string, value:
|
|
111
|
+
export declare function appendToSearchParam(url: string | undefined, afterName: string, name: string, value: string | number | number[] | string[]): string;
|
|
112
112
|
/**
|
|
113
113
|
* 查询参数字符串中移除某个参数和值
|
|
114
|
-
* @param {
|
|
115
|
-
* @param {
|
|
116
|
-
* @returns {
|
|
114
|
+
* @param {string} url url地址,默认当前url地址
|
|
115
|
+
* @param {string} name 参数名
|
|
116
|
+
* @returns {string} 返回查询参数字符串
|
|
117
117
|
*/
|
|
118
|
-
export function removeSearchParam(url: string, name: string): string;
|
|
118
|
+
export declare function removeSearchParam(url: string | undefined, name: string): string;
|
package/dist/es/url/index.mjs
CHANGED
|
@@ -2,132 +2,135 @@ import { REGEXP } from '../constants/regexp.mjs';
|
|
|
2
2
|
import { isArray } from '../validate/index.mjs';
|
|
3
3
|
import { arrayInsertBefore, arrayInsertAfter } from '../array/index.mjs';
|
|
4
4
|
|
|
5
|
+
/**
|
|
6
|
+
* @module 浏览器Url
|
|
7
|
+
*/
|
|
5
8
|
/**
|
|
6
9
|
* 获得协议名
|
|
7
|
-
* @param {
|
|
8
|
-
* @returns {
|
|
10
|
+
* @param {string} url url地址,默认当前url地址
|
|
11
|
+
* @returns {string} 返回协议名
|
|
9
12
|
*/
|
|
10
13
|
function getProtocol(url = window.location.href) {
|
|
11
|
-
|
|
14
|
+
const match = url.match(REGEXP.URL);
|
|
12
15
|
if (match) {
|
|
13
16
|
return match[1] || "";
|
|
14
17
|
}
|
|
15
18
|
}
|
|
16
19
|
/**
|
|
17
20
|
* 获得主机地址
|
|
18
|
-
* @param {
|
|
19
|
-
* @returns {
|
|
21
|
+
* @param {string} url url地址,默认当前url地址
|
|
22
|
+
* @returns {string} 返回主机地址
|
|
20
23
|
*/
|
|
21
24
|
function getHost(url = window.location.href) {
|
|
22
|
-
|
|
25
|
+
const match = url.match(REGEXP.URL);
|
|
23
26
|
if (match) {
|
|
24
27
|
return (match[2] || "") + (match[3] ? ":" + match[3] : "");
|
|
25
28
|
}
|
|
26
29
|
}
|
|
27
30
|
/**
|
|
28
31
|
* 获得主机名称
|
|
29
|
-
* @param {
|
|
30
|
-
* @returns {
|
|
32
|
+
* @param {string} url url地址,默认当前url地址
|
|
33
|
+
* @returns {string} 返回主机名称
|
|
31
34
|
*/
|
|
32
35
|
function getHostName(url = window.location.href) {
|
|
33
|
-
|
|
36
|
+
const match = url.match(REGEXP.URL);
|
|
34
37
|
if (match) {
|
|
35
38
|
return match[2] || "";
|
|
36
39
|
}
|
|
37
40
|
}
|
|
38
41
|
/**
|
|
39
42
|
* 获得端口号
|
|
40
|
-
* @param {
|
|
41
|
-
* @returns {
|
|
43
|
+
* @param {string} url url地址,默认当前url地址
|
|
44
|
+
* @returns {string} 返回端口号
|
|
42
45
|
*/
|
|
43
46
|
function getPort(url = window.location.href) {
|
|
44
|
-
|
|
47
|
+
const match = url.match(REGEXP.URL);
|
|
45
48
|
if (match) {
|
|
46
49
|
return match[3] || "";
|
|
47
50
|
}
|
|
48
51
|
}
|
|
49
52
|
/**
|
|
50
53
|
* 获得地址路径
|
|
51
|
-
* @param {
|
|
52
|
-
* @returns {
|
|
54
|
+
* @param {string} url url地址,默认当前url地址
|
|
55
|
+
* @returns {string} 返回地址路径
|
|
53
56
|
*/
|
|
54
57
|
function getUrlPath(url = window.location.href) {
|
|
55
|
-
|
|
58
|
+
const match = url.match(REGEXP.URL);
|
|
56
59
|
if (match) {
|
|
57
60
|
return match[4] || "";
|
|
58
61
|
}
|
|
59
62
|
}
|
|
60
63
|
/**
|
|
61
64
|
* 获得hash字符串
|
|
62
|
-
* @param {
|
|
63
|
-
* @returns {
|
|
65
|
+
* @param {string} url url地址,默认当前url地址
|
|
66
|
+
* @returns {string} 返回hash字符串
|
|
64
67
|
*/
|
|
65
68
|
function getUrlHash(url = window.location.href) {
|
|
66
|
-
|
|
69
|
+
const match = url.match(REGEXP.URL);
|
|
67
70
|
if (match) {
|
|
68
71
|
return match[6] || "";
|
|
69
72
|
}
|
|
70
73
|
}
|
|
71
74
|
/**
|
|
72
75
|
* 获得查询参数字符串
|
|
73
|
-
* @param {
|
|
74
|
-
* @returns {
|
|
76
|
+
* @param {string} url url地址,默认当前url地址
|
|
77
|
+
* @returns {string} 返回查询参数字符串
|
|
75
78
|
*/
|
|
76
79
|
function getSearchString(url = window.location.href) {
|
|
77
|
-
|
|
80
|
+
const match = url.match(REGEXP.URL);
|
|
78
81
|
if (match) {
|
|
79
82
|
return match[5] || "";
|
|
80
83
|
}
|
|
81
84
|
}
|
|
82
85
|
/**
|
|
83
86
|
* 查询参数字符串中是否包含某个参数
|
|
84
|
-
* @param {
|
|
85
|
-
* @param {
|
|
86
|
-
* @returns {
|
|
87
|
+
* @param {string} url url地址,默认当前url地址
|
|
88
|
+
* @param {string} name 参数名
|
|
89
|
+
* @returns {boolean} 返回结果
|
|
87
90
|
*/
|
|
88
91
|
function hasSearchParam(url = window.location.href, name) {
|
|
89
|
-
|
|
92
|
+
const params = parseSearchParam(url);
|
|
90
93
|
return params[name] !== undefined;
|
|
91
94
|
}
|
|
92
95
|
/**
|
|
93
96
|
* 查询参数字符串中获得某个参数的值
|
|
94
|
-
* @param {
|
|
95
|
-
* @param {
|
|
96
|
-
* @returns {
|
|
97
|
+
* @param {string} url url地址,默认当前url地址
|
|
98
|
+
* @param {string} name 参数名
|
|
99
|
+
* @returns {string} 返回查询到的值
|
|
97
100
|
*/
|
|
98
101
|
function getSearchParam(url = window.location.href, name = "") {
|
|
99
102
|
name = name.replace(/[[\]]/g, "\\$&");
|
|
100
|
-
url = getSearchString(url);
|
|
101
|
-
|
|
102
|
-
|
|
103
|
+
url = getSearchString(url) || "";
|
|
104
|
+
const reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
|
|
105
|
+
const match = url.substring(0).match(reg);
|
|
103
106
|
if (match) {
|
|
104
107
|
return decodeURIComponent(match[2]);
|
|
105
108
|
}
|
|
106
109
|
}
|
|
107
110
|
/**
|
|
108
111
|
* 查询参数字符串中设置某个参数的值
|
|
109
|
-
* @param {
|
|
110
|
-
* @param {
|
|
111
|
-
* @param {
|
|
112
|
-
* @returns {
|
|
112
|
+
* @param {string} name 参数名
|
|
113
|
+
* @param {string|number|Array} value 参数值,如果是数组,则解析为:&ids[0]=1&ids[2]=2
|
|
114
|
+
* @param {string} url url地址,默认当前url地址
|
|
115
|
+
* @returns {string} 返回查询参数字符串
|
|
113
116
|
*/
|
|
114
117
|
function setSearchParam(url = window.location.href, name = "", value) {
|
|
115
|
-
|
|
118
|
+
const params = parseSearchParam(url);
|
|
116
119
|
params[name] = value;
|
|
117
120
|
// 返回替换后的url
|
|
118
121
|
return url.replace(/(\?.+?)(?=#|$)/, "?" + stringifySearchParam(params));
|
|
119
122
|
}
|
|
120
123
|
/**
|
|
121
124
|
* 查询参数字符串转为对象
|
|
122
|
-
* @param {
|
|
125
|
+
* @param {string} url url地址,默认当前url地址
|
|
123
126
|
* @returns {Object} 返回参数对象
|
|
124
127
|
*/
|
|
125
128
|
function parseSearchParam(url = window.location.href) {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
+
const searchString = getSearchString(url) || "";
|
|
130
|
+
const searchArr = searchString.split("&");
|
|
131
|
+
const param = {};
|
|
129
132
|
for (let i = 0; i < searchArr.length; i++) {
|
|
130
|
-
|
|
133
|
+
const arr = searchArr[i].split("=");
|
|
131
134
|
param[decodeURIComponent(arr[0])] = decodeURIComponent(arr[1] || "");
|
|
132
135
|
}
|
|
133
136
|
return param;
|
|
@@ -135,15 +138,15 @@ function parseSearchParam(url = window.location.href) {
|
|
|
135
138
|
/**
|
|
136
139
|
* 对象转为查询参数字符串
|
|
137
140
|
* @param {Object} params 参数对象
|
|
138
|
-
* @param {
|
|
139
|
-
* @returns {
|
|
141
|
+
* @param {string} url url地址,如果不为空,则会拼接好查询参数字符串的url地址
|
|
142
|
+
* @returns {string} 返回参数字符串
|
|
140
143
|
*/
|
|
141
|
-
function stringifySearchParam(params, url =
|
|
144
|
+
function stringifySearchParam(params, url = "") {
|
|
142
145
|
if (typeof params !== "object")
|
|
143
146
|
return params;
|
|
144
|
-
|
|
145
|
-
for (
|
|
146
|
-
|
|
147
|
+
const arr = [];
|
|
148
|
+
for (const key in params) {
|
|
149
|
+
const value = params[key];
|
|
147
150
|
if (isArray(value)) {
|
|
148
151
|
for (let i = 0; i < value.length; ++i) {
|
|
149
152
|
arr.push(encodeURIComponent(key + "[" + i + "]") + "=" + encodeURIComponent(value[i]));
|
|
@@ -163,15 +166,15 @@ function stringifySearchParam(params, url = undefined) {
|
|
|
163
166
|
}
|
|
164
167
|
/**
|
|
165
168
|
* 查询参数字符串中在最前面追加新参数和值
|
|
166
|
-
* @param {
|
|
167
|
-
* @param {
|
|
168
|
-
* @param {
|
|
169
|
-
* @returns {
|
|
169
|
+
* @param {string} url url地址,默认当前url地址
|
|
170
|
+
* @param {string} name 参数名
|
|
171
|
+
* @param {string|number|Array} value 参数值,如果是数组,则解析为:&ids[0]=1&ids[2]=2
|
|
172
|
+
* @returns {string} 返回查询参数字符串
|
|
170
173
|
*/
|
|
171
174
|
function prependSearchParam(url = window.location.href, name, value) {
|
|
172
|
-
|
|
173
|
-
if (isArray(value)) {
|
|
174
|
-
|
|
175
|
+
const searchArr = (getSearchString(url) || "").split("&") || [];
|
|
176
|
+
if (Array.isArray(value)) {
|
|
177
|
+
const arr = [];
|
|
175
178
|
for (let i = 0; i < value.length; i++) {
|
|
176
179
|
arr.push(`${encodeURIComponent(name)}[${i}]=${encodeURIComponent(value[i])}`);
|
|
177
180
|
}
|
|
@@ -184,53 +187,53 @@ function prependSearchParam(url = window.location.href, name, value) {
|
|
|
184
187
|
}
|
|
185
188
|
/**
|
|
186
189
|
* 查询参数字符串中在某个参数的前面追加新参数和值
|
|
187
|
-
* @param {
|
|
188
|
-
* @param {
|
|
189
|
-
* @param {
|
|
190
|
-
* @param {
|
|
191
|
-
* @returns {
|
|
190
|
+
* @param {string} url url地址,默认当前url地址
|
|
191
|
+
* @param {string} name 参数名
|
|
192
|
+
* @param {string|number|Array} value 参数值,如果是数组,则解析为:&ids[0]=1&ids[2]=2
|
|
193
|
+
* @param {string} beforeParam 在前面追加参数的名称
|
|
194
|
+
* @returns {string} 返回查询参数字符串
|
|
192
195
|
*/
|
|
193
196
|
function prependToSearchParam(url = window.location.href, beforeParam, name, value) {
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
+
const searchArr = (getSearchString(url) || "").split("&");
|
|
198
|
+
const beforeIndex = searchArr.findIndex((v) => v.includes(beforeParam));
|
|
199
|
+
const beforeArr = arrayInsertBefore(searchArr, beforeIndex, `${name}=${value}`);
|
|
197
200
|
return url.replace(/(\?.+?)(?=#|$)/, "?" + beforeArr.join("&"));
|
|
198
201
|
}
|
|
199
202
|
/**
|
|
200
203
|
* 查询参数字符串中在最后面追加新参数和值
|
|
201
|
-
* @param {
|
|
202
|
-
* @param {
|
|
203
|
-
* @param {
|
|
204
|
-
* @returns {
|
|
204
|
+
* @param {string} url url地址,默认当前url地址
|
|
205
|
+
* @param {string} name 参数名
|
|
206
|
+
* @param {string,number,Array} value 参数值,如果是数组,则解析为:&ids[0]=1&ids[2]=2
|
|
207
|
+
* @returns {string} 返回查询参数字符串
|
|
205
208
|
*/
|
|
206
209
|
function appendSearchParam(url = window.location.href, name, value) {
|
|
207
|
-
|
|
210
|
+
const searchArr = (getSearchString(url) || "").split("&");
|
|
208
211
|
searchArr.push(`${name}=${value}`);
|
|
209
212
|
return url.replace(/(\?.+?)(?=#|$)/, "?" + searchArr.join("&"));
|
|
210
213
|
}
|
|
211
214
|
/**
|
|
212
215
|
* 查询参数字符串中在某个参数的后面追加新参数和值
|
|
213
|
-
* @param {
|
|
214
|
-
* @param {
|
|
215
|
-
* @param {
|
|
216
|
-
* @param {
|
|
217
|
-
* @returns {
|
|
216
|
+
* @param {string} url url地址,默认当前url地址
|
|
217
|
+
* @param {string} name 参数名
|
|
218
|
+
* @param {string,number,Array} value 参数值,如果是数组,则解析为:&ids[0]=1&ids[2]=2
|
|
219
|
+
* @param {string} afterName 在后面追加参数的名称
|
|
220
|
+
* @returns {string} 返回查询参数字符串
|
|
218
221
|
*/
|
|
219
222
|
function appendToSearchParam(url = window.location.href, afterName, name, value) {
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
+
const searchArr = (getSearchString(url) || "").split("&");
|
|
224
|
+
const beforeIndex = searchArr.findIndex((v) => v.includes(afterName));
|
|
225
|
+
const afterArr = arrayInsertAfter(searchArr, beforeIndex, `${name}=${value}`);
|
|
223
226
|
return url.replace(/(\?.+?)(?=#|$)/, "?" + afterArr.join("&"));
|
|
224
227
|
}
|
|
225
228
|
/**
|
|
226
229
|
* 查询参数字符串中移除某个参数和值
|
|
227
|
-
* @param {
|
|
228
|
-
* @param {
|
|
229
|
-
* @returns {
|
|
230
|
+
* @param {string} url url地址,默认当前url地址
|
|
231
|
+
* @param {string} name 参数名
|
|
232
|
+
* @returns {string} 返回查询参数字符串
|
|
230
233
|
*/
|
|
231
234
|
function removeSearchParam(url = window.location.href, name) {
|
|
232
|
-
|
|
233
|
-
|
|
235
|
+
const searchArr = (getSearchString(url) || "").split("&");
|
|
236
|
+
const delIndex = searchArr.findIndex((v) => v.includes(name));
|
|
234
237
|
if (delIndex > -1) {
|
|
235
238
|
searchArr.splice(delIndex, 1);
|
|
236
239
|
}
|