@tiny-codes/react-easy 1.4.8 → 1.4.10
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/CHANGELOG.md +52 -0
- package/es/hooks/index.d.ts +3 -0
- package/es/hooks/index.js +3 -0
- package/es/hooks/index.js.map +1 -1
- package/es/hooks/useAudioPlayer.d.ts +7 -0
- package/es/hooks/useAudioPlayer.js +13 -0
- package/es/hooks/useAudioPlayer.js.map +1 -0
- package/es/hooks/useSSE.d.ts +26 -0
- package/es/hooks/useSSE.js +147 -0
- package/es/hooks/useSSE.js.map +1 -0
- package/es/hooks/useUserMedia.d.ts +11 -4
- package/es/hooks/useUserMedia.js +10 -8
- package/es/hooks/useUserMedia.js.map +1 -1
- package/es/utils/AudioPlayer.d.ts +166 -0
- package/es/utils/AudioPlayer.js +457 -0
- package/es/utils/AudioPlayer.js.map +1 -0
- package/es/utils/base64.d.ts +48 -0
- package/es/utils/base64.js +139 -0
- package/es/utils/base64.js.map +1 -0
- package/es/utils/crypto.d.ts +0 -30
- package/es/utils/crypto.js +8 -93
- package/es/utils/crypto.js.map +1 -1
- package/es/utils/index.d.ts +5 -1
- package/es/utils/index.js +5 -1
- package/es/utils/index.js.map +1 -1
- package/es/utils/stream.d.ts +17 -10
- package/es/utils/stream.js +13 -5
- package/es/utils/stream.js.map +1 -1
- package/lib/hooks/index.d.ts +3 -0
- package/lib/hooks/index.js +8 -0
- package/lib/hooks/index.js.map +2 -2
- package/lib/hooks/useAudioPlayer.d.ts +7 -0
- package/lib/hooks/useAudioPlayer.js +42 -0
- package/lib/hooks/useAudioPlayer.js.map +7 -0
- package/lib/hooks/useSSE.d.ts +26 -0
- package/lib/hooks/useSSE.js +128 -0
- package/lib/hooks/useSSE.js.map +7 -0
- package/lib/hooks/useUserMedia.d.ts +11 -4
- package/lib/hooks/useUserMedia.js +9 -7
- package/lib/hooks/useUserMedia.js.map +2 -2
- package/lib/utils/AudioPlayer.d.ts +166 -0
- package/lib/utils/AudioPlayer.js +305 -0
- package/lib/utils/AudioPlayer.js.map +7 -0
- package/lib/utils/base64.d.ts +48 -0
- package/lib/utils/base64.js +120 -0
- package/lib/utils/base64.js.map +7 -0
- package/lib/utils/crypto.d.ts +0 -30
- package/lib/utils/crypto.js +7 -66
- package/lib/utils/crypto.js.map +2 -2
- package/lib/utils/index.d.ts +5 -1
- package/lib/utils/index.js +28 -3
- package/lib/utils/index.js.map +2 -2
- package/lib/utils/stream.d.ts +17 -10
- package/lib/utils/stream.js +9 -4
- package/lib/utils/stream.js.map +2 -2
- package/package.json +2 -1
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
2
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
4
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
5
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
6
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
7
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
8
|
+
/**
|
|
9
|
+
* - **EN:** Encode a UTF-8 string into Base64 (standard or URL-safe).
|
|
10
|
+
* - **CN:** 将 UTF-8 字符串编码为 Base64(标准或 URL 安全格式)。
|
|
11
|
+
*
|
|
12
|
+
* @param content Input text to encode | 要编码的输入文本
|
|
13
|
+
*
|
|
14
|
+
* @returns Base64 encoded string | Base64 编码后的字符串
|
|
15
|
+
*/
|
|
16
|
+
export function stringToBase64(content) {
|
|
17
|
+
var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
18
|
+
var _opts$urlSafe = opts.urlSafe,
|
|
19
|
+
urlSafe = _opts$urlSafe === void 0 ? false : _opts$urlSafe;
|
|
20
|
+
if (content == null || content === '') return '';
|
|
21
|
+
var base64;
|
|
22
|
+
var hasBuffer = typeof Buffer !== 'undefined' && typeof Buffer.from === 'function';
|
|
23
|
+
if (hasBuffer) {
|
|
24
|
+
// Node.js
|
|
25
|
+
base64 = Buffer.from(content, 'utf8').toString('base64');
|
|
26
|
+
} else {
|
|
27
|
+
// Browser
|
|
28
|
+
var encoder = new TextEncoder();
|
|
29
|
+
var bytes = encoder.encode(content);
|
|
30
|
+
var binary = '';
|
|
31
|
+
var _iterator = _createForOfIteratorHelper(bytes),
|
|
32
|
+
_step;
|
|
33
|
+
try {
|
|
34
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
35
|
+
var i = _step.value;
|
|
36
|
+
binary += String.fromCharCode(i);
|
|
37
|
+
}
|
|
38
|
+
} catch (err) {
|
|
39
|
+
_iterator.e(err);
|
|
40
|
+
} finally {
|
|
41
|
+
_iterator.f();
|
|
42
|
+
}
|
|
43
|
+
base64 = btoa(binary);
|
|
44
|
+
}
|
|
45
|
+
if (urlSafe) {
|
|
46
|
+
// Replace chars and strip padding for URL-safe variant
|
|
47
|
+
base64 = base64.replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
|
|
48
|
+
}
|
|
49
|
+
return base64;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* - EN: Decode a Base64 (standard or URL-safe) string into UTF-8 text.
|
|
54
|
+
* - CN: 将(标准或 URL 安全)Base64 字符串解码为 UTF-8 文本。
|
|
55
|
+
*
|
|
56
|
+
* @param content Base64 encoded string | Base64 编码字符串
|
|
57
|
+
*
|
|
58
|
+
* @returns Decoded UTF-8 string | 解码后的 UTF-8 字符串
|
|
59
|
+
*/
|
|
60
|
+
export function base64ToString(content) {
|
|
61
|
+
var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
62
|
+
var _opts$urlSafe2 = opts.urlSafe,
|
|
63
|
+
urlSafe = _opts$urlSafe2 === void 0 ? false : _opts$urlSafe2;
|
|
64
|
+
if (content == null || content === '') return '';
|
|
65
|
+
var normalized = content;
|
|
66
|
+
if (urlSafe) {
|
|
67
|
+
normalized = normalized.replace(/-/g, '+').replace(/_/g, '/');
|
|
68
|
+
}
|
|
69
|
+
// Restore padding if stripped
|
|
70
|
+
var padNeeded = normalized.length % 4;
|
|
71
|
+
if (padNeeded === 2) normalized += '==';else if (padNeeded === 3) normalized += '=';else if (padNeeded === 1) {
|
|
72
|
+
throw new Error('Invalid Base64 string length');
|
|
73
|
+
}
|
|
74
|
+
var hasBuffer = typeof Buffer !== 'undefined' && typeof Buffer.from === 'function';
|
|
75
|
+
try {
|
|
76
|
+
if (hasBuffer) {
|
|
77
|
+
return Buffer.from(normalized, 'base64').toString('utf8');
|
|
78
|
+
} else {
|
|
79
|
+
var binary = atob(normalized);
|
|
80
|
+
var len = binary.length;
|
|
81
|
+
var bytes = new Uint8Array(len);
|
|
82
|
+
for (var i = 0; i < len; i++) {
|
|
83
|
+
bytes[i] = binary.charCodeAt(i);
|
|
84
|
+
}
|
|
85
|
+
var decoder = new TextDecoder();
|
|
86
|
+
return decoder.decode(bytes);
|
|
87
|
+
}
|
|
88
|
+
} catch (e) {
|
|
89
|
+
throw new Error('Failed to decode Base64: ' + (e instanceof Error ? e.message : String(e)));
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* - **EN:** Convert an ArrayBuffer to a Base64 encoded string.
|
|
95
|
+
* - **CN:** 将 ArrayBuffer 转换为 Base64 编码的字符串。
|
|
96
|
+
*
|
|
97
|
+
* @param buf The ArrayBuffer to convert | 要转换的 ArrayBuffer
|
|
98
|
+
*
|
|
99
|
+
* @returns The Base64 encoded string | Base64 编码的字符串
|
|
100
|
+
*/
|
|
101
|
+
export function arrayBufferToBase64(buf) {
|
|
102
|
+
if (typeof Buffer !== 'undefined') {
|
|
103
|
+
return Buffer.from(buf).toString('base64');
|
|
104
|
+
}
|
|
105
|
+
var bytes = new Uint8Array(buf);
|
|
106
|
+
var chunk = 0x8000;
|
|
107
|
+
var binary = '';
|
|
108
|
+
for (var i = 0; i < bytes.length; i += chunk) {
|
|
109
|
+
binary += String.fromCharCode.apply(String, _toConsumableArray(bytes.subarray(i, i + chunk)));
|
|
110
|
+
}
|
|
111
|
+
var base64 = btoa(binary);
|
|
112
|
+
// Add padding for Base64
|
|
113
|
+
var padding = (4 - base64.length % 4) % 4;
|
|
114
|
+
if (padding) base64 += '='.repeat(padding);
|
|
115
|
+
return base64;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* - **EN:** Decode a Base64 (standard or URL-safe) string into an ArrayBuffer.
|
|
120
|
+
* - **CN:** 将(标准或 URL 安全)Base64 字符串解码为 ArrayBuffer。
|
|
121
|
+
*
|
|
122
|
+
* @param base64 The Base64 encoded string | Base64 编码的字符串
|
|
123
|
+
*
|
|
124
|
+
* @returns The decoded ArrayBuffer | 解码后的 ArrayBuffer
|
|
125
|
+
*/
|
|
126
|
+
export function base64ToArrayBuffer(base64) {
|
|
127
|
+
if (typeof Buffer !== 'undefined') {
|
|
128
|
+
var buffer = Buffer.from(base64, 'base64');
|
|
129
|
+
return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
|
|
130
|
+
}
|
|
131
|
+
var binaryString = atob(base64);
|
|
132
|
+
var len = binaryString.length;
|
|
133
|
+
var bytes = new Uint8Array(len);
|
|
134
|
+
for (var i = 0; i < len; i++) {
|
|
135
|
+
bytes[i] = binaryString.charCodeAt(i);
|
|
136
|
+
}
|
|
137
|
+
return bytes.buffer;
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=base64.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["stringToBase64","content","opts","arguments","length","undefined","_opts$urlSafe","urlSafe","base64","hasBuffer","Buffer","from","toString","encoder","TextEncoder","bytes","encode","binary","_iterator","_createForOfIteratorHelper","_step","s","n","done","i","value","String","fromCharCode","err","e","f","btoa","replace","base64ToString","_opts$urlSafe2","normalized","padNeeded","Error","atob","len","Uint8Array","charCodeAt","decoder","TextDecoder","decode","message","arrayBufferToBase64","buf","chunk","apply","_toConsumableArray","subarray","padding","repeat","base64ToArrayBuffer","buffer","slice","byteOffset","byteLength","binaryString"],"sources":["../../src/utils/base64.ts"],"sourcesContent":["/**\n * - **EN:** Encode a UTF-8 string into Base64 (standard or URL-safe).\n * - **CN:** 将 UTF-8 字符串编码为 Base64(标准或 URL 安全格式)。\n *\n * @param content Input text to encode | 要编码的输入文本\n *\n * @returns Base64 encoded string | Base64 编码后的字符串\n */\nexport function stringToBase64(\n content: string,\n opts: {\n /**\n * - **EN:** Use URL-safe Base64 if true (replace +/ with -_ and strip =)\n * - **CN:** 为 true 时使用 URL 安全 Base64(将 +/ 替换为 -_ 并去掉 =)\n */\n urlSafe?: boolean;\n } = {}\n): string {\n const { urlSafe = false } = opts;\n if (content == null || content === '') return '';\n\n let base64: string;\n const hasBuffer = typeof Buffer !== 'undefined' && typeof Buffer.from === 'function';\n if (hasBuffer) {\n // Node.js\n base64 = Buffer.from(content, 'utf8').toString('base64');\n } else {\n // Browser\n const encoder = new TextEncoder();\n const bytes = encoder.encode(content);\n let binary = '';\n for (const i of bytes) {\n binary += String.fromCharCode(i);\n }\n base64 = btoa(binary);\n }\n\n if (urlSafe) {\n // Replace chars and strip padding for URL-safe variant\n base64 = base64.replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=+$/u, '');\n }\n return base64;\n}\n\n/**\n * - EN: Decode a Base64 (standard or URL-safe) string into UTF-8 text.\n * - CN: 将(标准或 URL 安全)Base64 字符串解码为 UTF-8 文本。\n *\n * @param content Base64 encoded string | Base64 编码字符串\n *\n * @returns Decoded UTF-8 string | 解码后的 UTF-8 字符串\n */\nexport function base64ToString(\n content: string,\n opts: {\n /**\n * - **EN:** Use URL-safe Base64 if true (replace +/ with -_ and strip =)\n * - **CN:** 为 true 时使用 URL 安全 Base64(将 +/ 替换为 -_ 并去掉 =)\n */\n urlSafe?: boolean;\n } = {}\n): string {\n const { urlSafe = false } = opts;\n if (content == null || content === '') return '';\n\n let normalized = content;\n if (urlSafe) {\n normalized = normalized.replace(/-/g, '+').replace(/_/g, '/');\n }\n // Restore padding if stripped\n const padNeeded = normalized.length % 4;\n if (padNeeded === 2) normalized += '==';\n else if (padNeeded === 3) normalized += '=';\n else if (padNeeded === 1) {\n throw new Error('Invalid Base64 string length');\n }\n\n const hasBuffer = typeof Buffer !== 'undefined' && typeof Buffer.from === 'function';\n try {\n if (hasBuffer) {\n return Buffer.from(normalized, 'base64').toString('utf8');\n } else {\n const binary = atob(normalized);\n const len = binary.length;\n const bytes = new Uint8Array(len);\n for (let i = 0; i < len; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n const decoder = new TextDecoder();\n return decoder.decode(bytes);\n }\n } catch (e) {\n throw new Error('Failed to decode Base64: ' + (e instanceof Error ? e.message : String(e)));\n }\n}\n\n/**\n * - **EN:** Convert an ArrayBuffer to a Base64 encoded string.\n * - **CN:** 将 ArrayBuffer 转换为 Base64 编码的字符串。\n *\n * @param buf The ArrayBuffer to convert | 要转换的 ArrayBuffer\n *\n * @returns The Base64 encoded string | Base64 编码的字符串\n */\nexport function arrayBufferToBase64(buf: ArrayBuffer): string {\n if (typeof Buffer !== 'undefined') {\n return Buffer.from(buf).toString('base64');\n }\n const bytes = new Uint8Array(buf);\n const chunk = 0x8000;\n let binary = '';\n for (let i = 0; i < bytes.length; i += chunk) {\n binary += String.fromCharCode(...bytes.subarray(i, i + chunk));\n }\n let base64 = btoa(binary);\n // Add padding for Base64\n const padding = (4 - (base64.length % 4)) % 4;\n if (padding) base64 += '='.repeat(padding);\n return base64;\n}\n\n/**\n * - **EN:** Decode a Base64 (standard or URL-safe) string into an ArrayBuffer.\n * - **CN:** 将(标准或 URL 安全)Base64 字符串解码为 ArrayBuffer。\n *\n * @param base64 The Base64 encoded string | Base64 编码的字符串\n *\n * @returns The decoded ArrayBuffer | 解码后的 ArrayBuffer\n */\nexport function base64ToArrayBuffer(base64: string): ArrayBuffer {\n if (typeof Buffer !== 'undefined') {\n const buffer = Buffer.from(base64, 'base64');\n return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);\n }\n const binaryString = atob(base64);\n const len = binaryString.length;\n const bytes = new Uint8Array(len);\n for (let i = 0; i < len; i++) {\n bytes[i] = binaryString.charCodeAt(i);\n }\n return bytes.buffer;\n}\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,cAAcA,CAC5BC,OAAe,EAQP;EAAA,IAPRC,IAMC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEN,IAAAG,aAAA,GAA4BJ,IAAI,CAAxBK,OAAO;IAAPA,OAAO,GAAAD,aAAA,cAAG,KAAK,GAAAA,aAAA;EACvB,IAAIL,OAAO,IAAI,IAAI,IAAIA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE;EAEhD,IAAIO,MAAc;EAClB,IAAMC,SAAS,GAAG,OAAOC,MAAM,KAAK,WAAW,IAAI,OAAOA,MAAM,CAACC,IAAI,KAAK,UAAU;EACpF,IAAIF,SAAS,EAAE;IACb;IACAD,MAAM,GAAGE,MAAM,CAACC,IAAI,CAACV,OAAO,EAAE,MAAM,CAAC,CAACW,QAAQ,CAAC,QAAQ,CAAC;EAC1D,CAAC,MAAM;IACL;IACA,IAAMC,OAAO,GAAG,IAAIC,WAAW,CAAC,CAAC;IACjC,IAAMC,KAAK,GAAGF,OAAO,CAACG,MAAM,CAACf,OAAO,CAAC;IACrC,IAAIgB,MAAM,GAAG,EAAE;IAAC,IAAAC,SAAA,GAAAC,0BAAA,CACAJ,KAAK;MAAAK,KAAA;IAAA;MAArB,KAAAF,SAAA,CAAAG,CAAA,MAAAD,KAAA,GAAAF,SAAA,CAAAI,CAAA,IAAAC,IAAA,GAAuB;QAAA,IAAZC,CAAC,GAAAJ,KAAA,CAAAK,KAAA;QACVR,MAAM,IAAIS,MAAM,CAACC,YAAY,CAACH,CAAC,CAAC;MAClC;IAAC,SAAAI,GAAA;MAAAV,SAAA,CAAAW,CAAA,CAAAD,GAAA;IAAA;MAAAV,SAAA,CAAAY,CAAA;IAAA;IACDtB,MAAM,GAAGuB,IAAI,CAACd,MAAM,CAAC;EACvB;EAEA,IAAIV,OAAO,EAAE;IACX;IACAC,MAAM,GAAGA,MAAM,CAACwB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAACA,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAACA,OAAO,CAAC,KAAM,EAAE,EAAE,CAAC;EAC7E;EACA,OAAOxB,MAAM;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASyB,cAAcA,CAC5BhC,OAAe,EAQP;EAAA,IAPRC,IAMC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEN,IAAA+B,cAAA,GAA4BhC,IAAI,CAAxBK,OAAO;IAAPA,OAAO,GAAA2B,cAAA,cAAG,KAAK,GAAAA,cAAA;EACvB,IAAIjC,OAAO,IAAI,IAAI,IAAIA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE;EAEhD,IAAIkC,UAAU,GAAGlC,OAAO;EACxB,IAAIM,OAAO,EAAE;IACX4B,UAAU,GAAGA,UAAU,CAACH,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAACA,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;EAC/D;EACA;EACA,IAAMI,SAAS,GAAGD,UAAU,CAAC/B,MAAM,GAAG,CAAC;EACvC,IAAIgC,SAAS,KAAK,CAAC,EAAED,UAAU,IAAI,IAAI,CAAC,KACnC,IAAIC,SAAS,KAAK,CAAC,EAAED,UAAU,IAAI,GAAG,CAAC,KACvC,IAAIC,SAAS,KAAK,CAAC,EAAE;IACxB,MAAM,IAAIC,KAAK,CAAC,8BAA8B,CAAC;EACjD;EAEA,IAAM5B,SAAS,GAAG,OAAOC,MAAM,KAAK,WAAW,IAAI,OAAOA,MAAM,CAACC,IAAI,KAAK,UAAU;EACpF,IAAI;IACF,IAAIF,SAAS,EAAE;MACb,OAAOC,MAAM,CAACC,IAAI,CAACwB,UAAU,EAAE,QAAQ,CAAC,CAACvB,QAAQ,CAAC,MAAM,CAAC;IAC3D,CAAC,MAAM;MACL,IAAMK,MAAM,GAAGqB,IAAI,CAACH,UAAU,CAAC;MAC/B,IAAMI,GAAG,GAAGtB,MAAM,CAACb,MAAM;MACzB,IAAMW,KAAK,GAAG,IAAIyB,UAAU,CAACD,GAAG,CAAC;MACjC,KAAK,IAAIf,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGe,GAAG,EAAEf,CAAC,EAAE,EAAE;QAC5BT,KAAK,CAACS,CAAC,CAAC,GAAGP,MAAM,CAACwB,UAAU,CAACjB,CAAC,CAAC;MACjC;MACA,IAAMkB,OAAO,GAAG,IAAIC,WAAW,CAAC,CAAC;MACjC,OAAOD,OAAO,CAACE,MAAM,CAAC7B,KAAK,CAAC;IAC9B;EACF,CAAC,CAAC,OAAOc,CAAC,EAAE;IACV,MAAM,IAAIQ,KAAK,CAAC,2BAA2B,IAAIR,CAAC,YAAYQ,KAAK,GAAGR,CAAC,CAACgB,OAAO,GAAGnB,MAAM,CAACG,CAAC,CAAC,CAAC,CAAC;EAC7F;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASiB,mBAAmBA,CAACC,GAAgB,EAAU;EAC5D,IAAI,OAAOrC,MAAM,KAAK,WAAW,EAAE;IACjC,OAAOA,MAAM,CAACC,IAAI,CAACoC,GAAG,CAAC,CAACnC,QAAQ,CAAC,QAAQ,CAAC;EAC5C;EACA,IAAMG,KAAK,GAAG,IAAIyB,UAAU,CAACO,GAAG,CAAC;EACjC,IAAMC,KAAK,GAAG,MAAM;EACpB,IAAI/B,MAAM,GAAG,EAAE;EACf,KAAK,IAAIO,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGT,KAAK,CAACX,MAAM,EAAEoB,CAAC,IAAIwB,KAAK,EAAE;IAC5C/B,MAAM,IAAIS,MAAM,CAACC,YAAY,CAAAsB,KAAA,CAAnBvB,MAAM,EAAAwB,kBAAA,CAAiBnC,KAAK,CAACoC,QAAQ,CAAC3B,CAAC,EAAEA,CAAC,GAAGwB,KAAK,CAAC,EAAC;EAChE;EACA,IAAIxC,MAAM,GAAGuB,IAAI,CAACd,MAAM,CAAC;EACzB;EACA,IAAMmC,OAAO,GAAG,CAAC,CAAC,GAAI5C,MAAM,CAACJ,MAAM,GAAG,CAAE,IAAI,CAAC;EAC7C,IAAIgD,OAAO,EAAE5C,MAAM,IAAI,GAAG,CAAC6C,MAAM,CAACD,OAAO,CAAC;EAC1C,OAAO5C,MAAM;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAS8C,mBAAmBA,CAAC9C,MAAc,EAAe;EAC/D,IAAI,OAAOE,MAAM,KAAK,WAAW,EAAE;IACjC,IAAM6C,MAAM,GAAG7C,MAAM,CAACC,IAAI,CAACH,MAAM,EAAE,QAAQ,CAAC;IAC5C,OAAO+C,MAAM,CAACA,MAAM,CAACC,KAAK,CAACD,MAAM,CAACE,UAAU,EAAEF,MAAM,CAACE,UAAU,GAAGF,MAAM,CAACG,UAAU,CAAC;EACtF;EACA,IAAMC,YAAY,GAAGrB,IAAI,CAAC9B,MAAM,CAAC;EACjC,IAAM+B,GAAG,GAAGoB,YAAY,CAACvD,MAAM;EAC/B,IAAMW,KAAK,GAAG,IAAIyB,UAAU,CAACD,GAAG,CAAC;EACjC,KAAK,IAAIf,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGe,GAAG,EAAEf,CAAC,EAAE,EAAE;IAC5BT,KAAK,CAACS,CAAC,CAAC,GAAGmC,YAAY,CAAClB,UAAU,CAACjB,CAAC,CAAC;EACvC;EACA,OAAOT,KAAK,CAACwC,MAAM;AACrB"}
|
package/es/utils/crypto.d.ts
CHANGED
|
@@ -24,33 +24,3 @@ export declare function encryptAES(text: string, key: string): Promise<string>;
|
|
|
24
24
|
* @returns The decrypted text
|
|
25
25
|
*/
|
|
26
26
|
export declare function decryptAES(encryptedText: string, key: string): Promise<string>;
|
|
27
|
-
/**
|
|
28
|
-
* - **EN:** Encode a UTF-8 string into Base64 (standard or URL-safe).
|
|
29
|
-
* - **CN:** 将 UTF-8 字符串编码为 Base64(标准或 URL 安全格式)。
|
|
30
|
-
*
|
|
31
|
-
* @param content Input text to encode | 要编码的输入文本
|
|
32
|
-
*
|
|
33
|
-
* @returns Base64 encoded string | Base64 编码后的字符串
|
|
34
|
-
*/
|
|
35
|
-
export declare function toBase64(content: string, opts?: {
|
|
36
|
-
/**
|
|
37
|
-
* - **EN:** Use URL-safe Base64 if true (replace +/ with -_ and strip =)
|
|
38
|
-
* - **CN:** 为 true 时使用 URL 安全 Base64(将 +/ 替换为 -_ 并去掉 =)
|
|
39
|
-
*/
|
|
40
|
-
urlSafe?: boolean;
|
|
41
|
-
}): string;
|
|
42
|
-
/**
|
|
43
|
-
* - EN: Decode a Base64 (standard or URL-safe) string into UTF-8 text.
|
|
44
|
-
* - CN: 将(标准或 URL 安全)Base64 字符串解码为 UTF-8 文本。
|
|
45
|
-
*
|
|
46
|
-
* @param content Base64 encoded string | Base64 编码字符串
|
|
47
|
-
*
|
|
48
|
-
* @returns Decoded UTF-8 string | 解码后的 UTF-8 字符串
|
|
49
|
-
*/
|
|
50
|
-
export declare function fromBase64(content: string, opts?: {
|
|
51
|
-
/**
|
|
52
|
-
* - **EN:** Use URL-safe Base64 if true (replace +/ with -_ and strip =)
|
|
53
|
-
* - **CN:** 为 true 时使用 URL 安全 Base64(将 +/ 替换为 -_ 并去掉 =)
|
|
54
|
-
*/
|
|
55
|
-
urlSafe?: boolean;
|
|
56
|
-
}): string;
|
package/es/utils/crypto.js
CHANGED
|
@@ -5,14 +5,14 @@ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symb
|
|
|
5
5
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
6
6
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
7
7
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
8
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
9
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
8
10
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
9
11
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
10
12
|
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
|
|
11
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
12
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
13
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
14
13
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
15
14
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
15
|
+
import { base64ToString, stringToBase64 } from "./base64";
|
|
16
16
|
import { random } from "./math";
|
|
17
17
|
import { randomChars } from "./string";
|
|
18
18
|
|
|
@@ -33,11 +33,11 @@ function _advancedEncrypt() {
|
|
|
33
33
|
return encryptAES(plainText, k1);
|
|
34
34
|
case 3:
|
|
35
35
|
e = _context.sent;
|
|
36
|
-
b =
|
|
36
|
+
b = stringToBase64(k1);
|
|
37
37
|
l = b.length;
|
|
38
38
|
s = random(0, e.length);
|
|
39
39
|
e = e.substring(0, s) + b + e.substring(s);
|
|
40
|
-
r =
|
|
40
|
+
r = stringToBase64("".concat(s, "-").concat(l));
|
|
41
41
|
t = "".concat(e, ".").concat(r);
|
|
42
42
|
return _context.abrupt("return", encryptAES(t, key));
|
|
43
43
|
case 11:
|
|
@@ -64,7 +64,7 @@ export function advancedDecrypt(_x3, _x4) {
|
|
|
64
64
|
*/
|
|
65
65
|
function _advancedDecrypt() {
|
|
66
66
|
_advancedDecrypt = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(encryptedText, key) {
|
|
67
|
-
var decrypted, _decrypted$split, _decrypted$split2, e, r,
|
|
67
|
+
var decrypted, _decrypted$split, _decrypted$split2, e, r, _base64ToString$split, _base64ToString$split2, s, l, k1;
|
|
68
68
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
69
69
|
while (1) switch (_context2.prev = _context2.next) {
|
|
70
70
|
case 0:
|
|
@@ -73,8 +73,8 @@ function _advancedDecrypt() {
|
|
|
73
73
|
case 2:
|
|
74
74
|
decrypted = _context2.sent;
|
|
75
75
|
_decrypted$split = decrypted.split('.'), _decrypted$split2 = _slicedToArray(_decrypted$split, 2), e = _decrypted$split2[0], r = _decrypted$split2[1];
|
|
76
|
-
|
|
77
|
-
k1 =
|
|
76
|
+
_base64ToString$split = base64ToString(r).split('-').map(Number), _base64ToString$split2 = _slicedToArray(_base64ToString$split, 2), s = _base64ToString$split2[0], l = _base64ToString$split2[1];
|
|
77
|
+
k1 = base64ToString(e.substring(s, s + l));
|
|
78
78
|
return _context2.abrupt("return", decryptAES(e.substring(0, s) + e.substring(s + l), k1));
|
|
79
79
|
case 7:
|
|
80
80
|
case "end":
|
|
@@ -160,15 +160,6 @@ function _encryptAES() {
|
|
|
160
160
|
export function decryptAES(_x7, _x8) {
|
|
161
161
|
return _decryptAES.apply(this, arguments);
|
|
162
162
|
}
|
|
163
|
-
|
|
164
|
-
/**
|
|
165
|
-
* - **EN:** Encode a UTF-8 string into Base64 (standard or URL-safe).
|
|
166
|
-
* - **CN:** 将 UTF-8 字符串编码为 Base64(标准或 URL 安全格式)。
|
|
167
|
-
*
|
|
168
|
-
* @param content Input text to encode | 要编码的输入文本
|
|
169
|
-
*
|
|
170
|
-
* @returns Base64 encoded string | Base64 编码后的字符串
|
|
171
|
-
*/
|
|
172
163
|
function _decryptAES() {
|
|
173
164
|
_decryptAES = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(encryptedText, key) {
|
|
174
165
|
var isNode, _encryptedText$split, _encryptedText$split2, ivBase64, encryptedBase64, _crypto2, iv, encryptedBuffer, derivedKey, decipher, decrypted, _iv2, encryptedData, encoder, keyData, hashBuffer, cryptoKey, decryptedBuffer, decoder;
|
|
@@ -243,80 +234,4 @@ function _decryptAES() {
|
|
|
243
234
|
}));
|
|
244
235
|
return _decryptAES.apply(this, arguments);
|
|
245
236
|
}
|
|
246
|
-
export function toBase64(content) {
|
|
247
|
-
var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
248
|
-
var _opts$urlSafe = opts.urlSafe,
|
|
249
|
-
urlSafe = _opts$urlSafe === void 0 ? false : _opts$urlSafe;
|
|
250
|
-
if (content == null || content === '') return '';
|
|
251
|
-
var base64;
|
|
252
|
-
var hasBuffer = typeof Buffer !== 'undefined' && typeof Buffer.from === 'function';
|
|
253
|
-
if (hasBuffer) {
|
|
254
|
-
// Node.js
|
|
255
|
-
base64 = Buffer.from(content, 'utf8').toString('base64');
|
|
256
|
-
} else {
|
|
257
|
-
// Browser
|
|
258
|
-
var encoder = new TextEncoder();
|
|
259
|
-
var bytes = encoder.encode(content);
|
|
260
|
-
var binary = '';
|
|
261
|
-
var _iterator = _createForOfIteratorHelper(bytes),
|
|
262
|
-
_step;
|
|
263
|
-
try {
|
|
264
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
265
|
-
var i = _step.value;
|
|
266
|
-
binary += String.fromCharCode(i);
|
|
267
|
-
}
|
|
268
|
-
} catch (err) {
|
|
269
|
-
_iterator.e(err);
|
|
270
|
-
} finally {
|
|
271
|
-
_iterator.f();
|
|
272
|
-
}
|
|
273
|
-
base64 = btoa(binary);
|
|
274
|
-
}
|
|
275
|
-
if (urlSafe) {
|
|
276
|
-
// Replace chars and strip padding for URL-safe variant
|
|
277
|
-
base64 = base64.replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
|
|
278
|
-
}
|
|
279
|
-
return base64;
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
/**
|
|
283
|
-
* - EN: Decode a Base64 (standard or URL-safe) string into UTF-8 text.
|
|
284
|
-
* - CN: 将(标准或 URL 安全)Base64 字符串解码为 UTF-8 文本。
|
|
285
|
-
*
|
|
286
|
-
* @param content Base64 encoded string | Base64 编码字符串
|
|
287
|
-
*
|
|
288
|
-
* @returns Decoded UTF-8 string | 解码后的 UTF-8 字符串
|
|
289
|
-
*/
|
|
290
|
-
export function fromBase64(content) {
|
|
291
|
-
var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
292
|
-
var _opts$urlSafe2 = opts.urlSafe,
|
|
293
|
-
urlSafe = _opts$urlSafe2 === void 0 ? false : _opts$urlSafe2;
|
|
294
|
-
if (content == null || content === '') return '';
|
|
295
|
-
var normalized = content;
|
|
296
|
-
if (urlSafe) {
|
|
297
|
-
normalized = normalized.replace(/-/g, '+').replace(/_/g, '/');
|
|
298
|
-
}
|
|
299
|
-
// Restore padding if stripped
|
|
300
|
-
var padNeeded = normalized.length % 4;
|
|
301
|
-
if (padNeeded === 2) normalized += '==';else if (padNeeded === 3) normalized += '=';else if (padNeeded === 1) {
|
|
302
|
-
throw new Error('Invalid Base64 string length');
|
|
303
|
-
}
|
|
304
|
-
var hasBuffer = typeof Buffer !== 'undefined' && typeof Buffer.from === 'function';
|
|
305
|
-
try {
|
|
306
|
-
if (hasBuffer) {
|
|
307
|
-
return Buffer.from(normalized, 'base64').toString('utf8');
|
|
308
|
-
} else {
|
|
309
|
-
var binary = atob(normalized);
|
|
310
|
-
var len = binary.length;
|
|
311
|
-
var bytes = new Uint8Array(len);
|
|
312
|
-
for (var i = 0; i < len; i++) {
|
|
313
|
-
bytes[i] = binary.charCodeAt(i);
|
|
314
|
-
}
|
|
315
|
-
var decoder = new TextDecoder();
|
|
316
|
-
return decoder.decode(bytes);
|
|
317
|
-
}
|
|
318
|
-
} catch (e) {
|
|
319
|
-
throw new Error('Failed to decode Base64: ' + (e instanceof Error ? e.message : String(e)));
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
237
|
//# sourceMappingURL=crypto.js.map
|
package/es/utils/crypto.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","_createForOfIteratorHelper","allowArrayLike","it","Array","isArray","_unsupportedIterableToArray","F","_e","normalCompletion","didErr","err","step","_e2","minLen","_arrayLikeToArray","toString","from","test","arr","len","arr2","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","undefined","random","randomChars","advancedEncrypt","_x","_x2","_advancedEncrypt","_callee","plainText","k1","b","_callee$","_context","encryptAES","toBase64","substring","concat","advancedDecrypt","_x3","_x4","_advancedDecrypt","_callee2","encryptedText","decrypted","_decrypted$split","_decrypted$split2","_fromBase64$split$map","_fromBase64$split$map2","_callee2$","_context2","decryptAES","split","_slicedToArray","fromBase64","map","Number","_x5","_x6","_encryptAES","_callee3","text","isNode","_crypto","derivedKey","iv","cipher","encrypted","_iv","encoder","keyData","hashBuffer","cryptoKey","textBytes","encryptedBuffer","ivBase64","encryptedBase64","_callee3$","_context3","process","versions","node","crypto","require","createHash","update","digest","randomBytes","createCipheriv","final","getRandomValues","Uint8Array","TextEncoder","encode","subtle","importKey","encrypt","btoa","String","fromCharCode","_toConsumableArray","t0","console","_x7","_x8","_decryptAES","_callee4","_encryptedText$split","_encryptedText$split2","_crypto2","decipher","_iv2","encryptedData","decryptedBuffer","decoder","_callee4$","_context4","Buffer","createDecipheriv","atob","charCodeAt","decrypt","TextDecoder","decode","content","opts","_opts$urlSafe","urlSafe","base64","hasBuffer","bytes","binary","_iterator","_step","replace","_opts$urlSafe2","normalized","padNeeded","message"],"sources":["../../src/utils/crypto.ts"],"sourcesContent":["import { random } from './math';\nimport { randomChars } from './string';\n\n/** Secret. No description provided */\nexport async function advancedEncrypt(plainText: string, key: string) {\n const k1 = randomChars(36);\n let e = await encryptAES(plainText, k1);\n const b = toBase64(k1);\n const l = b.length;\n const s = random(0, e.length);\n e = e.substring(0, s) + b + e.substring(s);\n const r = toBase64(`${s}-${l}`);\n const t = `${e}.${r}`;\n return encryptAES(t, key);\n}\n\n/** Secret. No description provided */\nexport async function advancedDecrypt(encryptedText: string, key: string) {\n const decrypted = await decryptAES(encryptedText, key);\n const [e, r] = decrypted.split('.');\n const [s, l] = fromBase64(r).split('-').map(Number);\n const k1 = fromBase64(e.substring(s, s + l));\n return decryptAES(e.substring(0, s) + e.substring(s + l), k1);\n}\n\n/**\n * **EN**: General AES encryption function - supports both Node.js and browser environments\n *\n * **CN**: 通用 AES 加密函数 - 同时支持 Node.js 和浏览器环境\n *\n * @param {string} text The text to be encrypted | 要加密的文本\n * @param {string} key The encryption key | 加密密钥\n *\n * @returns {Promise<string>} The encrypted text | 加密后的文本\n */\nexport async function encryptAES(text: string, key: string): Promise<string> {\n const isNode = typeof process !== 'undefined' && process.versions != null && process.versions.node != null;\n\n if (isNode) {\n // Node.js\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const crypto = require('crypto');\n const derivedKey = crypto.createHash('sha256').update(key).digest();\n const iv = crypto.randomBytes(16);\n const cipher = crypto.createCipheriv('aes-256-cbc', derivedKey, iv);\n let encrypted = cipher.update(text, 'utf8', 'base64');\n encrypted += cipher.final('base64');\n return `${iv.toString('base64')}:${encrypted}`;\n } else {\n // Browsers\n try {\n const iv = crypto.getRandomValues(new Uint8Array(16));\n const encoder = new TextEncoder();\n const keyData = encoder.encode(key);\n const hashBuffer = await crypto.subtle.digest('SHA-256', keyData);\n const cryptoKey = await crypto.subtle.importKey('raw', hashBuffer, { name: 'AES-CBC' }, false, ['encrypt']);\n const textBytes = encoder.encode(text);\n const encryptedBuffer = await crypto.subtle.encrypt({ name: 'AES-CBC', iv }, cryptoKey, textBytes);\n const ivBase64 = btoa(String.fromCharCode(...iv));\n const encryptedBase64 = btoa(String.fromCharCode(...new Uint8Array(encryptedBuffer)));\n return `${ivBase64}:${encryptedBase64}`;\n } catch (error) {\n console.error('Encryption error:', error);\n throw error;\n }\n }\n}\n\n/**\n * **EN**: General AES decryption function - supports both Node.js and browser environments\n *\n * **CN**: 通用 AES 解密函数 - 同时支持 Node.js 和浏览器环境\n *\n * @param encryptedText The encrypted text (format: iv:encryptedContent, base64 encoded)\n * @param key The decryption key\n *\n * @returns The decrypted text\n */\nexport async function decryptAES(encryptedText: string, key: string): Promise<string> {\n const isNode = typeof process !== 'undefined' && process.versions != null && process.versions.node != null;\n try {\n const [ivBase64, encryptedBase64] = encryptedText.split(':');\n if (!ivBase64 || !encryptedBase64) {\n throw new Error('Invalid encrypted format');\n }\n if (isNode) {\n // Node.js\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const crypto = require('crypto');\n const iv = Buffer.from(ivBase64, 'base64');\n const encryptedBuffer = Buffer.from(encryptedBase64, 'base64');\n const derivedKey = crypto.createHash('sha256').update(key).digest();\n const decipher = crypto.createDecipheriv('aes-256-cbc', derivedKey, iv);\n let decrypted = decipher.update(encryptedBuffer);\n decrypted = Buffer.concat([decrypted, decipher.final()]);\n return decrypted.toString('utf8');\n } else {\n // Browsers\n const iv = Uint8Array.from(atob(ivBase64), (c) => c.charCodeAt(0));\n const encryptedData = Uint8Array.from(atob(encryptedBase64), (c) => c.charCodeAt(0));\n const encoder = new TextEncoder();\n const keyData = encoder.encode(key);\n const hashBuffer = await crypto.subtle.digest('SHA-256', keyData);\n const cryptoKey = await crypto.subtle.importKey('raw', hashBuffer, { name: 'AES-CBC' }, false, ['decrypt']);\n const decryptedBuffer = await crypto.subtle.decrypt({ name: 'AES-CBC', iv }, cryptoKey, encryptedData);\n const decoder = new TextDecoder();\n return decoder.decode(decryptedBuffer);\n }\n } catch (error) {\n console.error('Decryption error:', error);\n return '';\n }\n}\n\n/**\n * - **EN:** Encode a UTF-8 string into Base64 (standard or URL-safe).\n * - **CN:** 将 UTF-8 字符串编码为 Base64(标准或 URL 安全格式)。\n *\n * @param content Input text to encode | 要编码的输入文本\n *\n * @returns Base64 encoded string | Base64 编码后的字符串\n */\nexport function toBase64(\n content: string,\n opts: {\n /**\n * - **EN:** Use URL-safe Base64 if true (replace +/ with -_ and strip =)\n * - **CN:** 为 true 时使用 URL 安全 Base64(将 +/ 替换为 -_ 并去掉 =)\n */\n urlSafe?: boolean;\n } = {}\n): string {\n const { urlSafe = false } = opts;\n if (content == null || content === '') return '';\n\n let base64: string;\n const hasBuffer = typeof Buffer !== 'undefined' && typeof Buffer.from === 'function';\n if (hasBuffer) {\n // Node.js\n base64 = Buffer.from(content, 'utf8').toString('base64');\n } else {\n // Browser\n const encoder = new TextEncoder();\n const bytes = encoder.encode(content);\n let binary = '';\n for (const i of bytes) {\n binary += String.fromCharCode(i);\n }\n base64 = btoa(binary);\n }\n\n if (urlSafe) {\n // Replace chars and strip padding for URL-safe variant\n base64 = base64.replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=+$/u, '');\n }\n return base64;\n}\n\n/**\n * - EN: Decode a Base64 (standard or URL-safe) string into UTF-8 text.\n * - CN: 将(标准或 URL 安全)Base64 字符串解码为 UTF-8 文本。\n *\n * @param content Base64 encoded string | Base64 编码字符串\n *\n * @returns Decoded UTF-8 string | 解码后的 UTF-8 字符串\n */\nexport function fromBase64(\n content: string,\n opts: {\n /**\n * - **EN:** Use URL-safe Base64 if true (replace +/ with -_ and strip =)\n * - **CN:** 为 true 时使用 URL 安全 Base64(将 +/ 替换为 -_ 并去掉 =)\n */\n urlSafe?: boolean;\n } = {}\n): string {\n const { urlSafe = false } = opts;\n if (content == null || content === '') return '';\n\n let normalized = content;\n if (urlSafe) {\n normalized = normalized.replace(/-/g, '+').replace(/_/g, '/');\n }\n // Restore padding if stripped\n const padNeeded = normalized.length % 4;\n if (padNeeded === 2) normalized += '==';\n else if (padNeeded === 3) normalized += '=';\n else if (padNeeded === 1) {\n throw new Error('Invalid Base64 string length');\n }\n\n const hasBuffer = typeof Buffer !== 'undefined' && typeof Buffer.from === 'function';\n try {\n if (hasBuffer) {\n return Buffer.from(normalized, 'base64').toString('utf8');\n } else {\n const binary = atob(normalized);\n const len = binary.length;\n const bytes = new Uint8Array(len);\n for (let i = 0; i < len; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n const decoder = new TextDecoder();\n return decoder.decode(bytes);\n }\n } catch (e) {\n throw new Error('Failed to decode Base64: ' + (e instanceof Error ? e.message : String(e)));\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","base64ToString","stringToBase64","random","randomChars","advancedEncrypt","_x","_x2","_advancedEncrypt","_callee","plainText","k1","b","_callee$","_context","encryptAES","substring","concat","advancedDecrypt","_x3","_x4","_advancedDecrypt","_callee2","encryptedText","decrypted","_decrypted$split","_decrypted$split2","_base64ToString$split","_base64ToString$split2","_callee2$","_context2","decryptAES","split","_slicedToArray","map","Number","_x5","_x6","_encryptAES","_callee3","text","isNode","_crypto","derivedKey","iv","cipher","encrypted","_iv","encoder","keyData","hashBuffer","cryptoKey","textBytes","encryptedBuffer","ivBase64","encryptedBase64","_callee3$","_context3","process","versions","node","crypto","require","createHash","update","digest","randomBytes","createCipheriv","final","toString","getRandomValues","Uint8Array","TextEncoder","encode","subtle","importKey","encrypt","btoa","String","fromCharCode","_toConsumableArray","t0","console","_x7","_x8","_decryptAES","_callee4","_encryptedText$split","_encryptedText$split2","_crypto2","decipher","_iv2","encryptedData","decryptedBuffer","decoder","_callee4$","_context4","Buffer","from","createDecipheriv","atob","charCodeAt","decrypt","TextDecoder","decode"],"sources":["../../src/utils/crypto.ts"],"sourcesContent":["import { base64ToString, stringToBase64 } from './base64';\nimport { random } from './math';\nimport { randomChars } from './string';\n\n/** Secret. No description provided */\nexport async function advancedEncrypt(plainText: string, key: string) {\n const k1 = randomChars(36);\n let e = await encryptAES(plainText, k1);\n const b = stringToBase64(k1);\n const l = b.length;\n const s = random(0, e.length);\n e = e.substring(0, s) + b + e.substring(s);\n const r = stringToBase64(`${s}-${l}`);\n const t = `${e}.${r}`;\n return encryptAES(t, key);\n}\n\n/** Secret. No description provided */\nexport async function advancedDecrypt(encryptedText: string, key: string) {\n const decrypted = await decryptAES(encryptedText, key);\n const [e, r] = decrypted.split('.');\n const [s, l] = base64ToString(r).split('-').map(Number);\n const k1 = base64ToString(e.substring(s, s + l));\n return decryptAES(e.substring(0, s) + e.substring(s + l), k1);\n}\n\n/**\n * **EN**: General AES encryption function - supports both Node.js and browser environments\n *\n * **CN**: 通用 AES 加密函数 - 同时支持 Node.js 和浏览器环境\n *\n * @param {string} text The text to be encrypted | 要加密的文本\n * @param {string} key The encryption key | 加密密钥\n *\n * @returns {Promise<string>} The encrypted text | 加密后的文本\n */\nexport async function encryptAES(text: string, key: string): Promise<string> {\n const isNode = typeof process !== 'undefined' && process.versions != null && process.versions.node != null;\n\n if (isNode) {\n // Node.js\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const crypto = require('crypto');\n const derivedKey = crypto.createHash('sha256').update(key).digest();\n const iv = crypto.randomBytes(16);\n const cipher = crypto.createCipheriv('aes-256-cbc', derivedKey, iv);\n let encrypted = cipher.update(text, 'utf8', 'base64');\n encrypted += cipher.final('base64');\n return `${iv.toString('base64')}:${encrypted}`;\n } else {\n // Browsers\n try {\n const iv = crypto.getRandomValues(new Uint8Array(16));\n const encoder = new TextEncoder();\n const keyData = encoder.encode(key);\n const hashBuffer = await crypto.subtle.digest('SHA-256', keyData);\n const cryptoKey = await crypto.subtle.importKey('raw', hashBuffer, { name: 'AES-CBC' }, false, ['encrypt']);\n const textBytes = encoder.encode(text);\n const encryptedBuffer = await crypto.subtle.encrypt({ name: 'AES-CBC', iv }, cryptoKey, textBytes);\n const ivBase64 = btoa(String.fromCharCode(...iv));\n const encryptedBase64 = btoa(String.fromCharCode(...new Uint8Array(encryptedBuffer)));\n return `${ivBase64}:${encryptedBase64}`;\n } catch (error) {\n console.error('Encryption error:', error);\n throw error;\n }\n }\n}\n\n/**\n * **EN**: General AES decryption function - supports both Node.js and browser environments\n *\n * **CN**: 通用 AES 解密函数 - 同时支持 Node.js 和浏览器环境\n *\n * @param encryptedText The encrypted text (format: iv:encryptedContent, base64 encoded)\n * @param key The decryption key\n *\n * @returns The decrypted text\n */\nexport async function decryptAES(encryptedText: string, key: string): Promise<string> {\n const isNode = typeof process !== 'undefined' && process.versions != null && process.versions.node != null;\n try {\n const [ivBase64, encryptedBase64] = encryptedText.split(':');\n if (!ivBase64 || !encryptedBase64) {\n throw new Error('Invalid encrypted format');\n }\n if (isNode) {\n // Node.js\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const crypto = require('crypto');\n const iv = Buffer.from(ivBase64, 'base64');\n const encryptedBuffer = Buffer.from(encryptedBase64, 'base64');\n const derivedKey = crypto.createHash('sha256').update(key).digest();\n const decipher = crypto.createDecipheriv('aes-256-cbc', derivedKey, iv);\n let decrypted = decipher.update(encryptedBuffer);\n decrypted = Buffer.concat([decrypted, decipher.final()]);\n return decrypted.toString('utf8');\n } else {\n // Browsers\n const iv = Uint8Array.from(atob(ivBase64), (c) => c.charCodeAt(0));\n const encryptedData = Uint8Array.from(atob(encryptedBase64), (c) => c.charCodeAt(0));\n const encoder = new TextEncoder();\n const keyData = encoder.encode(key);\n const hashBuffer = await crypto.subtle.digest('SHA-256', keyData);\n const cryptoKey = await crypto.subtle.importKey('raw', hashBuffer, { name: 'AES-CBC' }, false, ['decrypt']);\n const decryptedBuffer = await crypto.subtle.decrypt({ name: 'AES-CBC', iv }, cryptoKey, encryptedData);\n const decoder = new TextDecoder();\n return decoder.decode(decryptedBuffer);\n }\n } catch (error) {\n console.error('Decryption error:', error);\n return '';\n }\n}\n"],"mappings":"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"}
|
package/es/utils/index.d.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
|
+
export * from './AudioPlayer';
|
|
2
|
+
export { default as AudioPlayer } from './AudioPlayer';
|
|
3
|
+
export * from './base64';
|
|
1
4
|
export * from './color';
|
|
5
|
+
export * from './crypto';
|
|
2
6
|
export * from './math';
|
|
7
|
+
export * from './stream';
|
|
3
8
|
export * from './string';
|
|
4
|
-
export * from './crypto';
|
package/es/utils/index.js
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
export * from "./AudioPlayer";
|
|
2
|
+
export { default as AudioPlayer } from "./AudioPlayer";
|
|
3
|
+
export * from "./base64";
|
|
1
4
|
export * from "./color";
|
|
5
|
+
export * from "./crypto";
|
|
2
6
|
export * from "./math";
|
|
7
|
+
export * from "./stream";
|
|
3
8
|
export * from "./string";
|
|
4
|
-
export * from "./crypto";
|
|
5
9
|
//# sourceMappingURL=index.js.map
|
package/es/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../src/utils/index.ts"],"sourcesContent":["export * from './color';\nexport * from './math';\nexport * from './
|
|
1
|
+
{"version":3,"names":["default","AudioPlayer"],"sources":["../../src/utils/index.ts"],"sourcesContent":["export * from './AudioPlayer';\nexport { default as AudioPlayer } from './AudioPlayer';\nexport * from './base64';\nexport * from './color';\nexport * from './crypto';\nexport * from './math';\nexport * from './stream';\nexport * from './string';\n"],"mappings":"AAAA;AACA,SAASA,OAAO,IAAIC,WAAW;AAC/B;AACA;AACA;AACA;AACA;AACA"}
|
package/es/utils/stream.d.ts
CHANGED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
* - **CN:** 一个数据流时间切片器,用于将音频流分成固定时间段
|
|
4
4
|
*/
|
|
5
5
|
export declare class StreamTimeSlicerClass implements StreamTimeSlicer {
|
|
6
|
-
|
|
6
|
+
sliceMode: StreamTimeSlicerOptions['sliceMode'];
|
|
7
|
+
value: StreamTimeSlicerOptions['value'];
|
|
7
8
|
private readonly onSlice;
|
|
8
9
|
private channelChunks;
|
|
9
10
|
private startTs;
|
|
@@ -18,10 +19,21 @@ export declare class StreamTimeSlicerClass implements StreamTimeSlicer {
|
|
|
18
19
|
}
|
|
19
20
|
export interface StreamTimeSlicerOptions {
|
|
20
21
|
/**
|
|
21
|
-
* - **EN:**
|
|
22
|
-
*
|
|
22
|
+
* - **EN:** Mode of slicing
|
|
23
|
+
*
|
|
24
|
+
* - 'time': slice by time (ms)
|
|
25
|
+
* - 'size': slice by size (bytes)
|
|
26
|
+
* - **CN:** 切片模式
|
|
27
|
+
*
|
|
28
|
+
* - 'time': 按时间切片(毫秒)
|
|
29
|
+
* - 'size': 按大小切片(字节)
|
|
30
|
+
*/
|
|
31
|
+
sliceMode: 'time' | 'size';
|
|
32
|
+
/**
|
|
33
|
+
* - **EN:** Value for slicing (ms or bytes)
|
|
34
|
+
* - **CN:** 切片值(毫秒或字节)
|
|
23
35
|
*/
|
|
24
|
-
|
|
36
|
+
value: number;
|
|
25
37
|
/**
|
|
26
38
|
* - **EN:** Callback when a slice is reached
|
|
27
39
|
* - **CN:** 达到分片时回调
|
|
@@ -36,12 +48,7 @@ export interface StreamTimeSlicerOptions {
|
|
|
36
48
|
* - **EN:** stream time slicer
|
|
37
49
|
* - **CN:** 数据流时间切片器
|
|
38
50
|
*/
|
|
39
|
-
export interface StreamTimeSlicer {
|
|
40
|
-
/**
|
|
41
|
-
* - **EN:** Duration of each slice (ms)
|
|
42
|
-
* - **CN:** 每个分片的时长(毫秒)
|
|
43
|
-
*/
|
|
44
|
-
timeSlice: number;
|
|
51
|
+
export interface StreamTimeSlicer extends Readonly<Pick<StreamTimeSlicerOptions, 'sliceMode'>>, Pick<StreamTimeSlicerOptions, 'value'> {
|
|
45
52
|
/**
|
|
46
53
|
* - **EN:** Push a frame (multi-channel data obtained from the same callback)
|
|
47
54
|
* - **CN:** 推入一帧(同一次回调得到的多通道)
|