@cloudpss/ubjson 0.5.35 → 0.5.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/{benchmark-string.js → benchmark-string-decode.js} +4 -4
  2. package/benchmark-string-encode.js +32 -0
  3. package/benchmark-string-size-caculation.js +9 -11
  4. package/benchmark.js +1 -0
  5. package/dist/common/decoder.js +2 -1
  6. package/dist/common/decoder.js.map +1 -1
  7. package/dist/common/encoder.d.ts +4 -2
  8. package/dist/common/encoder.js +106 -45
  9. package/dist/common/encoder.js.map +1 -1
  10. package/dist/common/errors.d.ts +4 -0
  11. package/dist/common/errors.js +14 -0
  12. package/dist/common/errors.js.map +1 -0
  13. package/dist/common/string-decoder.d.ts +5 -3
  14. package/dist/common/string-decoder.js +23 -14
  15. package/dist/common/string-decoder.js.map +1 -1
  16. package/dist/common/string-encoder.d.ts +32 -2
  17. package/dist/common/string-encoder.js +105 -12
  18. package/dist/common/string-encoder.js.map +1 -1
  19. package/dist/stream-helper/encoder.d.ts +4 -4
  20. package/dist/stream-helper/encoder.js +116 -41
  21. package/dist/stream-helper/encoder.js.map +1 -1
  22. package/package.json +3 -3
  23. package/src/common/decoder.ts +2 -1
  24. package/src/common/encoder.ts +100 -42
  25. package/src/common/errors.ts +14 -0
  26. package/src/common/string-decoder.ts +26 -17
  27. package/src/common/string-encoder.ts +103 -14
  28. package/src/stream-helper/encoder.ts +118 -39
  29. package/tests/.utils.js +10 -0
  30. package/tests/e2e/.data.js +470 -0
  31. package/tests/e2e/no-buffer-text.js +37 -0
  32. package/tests/e2e/no-buffer.js +30 -0
  33. package/tests/e2e/no-encode-into.js +32 -0
  34. package/tests/e2e/no-textencoder-decoder.js +34 -0
  35. package/tests/e2e/normal.js +27 -0
  36. package/tests/e2e/stream.js +20 -0
  37. package/tests/encode.js +11 -19
  38. package/tests/huge-string.js +7 -9
  39. package/tests/rxjs/encode.js +4 -18
  40. package/tests/stream/encode.js +0 -15
  41. package/tests/string-encoding.js +3 -2
  42. package/tests/tsconfig.json +2 -1
  43. package/tests/e2e.js +0 -415
