@cloudpss/ubjson 0.5.8 → 0.5.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.
@@ -5,6 +5,8 @@ export declare class Decoder {
5
5
  /** 当前读指针位置 */
6
6
  protected offset: number;
7
7
  constructor(data: BinaryData);
8
+ /** EOF */
9
+ protected eof(): never;
8
10
  /** 解码 */
9
11
  decode(): unknown;
10
12
  /** 读取数据 */
@@ -11,19 +11,18 @@ export class Decoder {
11
11
  this.data = toUint8Array(data, true);
12
12
  this.view = new DataView(this.data.buffer, this.data.byteOffset, this.data.byteLength);
13
13
  }
14
+ /** EOF */
15
+ eof() {
16
+ throw new UnexpectedEof();
17
+ }
14
18
  /** 解码 */
15
19
  decode() {
16
- let marker;
17
- try {
18
- marker = this.readMarker();
19
- }
20
- catch (ex) {
21
- if (ex instanceof UnexpectedEof) {
22
- return undefined;
23
- }
24
- /* c8 ignore next 2 */
25
- throw ex;
26
- }
20
+ let marker = 78 /* constants.NO_OP */;
21
+ do {
22
+ marker = this.data[this.offset++];
23
+ } while (marker === 78 /* constants.NO_OP */); // 跳过 noop
24
+ if (marker === undefined)
25
+ return undefined;
27
26
  return this.readData(marker);
28
27
  }
29
28
  /** 读取数据 */
@@ -38,7 +37,7 @@ export class Decoder {
38
37
  marker = this.data[this.offset++];
39
38
  } while (marker === 78 /* constants.NO_OP */);
40
39
  if (marker === undefined)
41
- throw new UnexpectedEof();
40
+ this.eof();
42
41
  return marker;
43
42
  }
44
43
  /** 读取数据 */
