@ivujs/i-utils 1.1.1

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 (132) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +149 -0
  3. package/dist/cjs/ID-card/index.cjs +122 -0
  4. package/dist/cjs/array/index.cjs +465 -0
  5. package/dist/cjs/clipboard/index.cjs +135 -0
  6. package/dist/cjs/color/index.cjs +210 -0
  7. package/dist/cjs/constants/date.cjs +186 -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 +57 -0
  11. package/dist/cjs/constants/sort.cjs +15 -0
  12. package/dist/cjs/cookie/index.cjs +71 -0
  13. package/dist/cjs/crypto/aes/aes.cjs +533 -0
  14. package/dist/cjs/crypto/aes/index.cjs +28 -0
  15. package/dist/cjs/crypto/base32/base32.cjs +385 -0
  16. package/dist/cjs/crypto/base32/index.cjs +44 -0
  17. package/dist/cjs/crypto/base64/base64.cjs +433 -0
  18. package/dist/cjs/crypto/base64/index.cjs +64 -0
  19. package/dist/cjs/crypto/des/des.cjs +1054 -0
  20. package/dist/cjs/crypto/des/index.cjs +30 -0
  21. package/dist/cjs/crypto/md5/index.cjs +25 -0
  22. package/dist/cjs/crypto/md5/md5.cjs +944 -0
  23. package/dist/cjs/crypto/sha/sha1/index.cjs +25 -0
  24. package/dist/cjs/crypto/sha/sha1/sha1.cjs +602 -0
  25. package/dist/cjs/crypto/sha/sha256/index.cjs +46 -0
  26. package/dist/cjs/crypto/sha/sha256/sha256.cjs +654 -0
  27. package/dist/cjs/crypto/sha/sha3/index.cjs +44 -0
  28. package/dist/cjs/crypto/sha/sha3/sha3.cjs +747 -0
  29. package/dist/cjs/crypto/sha/sha512/index.cjs +88 -0
  30. package/dist/cjs/crypto/sha/sha512/sha512.cjs +1186 -0
  31. package/dist/cjs/crypto/sm/lib/asn1.cjs +167 -0
  32. package/dist/cjs/crypto/sm/lib/ec.cjs +352 -0
  33. package/dist/cjs/crypto/sm/lib/jsbn.cjs +1633 -0
  34. package/dist/cjs/crypto/sm/lib/sm3.cjs +173 -0
  35. package/dist/cjs/crypto/sm/lib/utils.cjs +198 -0
  36. package/dist/cjs/crypto/sm/sm2/index.cjs +122 -0
  37. package/dist/cjs/crypto/sm/sm2/sm2.cjs +269 -0
  38. package/dist/cjs/crypto/sm/sm3/index.cjs +15 -0
  39. package/dist/cjs/crypto/sm/sm3/sm3.cjs +103 -0
  40. package/dist/cjs/crypto/sm/sm4/index.cjs +28 -0
  41. package/dist/cjs/crypto/sm/sm4/sm4.cjs +362 -0
  42. package/dist/cjs/crypto/tea/index.cjs +26 -0
  43. package/dist/cjs/crypto/tea/tea.cjs +215 -0
  44. package/dist/cjs/date/index.cjs +1349 -0
  45. package/dist/cjs/desensitized/index.cjs +74 -0
  46. package/dist/cjs/device/index.cjs +159 -0
  47. package/dist/cjs/dom/index.cjs +176 -0
  48. package/dist/cjs/file/index.cjs +339 -0
  49. package/dist/cjs/function/index.cjs +67 -0
  50. package/dist/cjs/id/index.cjs +46 -0
  51. package/dist/cjs/index.cjs +399 -0
  52. package/dist/cjs/keycode/index.cjs +142 -0
  53. package/dist/cjs/math/index.cjs +284 -0
  54. package/dist/cjs/number/index.cjs +14 -0
  55. package/dist/cjs/object/index.cjs +216 -0
  56. package/dist/cjs/pagination/index.cjs +140 -0
  57. package/dist/cjs/random/index.cjs +25 -0
  58. package/dist/cjs/regexp/index.cjs +109 -0
  59. package/dist/cjs/storage/index.cjs +11 -0
  60. package/dist/cjs/storage/localStorage.cjs +40 -0
  61. package/dist/cjs/storage/sessionStorage.cjs +40 -0
  62. package/dist/cjs/string/index.cjs +338 -0
  63. package/dist/cjs/url/index.cjs +279 -0
  64. package/dist/cjs/validate/index.cjs +487 -0
  65. package/dist/cjs/weapp/index.cjs +151 -0
  66. package/dist/es/ID-card/index.mjs +116 -0
  67. package/dist/es/array/index.mjs +437 -0
  68. package/dist/es/clipboard/index.mjs +129 -0
  69. package/dist/es/color/index.mjs +200 -0
  70. package/dist/es/constants/date.mjs +184 -0
  71. package/dist/es/constants/lang.mjs +11 -0
  72. package/dist/es/constants/math.mjs +11 -0
  73. package/dist/es/constants/regexp.mjs +55 -0
  74. package/dist/es/constants/sort.mjs +13 -0
  75. package/dist/es/cookie/index.mjs +65 -0
  76. package/dist/es/crypto/aes/aes.mjs +529 -0
  77. package/dist/es/crypto/aes/index.mjs +25 -0
  78. package/dist/es/crypto/base32/base32.mjs +381 -0
  79. package/dist/es/crypto/base32/index.mjs +39 -0
  80. package/dist/es/crypto/base64/base64.mjs +427 -0
  81. package/dist/es/crypto/base64/index.mjs +57 -0
  82. package/dist/es/crypto/des/des.mjs +1050 -0
  83. package/dist/es/crypto/des/index.mjs +27 -0
  84. package/dist/es/crypto/md5/index.mjs +22 -0
  85. package/dist/es/crypto/md5/md5.mjs +941 -0
  86. package/dist/es/crypto/sha/sha1/index.mjs +22 -0
  87. package/dist/es/crypto/sha/sha1/sha1.mjs +599 -0
  88. package/dist/es/crypto/sha/sha256/index.mjs +41 -0
  89. package/dist/es/crypto/sha/sha256/sha256.mjs +649 -0
  90. package/dist/es/crypto/sha/sha3/index.mjs +39 -0
  91. package/dist/es/crypto/sha/sha3/sha3.mjs +742 -0
  92. package/dist/es/crypto/sha/sha512/index.mjs +79 -0
  93. package/dist/es/crypto/sha/sha512/sha512.mjs +1177 -0
  94. package/dist/es/crypto/sm/lib/asn1.mjs +164 -0
  95. package/dist/es/crypto/sm/lib/ec.mjs +349 -0
  96. package/dist/es/crypto/sm/lib/jsbn.mjs +1630 -0
  97. package/dist/es/crypto/sm/lib/sm3.mjs +170 -0
  98. package/dist/es/crypto/sm/lib/utils.mjs +186 -0
  99. package/dist/es/crypto/sm/sm2/index.mjs +111 -0
  100. package/dist/es/crypto/sm/sm2/sm2.mjs +258 -0
  101. package/dist/es/crypto/sm/sm3/index.mjs +13 -0
  102. package/dist/es/crypto/sm/sm3/sm3.mjs +99 -0
  103. package/dist/es/crypto/sm/sm4/index.mjs +25 -0
  104. package/dist/es/crypto/sm/sm4/sm4.mjs +359 -0
  105. package/dist/es/crypto/tea/index.mjs +23 -0
  106. package/dist/es/crypto/tea/tea.mjs +211 -0
  107. package/dist/es/date/index.mjs +1262 -0
  108. package/dist/es/desensitized/index.mjs +69 -0
  109. package/dist/es/device/index.mjs +145 -0
  110. package/dist/es/dom/index.mjs +164 -0
  111. package/dist/es/file/index.mjs +323 -0
  112. package/dist/es/function/index.mjs +63 -0
  113. package/dist/es/id/index.mjs +43 -0
  114. package/dist/es/index.mjs +59 -0
  115. package/dist/es/keycode/index.mjs +139 -0
  116. package/dist/es/math/index.mjs +274 -0
  117. package/dist/es/number/index.mjs +12 -0
  118. package/dist/es/object/index.mjs +203 -0
  119. package/dist/es/pagination/index.mjs +134 -0
  120. package/dist/es/random/index.mjs +22 -0
  121. package/dist/es/regexp/index.mjs +98 -0
  122. package/dist/es/storage/index.mjs +9 -0
  123. package/dist/es/storage/localStorage.mjs +35 -0
  124. package/dist/es/storage/sessionStorage.mjs +35 -0
  125. package/dist/es/string/index.mjs +321 -0
  126. package/dist/es/url/index.mjs +261 -0
  127. package/dist/es/validate/index.mjs +451 -0
  128. package/dist/es/weapp/index.mjs +140 -0
  129. package/dist/lib/index.full.esm.js +15825 -0
  130. package/dist/lib/index.full.esm.min.js +58 -0
  131. package/dist/lib/index.full.umd.js +16179 -0
  132. package/package.json +54 -0