@@ -1 +1 @@
1
- {"version":3,"file":"string-decoder.js","sourceRoot":"","sources":["../../src/common/string-decoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"string-decoder.js","sourceRoot":"","sources":["../../src/common/string-decoder.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,32 @@
1
- export declare const getStringByteLength: () => ((v: string) => number);
2
- export declare const getEncodeInto: () => ((v: string, buf: Uint8Array, offset: number) => number) | undefined;
1
+ /** 计算使用的空间 */
2
+ export declare function jsStringByteLength(string: string): number;
3
+ /** 计算使用的空间 */
4
+ export declare function nodeStringByteLength(string: string): number;
5
+ /** 计算使用的空间 */
6
+ export declare let stringByteLength: (v: string) => number;
7
+ /**
8
+ * Encode string into utf-8.
9
+ * Provided `buf` MUST have enough space.
10
+ */
11
+ export declare function jsEncodeInto(v: string, buf: Uint8Array, offset: number): number;
12
+ /**
13
+ * Encode string into utf-8.
14
+ * Provided `buf` MUST have enough space.
15
+ */
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 myEncodeInto(v: string, buf: Uint8Array, offset: number): number;
22
+ /**
23
+ * Encode string into utf-8.
24
+ * Provided `buf` MUST have enough space.
25
+ */
26
+ export declare let encodeInto: (v: string, buf: Uint8Array, offset: number) => number;
27
+ /**
28
+ * Encode string into utf-8.
29
+ */
30
+ export declare let encode: (v: string) => Uint8Array;
31
+ /** 重设环境 */
32
+ export declare function resetEnv(): void;
@@ -1,8 +1,8 @@
1
1
  // https://github.com/ehmicky/string-byte-length/blob/main/src/char_code.js
2
2
  // Last ASCII character (1 byte)
3
- const LAST_ASCII_CODEPOINT = 0x7f;
3
+ const LAST_ASCII_CODEPOINT = 0x80;
4
4
  // Last 2-bytes character
5
- const LAST_TWO_BYTES_CODEPOINT = 0x7ff;
5
+ const LAST_TWO_BYTES_CODEPOINT = 0x800;
6
6
  // Others are 3 bytes characters
7
7
  // However, U+d800 to U+dbff:
8
8
  // - Followed by U+dc00 to U+dfff -> 4 bytes together (astral character)
@@ -12,15 +12,15 @@ const LAST_HIGH_SURROGATE = 0xdbff;
12
12
  const FIRST_LOW_SURROGATE = 0xdc00;
13
13
  const LAST_LOW_SURROGATE = 0xdfff;
14
14
  /** 计算使用的空间 */
15
- function getCharCodeByteLength(string) {
15
+ export function jsStringByteLength(string) {
16
16
  const charLength = string.length;
17
17
  let byteLength = charLength;
18
18
  for (let charIndex = 0; charIndex < charLength; charIndex += 1) {
19
19
  const codepoint = string.charCodeAt(charIndex);
20
- if (codepoint <= LAST_ASCII_CODEPOINT) {
20
+ if (codepoint < LAST_ASCII_CODEPOINT) {
21
21
  continue;
22
22
  }
23
- if (codepoint <= LAST_TWO_BYTES_CODEPOINT) {
23
+ if (codepoint < LAST_TWO_BYTES_CODEPOINT) {
24
24
  byteLength += 1;
25
25
  continue;
26
26
  }
@@ -42,12 +42,105 @@ function getCharCodeByteLength(string) {
42
42
  }
43
43
  return byteLength;
44
44
  }
45
- export const getStringByteLength = () => typeof Buffer == 'function' && typeof Buffer.byteLength == 'function'
46
- ? (v) => Buffer.byteLength(v, 'utf8')
47
- : getCharCodeByteLength;
45
+ /** 计算使用的空间 */
46
+ export function nodeStringByteLength(string) {
47
+ return Buffer.byteLength(string, 'utf8');
48
+ }
49
+ /** 计算使用的空间 */
50
+ export let stringByteLength;
51
+ /**
52
+ * Encode string into utf-8.
53
+ * Provided `buf` MUST have enough space.
54
+ */
55
+ export function jsEncodeInto(v, buf, offset) {
56
+ let ptr = offset;
57
+ const strLen = v.length;
58
+ for (let i = 0; i < strLen; i++) {
59
+ const c1 = v.charCodeAt(i);
60
+ if (c1 < LAST_ASCII_CODEPOINT) {
61
+ buf[ptr++] = c1;
62
+ }
63
+ else if (c1 < LAST_TWO_BYTES_CODEPOINT) {
64
+ buf[ptr++] = 0xc0 | (c1 >> 6);
65
+ buf[ptr++] = 0x80 | (c1 & 0x3f);
66
+ }
67
+ else if (c1 < FIRST_HIGH_SURROGATE || c1 > LAST_LOW_SURROGATE) {
68
+ buf[ptr++] = 0xe0 | (c1 >> 12);
69
+ buf[ptr++] = 0x80 | ((c1 >> 6) & 0x3f);
70
+ buf[ptr++] = 0x80 | (c1 & 0x3f);
71
+ }
72
+ else if (c1 > LAST_HIGH_SURROGATE) {
73
+ // low surrogate without high surrogate
74
+ buf[ptr++] = 0xef;
75
+ buf[ptr++] = 0xbf;
76
+ buf[ptr++] = 0xbd;
77
+ }
78
+ else {
79
+ const c2 = v.charCodeAt(++i);
80
+ if (i >= strLen || c2 < FIRST_LOW_SURROGATE || c2 > LAST_LOW_SURROGATE) {
81
+ // high surrogate not followed by low surrogate
82
+ buf[ptr++] = 0xef;
83
+ buf[ptr++] = 0xbf;
84
+ buf[ptr++] = 0xbd;
85
+ i--;
86
+ continue;
87
+ }
88
+ const c = ((c1 & 0x3ff) << 10) + (c2 & 0x3ff) + 0x1_0000;
89
+ buf[ptr++] = 0xf0 | (c >> 18);
90
+ buf[ptr++] = 0x80 | ((c >> 12) & 0x3f);
91
+ buf[ptr++] = 0x80 | ((c >> 6) & 0x3f);
92
+ buf[ptr++] = 0x80 | (c & 0x3f);
93
+ }
94
+ }
95
+ return ptr - offset;
96
+ }
48
97
  /* c8 ignore next 1 */
49
- const encoder = typeof TextEncoder == 'function' ? new TextEncoder() : undefined;
50
- export const getEncodeInto = () => typeof encoder?.encodeInto == 'function'
51
- ? (v, buf, offset) => encoder.encodeInto(v, buf.subarray(offset)).written
52
- : undefined;
98
+ let TEXT_ENCODER;
99
+ /**
100
+ * Encode string into utf-8.
101
+ * Provided `buf` MUST have enough space.
102
+ */
103
+ export function nativeEncodeInto(v, buf, offset) {
104
+ const encoded = TEXT_ENCODER.encodeInto(v, buf.subarray(offset));
105
+ return encoded.written;
106
+ }
107
+ /**
108
+ * Encode string into utf-8.
109
+ * Provided `buf` MUST have enough space.
110
+ */
111
+ export function myEncodeInto(v, buf, offset) {
112
+ if (v.length < 55) {
113
+ return jsEncodeInto(v, buf, offset);
114
+ }
115
+ return nativeEncodeInto(v, buf, offset);
116
+ }
117
+ /**
118
+ * Encode string into utf-8.
119
+ * Provided `buf` MUST have enough space.
120
+ */
121
+ export let encodeInto;
122
+ /**
123
+ * Encode string into utf-8.
124
+ */
125
+ export let encode;
126
+ /** 重设环境 */
127
+ export function resetEnv() {
128
+ TEXT_ENCODER = typeof TextEncoder == 'function' ? new TextEncoder() : null;
129
+ stringByteLength =
130
+ typeof Buffer == 'function' && typeof Buffer.byteLength == 'function'
131
+ ? nodeStringByteLength
132
+ : jsStringByteLength;
133
+ encodeInto = typeof TEXT_ENCODER?.encodeInto == 'function' ? myEncodeInto : jsEncodeInto;
134
+ encode =
135
+ typeof Buffer == 'function' && Buffer.from
136
+ ? (v) => Buffer.from(v, 'utf8')
137
+ : TEXT_ENCODER
138
+ ? (v) => TEXT_ENCODER.encode(v)
139
+ : (v) => {
140
+ const buf = new Uint8Array(stringByteLength(v));
141
+ jsEncodeInto(v, buf, 0);
142
+ return buf;
143
+ };
144
+ }
145
+ resetEnv();
53
146
  //# sourceMappingURL=string-encoder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"string-encoder.js","sourceRoot":"","sources":["../../src/common/string-encoder.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAE3E,gCAAgC;AAChC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAClC,yBAAyB;AACzB,MAAM,wBAAwB,GAAG,KAAK,CAAC;AACvC,gCAAgC;AAChC,6BAA6B;AAC7B,yEAAyE;AACzE,uCAAuC;AACvC,MAAM,oBAAoB,GAAG,MAAM,CAAC;AACpC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AACnC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AACnC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAClC,cAAc;AACd,SAAS,qBAAqB,CAAC,MAAc;IACzC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;IACjC,IAAI,UAAU,GAAG,UAAU,CAAC;IAE5B,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,UAAU,EAAE,SAAS,IAAI,CAAC,EAAE,CAAC;QAC7D,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAE/C,IAAI,SAAS,IAAI,oBAAoB,EAAE,CAAC;YACpC,SAAS;QACb,CAAC;QAED,IAAI,SAAS,IAAI,wBAAwB,EAAE,CAAC;YACxC,UAAU,IAAI,CAAC,CAAC;YAChB,SAAS;QACb,CAAC;QAED,UAAU,IAAI,CAAC,CAAC;QAEhB,IAAI,SAAS,GAAG,oBAAoB,IAAI,SAAS,GAAG,mBAAmB,EAAE,CAAC;YACtE,SAAS;QACb,CAAC;QAED,iEAAiE;QACjE,iBAAiB;QACjB,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QAEvD,wDAAwD;QACxD,0EAA0E;QAC1E,0EAA0E;QAC1E,UAAU;QACV,IAAI,aAAa,GAAG,mBAAmB,IAAI,aAAa,GAAG,kBAAkB,EAAE,CAAC;YAC5E,SAAS;QACb,CAAC;QAED,SAAS,IAAI,CAAC,CAAC;IACnB,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAA4B,EAAE,CAC7D,OAAO,MAAM,IAAI,UAAU,IAAI,OAAO,MAAM,CAAC,UAAU,IAAI,UAAU;IACjE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC;IACrC,CAAC,CAAC,qBAAqB,CAAC;AAEhC,sBAAsB;AACtB,MAAM,OAAO,GAAG,OAAO,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACjF,MAAM,CAAC,MAAM,aAAa,GAAG,GAAyE,EAAE,CACpG,OAAO,OAAO,EAAE,UAAU,IAAI,UAAU;IACpC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;IACzE,CAAC,CAAC,SAAS,CAAC"}
1
+ {"version":3,"file":"string-encoder.js","sourceRoot":"","sources":["../../src/common/string-encoder.ts"],"names":[],"mappings":"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"}
@@ -7,14 +7,14 @@ export declare class StreamEncoderHelper extends EncoderBase {
7
7
  * 销毁实例,释放内存池
8
8
  */
9
9
  destroy(): void;
10
- /** 通过内存池减少分配 */
11
- private readonly pool;
12
10
  /**
13
11
  * 确保 buffer 还有 capacity 的空闲空间
14
12
  */
15
13
  protected ensureCapacity(capacity: number): void;
16
- /** 分配 buffer */
17
- private allocUnsafe;
14
+ /** @inheritdoc */
15
+ protected writeLargeStringData(value: string): void;
16
+ /** @inheritdoc */
17
+ protected writeLargeTypedArrayData(value: ArrayBufferView): void;
18
18
  /** 获取写入结果 */
19
19
  encode(value: unknown): void;
20
20
  }
@@ -1,33 +1,45 @@
1
1
  import { EncoderBase } from '../common/encoder.js';
2
- const BLOCK_SIZE = 1024 * 8; // 8 KiB
3
- const MAX_SIZE = 1024 * 1024 * 256; // 256 MiB
2
+ import { unsupportedView } from '../common/errors.js';
3
+ import { encode, stringByteLength } from '../common/string-encoder.js';
4
+ const BLOCK_SIZE = 1024 * 64; // 64 KiB
5
+ const MAX_SIZE = 1024 * 1024 * 32; // 32 MiB
4
6
  /** 保存一个内存池以减少重复分配 */
5
7
  let POOL = null;
8
+ /** 获取内存池 */
9
+ function alloc(size) {
10
+ if (POOL == null || size !== BLOCK_SIZE) {
11
+ return new Uint8Array(size);
12
+ }
13
+ const pool = POOL;
14
+ POOL = null;
15
+ return pool;
16
+ }
17
+ /** 归还内存池 */
18
+ function free(buf) {
19
+ if (POOL == null && buf.byteLength === BLOCK_SIZE) {
20
+ POOL = buf;
21
+ return true;
22
+ }
23
+ return false;
24
+ }
6
25
  /** 流式编码 UBJSON */
7
26
  export class StreamEncoderHelper extends EncoderBase {
8
27
  onChunk;
9
28
  constructor(onChunk) {
10
29
  super();
11
30
  this.onChunk = onChunk;
12
- if (POOL != null) {
13
- this.pool = POOL;
14
- POOL = null;
15
- }
16
- else {
17
- this.pool = new Uint8Array(BLOCK_SIZE);
18
- }
31
+ this.buffer = alloc(BLOCK_SIZE);
32
+ this.view = new DataView(this.buffer.buffer);
19
33
  }
20
34
  /**
21
35
  * 销毁实例,释放内存池
22
36
  */
23
37
  destroy() {
24
- POOL ??= this.pool;
38
+ free(this.buffer);
25
39
  const self = this;
26
- self.pool = null;
40
+ self.view = null;
27
41
  self.buffer = null;
28
42
  }
29
- /** 通过内存池减少分配 */
30
- pool;
31
43
  /**
32
44
  * 确保 buffer 还有 capacity 的空闲空间
33
45
  */
@@ -36,47 +48,110 @@ export class StreamEncoderHelper extends EncoderBase {
36
48
  // 超过最大尺寸限制
37
49
  throw new Error('Buffer has exceed max size');
38
50
  }
39
- if (capacity < 0) {
40
- // 结束流
41
- if (this.buffer === this.pool) {
42
- this.onChunk(this.buffer.slice(0, this.length));
43
- }
44
- else {
45
- this.onChunk(this.buffer.subarray(0, this.length));
46
- }
47
- return;
48
- }
49
51
  // 无需扩容
50
- if (this.buffer.byteLength >= this.length + capacity)
52
+ if (capacity >= 0 && this.buffer.byteLength >= this.length + capacity)
51
53
  return;
54
+ const CURRENT_SIZE = this.buffer.byteLength;
55
+ const NEXT_SIZE = capacity < BLOCK_SIZE ? BLOCK_SIZE : capacity;
56
+ const REUSE_BUF = CURRENT_SIZE >= NEXT_SIZE && // 满足容量需求
57
+ CURRENT_SIZE - BLOCK_SIZE < NEXT_SIZE; // 不过于浪费
52
58
  // 提交目前的数据
53
- if (this.buffer === this.pool) {
59
+ if (REUSE_BUF) {
54
60
  this.onChunk(this.buffer.slice(0, this.length));
55
61
  }
56
62
  else {
57
- this.onChunk(this.buffer.subarray(0, this.length));
63
+ if (free(this.buffer)) {
64
+ // 归还内存池成功,buffer 可能重用,需要拷贝数据
65
+ this.onChunk(this.buffer.slice(0, this.length));
66
+ }
67
+ else {
68
+ this.onChunk(this.buffer.subarray(0, this.length));
69
+ }
70
+ // 重新分配缓冲区
71
+ this.buffer = alloc(NEXT_SIZE);
72
+ this.view = new DataView(this.buffer.buffer);
73
+ }
74
+ this.length = 0;
75
+ }
76
+ /** @inheritdoc */
77
+ writeLargeStringData(value) {
78
+ const strLen = value.length;
79
+ const binLen = stringByteLength(value);
80
+ this.ensureCapacity(5);
81
+ this.buffer[this.length++] = 108 /* constants.INT32 */;
82
+ this.view.setInt32(this.length, binLen);
83
+ this.length += 4;
84
+ this.ensureCapacity(-1);
85
+ // divide string to 64k chunks
86
+ for (let i = 0; i < strLen; i += BLOCK_SIZE) {
87
+ let end = i + BLOCK_SIZE;
88
+ // avoid split surrogate pair
89
+ const endAtSurrogate = end < strLen && (value.charCodeAt(end) & 0xfc00) === 0xdc00;
90
+ if (endAtSurrogate) {
91
+ end--;
92
+ }
93
+ const chunk = value.slice(i, end);
94
+ this.onChunk(encode(chunk));
95
+ if (endAtSurrogate) {
96
+ i--;
97
+ }
58
98
  }
59
- // 重新分配缓冲区
60
- if (capacity < BLOCK_SIZE)
61
- capacity = BLOCK_SIZE;
62
- this.allocUnsafe(capacity);
63
99
  }
64
- /** 分配 buffer */
65
- allocUnsafe(size) {
66
- if (size === this.pool.byteLength) {
67
- // pool 中获取
68
- this.buffer = this.pool;
69
- this.view = new DataView(this.buffer.buffer);
70
- this.length = 0;
100
+ /** @inheritdoc */
101
+ writeLargeTypedArrayData(value) {
102
+ this.ensureCapacity(-1);
103
+ if (value instanceof Uint8Array || value instanceof Int8Array) {
104
+ // fast path for typed arrays with `BYTES_PER_ELEMENT` of 1
105
+ // divide buffer to 64k chunks
106
+ for (let i = 0; i < value.byteLength; i += BLOCK_SIZE) {
107
+ this.onChunk(new Uint8Array(value.buffer.slice(value.byteOffset + i, value.byteOffset + i + BLOCK_SIZE)));
108
+ }
71
109
  return;
72
110
  }
73
- this.buffer = new Uint8Array(size);
74
- this.view = new DataView(this.buffer.buffer);
75
- this.length = 0;
111
+ const arrayLength = value.length;
112
+ const elementSize = value
113
+ .BYTES_PER_ELEMENT;
114
+ if (value instanceof Int16Array) {
115
+ for (let i = 0; i < arrayLength; i++) {
116
+ this.ensureCapacity(elementSize);
117
+ this.view.setInt16(this.length, value[i]);
118
+ this.length += elementSize;
119
+ }
120
+ }
121
+ else if (value instanceof Int32Array) {
122
+ for (let i = 0; i < arrayLength; i++) {
123
+ this.ensureCapacity(elementSize);
124
+ this.view.setInt32(this.length, value[i]);
125
+ this.length += elementSize;
126
+ }
127
+ }
128
+ else if (value instanceof Float32Array) {
129
+ for (let i = 0; i < arrayLength; i++) {
130
+ this.ensureCapacity(elementSize);
131
+ this.view.setFloat32(this.length, value[i]);
132
+ this.length += elementSize;
133
+ }
134
+ }
135
+ else if (value instanceof Float64Array) {
136
+ for (let i = 0; i < arrayLength; i++) {
137
+ this.ensureCapacity(elementSize);
138
+ this.view.setFloat64(this.length, value[i]);
139
+ this.length += elementSize;
140
+ }
141
+ }
142
+ else if (value instanceof BigInt64Array) {
143
+ for (let i = 0; i < arrayLength; i++) {
144
+ this.ensureCapacity(elementSize);
145
+ this.view.setBigInt64(this.length, value[i]);
146
+ this.length += elementSize;
147
+ }
148
+ }
149
+ else {
150
+ unsupportedView(value);
151
+ }
76
152
  }
77
153
  /** 获取写入结果 */
78
154
  encode(value) {
79
- this.allocUnsafe(BLOCK_SIZE);
80
155
  this.writeValue(value);
81
156
  this.ensureCapacity(-1);
82
157
  }
@@ -1 +1 @@
1
- {"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../src/stream-helper/encoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../src/stream-helper/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.5.35",
3
+ "version": "0.5.37",
4
4
  "author": "CloudPSS",
5
5
  "license": "MIT",
6
6
  "keywords": [
@@ -19,7 +19,7 @@
19
19
  "./rxjs": "./dist/rxjs/index.js"
20
20
  },
21
21
  "devDependencies": {
22
- "@types/lodash": "^4.17.6",
22
+ "@types/lodash": "^4.17.7",
23
23
  "lodash": "^4.17.21",
24
24
  "ref-impl": "npm:@cloudpss/ubjson@0.5.10"
25
25
  },
@@ -31,6 +31,6 @@
31
31
  "build": "pnpm clean && tsc",
32
32
  "clean": "rimraf dist",
33
33
  "benchmark": "node ./benchmark",
34
- "test": "NODE_OPTIONS=\"${NODE_OPTIONS:-} --experimental-vm-modules\" jest"
34
+ "test": "NODE_NO_WARNINGS=1 NODE_OPTIONS=\"${NODE_OPTIONS:-} --experimental-vm-modules\" jest"
35
35
  }
36
36
  }
@@ -1,5 +1,6 @@
1
1
  import { UnexpectedEof, toUint8Array } from '../utils.js';
2
2
  import { constants } from './constants.js';
3
+ import { unsupportedType } from './errors.js';
3
4
  import { decode, decodeKey } from './string-decoder.js';
4
5
 
5
6
  const fromEntries = Object.fromEntries;
@@ -216,7 +217,7 @@ export class DecoderBase {
216
217
  } catch {
217
218
  return this.eof();
218
219
  }
219
- throw new Error('Unsupported type high precision number');
220
+ unsupportedType('high precision number');
220
221
  }
221
222
  }
222
223
  throw new Error(`Unexpected marker '${String.fromCharCode(marker)}'(${marker})`);