@ivujs/i-utils 1.1.14 → 1.1.16

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 (213) hide show
  1. package/dist/cjs/ID-card/index.cjs +87 -0
  2. package/dist/cjs/array/index.cjs +470 -0
  3. package/dist/cjs/clipboard/index.cjs +128 -0
  4. package/dist/cjs/color/index.cjs +193 -0
  5. package/dist/cjs/constants/date.cjs +178 -0
  6. package/dist/cjs/constants/id-card.cjs +52 -0
  7. package/dist/cjs/constants/keycode.cjs +117 -0
  8. package/dist/cjs/constants/lang.cjs +13 -0
  9. package/dist/cjs/constants/math.cjs +13 -0
  10. package/dist/cjs/constants/regexp.cjs +53 -0
  11. package/dist/cjs/constants/sort.cjs +15 -0
  12. package/dist/cjs/cookie/index.cjs +70 -0
  13. package/dist/cjs/crypto/aes/aes.cjs +480 -0
  14. package/dist/cjs/crypto/aes/index.cjs +27 -0
  15. package/dist/cjs/crypto/base32/base32.cjs +357 -0
  16. package/dist/cjs/crypto/base32/index.cjs +41 -0
  17. package/dist/cjs/crypto/base64/base64.cjs +348 -0
  18. package/dist/cjs/crypto/base64/index.cjs +59 -0
  19. package/dist/cjs/crypto/des/des.cjs +257 -0
  20. package/dist/cjs/crypto/des/index.cjs +28 -0
  21. package/dist/cjs/crypto/md5/index.cjs +24 -0
  22. package/dist/cjs/crypto/md5/md5.cjs +897 -0
  23. package/dist/cjs/crypto/sha/sha1/index.cjs +24 -0
  24. package/dist/cjs/crypto/sha/sha1/sha1.cjs +529 -0
  25. package/dist/cjs/crypto/sha/sha256/index.cjs +43 -0
  26. package/dist/cjs/crypto/sha/sha256/sha256.cjs +595 -0
  27. package/dist/cjs/crypto/sha/sha3/index.cjs +41 -0
  28. package/dist/cjs/crypto/sha/sha3/sha3.cjs +624 -0
  29. package/dist/cjs/crypto/sha/sha512/index.cjs +81 -0
  30. package/dist/cjs/crypto/sha/sha512/sha512.cjs +950 -0
  31. package/dist/cjs/crypto/sm/lib/asn1.cjs +149 -0
  32. package/dist/cjs/crypto/sm/lib/ec.cjs +315 -0
  33. package/dist/cjs/crypto/sm/lib/jsbn.cjs +1608 -0
  34. package/dist/cjs/crypto/sm/lib/sm3.cjs +158 -0
  35. package/dist/cjs/crypto/sm/lib/utils.cjs +170 -0
  36. package/dist/cjs/crypto/sm/sm2/index.cjs +112 -0
  37. package/dist/cjs/crypto/sm/sm2/sm2.cjs +231 -0
  38. package/dist/cjs/crypto/sm/sm3/index.cjs +15 -0
  39. package/dist/cjs/crypto/sm/sm3/sm3.cjs +93 -0
  40. package/dist/cjs/crypto/sm/sm4/index.cjs +27 -0
  41. package/dist/cjs/crypto/sm/sm4/sm4.cjs +327 -0
  42. package/dist/cjs/crypto/tea/index.cjs +25 -0
  43. package/dist/cjs/crypto/tea/tea.cjs +187 -0
  44. package/dist/cjs/date/index.cjs +1266 -0
  45. package/dist/cjs/desensitized/index.cjs +75 -0
  46. package/dist/cjs/device/index.cjs +151 -0
  47. package/dist/cjs/dom/index.cjs +129 -0
  48. package/dist/cjs/file/index.cjs +333 -0
  49. package/dist/cjs/function/index.cjs +69 -0
  50. package/dist/cjs/id/index.cjs +1 -1
  51. package/dist/cjs/index.cjs +398 -47
  52. package/dist/cjs/keycode/index.cjs +33 -0
  53. package/dist/cjs/math/index.cjs +278 -0
  54. package/dist/cjs/number/index.cjs +31 -0
  55. package/dist/cjs/object/index.cjs +272 -0
  56. package/dist/cjs/pagination/index.cjs +131 -0
  57. package/dist/cjs/random/index.cjs +24 -0
  58. package/dist/cjs/regexp/index.cjs +100 -0
  59. package/dist/cjs/storage/index.cjs +11 -0
  60. package/dist/cjs/storage/localStorage.cjs +37 -0
  61. package/dist/cjs/storage/sessionStorage.cjs +37 -0
  62. package/dist/cjs/string/index.cjs +358 -0
  63. package/dist/cjs/url/index.cjs +258 -0
  64. package/dist/cjs/validate/index.cjs +468 -0
  65. package/dist/cjs/weapp/index.cjs +142 -0
  66. package/dist/es/ID-card/index.d.ts +31 -0
  67. package/dist/es/ID-card/index.mjs +81 -0
  68. package/dist/es/array/index.d.ts +203 -0
  69. package/dist/es/array/index.mjs +441 -0
  70. package/dist/es/clipboard/index.d.ts +29 -0
  71. package/dist/es/clipboard/index.mjs +122 -0
  72. package/dist/es/color/index.d.ts +52 -0
  73. package/dist/es/color/index.mjs +183 -0
  74. package/dist/es/constants/date.d.ts +174 -0
  75. package/dist/es/constants/date.mjs +176 -0
  76. package/dist/es/constants/id-card.d.ts +43 -0
  77. package/dist/es/constants/id-card.mjs +50 -0
  78. package/dist/es/constants/index.d.ts +7 -0
  79. package/dist/es/constants/keycode.d.ts +103 -0
  80. package/dist/es/constants/keycode.mjs +115 -0
  81. package/dist/es/constants/lang.d.ts +4 -0
  82. package/dist/es/constants/lang.mjs +11 -0
  83. package/dist/es/constants/math.d.ts +4 -0
  84. package/dist/es/constants/math.mjs +11 -0
  85. package/dist/es/constants/regexp.d.ts +24 -0
  86. package/dist/es/constants/regexp.mjs +51 -0
  87. package/dist/es/constants/sort.d.ts +5 -0
  88. package/dist/es/constants/sort.mjs +13 -0
  89. package/dist/es/cookie/index.d.ts +29 -0
  90. package/dist/es/cookie/index.mjs +64 -0
  91. package/dist/es/crypto/aes/aes.d.ts +156 -0
  92. package/dist/es/crypto/aes/aes.mjs +478 -0
  93. package/dist/es/crypto/aes/index.d.ts +16 -0
  94. package/dist/es/crypto/aes/index.mjs +24 -0
  95. package/dist/es/crypto/base32/base32.d.ts +3 -0
  96. package/dist/es/crypto/base32/base32.mjs +353 -0
  97. package/dist/es/crypto/base32/index.d.ts +24 -0
  98. package/dist/es/crypto/base32/index.mjs +36 -0
  99. package/dist/es/crypto/base64/base64.d.ts +5 -0
  100. package/dist/es/crypto/base64/base64.mjs +342 -0
  101. package/dist/es/crypto/base64/index.d.ts +36 -0
  102. package/dist/es/crypto/base64/index.mjs +52 -0
  103. package/dist/es/crypto/des/des.d.ts +52 -0
  104. package/dist/es/crypto/des/des.mjs +255 -0
  105. package/dist/es/crypto/des/index.d.ts +14 -0
  106. package/dist/es/crypto/des/index.mjs +25 -0
  107. package/dist/es/crypto/index.d.ts +8 -0
  108. package/dist/es/crypto/md5/index.d.ts +13 -0
  109. package/dist/es/crypto/md5/index.mjs +21 -0
  110. package/dist/es/crypto/md5/md5.d.ts +144 -0
  111. package/dist/es/crypto/md5/md5.mjs +894 -0
  112. package/dist/es/crypto/sha/index.d.ts +4 -0
  113. package/dist/es/crypto/sha/sha1/index.d.ts +13 -0
  114. package/dist/es/crypto/sha/sha1/index.mjs +21 -0
  115. package/dist/es/crypto/sha/sha1/sha1.d.ts +2 -0
  116. package/dist/es/crypto/sha/sha1/sha1.mjs +526 -0
  117. package/dist/es/crypto/sha/sha256/index.d.ts +26 -0
  118. package/dist/es/crypto/sha/sha256/index.mjs +38 -0
  119. package/dist/es/crypto/sha/sha256/sha256.d.ts +4 -0
  120. package/dist/es/crypto/sha/sha256/sha256.mjs +590 -0
  121. package/dist/es/crypto/sha/sha3/index.d.ts +24 -0
  122. package/dist/es/crypto/sha/sha3/index.mjs +36 -0
  123. package/dist/es/crypto/sha/sha3/sha3.d.ts +4 -0
  124. package/dist/es/crypto/sha/sha3/sha3.mjs +619 -0
  125. package/dist/es/crypto/sha/sha512/index.d.ts +52 -0
  126. package/dist/es/crypto/sha/sha512/index.mjs +72 -0
  127. package/dist/es/crypto/sha/sha512/sha512.d.ts +8 -0
  128. package/dist/es/crypto/sha/sha512/sha512.mjs +941 -0
  129. package/dist/es/crypto/sm/index.d.ts +3 -0
  130. package/dist/es/crypto/sm/lib/asn1.d.ts +12 -0
  131. package/dist/es/crypto/sm/lib/asn1.mjs +146 -0
  132. package/dist/es/crypto/sm/lib/ec.d.ts +126 -0
  133. package/dist/es/crypto/sm/lib/ec.mjs +312 -0
  134. package/dist/es/crypto/sm/lib/jsbn.d.ts +198 -0
  135. package/dist/es/crypto/sm/lib/jsbn.mjs +1605 -0
  136. package/dist/es/crypto/sm/lib/sm3.d.ts +5 -0
  137. package/dist/es/crypto/sm/lib/sm3.mjs +155 -0
  138. package/dist/es/crypto/sm/lib/utils.d.ts +53 -0
  139. package/dist/es/crypto/sm/lib/utils.mjs +158 -0
  140. package/dist/es/crypto/sm/sm2/index.d.ts +71 -0
  141. package/dist/es/crypto/sm/sm2/index.mjs +101 -0
  142. package/dist/es/crypto/sm/sm2/sm2.d.ts +34 -0
  143. package/dist/es/crypto/sm/sm2/sm2.mjs +220 -0
  144. package/dist/es/crypto/sm/sm3/index.d.ts +7 -0
  145. package/dist/es/crypto/sm/sm3/index.mjs +13 -0
  146. package/dist/es/crypto/sm/sm3/sm3.d.ts +1 -0
  147. package/dist/es/crypto/sm/sm3/sm3.mjs +91 -0
  148. package/dist/es/crypto/sm/sm4/index.d.ts +16 -0
  149. package/dist/es/crypto/sm/sm4/index.mjs +24 -0
  150. package/dist/es/crypto/sm/sm4/sm4.d.ts +2 -0
  151. package/dist/es/crypto/sm/sm4/sm4.mjs +324 -0
  152. package/dist/es/crypto/tea/index.d.ts +14 -0
  153. package/dist/es/crypto/tea/index.mjs +22 -0
  154. package/dist/es/crypto/tea/tea.d.ts +69 -0
  155. package/dist/es/crypto/tea/tea.mjs +185 -0
  156. package/dist/es/date/index.d.ts +547 -0
  157. package/dist/es/date/index.mjs +1179 -0
  158. package/dist/es/desensitized/index.d.ts +38 -0
  159. package/dist/es/desensitized/index.mjs +69 -0
  160. package/dist/es/device/index.d.ts +67 -0
  161. package/dist/es/device/index.mjs +137 -0
  162. package/dist/es/dom/index.d.ts +57 -0
  163. package/dist/es/dom/index.mjs +119 -0
  164. package/dist/es/file/index.d.ts +93 -0
  165. package/dist/es/file/index.mjs +317 -0
  166. package/dist/es/function/index.d.ts +23 -0
  167. package/dist/es/function/index.mjs +65 -0
  168. package/dist/es/id/index.mjs +1 -1
  169. package/dist/es/index.d.ts +25 -42
  170. package/dist/es/index.mjs +54 -40
  171. package/dist/es/keycode/index.d.ts +12 -0
  172. package/dist/es/keycode/index.mjs +30 -0
  173. package/dist/es/math/index.d.ts +66 -0
  174. package/dist/es/math/index.mjs +268 -0
  175. package/dist/es/number/index.d.ts +14 -0
  176. package/dist/es/number/index.mjs +28 -0
  177. package/dist/es/object/index.d.ts +83 -0
  178. package/dist/es/object/index.mjs +259 -0
  179. package/dist/es/pagination/index.d.ts +34 -0
  180. package/dist/es/pagination/index.mjs +125 -0
  181. package/dist/es/random/index.d.ts +15 -0
  182. package/dist/es/random/index.mjs +21 -0
  183. package/dist/es/regexp/index.d.ts +63 -0
  184. package/dist/es/regexp/index.mjs +89 -0
  185. package/dist/es/storage/index.d.ts +7 -0
  186. package/dist/es/storage/index.mjs +9 -0
  187. package/dist/es/storage/localStorage.d.ts +21 -0
  188. package/dist/es/storage/localStorage.mjs +32 -0
  189. package/dist/es/storage/sessionStorage.d.ts +21 -0
  190. package/dist/es/storage/sessionStorage.mjs +32 -0
  191. package/dist/es/string/index.d.ts +121 -0
  192. package/dist/es/string/index.mjs +339 -0
  193. package/dist/es/url/index.d.ts +118 -0
  194. package/dist/es/url/index.mjs +240 -0
  195. package/dist/es/validate/index.d.ts +228 -0
  196. package/dist/es/validate/index.mjs +431 -0
  197. package/dist/es/weapp/index.d.ts +57 -0
  198. package/dist/es/weapp/index.mjs +131 -0
  199. package/dist/index.d.ts +2850 -53
  200. package/dist/lib/index.full.cjs.js +14230 -67
  201. package/dist/lib/index.full.cjs.min.js +64 -2
  202. package/dist/lib/index.full.cjs.min.js.map +1 -1
  203. package/dist/lib/index.full.esm.js +13881 -63
  204. package/dist/lib/index.full.esm.min.js +59 -2
  205. package/dist/lib/index.full.esm.min.js.map +1 -1
  206. package/dist/lib/index.full.umd.js +14230 -67
  207. package/dist/lib/index.full.umd.min.js +64 -2
  208. package/dist/lib/index.full.umd.min.js.map +1 -1
  209. package/dist/resolver/auto-imports.cjs +337 -11
  210. package/dist/resolver/auto-imports.mjs +337 -11
  211. package/dist/resolver/index.cjs +1 -1
  212. package/dist/resolver/index.mjs +1 -1
  213. package/package.json +1 -1
