@cloudpss/ubjson 0.6.0-alpha.7 → 0.6.0-alpha.8
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/dist/helper/encode.d.ts.map +1 -1
- package/dist/helper/encode.js +5 -2
- package/dist/helper/encode.js.map +1 -1
- package/dist/helper/string-decoder.d.ts +2 -0
- package/dist/helper/string-decoder.d.ts.map +1 -1
- package/dist/helper/string-decoder.js +16 -4
- package/dist/helper/string-decoder.js.map +1 -1
- package/dist/helper/string-encoder.d.ts +5 -0
- package/dist/helper/string-encoder.d.ts.map +1 -1
- package/dist/helper/string-encoder.js +28 -8
- package/dist/helper/string-encoder.js.map +1 -1
- package/package.json +2 -2
- package/src/helper/encode.ts +5 -2
- package/src/helper/string-decoder.ts +22 -6
- package/src/helper/string-encoder.ts +35 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encode.d.ts","sourceRoot":"","sources":["../../src/helper/encode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,WAAW;AACX,MAAM,WAAW,YAAY;IACzB,SAAS;IACT,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,SAAS;IACT,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IACvC,cAAc;IACd,MAAM,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1C;AAED,aAAa;AACb,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAazD;AAED,WAAW;AACX,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CAGzE;
|
|
1
|
+
{"version":3,"file":"encode.d.ts","sourceRoot":"","sources":["../../src/helper/encode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,WAAW;AACX,MAAM,WAAW,YAAY;IACzB,SAAS;IACT,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,SAAS;IACT,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IACvC,cAAc;IACd,MAAM,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1C;AAED,aAAa;AACb,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAazD;AAED,WAAW;AACX,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CAGzE;AAGD,eAAO,MAAM,OAAO,QAAsB,CAAC;AAC3C,eAAO,MAAM,OAAO,QAAuB,CAAC;AAC5C,WAAW;AACX,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAuBtE;AAID,WAAW;AACX,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CA0CrE;AAED,oBAAoB;AACpB,MAAM,MAAM,cAAc,GACpB,SAAS,CAAC,KAAK,GACf,SAAS,CAAC,IAAI,GACd,SAAS,CAAC,KAAK,GACf,SAAS,CAAC,KAAK,GACf,SAAS,CAAC,KAAK,GACf,SAAS,CAAC,OAAO,GACjB,SAAS,CAAC,OAAO,CAAC;AAGxB,eAAO,MAAM,aAAa,QAAgC,CAAC;AAC3D,eAAO,MAAM,aAAa,QAA+B,CAAC;AAC1D,eAAO,MAAM,cAAc,QAAgC,CAAC;AAC5D,eAAO,MAAM,cAAc,QAAgC,CAAC;AAC5D,eAAO,MAAM,cAAc,QAAgC,CAAC;AAC5D,eAAO,MAAM,cAAc,QAAkC,CAAC;AAC9D,eAAO,MAAM,cAAc,QAAkC,CAAC;AAE9D,qCAAqC;AACrC,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,GAAG,cAAc,CAgClG;AACD,oBAAoB;AACpB,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI,CAIlF;AACD,uBAAuB;AACvB,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI,CA4C5G"}
|
package/dist/helper/encode.js
CHANGED
|
@@ -19,6 +19,7 @@ export function writeMarker(cursor, marker) {
|
|
|
19
19
|
cursor.ensureCapacity(1);
|
|
20
20
|
cursor.data[cursor.length++] = marker;
|
|
21
21
|
}
|
|
22
|
+
const { MAX_SAFE_INTEGER } = Number;
|
|
22
23
|
export const I8_MASK = 105 /* constants.INT8 */ << 8;
|
|
23
24
|
export const U8_MASK = 85 /* constants.UINT8 */ << 8;
|
|
24
25
|
/** 写入长度 */
|
|
@@ -40,7 +41,7 @@ export function writeLength(cursor, length) {
|
|
|
40
41
|
cursor.view.setInt32(cursor.length, length);
|
|
41
42
|
cursor.length += 4;
|
|
42
43
|
}
|
|
43
|
-
else if (length <
|
|
44
|
+
else if (length < MAX_SAFE_INTEGER) {
|
|
44
45
|
cursor.ensureCapacity(9);
|
|
45
46
|
cursor.data[cursor.length++] = 76 /* constants.INT64 */;
|
|
46
47
|
cursor.view.setBigInt64(cursor.length, BigInt(length));
|
|
@@ -50,6 +51,8 @@ export function writeLength(cursor, length) {
|
|
|
50
51
|
throw new RangeError('Invalid length');
|
|
51
52
|
}
|
|
52
53
|
}
|
|
54
|
+
const { isFinite } = Number;
|
|
55
|
+
const { fround } = Math;
|
|
53
56
|
/** 写入数字 */
|
|
54
57
|
export function writeNumber(cursor, value) {
|
|
55
58
|
// eslint-disable-next-line unicorn/prefer-math-trunc
|
|
@@ -82,7 +85,7 @@ export function writeNumber(cursor, value) {
|
|
|
82
85
|
cursor.length = length + 5;
|
|
83
86
|
}
|
|
84
87
|
}
|
|
85
|
-
else if (
|
|
88
|
+
else if (!isFinite(value) || fround(value) === value) {
|
|
86
89
|
// 如果不会损失精度,使用 32 位浮点
|
|
87
90
|
cursor.ensureCapacity(5);
|
|
88
91
|
const { length } = cursor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encode.js","sourceRoot":"","sources":["../../src/helper/encode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAc9C,aAAa;AACb,MAAM,UAAU,YAAY,CAAC,MAAc;IACvC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACzE,OAAO;QACH,IAAI;QACJ,IAAI;QACJ,MAAM,EAAE,CAAC;QACT,cAAc,CAAC,QAAgB;YAC3B,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC5C,MAAM,IAAI,UAAU,CAAC,iBAAiB,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;KACJ,CAAC;AACN,CAAC;AAED,WAAW;AACX,MAAM,UAAU,WAAW,CAAC,MAAoB,EAAE,MAAiB;IAC/D,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,4BAAkB,CAAC,CAAC;AAC3C,MAAM,CAAC,MAAM,OAAO,GAAG,4BAAmB,CAAC,CAAC;AAC5C,WAAW;AACX,MAAM,UAAU,WAAW,CAAC,MAAoB,EAAE,MAAc;IAC5D,IAAI,MAAM,GAAG,IAAI,EAAE,CAAC;QAChB,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IACvB,CAAC;SAAM,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC;QACzB,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,2BAAkB,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IACvB,CAAC;SAAM,IAAI,MAAM,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,4BAAkB,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IACvB,CAAC;SAAM,IAAI,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"encode.js","sourceRoot":"","sources":["../../src/helper/encode.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,8 @@ export declare function longStringInJS(buf: Uint8Array, begin: number, length: n
|
|
|
6
6
|
export declare function shortStringInJS(buf: Uint8Array, begin: number, length: number): string | undefined;
|
|
7
7
|
/** 解码 */
|
|
8
8
|
export declare function nativeDecode(data: Uint8Array, begin: number, end: number): string;
|
|
9
|
+
/** 解码 */
|
|
10
|
+
export declare function nodeDecode(data: Uint8Array, begin: number, end: number): string;
|
|
9
11
|
/** 字符串解码,无缓存 */
|
|
10
12
|
export declare function decode(data: Uint8Array, begin: number, end: number): string;
|
|
11
13
|
/** 重设环境 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string-decoder.d.ts","sourceRoot":"","sources":["../../src/helper/string-decoder.ts"],"names":[],"mappings":"AAKA,SAAS;AACT,wBAAgB,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CA8C9E;AAED,eAAe;AACf,wBAAgB,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAUjG;AACD,eAAe;AACf,wBAAgB,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAqGlG;
|
|
1
|
+
{"version":3,"file":"string-decoder.d.ts","sourceRoot":"","sources":["../../src/helper/string-decoder.ts"],"names":[],"mappings":"AAKA,SAAS;AACT,wBAAgB,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CA8C9E;AAED,eAAe;AACf,wBAAgB,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAUjG;AACD,eAAe;AACf,wBAAgB,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAqGlG;AAGD,SAAS;AACT,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEjF;AAQD,SAAS;AACT,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/E;AAQD,gBAAgB;AAChB,wBAAgB,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAiB3E;AACD,WAAW;AACX,wBAAgB,QAAQ,IAAI,IAAI,CAK/B"}
|
|
@@ -173,11 +173,21 @@ export function shortStringInJS(buf, begin, length) {
|
|
|
173
173
|
return fromCharCode(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o);
|
|
174
174
|
}
|
|
175
175
|
let TEXT_DECODER;
|
|
176
|
-
let TEXT_DECODER_THRESHOLD;
|
|
177
176
|
/** 解码 */
|
|
178
177
|
export function nativeDecode(data, begin, end) {
|
|
179
178
|
return TEXT_DECODER.decode(data.subarray(begin, end));
|
|
180
179
|
}
|
|
180
|
+
let utf8Slice;
|
|
181
|
+
/** 解码 */
|
|
182
|
+
export function nodeDecode(data, begin, end) {
|
|
183
|
+
return utf8Slice.call(data, begin, end);
|
|
184
|
+
}
|
|
185
|
+
let longDecode = nativeDecode;
|
|
186
|
+
/**
|
|
187
|
+
* 默认解码器阈值
|
|
188
|
+
* @see /benchmark/string-decoder.js
|
|
189
|
+
*/
|
|
190
|
+
const DEFAULT_TEXT_DECODER_THRESHOLD = 16;
|
|
181
191
|
/** 字符串解码,无缓存 */
|
|
182
192
|
export function decode(data, begin, end) {
|
|
183
193
|
const length = end - begin;
|
|
@@ -187,7 +197,7 @@ export function decode(data, begin, end) {
|
|
|
187
197
|
return result;
|
|
188
198
|
}
|
|
189
199
|
// 只有小字符串有优化价值
|
|
190
|
-
if (length <
|
|
200
|
+
if (length < DEFAULT_TEXT_DECODER_THRESHOLD) {
|
|
191
201
|
// if (length < 32) {
|
|
192
202
|
// const result = longStringInJS(data, begin, length);
|
|
193
203
|
// if (result != null) return result;
|
|
@@ -196,12 +206,14 @@ export function decode(data, begin, end) {
|
|
|
196
206
|
return jsDecode(data, begin, end);
|
|
197
207
|
}
|
|
198
208
|
// 使用系统解码
|
|
199
|
-
return
|
|
209
|
+
return longDecode(data, begin, end);
|
|
200
210
|
}
|
|
201
211
|
/** 重设环境 */
|
|
202
212
|
export function resetEnv() {
|
|
203
213
|
TEXT_DECODER = typeof TextDecoder == 'function' ? new TextDecoder('utf8', { ignoreBOM: true, fatal: false }) : null;
|
|
204
|
-
|
|
214
|
+
const hasBuffer = typeof Buffer == 'function';
|
|
215
|
+
utf8Slice = hasBuffer ? Buffer.prototype.utf8Slice : null;
|
|
216
|
+
longDecode = typeof utf8Slice == 'function' ? nodeDecode : TEXT_DECODER ? nativeDecode : jsDecode;
|
|
205
217
|
}
|
|
206
218
|
resetEnv();
|
|
207
219
|
//# sourceMappingURL=string-decoder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string-decoder.js","sourceRoot":"","sources":["../../src/helper/string-decoder.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"string-decoder.js","sourceRoot":"","sources":["../../src/helper/string-decoder.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,GAAG,MAAM,CAAC;AAC1B,MAAM,YAAY,GAAG,MAAM,CAAC;AAE5B,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;AAEhC,SAAS;AACT,MAAM,UAAU,QAAQ,CAAC,KAAiB,EAAE,KAAa,EAAE,GAAW;IAClE,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,OAAO,MAAM,GAAG,GAAG,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,SAAS;YACT,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;aAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACjC,UAAU;YACV,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAE,GAAG,IAAI,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;QAC9C,CAAC;aAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACjC,UAAU;YACV,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAE,GAAG,IAAI,CAAC;YACtC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAE,GAAG,IAAI,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;QAC9D,CAAC;aAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACjC,UAAU;YACV,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAE,GAAG,IAAI,CAAC;YACtC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAE,GAAG,IAAI,CAAC;YACtC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAE,GAAG,IAAI,CAAC;YACtC,IAAI,IAAI,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC;YAChF,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC;gBAChB,IAAI,IAAI,QAAQ,CAAC;gBACjB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC;gBAC7C,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;YACnC,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;aAAM,CAAC;YACJ,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAI,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC;YACjC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACrB,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,eAAe;AACf,MAAM,UAAU,cAAc,CAAC,GAAe,EAAE,KAAa,EAAE,MAAc;IACzE,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,EAAE,CAAE,CAAC;QAC3B,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;YACd,OAAO;QACX,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC;AAClC,CAAC;AACD,eAAe;AACf,MAAM,UAAU,eAAe,CAAC,GAAe,EAAE,KAAa,EAAE,MAAc;IAC1E,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACb,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACb,IAAI,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YAC5B,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAE,CAAC;YACtB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjB,OAAO;YACX,CAAC;YACD,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAE,CAAC;QACxB,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAE,CAAC;QACxB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,OAAO;QACX,CAAC;QACD,IAAI,MAAM,GAAG,CAAC;YAAE,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAE,CAAC;QACxB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO;QACX,CAAC;QACD,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAE,CAAC;IACxB,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAE,CAAC;IACxB,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAE,CAAC;IACxB,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAE,CAAC;IACxB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACvE,OAAO;IACX,CAAC;IACD,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACb,IAAI,MAAM,KAAK,CAAC;YAAE,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAE,CAAC;QACxB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO;QACX,CAAC;QACD,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAE,CAAC;IACxB,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAE,CAAC;IACxB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,OAAO;IACX,CAAC;IACD,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACb,IAAI,MAAM,GAAG,CAAC;YAAE,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAE,CAAC;QACxB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO;QACX,CAAC;QACD,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAE,CAAC;IACxB,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAE,CAAC;IACxB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,OAAO;IACX,CAAC;IACD,IAAI,MAAM,GAAG,EAAE,EAAE,CAAC;QACd,IAAI,MAAM,KAAK,CAAC;YAAE,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9D,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAE,CAAC;QACxB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO;QACX,CAAC;QACD,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAE,CAAC;IACxB,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAE,CAAC;IACxB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,OAAO;IACX,CAAC;IACD,IAAI,MAAM,GAAG,EAAE,EAAE,CAAC;QACd,IAAI,MAAM,GAAG,EAAE;YAAE,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACnE,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAE,CAAC;QACxB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO;QACX,CAAC;QACD,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAE,CAAC;IACxB,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAE,CAAC;IACxB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,OAAO;IACX,CAAC;IACD,IAAI,MAAM,GAAG,EAAE,EAAE,CAAC;QACd,IAAI,MAAM,KAAK,EAAE;YAAE,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3E,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAE,CAAC;QACxB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB,KAAK,IAAI,EAAE,CAAC;YACZ,OAAO;QACX,CAAC;QACD,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAE,CAAC;IACxB,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAE,CAAC;IACxB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,OAAO;IACX,CAAC;IACD,IAAI,MAAM,GAAG,EAAE;QAAE,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/E,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAE,CAAC;IACxB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACjB,OAAO;IACX,CAAC;IACD,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,IAAI,YAAgC,CAAC;AACrC,SAAS;AACT,MAAM,UAAU,YAAY,CAAC,IAAgB,EAAE,KAAa,EAAE,GAAW;IACrE,OAAO,YAAa,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;AAC3D,CAAC;AAOD,IAAI,SAA4E,CAAC;AACjF,SAAS;AACT,MAAM,UAAU,UAAU,CAAC,IAAgB,EAAE,KAAa,EAAE,GAAW;IACnE,OAAO,SAAU,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED,IAAI,UAAU,GAA6D,YAAY,CAAC;AACxF;;;GAGG;AACH,MAAM,8BAA8B,GAAG,EAAE,CAAC;AAC1C,gBAAgB;AAChB,MAAM,UAAU,MAAM,CAAC,IAAgB,EAAE,KAAa,EAAE,GAAW;IAC/D,MAAM,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC;IAC3B,IAAI,MAAM,GAAG,EAAE,EAAE,CAAC;QACd,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACpD,IAAI,MAAM,IAAI,IAAI;YAAE,OAAO,MAAM,CAAC;IACtC,CAAC;IACD,cAAc;IACd,IAAI,MAAM,GAAG,8BAA8B,EAAE,CAAC;QAC1C,qBAAqB;QACrB,0DAA0D;QAC1D,yCAAyC;QACzC,IAAI;QACJ,UAAU;QACV,OAAO,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;IACD,SAAS;IACT,OAAO,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AACxC,CAAC;AACD,WAAW;AACX,MAAM,UAAU,QAAQ;IACpB,YAAY,GAAG,OAAO,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpH,MAAM,SAAS,GAAG,OAAO,MAAM,IAAI,UAAU,CAAC;IAC9C,SAAS,GAAG,SAAS,CAAC,CAAC,CAAE,MAAM,CAAC,SAAgC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IAClF,UAAU,GAAG,OAAO,SAAS,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;AACtG,CAAC;AACD,QAAQ,EAAE,CAAC"}
|
|
@@ -14,6 +14,11 @@ export declare function jsEncodeInto(v: string, buf: Uint8Array, offset: number)
|
|
|
14
14
|
* Provided `buf` MUST have enough space.
|
|
15
15
|
*/
|
|
16
16
|
export declare function nativeEncodeInto(v: string, buf: Uint8Array, offset: number): number;
|
|
17
|
+
/**
|
|
18
|
+
* Encode string into utf-8.
|
|
19
|
+
* Provided `buf` MUST have enough space.
|
|
20
|
+
*/
|
|
21
|
+
export declare function nodeEncodeInto(v: string, buf: Uint8Array, offset: number): number;
|
|
17
22
|
/**
|
|
18
23
|
* Encode string into utf-8.
|
|
19
24
|
* Provided `buf` MUST have enough space.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string-encoder.d.ts","sourceRoot":"","sources":["../../src/helper/string-encoder.ts"],"names":[],"mappings":"AAeA,cAAc;AACd,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAsCzD;AACD,cAAc;AACd,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,cAAc;AACd,eAAO,IAAI,gBAAgB,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;AAEnD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAqC/E;AAID;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAGnF;
|
|
1
|
+
{"version":3,"file":"string-encoder.d.ts","sourceRoot":"","sources":["../../src/helper/string-encoder.ts"],"names":[],"mappings":"AAeA,cAAc;AACd,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAsCzD;AACD,cAAc;AACd,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,cAAc;AACd,eAAO,IAAI,gBAAgB,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;AAEnD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAqC/E;AAID;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAGnF;AAOD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAGjF;AAOD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAK/E;AACD;;;GAGG;AACH,eAAO,IAAI,UAAU,EAAE,CAAC,CAAC,SAAS,eAAe,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;AAC5G;;GAEG;AACH,eAAO,IAAI,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,UAAU,CAAC,WAAW,CAAC,CAAC;AAE1D,WAAW;AACX,wBAAgB,QAAQ,IAAI,IAAI,CAwB/B"}
|
|
@@ -105,12 +105,26 @@ export function nativeEncodeInto(v, buf, offset) {
|
|
|
105
105
|
const encoded = TEXT_ENCODER.encodeInto(v, buf.subarray(offset));
|
|
106
106
|
return encoded.written;
|
|
107
107
|
}
|
|
108
|
+
let utf8Write;
|
|
109
|
+
/**
|
|
110
|
+
* Encode string into utf-8.
|
|
111
|
+
* Provided `buf` MUST have enough space.
|
|
112
|
+
*/
|
|
113
|
+
export function nodeEncodeInto(v, buf, offset) {
|
|
114
|
+
const encoded = utf8Write.call(buf, v, offset, buf.byteLength - offset);
|
|
115
|
+
return encoded;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* 默认编码器阈值
|
|
119
|
+
* @see /benchmark/string-encoder.js
|
|
120
|
+
*/
|
|
121
|
+
const DEFAULT_TEXT_ENCODER_THRESHOLD = 45;
|
|
108
122
|
/**
|
|
109
123
|
* Encode string into utf-8.
|
|
110
124
|
* Provided `buf` MUST have enough space.
|
|
111
125
|
*/
|
|
112
126
|
export function myEncodeInto(v, buf, offset) {
|
|
113
|
-
if (v.length <
|
|
127
|
+
if (v.length < DEFAULT_TEXT_ENCODER_THRESHOLD) {
|
|
114
128
|
return jsEncodeInto(v, buf, offset);
|
|
115
129
|
}
|
|
116
130
|
return nativeEncodeInto(v, buf, offset);
|
|
@@ -127,14 +141,20 @@ export let encode;
|
|
|
127
141
|
/** 重设环境 */
|
|
128
142
|
export function resetEnv() {
|
|
129
143
|
TEXT_ENCODER = typeof TextEncoder == 'function' ? new TextEncoder() : null;
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
144
|
+
const hasBuffer = typeof Buffer == 'function';
|
|
145
|
+
stringByteLength = hasBuffer && typeof Buffer.byteLength == 'function' ? nodeStringByteLength : jsStringByteLength;
|
|
146
|
+
utf8Write = hasBuffer ? Buffer.prototype.utf8Write : null;
|
|
147
|
+
encodeInto =
|
|
148
|
+
typeof utf8Write == 'function'
|
|
149
|
+
? nodeEncodeInto
|
|
150
|
+
: typeof TEXT_ENCODER?.encodeInto == 'function'
|
|
151
|
+
? myEncodeInto
|
|
152
|
+
: jsEncodeInto;
|
|
153
|
+
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
154
|
+
const from = hasBuffer ? Buffer.from : null;
|
|
135
155
|
encode =
|
|
136
|
-
typeof
|
|
137
|
-
? (v) =>
|
|
156
|
+
typeof from == 'function'
|
|
157
|
+
? (v) => from(v, 'utf8')
|
|
138
158
|
: TEXT_ENCODER
|
|
139
159
|
? (v) => TEXT_ENCODER.encode(v)
|
|
140
160
|
: (v) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string-encoder.js","sourceRoot":"","sources":["../../src/helper/string-encoder.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"string-encoder.js","sourceRoot":"","sources":["../../src/helper/string-encoder.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudpss/ubjson",
|
|
3
|
-
"version": "0.6.0-alpha.
|
|
3
|
+
"version": "0.6.0-alpha.8",
|
|
4
4
|
"author": "CloudPSS",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"keywords": [
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"devDependencies": {
|
|
23
23
|
"@types/lodash": "^4.17.20",
|
|
24
24
|
"lodash": "^4.17.21",
|
|
25
|
-
"ref-impl": "npm:@cloudpss/ubjson@0.5.
|
|
25
|
+
"ref-impl": "npm:@cloudpss/ubjson@0.5.55"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"rxjs": "^7.8.2"
|
package/src/helper/encode.ts
CHANGED
|
@@ -35,6 +35,7 @@ export function writeMarker(cursor: EncodeCursor, marker: constants): void {
|
|
|
35
35
|
cursor.data[cursor.length++] = marker;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
+
const { MAX_SAFE_INTEGER } = Number;
|
|
38
39
|
export const I8_MASK = constants.INT8 << 8;
|
|
39
40
|
export const U8_MASK = constants.UINT8 << 8;
|
|
40
41
|
/** 写入长度 */
|
|
@@ -53,7 +54,7 @@ export function writeLength(cursor: EncodeCursor, length: number): void {
|
|
|
53
54
|
cursor.data[cursor.length++] = constants.INT32;
|
|
54
55
|
cursor.view.setInt32(cursor.length, length);
|
|
55
56
|
cursor.length += 4;
|
|
56
|
-
} else if (length <
|
|
57
|
+
} else if (length < MAX_SAFE_INTEGER) {
|
|
57
58
|
cursor.ensureCapacity(9);
|
|
58
59
|
cursor.data[cursor.length++] = constants.INT64;
|
|
59
60
|
cursor.view.setBigInt64(cursor.length, BigInt(length));
|
|
@@ -63,6 +64,8 @@ export function writeLength(cursor: EncodeCursor, length: number): void {
|
|
|
63
64
|
}
|
|
64
65
|
}
|
|
65
66
|
|
|
67
|
+
const { isFinite } = Number;
|
|
68
|
+
const { fround } = Math;
|
|
66
69
|
/** 写入数字 */
|
|
67
70
|
export function writeNumber(cursor: EncodeCursor, value: number): void {
|
|
68
71
|
// eslint-disable-next-line unicorn/prefer-math-trunc
|
|
@@ -91,7 +94,7 @@ export function writeNumber(cursor: EncodeCursor, value: number): void {
|
|
|
91
94
|
cursor.view.setInt32(length + 1, value);
|
|
92
95
|
cursor.length = length + 5;
|
|
93
96
|
}
|
|
94
|
-
} else if (
|
|
97
|
+
} else if (!isFinite(value) || fround(value) === value) {
|
|
95
98
|
// 如果不会损失精度,使用 32 位浮点
|
|
96
99
|
cursor.ensureCapacity(5);
|
|
97
100
|
const { length } = cursor;
|
|
@@ -169,13 +169,28 @@ export function shortStringInJS(buf: Uint8Array, begin: number, length: number):
|
|
|
169
169
|
}
|
|
170
170
|
|
|
171
171
|
let TEXT_DECODER: TextDecoder | null;
|
|
172
|
-
let TEXT_DECODER_THRESHOLD: number;
|
|
173
|
-
|
|
174
172
|
/** 解码 */
|
|
175
173
|
export function nativeDecode(data: Uint8Array, begin: number, end: number): string {
|
|
176
174
|
return TEXT_DECODER!.decode(data.subarray(begin, end));
|
|
177
175
|
}
|
|
178
176
|
|
|
177
|
+
/** Undocumented */
|
|
178
|
+
type BufferUndocumented = Buffer & {
|
|
179
|
+
utf8Slice: (this: Uint8Array, start: number, end: number) => string;
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
let utf8Slice: ((this: Uint8Array, start: number, end: number) => string) | null;
|
|
183
|
+
/** 解码 */
|
|
184
|
+
export function nodeDecode(data: Uint8Array, begin: number, end: number): string {
|
|
185
|
+
return utf8Slice!.call(data, begin, end);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
let longDecode: (data: Uint8Array, begin: number, end: number) => string = nativeDecode;
|
|
189
|
+
/**
|
|
190
|
+
* 默认解码器阈值
|
|
191
|
+
* @see /benchmark/string-decoder.js
|
|
192
|
+
*/
|
|
193
|
+
const DEFAULT_TEXT_DECODER_THRESHOLD = 16;
|
|
179
194
|
/** 字符串解码,无缓存 */
|
|
180
195
|
export function decode(data: Uint8Array, begin: number, end: number): string {
|
|
181
196
|
const length = end - begin;
|
|
@@ -184,7 +199,7 @@ export function decode(data: Uint8Array, begin: number, end: number): string {
|
|
|
184
199
|
if (result != null) return result;
|
|
185
200
|
}
|
|
186
201
|
// 只有小字符串有优化价值
|
|
187
|
-
if (length <
|
|
202
|
+
if (length < DEFAULT_TEXT_DECODER_THRESHOLD) {
|
|
188
203
|
// if (length < 32) {
|
|
189
204
|
// const result = longStringInJS(data, begin, length);
|
|
190
205
|
// if (result != null) return result;
|
|
@@ -193,12 +208,13 @@ export function decode(data: Uint8Array, begin: number, end: number): string {
|
|
|
193
208
|
return jsDecode(data, begin, end);
|
|
194
209
|
}
|
|
195
210
|
// 使用系统解码
|
|
196
|
-
return
|
|
211
|
+
return longDecode(data, begin, end);
|
|
197
212
|
}
|
|
198
|
-
|
|
199
213
|
/** 重设环境 */
|
|
200
214
|
export function resetEnv(): void {
|
|
201
215
|
TEXT_DECODER = typeof TextDecoder == 'function' ? new TextDecoder('utf8', { ignoreBOM: true, fatal: false }) : null;
|
|
202
|
-
|
|
216
|
+
const hasBuffer = typeof Buffer == 'function';
|
|
217
|
+
utf8Slice = hasBuffer ? (Buffer.prototype as BufferUndocumented).utf8Slice : null;
|
|
218
|
+
longDecode = typeof utf8Slice == 'function' ? nodeDecode : TEXT_DECODER ? nativeDecode : jsDecode;
|
|
203
219
|
}
|
|
204
220
|
resetEnv();
|
|
@@ -114,12 +114,32 @@ export function nativeEncodeInto(v: string, buf: Uint8Array, offset: number): nu
|
|
|
114
114
|
const encoded = TEXT_ENCODER!.encodeInto(v, buf.subarray(offset));
|
|
115
115
|
return encoded.written;
|
|
116
116
|
}
|
|
117
|
+
|
|
118
|
+
/** Undocumented */
|
|
119
|
+
type BufferUndocumented = Buffer & {
|
|
120
|
+
utf8Write: (this: Uint8Array, v: string, offset: number, byteLength: number) => number;
|
|
121
|
+
};
|
|
122
|
+
let utf8Write: ((this: Uint8Array, v: string, offset: number, byteLength: number) => number) | null;
|
|
123
|
+
/**
|
|
124
|
+
* Encode string into utf-8.
|
|
125
|
+
* Provided `buf` MUST have enough space.
|
|
126
|
+
*/
|
|
127
|
+
export function nodeEncodeInto(v: string, buf: Uint8Array, offset: number): number {
|
|
128
|
+
const encoded = utf8Write!.call(buf, v, offset, buf.byteLength - offset);
|
|
129
|
+
return encoded;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* 默认编码器阈值
|
|
134
|
+
* @see /benchmark/string-encoder.js
|
|
135
|
+
*/
|
|
136
|
+
const DEFAULT_TEXT_ENCODER_THRESHOLD = 45;
|
|
117
137
|
/**
|
|
118
138
|
* Encode string into utf-8.
|
|
119
139
|
* Provided `buf` MUST have enough space.
|
|
120
140
|
*/
|
|
121
141
|
export function myEncodeInto(v: string, buf: Uint8Array, offset: number): number {
|
|
122
|
-
if (v.length <
|
|
142
|
+
if (v.length < DEFAULT_TEXT_ENCODER_THRESHOLD) {
|
|
123
143
|
return jsEncodeInto(v, buf, offset);
|
|
124
144
|
}
|
|
125
145
|
return nativeEncodeInto(v, buf, offset);
|
|
@@ -137,14 +157,21 @@ export let encode: (v: string) => Uint8Array<ArrayBuffer>;
|
|
|
137
157
|
/** 重设环境 */
|
|
138
158
|
export function resetEnv(): void {
|
|
139
159
|
TEXT_ENCODER = typeof TextEncoder == 'function' ? new TextEncoder() : null;
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
encodeInto =
|
|
160
|
+
const hasBuffer = typeof Buffer == 'function';
|
|
161
|
+
stringByteLength = hasBuffer && typeof Buffer.byteLength == 'function' ? nodeStringByteLength : jsStringByteLength;
|
|
162
|
+
|
|
163
|
+
utf8Write = hasBuffer ? (Buffer.prototype as BufferUndocumented).utf8Write : null;
|
|
164
|
+
encodeInto =
|
|
165
|
+
typeof utf8Write == 'function'
|
|
166
|
+
? nodeEncodeInto
|
|
167
|
+
: typeof TEXT_ENCODER?.encodeInto == 'function'
|
|
168
|
+
? myEncodeInto
|
|
169
|
+
: jsEncodeInto;
|
|
170
|
+
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
171
|
+
const from = hasBuffer ? Buffer.from : null;
|
|
145
172
|
encode =
|
|
146
|
-
typeof
|
|
147
|
-
? (v) =>
|
|
173
|
+
typeof from == 'function'
|
|
174
|
+
? (v) => from(v, 'utf8')
|
|
148
175
|
: TEXT_ENCODER
|
|
149
176
|
? (v) => TEXT_ENCODER!.encode(v)
|
|
150
177
|
: (v) => {
|