@@ -0,0 +1,381 @@
1
+ /*
2
+ * [hi-base32]{@link https://github.com/emn178/hi-base32}
3
+ *
4
+ * @version 0.5.0
5
+ * @author Chen, Yi-Cyuan [emn178@gmail.com]
6
+ * @copyright Chen, Yi-Cyuan 2015-2018
7
+ * @license MIT
8
+ */
9
+ /* jslint bitwise: true */
10
+
11
+ var root = typeof window === "object" ? window : {};
12
+ var NODE_JS = !root.HI_BASE32_NO_NODE_JS && typeof process === "object" && process.versions && process.versions.node;
13
+ if (NODE_JS) {
14
+ root = global;
15
+ }
16
+ var BASE32_ENCODE_CHAR = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567".split("");
17
+ var BASE32_DECODE_CHAR = {
18
+ A: 0,
19
+ B: 1,
20
+ C: 2,
21
+ D: 3,
22
+ E: 4,
23
+ F: 5,
24
+ G: 6,
25
+ H: 7,
26
+ I: 8,
27
+ J: 9,
28
+ K: 10,
29
+ L: 11,
30
+ M: 12,
31
+ N: 13,
32
+ O: 14,
33
+ P: 15,
34
+ Q: 16,
35
+ R: 17,
36
+ S: 18,
37
+ T: 19,
38
+ U: 20,
39
+ V: 21,
40
+ W: 22,
41
+ X: 23,
42
+ Y: 24,
43
+ Z: 25,
44
+ 2: 26,
45
+ 3: 27,
46
+ 4: 28,
47
+ 5: 29,
48
+ 6: 30,
49
+ 7: 31,
50
+ };
51
+
52
+ var blocks = [0, 0, 0, 0, 0, 0, 0, 0];
53
+
54
+ var throwInvalidUtf8 = function (position, partial) {
55
+ if (partial.length > 10) {
56
+ partial = "..." + partial.substr(-10);
57
+ }
58
+ var err = new Error(
59
+ "Decoded data is not valid UTF-8." +
60
+ " Maybe try base32.decode.asBytes()?" +
61
+ " Partial data after reading " +
62
+ position +
63
+ " bytes: " +
64
+ partial +
65
+ " <-",
66
+ );
67
+ err.position = position;
68
+ throw err;
69
+ };
70
+
71
+ var toUtf8String = function (bytes) {
72
+ var str = "",
73
+ length = bytes.length,
74
+ i = 0,
75
+ followingChars = 0,
76
+ b,
77
+ c;
78
+ while (i < length) {
79
+ b = bytes[i++];
80
+ if (b <= 0x7f) {
81
+ str += String.fromCharCode(b);
82
+ continue;
83
+ } else if (b > 0xbf && b <= 0xdf) {
84
+ c = b & 0x1f;
85
+ followingChars = 1;
86
+ } else if (b <= 0xef) {
87
+ c = b & 0x0f;
88
+ followingChars = 2;
89
+ } else if (b <= 0xf7) {
90
+ c = b & 0x07;
91
+ followingChars = 3;
92
+ } else {
93
+ throwInvalidUtf8(i, str);
94
+ }
95
+
96
+ for (var j = 0; j < followingChars; ++j) {
97
+ b = bytes[i++];
98
+ if (b < 0x80 || b > 0xbf) {
99
+ throwInvalidUtf8(i, str);
100
+ }
101
+ c <<= 6;
102
+ c += b & 0x3f;
103
+ }
104
+ if (c >= 0xd800 && c <= 0xdfff) {
105
+ throwInvalidUtf8(i, str);
106
+ }
107
+ if (c > 0x10ffff) {
108
+ throwInvalidUtf8(i, str);
109
+ }
110
+
111
+ if (c <= 0xffff) {
112
+ str += String.fromCharCode(c);
113
+ } else {
114
+ c -= 0x10000;
115
+ str += String.fromCharCode((c >> 10) + 0xd800);
116
+ str += String.fromCharCode((c & 0x3ff) + 0xdc00);
117
+ }
118
+ }
119
+ return str;
120
+ };
121
+
122
+ var decodeAsBytes = function (base32Str) {
123
+ if (base32Str === "") {
124
+ return [];
125
+ } else if (!/^[A-Z2-7=]+$/.test(base32Str)) {
126
+ throw new Error("Invalid base32 characters");
127
+ }
128
+ base32Str = base32Str.replace(/=/g, "");
129
+ var v1,
130
+ v2,
131
+ v3,
132
+ v4,
133
+ v5,
134
+ v6,
135
+ v7,
136
+ v8,
137
+ bytes = [],
138
+ index = 0,
139
+ length = base32Str.length;
140
+
141
+ // 4 char to 3 bytes
142
+ for (var i = 0, count = (length >> 3) << 3; i < count; ) {
143
+ v1 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
144
+ v2 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
145
+ v3 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
146
+ v4 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
147
+ v5 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
148
+ v6 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
149
+ v7 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
150
+ v8 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
151
+ bytes[index++] = ((v1 << 3) | (v2 >>> 2)) & 255;
152
+ bytes[index++] = ((v2 << 6) | (v3 << 1) | (v4 >>> 4)) & 255;
153
+ bytes[index++] = ((v4 << 4) | (v5 >>> 1)) & 255;
154
+ bytes[index++] = ((v5 << 7) | (v6 << 2) | (v7 >>> 3)) & 255;
155
+ bytes[index++] = ((v7 << 5) | v8) & 255;
156
+ }
157
+
158
+ // remain bytes
159
+ var remain = length - count;
160
+ if (remain === 2) {
161
+ v1 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
162
+ v2 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
163
+ bytes[index++] = ((v1 << 3) | (v2 >>> 2)) & 255;
164
+ } else if (remain === 4) {
165
+ v1 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
166
+ v2 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
167
+ v3 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
168
+ v4 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
169
+ bytes[index++] = ((v1 << 3) | (v2 >>> 2)) & 255;
170
+ bytes[index++] = ((v2 << 6) | (v3 << 1) | (v4 >>> 4)) & 255;
171
+ } else if (remain === 5) {
172
+ v1 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
173
+ v2 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
174
+ v3 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
175
+ v4 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
176
+ v5 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
177
+ bytes[index++] = ((v1 << 3) | (v2 >>> 2)) & 255;
178
+ bytes[index++] = ((v2 << 6) | (v3 << 1) | (v4 >>> 4)) & 255;
179
+ bytes[index++] = ((v4 << 4) | (v5 >>> 1)) & 255;
180
+ } else if (remain === 7) {
181
+ v1 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
182
+ v2 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
183
+ v3 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
184
+ v4 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
185
+ v5 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
186
+ v6 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
187
+ v7 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
188
+ bytes[index++] = ((v1 << 3) | (v2 >>> 2)) & 255;
189
+ bytes[index++] = ((v2 << 6) | (v3 << 1) | (v4 >>> 4)) & 255;
190
+ bytes[index++] = ((v4 << 4) | (v5 >>> 1)) & 255;
191
+ bytes[index++] = ((v5 << 7) | (v6 << 2) | (v7 >>> 3)) & 255;
192
+ }
193
+ return bytes;
194
+ };
195
+
196
+ var encodeUtf8 = function (str) {
197
+ var v1,
198
+ v2,
199
+ v3,
200
+ v4,
201
+ v5,
202
+ code,
203
+ end = false,
204
+ base32Str = "",
205
+ index = 0,
206
+ i,
207
+ start = 0,
208
+ length = str.length;
209
+ if (str === "") {
210
+ return base32Str;
211
+ }
212
+ do {
213
+ blocks[0] = blocks[5];
214
+ blocks[1] = blocks[6];
215
+ blocks[2] = blocks[7];
216
+ for (i = start; index < length && i < 5; ++index) {
217
+ code = str.charCodeAt(index);
218
+ if (code < 0x80) {
219
+ blocks[i++] = code;
220
+ } else if (code < 0x800) {
221
+ blocks[i++] = 0xc0 | (code >> 6);
222
+ blocks[i++] = 0x80 | (code & 0x3f);
223
+ } else if (code < 0xd800 || code >= 0xe000) {
224
+ blocks[i++] = 0xe0 | (code >> 12);
225
+ blocks[i++] = 0x80 | ((code >> 6) & 0x3f);
226
+ blocks[i++] = 0x80 | (code & 0x3f);
227
+ } else {
228
+ code = 0x10000 + (((code & 0x3ff) << 10) | (str.charCodeAt(++index) & 0x3ff));
229
+ blocks[i++] = 0xf0 | (code >> 18);
230
+ blocks[i++] = 0x80 | ((code >> 12) & 0x3f);
231
+ blocks[i++] = 0x80 | ((code >> 6) & 0x3f);
232
+ blocks[i++] = 0x80 | (code & 0x3f);
233
+ }
234
+ }
235
+ start = i - 5;
236
+ if (index === length) {
237
+ ++index;
238
+ }
239
+ if (index > length && i < 6) {
240
+ end = true;
241
+ }
242
+ v1 = blocks[0];
243
+ if (i > 4) {
244
+ v2 = blocks[1];
245
+ v3 = blocks[2];
246
+ v4 = blocks[3];
247
+ v5 = blocks[4];
248
+ base32Str +=
249
+ BASE32_ENCODE_CHAR[v1 >>> 3] +
250
+ BASE32_ENCODE_CHAR[((v1 << 2) | (v2 >>> 6)) & 31] +
251
+ BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +
252
+ BASE32_ENCODE_CHAR[((v2 << 4) | (v3 >>> 4)) & 31] +
253
+ BASE32_ENCODE_CHAR[((v3 << 1) | (v4 >>> 7)) & 31] +
254
+ BASE32_ENCODE_CHAR[(v4 >>> 2) & 31] +
255
+ BASE32_ENCODE_CHAR[((v4 << 3) | (v5 >>> 5)) & 31] +
256
+ BASE32_ENCODE_CHAR[v5 & 31];
257
+ } else if (i === 1) {
258
+ base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] + BASE32_ENCODE_CHAR[(v1 << 2) & 31] + "======";
259
+ } else if (i === 2) {
260
+ v2 = blocks[1];
261
+ base32Str +=
262
+ BASE32_ENCODE_CHAR[v1 >>> 3] +
263
+ BASE32_ENCODE_CHAR[((v1 << 2) | (v2 >>> 6)) & 31] +
264
+ BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +
265
+ BASE32_ENCODE_CHAR[(v2 << 4) & 31] +
266
+ "====";
267
+ } else if (i === 3) {
268
+ v2 = blocks[1];
269
+ v3 = blocks[2];
270
+ base32Str +=
271
+ BASE32_ENCODE_CHAR[v1 >>> 3] +
272
+ BASE32_ENCODE_CHAR[((v1 << 2) | (v2 >>> 6)) & 31] +
273
+ BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +
274
+ BASE32_ENCODE_CHAR[((v2 << 4) | (v3 >>> 4)) & 31] +
275
+ BASE32_ENCODE_CHAR[(v3 << 1) & 31] +
276
+ "===";
277
+ } else {
278
+ v2 = blocks[1];
279
+ v3 = blocks[2];
280
+ v4 = blocks[3];
281
+ base32Str +=
282
+ BASE32_ENCODE_CHAR[v1 >>> 3] +
283
+ BASE32_ENCODE_CHAR[((v1 << 2) | (v2 >>> 6)) & 31] +
284
+ BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +
285
+ BASE32_ENCODE_CHAR[((v2 << 4) | (v3 >>> 4)) & 31] +
286
+ BASE32_ENCODE_CHAR[((v3 << 1) | (v4 >>> 7)) & 31] +
287
+ BASE32_ENCODE_CHAR[(v4 >>> 2) & 31] +
288
+ BASE32_ENCODE_CHAR[(v4 << 3) & 31] +
289
+ "=";
290
+ }
291
+ } while (!end);
292
+ return base32Str;
293
+ };
294
+
295
+ var encodeBytes = function (bytes) {
296
+ var v1,
297
+ v2,
298
+ v3,
299
+ v4,
300
+ v5,
301
+ base32Str = "",
302
+ length = bytes.length;
303
+ for (var i = 0, count = parseInt(length / 5) * 5; i < count; ) {
304
+ v1 = bytes[i++];
305
+ v2 = bytes[i++];
306
+ v3 = bytes[i++];
307
+ v4 = bytes[i++];
308
+ v5 = bytes[i++];
309
+ base32Str +=
310
+ BASE32_ENCODE_CHAR[v1 >>> 3] +
311
+ BASE32_ENCODE_CHAR[((v1 << 2) | (v2 >>> 6)) & 31] +
312
+ BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +
313
+ BASE32_ENCODE_CHAR[((v2 << 4) | (v3 >>> 4)) & 31] +
314
+ BASE32_ENCODE_CHAR[((v3 << 1) | (v4 >>> 7)) & 31] +
315
+ BASE32_ENCODE_CHAR[(v4 >>> 2) & 31] +
316
+ BASE32_ENCODE_CHAR[((v4 << 3) | (v5 >>> 5)) & 31] +
317
+ BASE32_ENCODE_CHAR[v5 & 31];
318
+ }
319
+
320
+ // remain char
321
+ var remain = length - count;
322
+ if (remain === 1) {
323
+ v1 = bytes[i];
324
+ base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] + BASE32_ENCODE_CHAR[(v1 << 2) & 31] + "======";
325
+ } else if (remain === 2) {
326
+ v1 = bytes[i++];
327
+ v2 = bytes[i];
328
+ base32Str +=
329
+ BASE32_ENCODE_CHAR[v1 >>> 3] +
330
+ BASE32_ENCODE_CHAR[((v1 << 2) | (v2 >>> 6)) & 31] +
331
+ BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +
332
+ BASE32_ENCODE_CHAR[(v2 << 4) & 31] +
333
+ "====";
334
+ } else if (remain === 3) {
335
+ v1 = bytes[i++];
336
+ v2 = bytes[i++];
337
+ v3 = bytes[i];
338
+ base32Str +=
339
+ BASE32_ENCODE_CHAR[v1 >>> 3] +
340
+ BASE32_ENCODE_CHAR[((v1 << 2) | (v2 >>> 6)) & 31] +
341
+ BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +
342
+ BASE32_ENCODE_CHAR[((v2 << 4) | (v3 >>> 4)) & 31] +
343
+ BASE32_ENCODE_CHAR[(v3 << 1) & 31] +
344
+ "===";
345
+ } else if (remain === 4) {
346
+ v1 = bytes[i++];
347
+ v2 = bytes[i++];
348
+ v3 = bytes[i++];
349
+ v4 = bytes[i];
350
+ base32Str +=
351
+ BASE32_ENCODE_CHAR[v1 >>> 3] +
352
+ BASE32_ENCODE_CHAR[((v1 << 2) | (v2 >>> 6)) & 31] +
353
+ BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +
354
+ BASE32_ENCODE_CHAR[((v2 << 4) | (v3 >>> 4)) & 31] +
355
+ BASE32_ENCODE_CHAR[((v3 << 1) | (v4 >>> 7)) & 31] +
356
+ BASE32_ENCODE_CHAR[(v4 >>> 2) & 31] +
357
+ BASE32_ENCODE_CHAR[(v4 << 3) & 31] +
358
+ "=";
359
+ }
360
+ return base32Str;
361
+ };
362
+
363
+ var encode = function (input, asciiOnly) {
364
+ var notString = typeof input !== "string";
365
+ if (notString && input.constructor === ArrayBuffer) {
366
+ input = new Uint8Array(input);
367
+ }
368
+ if (notString) {
369
+ return encodeBytes(input);
370
+ } else {
371
+ return encodeUtf8(input);
372
+ }
373
+ };
374
+
375
+ var decode = function (base32Str, asciiOnly) {
376
+ {
377
+ return toUtf8String(decodeAsBytes(base32Str));
378
+ }
379
+ };
380
+
381
+ export { decode, decodeAsBytes, encode };
@@ -0,0 +1,39 @@
1
+ import { encode as encode$1, decode as decode$1, decodeAsBytes as decodeAsBytes$1 } from './base32.mjs';
2
+
3
+ /**
4
+ * base32 加密
5
+ * @param {String} str 字符串
6
+ * @returns {String} 返回加密后的字符串
7
+ */
8
+ function encode(str) {
9
+ return encode$1(str);
10
+ }
11
+
12
+ /**
13
+ * base32 解密
14
+ * @param {String} str 字符串
15
+ * @returns {String} 返回解密后的字符串
16
+ */
17
+ function decode(str) {
18
+ return decode$1(str);
19
+ }
20
+
21
+ /**
22
+ * base32 加密字节数组
23
+ * @param {Array} array 数组
24
+ * @returns {String} 返回加密后的字符串
25
+ */
26
+ function encodeAsBytes(array) {
27
+ return encode$1(array);
28
+ }
29
+
30
+ /**
31
+ * base32 解密字节数组
32
+ * @param {String} str 字符串
33
+ * @returns {Array} 返回解密后的字节
34
+ */
35
+ function decodeAsBytes(str) {
36
+ return decodeAsBytes$1(str);
37
+ }
38
+
39
+ export { decode, decodeAsBytes, encode, encodeAsBytes };