@@ -0,0 +1,342 @@
1
+ /*
2
+ * [hi-base64]{@link https://github.com/emn178/hi-base64}
3
+ *
4
+ * @version 0.3.1
5
+ * @author Chen, Yi-Cyuan [emn178@gmail.com]
6
+ * @copyright Chen, Yi-Cyuan 2014-2023
7
+ * @license MIT
8
+ */
9
+ /* jslint bitwise: true */
10
+ var ENCODING_ERROR = "not a UTF-8 string";
11
+ var WINDOW = typeof window === "object";
12
+ var root = WINDOW ? window : {};
13
+ if (root.HI_BASE64_NO_WINDOW) {
14
+ WINDOW = false;
15
+ }
16
+ var WEB_WORKER = !WINDOW && typeof self === "object";
17
+ var NODE_JS = !root.HI_BASE64_NO_NODE_JS && typeof process === "object" && process.versions && process.versions.node;
18
+ if (NODE_JS) {
19
+ root = global;
20
+ }
21
+ else if (WEB_WORKER) {
22
+ root = self;
23
+ }
24
+ var BASE64_ENCODE_CHAR = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");
25
+ var BASE64_DECODE_CHAR = {};
26
+ for (var i = 0; i < 64; ++i) {
27
+ BASE64_DECODE_CHAR[BASE64_ENCODE_CHAR[i]] = i;
28
+ }
29
+ BASE64_DECODE_CHAR["-"] = 62;
30
+ BASE64_DECODE_CHAR["_"] = 63;
31
+ var cleanBase64Str = function (base64Str) {
32
+ return base64Str.split("=")[0].replace(/[\r\n]/g, "");
33
+ };
34
+ var utf8ToBytes = function (str) {
35
+ var bytes = [];
36
+ for (var i = 0; i < str.length; i++) {
37
+ var c = str.charCodeAt(i);
38
+ if (c < 0x80) {
39
+ bytes[bytes.length] = c;
40
+ }
41
+ else if (c < 0x800) {
42
+ bytes[bytes.length] = 0xc0 | (c >> 6);
43
+ bytes[bytes.length] = 0x80 | (c & 0x3f);
44
+ }
45
+ else if (c < 0xd800 || c >= 0xe000) {
46
+ bytes[bytes.length] = 0xe0 | (c >> 12);
47
+ bytes[bytes.length] = 0x80 | ((c >> 6) & 0x3f);
48
+ bytes[bytes.length] = 0x80 | (c & 0x3f);
49
+ }
50
+ else {
51
+ c = 0x10000 + (((c & 0x3ff) << 10) | (str.charCodeAt(++i) & 0x3ff));
52
+ bytes[bytes.length] = 0xf0 | (c >> 18);
53
+ bytes[bytes.length] = 0x80 | ((c >> 12) & 0x3f);
54
+ bytes[bytes.length] = 0x80 | ((c >> 6) & 0x3f);
55
+ bytes[bytes.length] = 0x80 | (c & 0x3f);
56
+ }
57
+ }
58
+ return bytes;
59
+ };
60
+ var decodeAsBytes = function (base64Str) {
61
+ base64Str = cleanBase64Str(base64Str);
62
+ var v1, v2, v3, v4, bytes = [], index = 0, length = base64Str.length;
63
+ // 4 char to 3 bytes
64
+ for (var i = 0, count = (length >> 2) << 2; i < count;) {
65
+ v1 = BASE64_DECODE_CHAR[base64Str.charAt(i++)];
66
+ v2 = BASE64_DECODE_CHAR[base64Str.charAt(i++)];
67
+ v3 = BASE64_DECODE_CHAR[base64Str.charAt(i++)];
68
+ v4 = BASE64_DECODE_CHAR[base64Str.charAt(i++)];
69
+ bytes[index++] = ((v1 << 2) | (v2 >>> 4)) & 255;
70
+ bytes[index++] = ((v2 << 4) | (v3 >>> 2)) & 255;
71
+ bytes[index++] = ((v3 << 6) | v4) & 255;
72
+ }
73
+ // remain bytes
74
+ var remain = length - count;
75
+ if (remain === 2) {
76
+ v1 = BASE64_DECODE_CHAR[base64Str.charAt(i++)];
77
+ v2 = BASE64_DECODE_CHAR[base64Str.charAt(i++)];
78
+ bytes[index++] = ((v1 << 2) | (v2 >>> 4)) & 255;
79
+ }
80
+ else if (remain === 3) {
81
+ v1 = BASE64_DECODE_CHAR[base64Str.charAt(i++)];
82
+ v2 = BASE64_DECODE_CHAR[base64Str.charAt(i++)];
83
+ v3 = BASE64_DECODE_CHAR[base64Str.charAt(i++)];
84
+ bytes[index++] = ((v1 << 2) | (v2 >>> 4)) & 255;
85
+ bytes[index++] = ((v2 << 4) | (v3 >>> 2)) & 255;
86
+ }
87
+ return bytes;
88
+ };
89
+ var encodeFromBytes = function (bytes) {
90
+ var v1, v2, v3, base64Str = [], length = bytes.length;
91
+ for (var i = 0, count = parseInt(length / 3) * 3; i < count;) {
92
+ v1 = bytes[i++];
93
+ v2 = bytes[i++];
94
+ v3 = bytes[i++];
95
+ base64Str.push(BASE64_ENCODE_CHAR[v1 >>> 2], BASE64_ENCODE_CHAR[((v1 << 4) | (v2 >>> 4)) & 63], BASE64_ENCODE_CHAR[((v2 << 2) | (v3 >>> 6)) & 63], BASE64_ENCODE_CHAR[v3 & 63]);
96
+ }
97
+ // remain char
98
+ var remain = length - count;
99
+ if (remain === 1) {
100
+ v1 = bytes[i];
101
+ base64Str.push(BASE64_ENCODE_CHAR[v1 >>> 2], BASE64_ENCODE_CHAR[(v1 << 4) & 63], "==");
102
+ }
103
+ else if (remain === 2) {
104
+ v1 = bytes[i++];
105
+ v2 = bytes[i];
106
+ base64Str.push(BASE64_ENCODE_CHAR[v1 >>> 2], BASE64_ENCODE_CHAR[((v1 << 4) | (v2 >>> 4)) & 63], BASE64_ENCODE_CHAR[(v2 << 2) & 63], "=");
107
+ }
108
+ return base64Str.join("");
109
+ };
110
+ var btoa = root.btoa, atob = root.atob, utf8Base64Encode, utf8Base64Decode;
111
+ if (NODE_JS) {
112
+ var Buffer = require("buffer").Buffer;
113
+ btoa = function (str) {
114
+ return Buffer.from(str, "ascii").toString("base64");
115
+ };
116
+ utf8Base64Encode = function (str) {
117
+ return Buffer.from(str).toString("base64");
118
+ };
119
+ encodeFromBytes = utf8Base64Encode;
120
+ atob = function (base64Str) {
121
+ return Buffer.from(base64Str, "base64").toString("ascii");
122
+ };
123
+ utf8Base64Decode = function (base64Str) {
124
+ return Buffer.from(base64Str, "base64").toString();
125
+ };
126
+ }
127
+ else if (!btoa) {
128
+ btoa = function (str) {
129
+ var v1, v2, v3, base64Str = [], length = str.length;
130
+ for (var i = 0, count = parseInt(length / 3) * 3; i < count;) {
131
+ v1 = str.charCodeAt(i++);
132
+ v2 = str.charCodeAt(i++);
133
+ v3 = str.charCodeAt(i++);
134
+ base64Str.push(BASE64_ENCODE_CHAR[v1 >>> 2], BASE64_ENCODE_CHAR[((v1 << 4) | (v2 >>> 4)) & 63], BASE64_ENCODE_CHAR[((v2 << 2) | (v3 >>> 6)) & 63], BASE64_ENCODE_CHAR[v3 & 63]);
135
+ }
136
+ // remain char
137
+ var remain = length - count;
138
+ if (remain === 1) {
139
+ v1 = str.charCodeAt(i);
140
+ base64Str.push(BASE64_ENCODE_CHAR[v1 >>> 2], BASE64_ENCODE_CHAR[(v1 << 4) & 63], "==");
141
+ }
142
+ else if (remain === 2) {
143
+ v1 = str.charCodeAt(i++);
144
+ v2 = str.charCodeAt(i);
145
+ base64Str.push(BASE64_ENCODE_CHAR[v1 >>> 2], BASE64_ENCODE_CHAR[((v1 << 4) | (v2 >>> 4)) & 63], BASE64_ENCODE_CHAR[(v2 << 2) & 63], "=");
146
+ }
147
+ return base64Str.join("");
148
+ };
149
+ utf8Base64Encode = function (str) {
150
+ var v1, v2, v3, base64Str = [], bytes = utf8ToBytes(str), length = bytes.length;
151
+ for (var i = 0, count = parseInt(length / 3) * 3; i < count;) {
152
+ v1 = bytes[i++];
153
+ v2 = bytes[i++];
154
+ v3 = bytes[i++];
155
+ base64Str.push(BASE64_ENCODE_CHAR[v1 >>> 2], BASE64_ENCODE_CHAR[((v1 << 4) | (v2 >>> 4)) & 63], BASE64_ENCODE_CHAR[((v2 << 2) | (v3 >>> 6)) & 63], BASE64_ENCODE_CHAR[v3 & 63]);
156
+ }
157
+ // remain char
158
+ var remain = length - count;
159
+ if (remain === 1) {
160
+ v1 = bytes[i];
161
+ base64Str.push(BASE64_ENCODE_CHAR[v1 >>> 2], BASE64_ENCODE_CHAR[(v1 << 4) & 63], "==");
162
+ }
163
+ else if (remain === 2) {
164
+ v1 = bytes[i++];
165
+ v2 = bytes[i];
166
+ base64Str.push(BASE64_ENCODE_CHAR[v1 >>> 2], BASE64_ENCODE_CHAR[((v1 << 4) | (v2 >>> 4)) & 63], BASE64_ENCODE_CHAR[(v2 << 2) & 63], "=");
167
+ }
168
+ return base64Str.join("");
169
+ };
170
+ atob = function (base64Str) {
171
+ var v1, v2, v3, v4, str = [], length = base64Str.length;
172
+ // 4 char to 3 bytes
173
+ for (var i = 0, count = (length >> 2) << 2; i < count;) {
174
+ v1 = BASE64_DECODE_CHAR[base64Str.charAt(i++)];
175
+ v2 = BASE64_DECODE_CHAR[base64Str.charAt(i++)];
176
+ v3 = BASE64_DECODE_CHAR[base64Str.charAt(i++)];
177
+ v4 = BASE64_DECODE_CHAR[base64Str.charAt(i++)];
178
+ str.push(String.fromCharCode(((v1 << 2) | (v2 >>> 4)) & 255), String.fromCharCode(((v2 << 4) | (v3 >>> 2)) & 255), String.fromCharCode(((v3 << 6) | v4) & 255));
179
+ }
180
+ // remain bytes
181
+ var remain = length - count;
182
+ if (remain === 2) {
183
+ v1 = BASE64_DECODE_CHAR[base64Str.charAt(i++)];
184
+ v2 = BASE64_DECODE_CHAR[base64Str.charAt(i++)];
185
+ str.push(String.fromCharCode(((v1 << 2) | (v2 >>> 4)) & 255));
186
+ }
187
+ else if (remain === 3) {
188
+ v1 = BASE64_DECODE_CHAR[base64Str.charAt(i++)];
189
+ v2 = BASE64_DECODE_CHAR[base64Str.charAt(i++)];
190
+ v3 = BASE64_DECODE_CHAR[base64Str.charAt(i++)];
191
+ str.push(String.fromCharCode(((v1 << 2) | (v2 >>> 4)) & 255), String.fromCharCode(((v2 << 4) | (v3 >>> 2)) & 255));
192
+ }
193
+ return str.join("");
194
+ };
195
+ utf8Base64Decode = function (base64Str) {
196
+ var str = [], bytes = decodeAsBytes(base64Str), length = bytes.length;
197
+ var i = 0, followingChars = 0, b, c;
198
+ while (i < length) {
199
+ b = bytes[i++];
200
+ if (b <= 0x7f) {
201
+ str.push(String.fromCharCode(b));
202
+ continue;
203
+ }
204
+ else if (b > 0xbf && b <= 0xdf) {
205
+ c = b & 0x1f;
206
+ followingChars = 1;
207
+ }
208
+ else if (b <= 0xef) {
209
+ c = b & 0x0f;
210
+ followingChars = 2;
211
+ }
212
+ else if (b <= 0xf7) {
213
+ c = b & 0x07;
214
+ followingChars = 3;
215
+ }
216
+ else {
217
+ throw new Error(ENCODING_ERROR);
218
+ }
219
+ for (var j = 0; j < followingChars; ++j) {
220
+ b = bytes[i++];
221
+ if (b < 0x80 || b > 0xbf) {
222
+ throw new Error(ENCODING_ERROR);
223
+ }
224
+ c <<= 6;
225
+ c += b & 0x3f;
226
+ }
227
+ if (c >= 0xd800 && c <= 0xdfff) {
228
+ throw new Error(ENCODING_ERROR);
229
+ }
230
+ if (c > 0x10ffff) {
231
+ throw new Error(ENCODING_ERROR);
232
+ }
233
+ if (c <= 0xffff) {
234
+ str.push(String.fromCharCode(c));
235
+ }
236
+ else {
237
+ c -= 0x10000;
238
+ str.push(String.fromCharCode((c >> 10) + 0xd800), String.fromCharCode((c & 0x3ff) + 0xdc00));
239
+ }
240
+ }
241
+ return str.join("");
242
+ };
243
+ }
244
+ else {
245
+ utf8Base64Encode = function (str) {
246
+ var result = [];
247
+ for (var i = 0; i < str.length; i++) {
248
+ var charcode = str.charCodeAt(i);
249
+ if (charcode < 0x80) {
250
+ result.push(String.fromCharCode(charcode));
251
+ }
252
+ else if (charcode < 0x800) {
253
+ result.push(String.fromCharCode(0xc0 | (charcode >> 6)), String.fromCharCode(0x80 | (charcode & 0x3f)));
254
+ }
255
+ else if (charcode < 0xd800 || charcode >= 0xe000) {
256
+ result.push(String.fromCharCode(0xe0 | (charcode >> 12)), String.fromCharCode(0x80 | ((charcode >> 6) & 0x3f)), String.fromCharCode(0x80 | (charcode & 0x3f)));
257
+ }
258
+ else {
259
+ charcode = 0x10000 + (((charcode & 0x3ff) << 10) | (str.charCodeAt(++i) & 0x3ff));
260
+ result.push(String.fromCharCode(0xf0 | (charcode >> 18)), String.fromCharCode(0x80 | ((charcode >> 12) & 0x3f)), String.fromCharCode(0x80 | ((charcode >> 6) & 0x3f)), String.fromCharCode(0x80 | (charcode & 0x3f)));
261
+ }
262
+ }
263
+ return btoa(result.join(""));
264
+ };
265
+ utf8Base64Decode = function (base64Str) {
266
+ var tmpStr = atob(base64Str.replace(/-/g, "+").replace(/_/g, "/"));
267
+ if (!/[^\x00-\x7F]/.test(tmpStr)) {
268
+ return tmpStr;
269
+ }
270
+ var str = [], i = 0, length = tmpStr.length, followingChars = 0, b, c;
271
+ while (i < length) {
272
+ b = tmpStr.charCodeAt(i++);
273
+ if (b <= 0x7f) {
274
+ str.push(String.fromCharCode(b));
275
+ continue;
276
+ }
277
+ else if (b > 0xbf && b <= 0xdf) {
278
+ c = b & 0x1f;
279
+ followingChars = 1;
280
+ }
281
+ else if (b <= 0xef) {
282
+ c = b & 0x0f;
283
+ followingChars = 2;
284
+ }
285
+ else if (b <= 0xf7) {
286
+ c = b & 0x07;
287
+ followingChars = 3;
288
+ }
289
+ else {
290
+ throw new Error(ENCODING_ERROR);
291
+ }
292
+ for (var j = 0; j < followingChars; ++j) {
293
+ b = tmpStr.charCodeAt(i++);
294
+ if (b < 0x80 || b > 0xbf) {
295
+ throw new Error(ENCODING_ERROR);
296
+ }
297
+ c <<= 6;
298
+ c += b & 0x3f;
299
+ }
300
+ if (c >= 0xd800 && c <= 0xdfff) {
301
+ throw new Error(ENCODING_ERROR);
302
+ }
303
+ if (c > 0x10ffff) {
304
+ throw new Error(ENCODING_ERROR);
305
+ }
306
+ if (c <= 0xffff) {
307
+ str.push(String.fromCharCode(c));
308
+ }
309
+ else {
310
+ c -= 0x10000;
311
+ str.push(String.fromCharCode((c >> 10) + 0xd800), String.fromCharCode((c & 0x3ff) + 0xdc00));
312
+ }
313
+ }
314
+ return str.join("");
315
+ };
316
+ }
317
+ var encode = function (str, asciiOnly) {
318
+ var notString = typeof str != "string";
319
+ if (notString && str.constructor === root.ArrayBuffer) {
320
+ str = new Uint8Array(str);
321
+ }
322
+ if (notString) {
323
+ return encodeFromBytes(str);
324
+ }
325
+ else {
326
+ if (/[^\x00-\x7F]/.test(str)) {
327
+ return utf8Base64Encode(str);
328
+ }
329
+ else {
330
+ return btoa(str);
331
+ }
332
+ }
333
+ };
334
+ var decode = function (base64Str, asciiOnly) {
335
+ base64Str = cleanBase64Str(base64Str);
336
+ return asciiOnly ? atob(base64Str) : utf8Base64Decode(base64Str);
337
+ };
338
+ /* 以下是内部实现需要的es模块化导出方法 */
339
+ const utf8Encode = utf8Base64Encode;
340
+ const utf8Decode = utf8Base64Decode;
341
+
342
+ export { decode, decodeAsBytes, encode, utf8Decode, utf8Encode };
@@ -0,0 +1,36 @@
1
+ /**
2
+ * base64 加密
3
+ * @param {String} str 字符串
4
+ * @returns {String} 返回加密后的字符串
5
+ */
6
+ export function encode(str: string): string;
7
+ /**
8
+ * base64 解密
9
+ * @param {String} str 字符串
10
+ * @returns {String} 返回解密后的字符串
11
+ */
12
+ export function decode(str: string): string;
13
+ /**
14
+ * base64 utf8加密
15
+ * @param {String} str 字符串
16
+ * @returns {String} 返回加密后的字符串
17
+ */
18
+ export function utf8Encode(str: string): string;
19
+ /**
20
+ * base64 utf8解密
21
+ * @param {String} str 字符串
22
+ * @returns {String} 返回解密后的字符串
23
+ */
24
+ export function utf8Decode(str: string): string;
25
+ /**
26
+ * base64 加密字节数组
27
+ * @param {Array} array 数组
28
+ * @returns {String} 返回加密后的字符串
29
+ */
30
+ export function encodeAsBytes(array: any[]): string;
31
+ /**
32
+ * base64 解密字节数组
33
+ * @param {String} str 字符串
34
+ * @returns {Array} 返回解密后的字节数组
35
+ */
36
+ export function decodeAsBytes(str: string): any[];
@@ -0,0 +1,52 @@
1
+ import { encode as encode$1, decode as decode$1, utf8Encode as utf8Encode$1, utf8Decode as utf8Decode$1, decodeAsBytes as decodeAsBytes$1 } from './base64.mjs';
2
+
3
+ /**
4
+ * base64 加密
5
+ * @param {String} str 字符串
6
+ * @returns {String} 返回加密后的字符串
7
+ */
8
+ function encode(str) {
9
+ return encode$1(str);
10
+ }
11
+ /**
12
+ * base64 解密
13
+ * @param {String} str 字符串
14
+ * @returns {String} 返回解密后的字符串
15
+ */
16
+ function decode(str) {
17
+ return decode$1(str);
18
+ }
19
+ /**
20
+ * base64 utf8加密
21
+ * @param {String} str 字符串
22
+ * @returns {String} 返回加密后的字符串
23
+ */
24
+ function utf8Encode(str) {
25
+ return utf8Encode$1(str);
26
+ }
27
+ /**
28
+ * base64 utf8解密
29
+ * @param {String} str 字符串
30
+ * @returns {String} 返回解密后的字符串
31
+ */
32
+ function utf8Decode(str) {
33
+ return utf8Decode$1(str);
34
+ }
35
+ /**
36
+ * base64 加密字节数组
37
+ * @param {Array} array 数组
38
+ * @returns {String} 返回加密后的字符串
39
+ */
40
+ function encodeAsBytes(array) {
41
+ return encode$1(array);
42
+ }
43
+ /**
44
+ * base64 解密字节数组
45
+ * @param {String} str 字符串
46
+ * @returns {Array} 返回解密后的字节数组
47
+ */
48
+ function decodeAsBytes(str) {
49
+ return decodeAsBytes$1(str);
50
+ }
51
+
52
+ export { decode, decodeAsBytes, encode, encodeAsBytes, utf8Decode, utf8Encode };
@@ -0,0 +1,52 @@
1
+ export default Des;
2
+ /**
3
+ * 使用方法
4
+ * 实例化对象 new Des()
5
+ * 加密方法 encrypt(key,plaintext)
6
+ * 解密方法 decrypt(key,ciphertext)
7
+ * 示例---------------------------------------------------
8
+ * var Des = new Des();
9
+ * var key = 'custom key';
10
+ * var value = '需要加密的内容'
11
+ * var ciphertext = encrypt(key,value);//加密
12
+ * var plaintext = encrypt(key,ciphertext);//解密
13
+ */
14
+ declare function Des(key: any, value: any): void;
15
+ declare class Des {
16
+ /**
17
+ * 使用方法
18
+ * 实例化对象 new Des()
19
+ * 加密方法 encrypt(key,plaintext)
20
+ * 解密方法 decrypt(key,ciphertext)
21
+ * 示例---------------------------------------------------
22
+ * var Des = new Des();
23
+ * var key = 'custom key';
24
+ * var value = '需要加密的内容'
25
+ * var ciphertext = encrypt(key,value);//加密
26
+ * var plaintext = encrypt(key,ciphertext);//解密
27
+ */
28
+ constructor(key: any, value: any);
29
+ key: any;
30
+ value: any;
31
+ /**
32
+ * @param {String} key 密钥
33
+ * @param {String} value 内容
34
+ * @param {String} type 类型 ->encrypt加密|decrypt解密
35
+ */
36
+ _DesCreate(key: string, value: string, type: string): string;
37
+ _DesCreateKeys(key: any): any[];
38
+ /**
39
+ * 加密
40
+ * @param {String} key 密钥
41
+ * @param {String} plaintext 明文
42
+ * @return {String} ciphertext 密文
43
+ */
44
+ encrypt(key: string, plaintext: string): string;
45
+ /**
46
+ * 解密
47
+ * @param {String} key 密钥
48
+ * @param {String} ciphertext 密文
49
+ * @return {String} plaintext 明文
50
+ */
51
+ decrypt(key: string, ciphertext: string): string;
52
+ }