@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
@@ -1,38 +1,41 @@
1
+ /**
2
+ * @module 脱敏
3
+ */
1
4
  /**
2
5
  * 指定位置的字符串转为星号
3
- * @param {String|Number} value 字符串参数
4
- * @param {Number} start 转换开始位置
5
- * @param {Number} len 显示星号的长度
6
- * @returns {String} 返回转化后字符串
6
+ * @param {string|number} value 字符串参数
7
+ * @param {number} start 转换开始位置
8
+ * @param {number} len 显示星号的长度
9
+ * @returns {string} 返回转化后字符串
7
10
  */
8
- export function formatStartOf(value: string | number, start: number, len: number): string;
11
+ export declare function formatStartOf(value: string, start: number, len: number): string;
9
12
  /**
10
13
  * 姓名中间转为星号
11
- * @param {String} value 姓名
12
- * @returns {String} 返回转化后字符串
14
+ * @param {string} value 姓名
15
+ * @returns {string} 返回转化后字符串
13
16
  */
14
- export function formatStartOfName(value: string): string;
17
+ export declare function formatStartOfName(value: string): string;
15
18
  /**
16
19
  * 手机号码固定位数转为星号
17
- * @param {String} value 手机号码
18
- * @param {Number} start 前缀长度,默认3位
19
- * @param {Number} len 显示星号的长度,默认4位
20
- * @returns {String} 返回转化后字符串
20
+ * @param {string} value 手机号码
21
+ * @param {number} start 前缀长度,默认3位
22
+ * @param {number} len 显示星号的长度,默认4位
23
+ * @returns {string} 返回转化后字符串
21
24
  */
22
- export function formatStartOfMobile(value: string, start?: number, len?: number): string;
25
+ export declare function formatStartOfMobile(value: string, start?: number, len?: number): string;
23
26
  /**
24
27
  * 身份证号码固定位数转为星号
25
- * @param {String} value 身份证号码
26
- * @param {Number} start 前缀长度,默认4位
27
- * @param {Number} len 显示星号的长度,默认8位
28
- * @returns {String} 返回转化后字符串
28
+ * @param {string} value 身份证号码
29
+ * @param {number} start 前缀长度,默认4位
30
+ * @param {number} len 显示星号的长度,默认8位
31
+ * @returns {string} 返回转化后字符串
29
32
  */
30
- export function formatStartOfIDCard(value: string, start?: number, len?: number): string;
33
+ export declare function formatStartOfIDCard(value: string, start?: number, len?: number): string;
31
34
  /**
32
35
  * 银行卡号固定位数转为星号
33
- * @param {String} value 银行卡号
34
- * @param {Number} start 前缀长度,默认4位
35
- * @param {Number} len 显示星号的长度,默认10位
36
- * @returns {String} 返回转化后字符串
36
+ * @param {string} value 银行卡号
37
+ * @param {number} start 前缀长度,默认4位
38
+ * @param {number} len 显示星号的长度,默认10位
39
+ * @returns {string} 返回转化后字符串
37
40
  */
38
- export function formatStartOfBankCard(value: string, start?: number, len?: number): string;
41
+ export declare function formatStartOfBankCard(value: string, start?: number, len?: number): string;
@@ -1,9 +1,12 @@
1
+ /**
2
+ * @module 脱敏
3
+ */
1
4
  /**
2
5
  * 指定位置的字符串转为星号
3
- * @param {String|Number} value 字符串参数
4
- * @param {Number} start 转换开始位置
5
- * @param {Number} len 显示星号的长度
6
- * @returns {String} 返回转化后字符串
6
+ * @param {string|number} value 字符串参数
7
+ * @param {number} start 转换开始位置
8
+ * @param {number} len 显示星号的长度
9
+ * @returns {string} 返回转化后字符串
7
10
  */
