@cloudpss/ubjson 0.5.8 → 0.5.9

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
  /** 读取数据 */
@@ -69,7 +68,7 @@ export class Decoder {
69
68
  const key = this.readKey();
70
69
  const t = type ?? this.readMarker();
71
70
  if (t === undefined)
72
- throw new UnexpectedEof();
71
+ this.eof();
73
72
  const value = this.readData(t);
74
73
  object[i] = [key, value];
75
74
  }
@@ -95,7 +94,7 @@ export class Decoder {
95
94
  return buf;
96
95
  }
97
96
  catch {
98
- throw new UnexpectedEof();
97
+ return this.eof();
99
98
  }
100
99
  case 105 /* constants.INT8 */:
101
100
  try {
@@ -104,7 +103,7 @@ export class Decoder {
104
103
  return buf;
105
104
  }
106
105
  catch {
107
- throw new UnexpectedEof();
106
+ return this.eof();
108
107
  }
109
108
  case 73 /* constants.INT16 */: {
110
109
  const result = new Int16Array(count);
@@ -188,7 +187,7 @@ export class Decoder {
188
187
  // return buffer;
189
188
  }
190
189
  catch {
191
- throw new UnexpectedEof();
190
+ return this.eof();
192
191
  }
193
192
  throw new Error('Unsupported type high precision number');
194
193
  }
@@ -199,7 +198,7 @@ export class Decoder {
199
198
  readIntLength() {
200
199
  const marker = this.readMarker();
201
200
  if (marker === undefined)
202
- throw new UnexpectedEof();
201
+ this.eof();
203
202
  let length;
204
203
  switch (marker) {
205
204
  case 105 /* constants.INT8 */:
@@ -238,14 +237,14 @@ export class Decoder {
238
237
  return this.view.getInt8(this.offset++);
239
238
  }
240
239
  catch {
241
- throw new UnexpectedEof();
240
+ this.eof();
242
241
  }
243
242
  }
244
243
  /** readUint8Data */
245
244
  readUint8Data() {
246
245
  const num = this.data[this.offset++];
247
246
  if (num === undefined)
248
- throw new UnexpectedEof();
247
+ this.eof();
249
248
  return num;
250
249
  }
251
250
  /** readInt16Data */
@@ -256,7 +255,7 @@ export class Decoder {
256
255
  return result;
257
256
  }
258
257
  catch {
259
- throw new UnexpectedEof();
258
+ this.eof();
260
259
  }
261
260
  }
262
261
  /** readInt32Data */
@@ -267,7 +266,7 @@ export class Decoder {
267
266
  return result;
268
267
  }
269
268
  catch {
270
- throw new UnexpectedEof();
269
+ this.eof();
271
270
  }
272
271
  }
273
272
  /** readInt64Data */
@@ -278,7 +277,7 @@ export class Decoder {
278
277
  // return result;
279
278
  }
280
279
  catch {
281
- throw new UnexpectedEof();
280
+ this.eof();
282
281
  }
283
282
  throw new Error('Unsupported type int64');
284
283
  }
@@ -290,7 +289,7 @@ export class Decoder {
290
289
  return result;
291
290
  }
292
291
  catch {
293
- throw new UnexpectedEof();
292
+ this.eof();
294
293
  }
295
294
  }
296
295
  /** readFloat64Data */
@@ -301,7 +300,7 @@ export class Decoder {
301
300
  return result;
302
301
  }
303
302
  catch {
304
- throw new UnexpectedEof();
303
+ this.eof();
305
304
  }
306
305
  }
307
306
  /** 读取 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,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":"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"}
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.9",
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
 
@@ -73,7 +74,7 @@ export class Decoder {
73
74
  for (let i = 0; i < count; i++) {
74
75
  const key = this.readKey();
75
76
  const t = type ?? this.readMarker();
76
- if (t === undefined) throw new UnexpectedEof();
77
+ if (t === undefined) this.eof();
77
78
  const value = this.readData(t);
78
79
  object[i] = [key, value];
79
80
  }
@@ -103,7 +104,7 @@ export class Decoder {
103
104
  this.offset += count;
104
105
  return buf;
105
106
  } catch {
106
- throw new UnexpectedEof();
107
+ return this.eof();
107
108
  }
108
109
  case constants.INT8:
109
110
  try {
@@ -115,7 +116,7 @@ export class Decoder {
115
116
  this.offset += count;
116
117
  return buf;
117
118
  } catch {
118
- throw new UnexpectedEof();
119
+ return this.eof();
119
120
  }
120
121
  case constants.INT16: {
121
122
  const result = new Int16Array(count);
@@ -198,7 +199,7 @@ export class Decoder {
198
199
  this.offset += length;
199
200
  // return buffer;
200
201
  } catch {
201
- throw new UnexpectedEof();
202
+ return this.eof();
202
203
  }
203
204
  throw new Error('Unsupported type high precision number');
204
205
  }
@@ -209,7 +210,7 @@ export class Decoder {
209
210
  /** 读取一个大于 0 的整数 */
210
211
  private readIntLength(): number {
211
212
  const marker = this.readMarker();
212
- if (marker === undefined) throw new UnexpectedEof();
213
+ if (marker === undefined) this.eof();
213
214
  let length;
214
215
  switch (marker) {
215
216
  case constants.INT8:
@@ -248,13 +249,13 @@ export class Decoder {
248
249
  try {
249
250
  return this.view.getInt8(this.offset++);
250
251
  } catch {
251
- throw new UnexpectedEof();
252
+ this.eof();
252
253
  }
253
254
  }
254
255
  /** readUint8Data */
255
256
  private readUint8Data(): number {
256
257
  const num = this.data[this.offset++];
257
- if (num === undefined) throw new UnexpectedEof();
258
+ if (num === undefined) this.eof();
258
259
  return num;
259
260
  }
260
261
  /** readInt16Data */
@@ -264,7 +265,7 @@ export class Decoder {
264
265
  this.offset += 2;
265
266
  return result;
266
267
  } catch {
267
- throw new UnexpectedEof();
268
+ this.eof();
268
269
  }
269
270
  }
270
271
  /** readInt32Data */
@@ -274,7 +275,7 @@ export class Decoder {
274
275
  this.offset += 4;
275
276
  return result;
276
277
  } catch {
277
- throw new UnexpectedEof();
278
+ this.eof();
278
279
  }
279
280
  }
280
281
  /** readInt64Data */
@@ -284,7 +285,7 @@ export class Decoder {
284
285
  this.offset += 8;
285
286
  // return result;
286
287
  } catch {
287
- throw new UnexpectedEof();
288
+ this.eof();
288
289
  }
289
290
  throw new Error('Unsupported type int64');
290
291
  }
@@ -295,7 +296,7 @@ export class Decoder {
295
296
  this.offset += 4;
296
297
  return result;
297
298
  } catch {
298
- throw new UnexpectedEof();
299
+ this.eof();
299
300
  }
300
301
  }
301
302
  /** readFloat64Data */
@@ -305,7 +306,7 @@ export class Decoder {
305
306
  this.offset += 8;
306
307
  return result;
307
308
  } catch {
308
- throw new UnexpectedEof();
309
+ this.eof();
309
310
  }
310
311
  }
311
312
 
@@ -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 {