@@ -48,8 +47,12 @@ export class Decoder {
48
47
  case 83 /* constants.STRING */: {
49
48
  const length = this.readIntLength();
50
49
  const begin = this.offset;
51
- this.offset += length;
52
- return decode(this.data, begin, this.offset);
50
+ const end = begin + length;
51
+ this.offset = end;
52
+ const data = this.data;
53
+ if (end > data.length)
54
+ this.eof();
55
+ return decode(data, begin, end);
53
56
  }
54
57
  case 123 /* constants.OBJECT */: {
55
58
  const markers = this.readOptimizedFormatMarkers();
@@ -69,7 +72,7 @@ export class Decoder {
69
72
  const key = this.readKey();
70
73
  const t = type ?? this.readMarker();
71
74
  if (t === undefined)
72
- throw new UnexpectedEof();
75
+ this.eof();
73
76
  const value = this.readData(t);
74
77
  object[i] = [key, value];
75
78
  }
@@ -95,7 +98,7 @@ export class Decoder {
95
98
  return buf;
96
99
  }
97
100
  catch {
98
- throw new UnexpectedEof();
101
+ return this.eof();
99
102
  }
100
103
  case 105 /* constants.INT8 */:
101
104
  try {
@@ -104,7 +107,7 @@ export class Decoder {
104
107
  return buf;
105
108
  }
106
109
  catch {
107
- throw new UnexpectedEof();
110
+ return this.eof();
108
111
  }
109
112
  case 73 /* constants.INT16 */: {
110
113
  const result = new Int16Array(count);
@@ -188,7 +191,7 @@ export class Decoder {
188
191
  // return buffer;
189
192
  }
190
193
  catch {
191
- throw new UnexpectedEof();
194
+ return this.eof();
192
195
  }
193
196
  throw new Error('Unsupported type high precision number');
194
197
  }
@@ -199,7 +202,7 @@ export class Decoder {
199
202
  readIntLength() {
200
203
  const marker = this.readMarker();
201
204
  if (marker === undefined)
202
- throw new UnexpectedEof();
205
+ this.eof();
203
206
  let length;
204
207
  switch (marker) {
205
208
  case 105 /* constants.INT8 */:
@@ -229,8 +232,12 @@ export class Decoder {
229
232
  readKey() {
230
233
  const length = this.readIntLength();
231
234
  const begin = this.offset;
232
- this.offset += length;
233
- return decodeKey(this.data, begin, this.offset);
235
+ const end = begin + length;
236
+ this.offset = end;
237
+ const data = this.data;
238
+ if (end > data.length)
239
+ this.eof();
240
+ return decodeKey(data, begin, end);
234
241
  }
235
242
  /** readInt8Data */
236
243
  readInt8Data() {
@@ -238,14 +245,14 @@ export class Decoder {
238
245
  return this.view.getInt8(this.offset++);
239
246
  }
240
247
  catch {
241
- throw new UnexpectedEof();
248
+ this.eof();
242
249
  }
243
250
  }
244
251
  /** readUint8Data */
245
252
  readUint8Data() {
246
253
  const num = this.data[this.offset++];
247
254
  if (num === undefined)
248
- throw new UnexpectedEof();
255
+ this.eof();
249
256
  return num;
250
257
  }
251
258
  /** readInt16Data */
@@ -256,7 +263,7 @@ export class Decoder {
256
263
  return result;
257
264
  }
258
265
  catch {
259
- throw new UnexpectedEof();
266
+ this.eof();
260
267
  }
261
268
  }
262
269
  /** readInt32Data */
@@ -267,7 +274,7 @@ export class Decoder {
267
274
  return result;
268
275
  }
269
276
  catch {
270
- throw new UnexpectedEof();
277
+ this.eof();
271
278
  }
272
279
  }
273
280
  /** readInt64Data */
@@ -278,7 +285,7 @@ export class Decoder {
278
285
  // return result;
279
286
  }
280
287
  catch {
281
- throw new UnexpectedEof();
288
+ this.eof();
282
289
  }
283
290
  throw new Error('Unsupported type int64');
284
291
  }
@@ -290,7 +297,7 @@ export class Decoder {
290
297
  return result;
291
298
  }
292
299
  catch {
293
- throw new UnexpectedEof();
300
+ this.eof();
294
301
  }
295
302
  }
296
303
  /** readFloat64Data */
@@ -301,7 +308,7 @@ export class Decoder {
301
308
  return result;
302
309
  }
303
310
  catch {
304
- throw new UnexpectedEof();
311
+ this.eof();
305
312
  }
306
313
  }
307
314
  /** 读取 Optimized Format 数据 */
@@ -1 +1 @@
1
- {"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../src/common/decoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../src/common/decoder.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import { UnexpectedEof } from '../utils.js';
2
1
  /* c8 ignore next 2: TextDecoder always present, fallback tested */
3
2
  export const textDecoder = typeof TextDecoder == 'function' ? new TextDecoder('utf8', { ignoreBOM: true, fatal: false }) : null;
4
3
  /* c8 ignore next: TextDecoder always present, fallback tested */
@@ -201,8 +200,6 @@ function shortStringInJS(buf, begin, length) {
201
200
  }
202
201
  /** 字符串解码,无缓存 */
203
202
  export function decode(data, begin, end) {
204
- if (end > data.length)
205
- throw new UnexpectedEof();
206
203
  const length = end - begin;
207
204
  if (length < 16) {
208
205
  const result = shortStringInJS(data, begin, length);
@@ -232,8 +229,6 @@ export function decodeKey(data, begin, end) {
232
229
  if (i === length)
233
230
  return entry.value;
234
231
  }
235
- if (end > data.length)
236
- throw new UnexpectedEof();
237
232
  let str = length < 16 ? shortStringInJS(data, begin, length) : longStringInJS(data, begin, length);
238
233
  if (str == null) {
239
234
  // 只有小字符串有优化价值,见 benchmark-string.js
@@ -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,5 +1,5 @@
1
1
  import { Observable } from 'rxjs';
2
- import { StreamDecoderHelper, UnexpectedEof } from '../stream-helper/decoder.js';
2
+ import { StreamDecoderHelper, kEof, UnexpectedEof } from '../stream-helper/decoder.js';
3
3
  import { toUint8Array } from '../utils.js';
4
4
  const DEFAULT_BUFFER_SIZE = 16 * 1024 * 1024; // 16 MiB
5
5
  const EMPTY_BUFFER = new Uint8Array(0);
@@ -37,7 +37,7 @@ export function decode() {
37
37
  begin += helper.readLength;
38
38
  }
39
39
  catch (ex) {
40
- if (ex instanceof UnexpectedEof) {
40
+ if (ex === kEof) {
41
41
  return;
42
42
  }
43
43
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../src/rxjs/decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAyB,MAAM,MAAM,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,mBAAmB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,SAAS;AACvD,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;AAEvC,kBAAkB;AAClB,MAAM,UAAU,MAAM;IAClB,OAAO,CAAC,UAAU,EAAE,EAAE;QAClB,OAAO,IAAI,UAAU,CAAU,CAAC,UAAU,EAAE,EAAE;YAC1C,IAAI,SAAS,GAAG,mBAAmB,CAAC;YACpC,IAAI,MAAM,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;YACvC,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,OAAO,UAAU,CAAC,SAAS,CAAC;gBACxB,IAAI,CAAC,KAAK;oBACN,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBACxC,IAAI,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;wBACrC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;wBACtB,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC;oBACvB,CAAC;yBAAM,CAAC;wBACJ,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC;wBAC/D,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;wBACjF,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;wBAC9C,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC;wBACjC,MAAM,GAAG,SAAS,CAAC;wBACnB,GAAG,GAAG,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;wBAChC,KAAK,GAAG,CAAC,CAAC;oBACd,CAAC;oBACD,OAAO,GAAG,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC;wBACrB,IAAI,CAAC;4BACD,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;4BACjE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;4BAC/B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gCACvB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;4BAC5B,CAAC;4BACD,KAAK,IAAI,MAAM,CAAC,UAAU,CAAC;wBAC/B,CAAC;wBAAC,OAAO,EAAE,EAAE,CAAC;4BACV,IAAI,EAAE,YAAY,aAAa,EAAE,CAAC;gCAC9B,OAAO;4BACX,CAAC;iCAAM,CAAC;gCACJ,UAAU,CAAC,KAAK,CAAC,EAAW,CAAC,CAAC;gCAC9B,MAAM,GAAG,YAAY,CAAC;gCACtB,OAAO;4BACX,CAAC;wBACL,CAAC;oBACL,CAAC;oBACD,4BAA4B;oBAC5B,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;gBACpB,CAAC;gBACD,KAAK,CAAC,GAAG;oBACL,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACtB,MAAM,GAAG,YAAY,CAAC;gBAC1B,CAAC;gBACD,QAAQ;oBACJ,IAAI,GAAG,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC;wBAClB,UAAU,CAAC,KAAK,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;oBAC1C,CAAC;yBAAM,CAAC;wBACJ,UAAU,CAAC,QAAQ,EAAE,CAAC;oBAC1B,CAAC;oBACD,MAAM,GAAG,YAAY,CAAC;gBAC1B,CAAC;aACJ,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../src/rxjs/decoder.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,11 @@
1
1
  import { Decoder } from '../common/decoder.js';
2
+ /** 未结束的流 */
3
+ export declare const kEof: unique symbol;
2
4
  /** 流式解码 UBJSON */
3
5
  export declare class StreamDecoderHelper extends Decoder {
4
6
  constructor(data: Uint8Array);
7
+ /** @inheritdoc */
8
+ protected eof(): never;
5
9
  /** 读取的字节数 */
6
10
  get readLength(): number;
7
11
  }
@@ -1,9 +1,17 @@
1
1
  import { Decoder } from '../common/decoder.js';
2
+ /** 未结束的流 */
3
+ export const kEof = Symbol('EOF');
2
4
  /** 流式解码 UBJSON */
3
5
  export class StreamDecoderHelper extends Decoder {
4
6
  constructor(data) {
5
7
  super(data);
6
8
  }
9
+ /** @inheritdoc */
10
+ eof() {
11
+ // 性能优化,避免 new Error 的开销
12
+ // eslint-disable-next-line @typescript-eslint/no-throw-literal
13
+ throw kEof;
14
+ }
7
15
  /** 读取的字节数 */
8
16
  get readLength() {
9
17
  return this.offset;
@@ -1 +1 @@
1
- {"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../src/stream-helper/decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,kBAAkB;AAClB,MAAM,OAAO,mBAAoB,SAAQ,OAAO;IAC5C,YAAY,IAAgB;QACxB,KAAK,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAED,aAAa;IACb,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;CACJ;AAED,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../src/stream-helper/decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,YAAY;AACZ,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AAElC,kBAAkB;AAClB,MAAM,OAAO,mBAAoB,SAAQ,OAAO;IAC5C,YAAY,IAAgB;QACxB,KAAK,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IACD,kBAAkB;IACC,GAAG;QAClB,wBAAwB;QACxB,+DAA+D;QAC/D,MAAM,IAAI,CAAC;IACf,CAAC;IAED,aAAa;IACb,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;CACJ;AAED,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudpss/ubjson",
3
- "version": "0.5.8",
3
+ "version": "0.5.10",
4
4
  "author": "CloudPSS",
5
5
  "license": "MIT",
6
6
  "keywords": [
@@ -14,18 +14,19 @@ export class Decoder {
14
14
  this.data = toUint8Array(data, true);
15
15
  this.view = new DataView(this.data.buffer, this.data.byteOffset, this.data.byteLength);
16
16
  }
17
+
18
+ /** EOF */
19
+ protected eof(): never {
20
+ throw new UnexpectedEof();
21
+ }
22
+
17
23
  /** 解码 */
18
24
  decode(): unknown {
19
- let marker: number;
20
- try {
21
- marker = this.readMarker();
22
- } catch (ex) {
23
- if (ex instanceof UnexpectedEof) {
24
- return undefined;
25
- }
26
- /* c8 ignore next 2 */
27
- throw ex;
28
- }
25
+ let marker = constants.NO_OP;
26
+ do {
27
+ marker = this.data[this.offset++];
28
+ } while (marker === constants.NO_OP); // 跳过 noop
29
+ if (marker === undefined) return undefined;
29
30
  return this.readData(marker);
30
31
  }
31
32
 
@@ -41,7 +42,7 @@ export class Decoder {
41
42
  do {
42
43
  marker = this.data[this.offset++];
43
44
  } while (marker === constants.NO_OP);
44
- if (marker === undefined) throw new UnexpectedEof();
45
+ if (marker === undefined) this.eof();
45
46
  return marker;
46
47
  }
47
48
 
@@ -52,8 +53,11 @@ export class Decoder {
52
53
  case constants.STRING: {
53
54
  const length = this.readIntLength();
54
55
  const begin = this.offset;
55
- this.offset += length;
56
- return decode(this.data, begin, this.offset);
56
+ const end = begin + length;
57
+ this.offset = end;
58
+ const data = this.data;
59
+ if (end > data.length) this.eof();
60
+ return decode(data, begin, end);
57
61
  }
58
62
  case constants.OBJECT: {
59
63
  const markers = this.readOptimizedFormatMarkers();
@@ -73,7 +77,7 @@ export class Decoder {
73
77
  for (let i = 0; i < count; i++) {
74
78
  const key = this.readKey();
75
79
  const t = type ?? this.readMarker();
76
- if (t === undefined) throw new UnexpectedEof();
80
+ if (t === undefined) this.eof();
77
81
  const value = this.readData(t);
78
82
  object[i] = [key, value];
79
83
  }
@@ -103,7 +107,7 @@ export class Decoder {
103
107
  this.offset += count;
104
108
  return buf;
105
109
  } catch {
106
- throw new UnexpectedEof();
110
+ return this.eof();
107
111
  }
108
112
  case constants.INT8:
109
113
  try {
@@ -115,7 +119,7 @@ export class Decoder {
115
119
  this.offset += count;
116
120
  return buf;
117
121
  } catch {
118
- throw new UnexpectedEof();
122
+ return this.eof();
119
123
  }
120
124
  case constants.INT16: {
121
125
  const result = new Int16Array(count);
@@ -198,7 +202,7 @@ export class Decoder {
198
202
  this.offset += length;
199
203
  // return buffer;
200
204
  } catch {
201
- throw new UnexpectedEof();
205
+ return this.eof();
202
206
  }
203
207
  throw new Error('Unsupported type high precision number');
204
208
  }
@@ -209,7 +213,7 @@ export class Decoder {
209
213
  /** 读取一个大于 0 的整数 */
210
214
  private readIntLength(): number {
211
215
  const marker = this.readMarker();
212
- if (marker === undefined) throw new UnexpectedEof();
216
+ if (marker === undefined) this.eof();
213
217
  let length;
214
218
  switch (marker) {
215
219
  case constants.INT8:
@@ -240,21 +244,24 @@ export class Decoder {
240
244
  private readKey(): string {
241
245
  const length = this.readIntLength();
242
246
  const begin = this.offset;
243
- this.offset += length;
244
- return decodeKey(this.data, begin, this.offset);
247
+ const end = begin + length;
248
+ this.offset = end;
249
+ const data = this.data;
250
+ if (end > data.length) this.eof();
251
+ return decodeKey(data, begin, end);
245
252
  }
246
253
  /** readInt8Data */
247
254
  private readInt8Data(): number {
248
255
  try {
249
256
  return this.view.getInt8(this.offset++);
250
257
  } catch {
251
- throw new UnexpectedEof();
258
+ this.eof();
252
259
  }
253
260
  }
254
261
  /** readUint8Data */
255
262
  private readUint8Data(): number {
256
263
  const num = this.data[this.offset++];
257
- if (num === undefined) throw new UnexpectedEof();
264
+ if (num === undefined) this.eof();
258
265
  return num;
259
266
  }
260
267
  /** readInt16Data */
@@ -264,7 +271,7 @@ export class Decoder {
264
271
  this.offset += 2;
265
272
  return result;
266
273
  } catch {
267
- throw new UnexpectedEof();
274
+ this.eof();
268
275
  }
269
276
  }
270
277
  /** readInt32Data */
@@ -274,7 +281,7 @@ export class Decoder {
274
281
  this.offset += 4;
275
282
  return result;
276
283
  } catch {
277
- throw new UnexpectedEof();
284
+ this.eof();
278
285
  }
279
286
  }
280
287
  /** readInt64Data */
@@ -284,7 +291,7 @@ export class Decoder {
284
291
  this.offset += 8;
285
292
  // return result;
286
293
  } catch {
287
- throw new UnexpectedEof();
294
+ this.eof();
288
295
  }
289
296
  throw new Error('Unsupported type int64');
290
297
  }
@@ -295,7 +302,7 @@ export class Decoder {
295
302
  this.offset += 4;
296
303
  return result;
297
304
  } catch {
298
- throw new UnexpectedEof();
305
+ this.eof();
299
306
  }
300
307
  }
301
308
  /** readFloat64Data */
@@ -305,7 +312,7 @@ export class Decoder {
305
312
  this.offset += 8;
306
313
  return result;
307
314
  } catch {
308
- throw new UnexpectedEof();
315
+ this.eof();
309
316
  }
310
317
  }
311
318
 
@@ -1,5 +1,3 @@
1
- import { UnexpectedEof } from '../utils.js';
2
-
3
1
  /* c8 ignore next 2: TextDecoder always present, fallback tested */
4
2
  export const textDecoder =
5
3
  typeof TextDecoder == 'function' ? new TextDecoder('utf8', { ignoreBOM: true, fatal: false }) : null;
@@ -194,7 +192,6 @@ function shortStringInJS(buf: Uint8Array, begin: number, length: number): string
194
192
 
195
193
  /** 字符串解码,无缓存 */
196
194
  export function decode(data: Uint8Array, begin: number, end: number): string {
197
- if (end > data.length) throw new UnexpectedEof();
198
195
  const length = end - begin;
199
196
  if (length < 16) {
200
197
  const result = shortStringInJS(data, begin, length);
@@ -225,7 +222,6 @@ export function decodeKey(data: Uint8Array, begin: number, end: number): string
225
222
  if (i === length) return entry.value;
226
223
  }
227
224
 
228
- if (end > data.length) throw new UnexpectedEof();
229
225
  let str = length < 16 ? shortStringInJS(data, begin, length) : longStringInJS(data, begin, length);
230
226
  if (str == null) {
231
227
  // 只有小字符串有优化价值,见 benchmark-string.js
@@ -1,5 +1,5 @@
1
1
  import { Observable, type OperatorFunction } from 'rxjs';
2
- import { StreamDecoderHelper, UnexpectedEof } from '../stream-helper/decoder.js';
2
+ import { StreamDecoderHelper, kEof, UnexpectedEof } from '../stream-helper/decoder.js';
3
3
  import { toUint8Array } from '../utils.js';
4
4
 
5
5
  const DEFAULT_BUFFER_SIZE = 16 * 1024 * 1024; // 16 MiB
@@ -37,7 +37,7 @@ export function decode(): OperatorFunction<BinaryData, unknown> {
37
37
  }
38
38
  begin += helper.readLength;
39
39
  } catch (ex) {
40
- if (ex instanceof UnexpectedEof) {
40
+ if (ex === kEof) {
41
41
  return;
42
42
  } else {
43
43
  subscriber.error(ex as Error);
@@ -1,10 +1,19 @@
1
1
  import { Decoder } from '../common/decoder.js';
2
2
 
3
+ /** 未结束的流 */
4
+ export const kEof = Symbol('EOF');
5
+
3
6
  /** 流式解码 UBJSON */
4
7
  export class StreamDecoderHelper extends Decoder {
5
8
  constructor(data: Uint8Array) {
6
9
  super(data);
7
10
  }
11
+ /** @inheritdoc */
12
+ protected override eof(): never {
13
+ // 性能优化,避免 new Error 的开销
14
+ // eslint-disable-next-line @typescript-eslint/no-throw-literal
15
+ throw kEof;
16
+ }
8
17
 
9
18
  /** 读取的字节数 */
10
19
  get readLength(): number {