8
11
  function formatStartOf(value, start, len) {
9
12
  value = String(value);
@@ -21,8 +24,8 @@ function formatStartOf(value, start, len) {
21
24
  }
22
25
  /**
23
26
  * 姓名中间转为星号
24
- * @param {String} value 姓名
25
- * @returns {String} 返回转化后字符串
27
+ * @param {string} value 姓名
28
+ * @returns {string} 返回转化后字符串
26
29
  */
27
30
  function formatStartOfName(value) {
28
31
  if (value.length === 2) {
@@ -37,30 +40,30 @@ function formatStartOfName(value) {
37
40
  }
38
41
  /**
39
42
  * 手机号码固定位数转为星号
40
- * @param {String} value 手机号码
41
- * @param {Number} start 前缀长度,默认3位
42
- * @param {Number} len 显示星号的长度,默认4位
43
- * @returns {String} 返回转化后字符串
43
+ * @param {string} value 手机号码
44
+ * @param {number} start 前缀长度,默认3位
45
+ * @param {number} len 显示星号的长度,默认4位
46
+ * @returns {string} 返回转化后字符串
44
47
  */
45
48
  function formatStartOfMobile(value, start = 3, len = 4) {
46
49
  return formatStartOf(value, start, len);
47
50
  }
48
51
  /**
49
52
  * 身份证号码固定位数转为星号
50
- * @param {String} value 身份证号码
51
- * @param {Number} start 前缀长度,默认4位
52
- * @param {Number} len 显示星号的长度,默认8位
53
- * @returns {String} 返回转化后字符串
53
+ * @param {string} value 身份证号码
54
+ * @param {number} start 前缀长度,默认4位
55
+ * @param {number} len 显示星号的长度,默认8位
56
+ * @returns {string} 返回转化后字符串
54
57
  */
55
58
  function formatStartOfIDCard(value, start = 4, len = 8) {
56
59
  return formatStartOf(value, start, len);
57
60
  }
58
61
  /**
59
62
  * 银行卡号固定位数转为星号
60
- * @param {String} value 银行卡号
61
- * @param {Number} start 前缀长度,默认4位
62
- * @param {Number} len 显示星号的长度,默认10位
63
- * @returns {String} 返回转化后字符串
63
+ * @param {string} value 银行卡号
64
+ * @param {number} start 前缀长度,默认4位
65
+ * @param {number} len 显示星号的长度,默认10位
66
+ * @returns {string} 返回转化后字符串
64
67
  */
65
68
  function formatStartOfBankCard(value, start = 4, len = 11) {
66
69
  return formatStartOf(value, start, len);
@@ -1,67 +1,73 @@
1
+ /**
2
+ * @module 浏览器Device
3
+ */
1
4
  /**
2
5
  * 获取浏览器信息
3
6
  * @description 会获取到浏览器对应的名称以及版本
4
7
  * @returns {Object} 返回浏览器信息
5
8
  */
6
- export function getBrowserInfo(): Object;
9
+ export declare function getBrowserInfo(): "unknown" | {
10
+ name: string;
11
+ version: string;
12
+ };
7
13
  /**
8
14
  * 判断是pc端
9
- * @returns {Boolean} 返回true和false
15
+ * @returns {boolean} 返回true和false
10
16
  */
11
- export function isPc(): boolean;
17
+ export declare function isPc(): boolean;
12
18
  /**
13
19
  * 判断是手机端
14
20
  * @description 包含 android、iphone、黑莓手机、微软手机 等多种操作系统机型
15
- * @returns {Boolean} 返回true和false
21
+ * @returns {boolean} 返回true和false
16
22
  */
17
- export function isPhone(): boolean;
23
+ export declare function isPhone(): boolean;
18
24
  /**
19
25
  * 判断是 android
20
- * @returns {Boolean} 返回true和false
26
+ * @returns {boolean} 返回true和false
21
27
  */
22
- export function isAndroid(): boolean;
28
+ export declare function isAndroid(): boolean;
23
29
  /**
24
30
  * 判断是 ios
25
- * @returns {Boolean} 返回true和false
31
+ * @returns {boolean} 返回true和false
26
32
  */
27
- export function isIos(): boolean;
33
+ export declare function isIos(): boolean;
28
34
  /**
29
35
  * 判断是 windows phone
30
- * @returns {Boolean} 返回true和false
36
+ * @returns {boolean} 返回true和false
31
37
  */
32
- export function isWindowsPhone(): boolean;
38
+ export declare function isWindowsPhone(): boolean;
33
39
  /**
34
40
  * 判断是 windows
35
- * @returns {Boolean} 返回true和false
41
+ * @returns {boolean} 返回true和false
36
42
  */
37
- export function isWindows(): boolean;
43
+ export declare function isWindows(): boolean;
38
44
  /**
39
45
  * 判断是 linux
40
- * @returns {Boolean} 返回true和false
46
+ * @returns {boolean} 返回true和false
41
47
  */
42
- export function isLinux(): boolean;
48
+ export declare function isLinux(): boolean;
43
49
  /**
44
50
  * 判断是 Mac
45
- * @returns {Boolean} 返回true和false
51
+ * @returns {boolean} 返回true和false
46
52
  */
47
- export function isMac(): boolean;
53
+ export declare function isMac(): boolean;
48
54
  /**
49
55
  * 判断是iphone
50
- *@returns {Boolean} 返回true和false
56
+ *@returns {boolean} 返回true和false
51
57
  */
52
- export function isIphone(): boolean;
58
+ export declare function isIphone(): boolean;
53
59
  /**
54
60
  * 判断是ipad
55
- *@return {Boolean} 返回true和false
61
+ *@return {boolean} 返回true和false
56
62
  */
57
- export function isIpad(): boolean;
63
+ export declare function isIpad(): boolean;
58
64
  /**
59
65
  * 判断是微信内置浏览器
60
- * @returns {Boolean} 返回true和false
66
+ * @returns {boolean} 返回true和false
61
67
  */
62
- export function isWeixin(): boolean;
68
+ export declare function isWeixin(): boolean;
63
69
  /**
64
70
  * 判断是QQ内置浏览器
65
- * @returns {Boolean} 返回true和false
71
+ * @returns {boolean} 返回true和false
66
72
  */
67
- export function isQQ(): boolean;
73
+ export declare function isQQ(): boolean;
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @module 浏览器Device
3
+ */
1
4
  /* 浏览器信息 */
2
5
  /**
3
6
  * 获取浏览器信息
@@ -5,19 +8,19 @@
5
8
  * @returns {Object} 返回浏览器信息
6
9
  */
7
10
  function getBrowserInfo() {
8
- let ua = window.navigator.userAgent.toLowerCase();
11
+ const ua = window.navigator.userAgent.toLowerCase();
9
12
  // ie
10
- let ie = ua.match(/rv:([\d.]+)\) like gecko/) || ua.match(/msie ([\d\.]+)/);
13
+ const ie = ua.match(/rv:([\d.]+)\) like gecko/) || ua.match(/msie ([\d\.]+)/);
11
14
  // edge
12
- let edge = ua.match(/edg\/([\d\.]+)/);
15
+ const edge = ua.match(/edg\/([\d\.]+)/);
13
16
  // firefox
14
- let firefox = ua.match(/firefox\/([\d\.]+)/);
17
+ const firefox = ua.match(/firefox\/([\d\.]+)/);
15
18
  // opera
16
- let opera = ua.match(/(?:opera|opr).([\d\.]+)/);
19
+ const opera = ua.match(/(?:opera|opr).([\d\.]+)/);
17
20
  // chrome
18
- let chrome = ua.match(/chrome\/([\d\.]+)/);
21
+ const chrome = ua.match(/chrome\/([\d\.]+)/);
19
22
  // safari
20
- let safari = ua.match(/version\/([\d\.]+).*safari/);
23
+ const safari = ua.match(/version\/([\d\.]+).*safari/);
21
24
  // 判断类型
22
25
  if (ie)
23
26
  return { name: "ie", version: ie[1] };
@@ -36,7 +39,7 @@ function getBrowserInfo() {
36
39
  /* 设备类型 */
37
40
  /**
38
41
  * 判断是pc端
39
- * @returns {Boolean} 返回true和false
42
+ * @returns {boolean} 返回true和false
40
43
  */
41
44
  function isPc() {
42
45
  return !isPhone();
@@ -44,93 +47,93 @@ function isPc() {
44
47
  /**
45
48
  * 判断是手机端
46
49
  * @description 包含 android、iphone、黑莓手机、微软手机 等多种操作系统机型
47
- * @returns {Boolean} 返回true和false
50
+ * @returns {boolean} 返回true和false
48
51
  */
49
52
  function isPhone() {
50
- let ua = window.navigator.userAgent;
53
+ const ua = window.navigator.userAgent;
51
54
  return /Android|webOS|iPhone|iPod|BlackBerry|Windows Phone|IEMobile/i.test(ua);
52
55
  }
53
56
  /* 操作系统类型 */
54
57
  /**
55
58
  * 判断是 android
56
- * @returns {Boolean} 返回true和false
59
+ * @returns {boolean} 返回true和false
57
60
  */
58
61
  function isAndroid() {
59
- let ua = window.navigator.userAgent;
62
+ const ua = window.navigator.userAgent;
60
63
  return /Android|BlackBerry/i.test(ua);
61
64
  }
62
65
  /**
63
66
  * 判断是 ios
64
- * @returns {Boolean} 返回true和false
67
+ * @returns {boolean} 返回true和false
65
68
  */
66
69
  function isIos() {
67
- let ua = window.navigator.userAgent;
70
+ const ua = window.navigator.userAgent;
68
71
  return /iPhone|iPad|iPod|iOS/i.test(ua);
69
72
  }
70
73
  /**
71
74
  * 判断是 windows phone
72
- * @returns {Boolean} 返回true和false
75
+ * @returns {boolean} 返回true和false
73
76
  */
74
77
  function isWindowsPhone() {
75
- let ua = window.navigator.userAgent;
78
+ const ua = window.navigator.userAgent;
76
79
  return /Windows Phone/i.test(ua);
77
80
  }
78
81
  /**
79
82
  * 判断是 windows
80
- * @returns {Boolean} 返回true和false
83
+ * @returns {boolean} 返回true和false
81
84
  */
82
85
  function isWindows() {
83
- let ua = window.navigator.userAgent;
86
+ const ua = window.navigator.userAgent;
84
87
  return /win/i.test(ua);
85
88
  }
86
89
  /**
87
90
  * 判断是 linux
88
- * @returns {Boolean} 返回true和false
91
+ * @returns {boolean} 返回true和false
89
92
  */
90
93
  function isLinux() {
91
- let ua = window.navigator.userAgent;
94
+ const ua = window.navigator.userAgent;
92
95
  return /linux/i.test(ua);
93
96
  }
94
97
  /**
95
98
  * 判断是 Mac
96
- * @returns {Boolean} 返回true和false
99
+ * @returns {boolean} 返回true和false
97
100
  */
98
101
  function isMac() {
99
- let ua = window.navigator.userAgent;
102
+ const ua = window.navigator.userAgent;
100
103
  return /mac/i.test(ua);
101
104
  }
102
105
  /* 苹果设备类型 */
103
106
  /**
104
107
  * 判断是iphone
105
- *@returns {Boolean} 返回true和false
108
+ *@returns {boolean} 返回true和false
106
109
  */
107
110
  function isIphone() {
108
- let ua = window.navigator.userAgent;
111
+ const ua = window.navigator.userAgent;
109
112
  return /iPhone/i.test(ua);
110
113
  }
111
114
  /**
112
115
  * 判断是ipad
113
- *@return {Boolean} 返回true和false
116
+ *@return {boolean} 返回true和false
114
117
  */
115
118
  function isIpad() {
116
- let ua = window.navigator.userAgent;
119
+ const ua = window.navigator.userAgent;
117
120
  return /iPod/i.test(ua);
118
121
  }
119
122
  /* 手机浏览器类型 */
120
123
  /**
121
124
  * 判断是微信内置浏览器
122
- * @returns {Boolean} 返回true和false
125
+ * @returns {boolean} 返回true和false
123
126
  */
124
127
  function isWeixin() {
125
- let ua = window.navigator.userAgent;
128
+ const ua = window.navigator.userAgent;
126
129
  return /MicroMessenger/i.test(ua);
127
130
  }
128
131
  /**
129
132
  * 判断是QQ内置浏览器
130
- * @returns {Boolean} 返回true和false
133
+ * @returns {boolean} 返回true和false
131
134
  */
132
135
  function isQQ() {
133
- let ua = window.navigator.userAgent;
136
+ const ua = window.navigator.userAgent;
134
137
  return /QQ/i.test(ua);
135
138
  }
136
139
 
@@ -1,57 +1,60 @@
1
+ /**
2
+ * @module 浏览器Dom
3
+ */
1
4
  /**
2
5
  * 判断元素包含某个类名
3
- * @param {Element} elem 元素
4
- * @param {String} className 类名
5
- * @return {Boolean} 返回true和false
6
+ * @param {HTMLElement} elem 元素
7
+ * @param {string} className 类名
8
+ * @return {boolean} 返回true和false
6
9
  */
7
- export function hasClass(elem: Element, className: string): boolean;
10
+ export declare function hasClass(elem: HTMLElement, className: string): boolean;
8
11
  /**
9
12
  * 元素添加类名
10
- * @param {Element} elem 元素
11
- * @param {String} className 类名
13
+ * @param {HTMLElement} elem 元素
14
+ * @param {string} className 类名
12
15
  */
13
- export function addClass(elem: Element, className: string): void;
16
+ export declare function addClass(elem: HTMLElement, className: string): void;
14
17
  /**
15
18
  * 元素删除类名
16
- * @param {Element} elem 元素
17
- * @param {String} className 类名
19
+ * @param {HTMLElement} elem 元素
20
+ * @param {string} className 类名
18
21
  */
19
- export function removeClass(elem: Element, className: string): void;
22
+ export declare function removeClass(elem: HTMLElement, className: string): void;
20
23
  /**
21
24
  * 元素替换类名
22
- * @param {Element} elem 元素
23
- * @param {String} newClassName 新的类名
24
- * @param {String} oldClassName 被替换掉的旧类名
25
+ * @param {HTMLElement} elem 元素
26
+ * @param {string} newClassName 新的类名
27
+ * @param {string} oldClassName 被替换掉的旧类名
25
28
  */
26
- export function replaceClass(elem: Element, newClassName: string, oldClassName: string): void;
29
+ export declare function replaceClass(elem: HTMLElement, newClassName: string, oldClassName: string): void;
27
30
  /**
28
31
  * 添加元素的style样式
29
- * @param {Element} elem 元素
32
+ * @param {HTMLElement} elem 元素
30
33
  * @param {Object} styles 样式属性集合
31
34
  */
32
- export function addStyle(elem: Element, styles?: Object): void;
35
+ export declare function addStyle(elem: HTMLElement, styles?: Record<string, string>): void;
33
36
  /**
34
37
  * 获取元素的style样式
35
- * @param {Element} elem 元素
36
- * @param {String} name 属性
37
- * @returns {String} 返回样式的值
38
+ * @param {HTMLElement} elem 元素
39
+ * @param {string} name 属性
40
+ * @returns {string|undefined} 返回样式的值
38
41
  */
39
- export function getStyle(elem: Element, name: string): string;
42
+ export declare function getStyle(elem: HTMLElement, name: string): string | undefined;
40
43
  /**
41
44
  * 删除元素的style样式
42
- * @param {Element} elem 元素
43
- * @param {String} name 属性
45
+ * @param {HTMLElement} elem 元素
46
+ * @param {string} name 属性
44
47
  */
45
- export function removeStyle(elem: Element, name: string): void;
48
+ export declare function removeStyle(elem: HTMLElement, name: string): void;
46
49
  /**
47
50
  * html标签转义
48
- * @param {String} htmlStr html字符串
49
- * @returns {String} 返回转义后的字符串
51
+ * @param {string} htmlStr html字符串
52
+ * @returns {string} 返回转义后的字符串
50
53
  */
51
- export function htmlEncode(htmlStr: string): string;
54
+ export declare function htmlEncode(htmlStr: string): string;
52
55
  /**
53
56
  * html标签解码
54
- * @param {String} htmlStr html字符串
55
- * @returns {String} 返回解析后的字符串
57
+ * @param {string} htmlStr html字符串
58
+ * @returns {string} 返回解析后的字符串
56
59
  */
57
- export function htmlDecode(htmlStr: string): string;
60
+ export declare function htmlDecode(htmlStr: string): string;
@@ -1,17 +1,20 @@
1
+ /**
2
+ * @module 浏览器Dom
3
+ */
1
4
  /* Class操作 */
2
5
  /**
3
6
  * 判断元素包含某个类名
4
- * @param {Element} elem 元素
5
- * @param {String} className 类名
6
- * @return {Boolean} 返回true和false
7
+ * @param {HTMLElement} elem 元素
8
+ * @param {string} className 类名
9
+ * @return {boolean} 返回true和false
7
10
  */
8
11
  function hasClass(elem, className) {
9
12
  return elem.className.indexOf(className) > 0;
10
13
  }
11
14
  /**
12
15
  * 元素添加类名
13
- * @param {Element} elem 元素
14
- * @param {String} className 类名
16
+ * @param {HTMLElement} elem 元素
17
+ * @param {string} className 类名
15
18
  */
16
19
  function addClass(elem, className) {
17
20
  if (!hasClass(elem, className)) {
@@ -20,8 +23,8 @@ function addClass(elem, className) {
20
23
  }
21
24
  /**
22
25
  * 元素删除类名
23
- * @param {Element} elem 元素
24
- * @param {String} className 类名
26
+ * @param {HTMLElement} elem 元素
27
+ * @param {string} className 类名
25
28
  */
26
29
  function removeClass(elem, className) {
27
30
  if (hasClass(elem, className)) {
@@ -30,9 +33,9 @@ function removeClass(elem, className) {
30
33
  }
31
34
  /**
32
35
  * 元素替换类名
33
- * @param {Element} elem 元素
34
- * @param {String} newClassName 新的类名
35
- * @param {String} oldClassName 被替换掉的旧类名
36
+ * @param {HTMLElement} elem 元素
37
+ * @param {string} newClassName 新的类名
38
+ * @param {string} oldClassName 被替换掉的旧类名
36
39
  */
37
40
  function replaceClass(elem, newClassName, oldClassName) {
38
41
  removeClass(elem, oldClassName);
@@ -41,31 +44,31 @@ function replaceClass(elem, newClassName, oldClassName) {
41
44
  /* Style操作 */
42
45
  /**
43
46
  * 添加元素的style样式
44
- * @param {Element} elem 元素
47
+ * @param {HTMLElement} elem 元素
45
48
  * @param {Object} styles 样式属性集合
46
49
  */
47
50
  function addStyle(elem, styles = {}) {
48
51
  if (!elem)
49
52
  return;
50
- for (let key in styles) {
51
- elem.style[key] = styles[key];
53
+ for (const [key, value] of Object.entries(styles)) {
54
+ elem.style.setProperty(key, value);
52
55
  }
53
56
  }
54
57
  /**
55
58
  * 获取元素的style样式
56
- * @param {Element} elem 元素
57
- * @param {String} name 属性
58
- * @returns {String} 返回样式的值
59
+ * @param {HTMLElement} elem 元素
60
+ * @param {string} name 属性
61
+ * @returns {string|undefined} 返回样式的值
59
62
  */
60
63
  function getStyle(elem, name) {
61
64
  if (!elem)
62
65
  return;
63
- return elem.style[name];
66
+ return elem.style.getPropertyValue(name);
64
67
  }
65
68
  /**
66
69
  * 删除元素的style样式
67
- * @param {Element} elem 元素
68
- * @param {String} name 属性
70
+ * @param {HTMLElement} elem 元素
71
+ * @param {string} name 属性
69
72
  */
70
73
  function removeStyle(elem, name) {
71
74
  if (!elem)
@@ -75,8 +78,8 @@ function removeStyle(elem, name) {
75
78
  /* Html转码 */
76
79
  /**
77
80
  * html标签转义
78
- * @param {String} htmlStr html字符串
79
- * @returns {String} 返回转义后的字符串
81
+ * @param {string} htmlStr html字符串
82
+ * @returns {string} 返回转义后的字符串
80
83
  */
81
84
  function htmlEncode(htmlStr) {
82
85
  const temp = {
@@ -96,8 +99,8 @@ function htmlEncode(htmlStr) {
96
99
  }
97
100
  /**
98
101
  * html标签解码
99
- * @param {String} htmlStr html字符串
100
- * @returns {String} 返回解析后的字符串
102
+ * @param {string} htmlStr html字符串
103
+ * @returns {string} 返回解析后的字符串
101
104
  */
102
105
  function htmlDecode(htmlStr) {
103
106
  const temp = {