@cloudpss/ubjson 0.5.41 → 0.5.42

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 (54) hide show
  1. package/dist/base/decoder.d.ts +3 -1
  2. package/dist/base/decoder.d.ts.map +1 -1
  3. package/dist/base/decoder.js +3 -1
  4. package/dist/base/decoder.js.map +1 -1
  5. package/dist/helper/decode-ae.d.ts +4 -1
  6. package/dist/helper/decode-ae.d.ts.map +1 -1
  7. package/dist/helper/decode-ae.js +15 -9
  8. package/dist/helper/decode-ae.js.map +1 -1
  9. package/dist/helper/decode.d.ts +8 -1
  10. package/dist/helper/decode.d.ts.map +1 -1
  11. package/dist/helper/decode.js +39 -3
  12. package/dist/helper/decode.js.map +1 -1
  13. package/dist/helper/string-decoder.d.ts.map +1 -1
  14. package/dist/helper/string-decoder.js +92 -114
  15. package/dist/helper/string-decoder.js.map +1 -1
  16. package/dist/index.d.ts +4 -4
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +4 -4
  19. package/dist/index.js.map +1 -1
  20. package/dist/options.d.ts +17 -1
  21. package/dist/options.d.ts.map +1 -1
  22. package/dist/rxjs/decoder.d.ts +2 -1
  23. package/dist/rxjs/decoder.d.ts.map +1 -1
  24. package/dist/rxjs/decoder.js +82 -83
  25. package/dist/rxjs/decoder.js.map +1 -1
  26. package/dist/rxjs/index.d.ts +1 -1
  27. package/dist/rxjs/index.d.ts.map +1 -1
  28. package/dist/stream/decoder.d.ts +2 -1
  29. package/dist/stream/decoder.d.ts.map +1 -1
  30. package/dist/stream/decoder.js +2 -2
  31. package/dist/stream/decoder.js.map +1 -1
  32. package/dist/stream/index.d.ts +5 -5
  33. package/dist/stream/index.d.ts.map +1 -1
  34. package/dist/stream/index.js +6 -6
  35. package/dist/stream/index.js.map +1 -1
  36. package/package.json +2 -2
  37. package/src/base/decoder.ts +5 -1
  38. package/src/helper/decode-ae.ts +18 -9
  39. package/src/helper/decode.ts +46 -3
  40. package/src/helper/string-decoder.ts +87 -102
  41. package/src/index.ts +6 -6
  42. package/src/options.ts +18 -1
  43. package/src/rxjs/decoder.ts +7 -6
  44. package/src/rxjs/index.ts +1 -1
  45. package/src/stream/decoder.ts +3 -2
  46. package/src/stream/index.ts +8 -8
  47. package/tests/.utils.js +9 -1
  48. package/tests/decode.js +52 -0
  49. package/tests/e2e/.data.js +11 -0
  50. package/dist/stream-helper/decoder.d.ts +0 -12
  51. package/dist/stream-helper/decoder.d.ts.map +0 -1
  52. package/dist/stream-helper/decoder.js +0 -18
  53. package/dist/stream-helper/decoder.js.map +0 -1
  54. package/src/stream-helper/decoder.ts +0 -21
@@ -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":"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"}
package/dist/index.d.ts CHANGED
@@ -1,12 +1,12 @@
1
- import type { EncodeOptions } from './options.js';
1
+ import type { EncodeOptions, DecodeOptions } from './options.js';
2
2
  export { UnexpectedEofError as UnexpectedEof } from './helper/errors.js';
3
- export type { EncodeOptions };
3
+ export type { EncodeOptions, DecodeOptions };
4
4
  /** 编码为 UBJSON */
5
5
  export declare function encode(value: unknown, options?: EncodeOptions): Uint8Array;
6
6
  /** 编码为 UBJSON */
7
7
  export declare function encodeMany(value: Iterable<unknown>, options?: EncodeOptions): Uint8Array;
8
8
  /** 解码 UBJSON */
9
- export declare function decode(value: BinaryData): unknown;
9
+ export declare function decode(value: BinaryData, options?: DecodeOptions): unknown;
10
10
  /** 解码 UBJSON */
11
- export declare function decodeMany(value: BinaryData): Iterable<unknown>;
11
+ export declare function decodeMany(value: BinaryData, options?: DecodeOptions): Iterable<unknown>;
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAAE,kBAAkB,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACzE,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B,iBAAiB;AACjB,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,UAAU,CAE1E;AAED,iBAAiB;AACjB,wBAAgB,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,UAAU,CAExF;AAED,gBAAgB;AAChB,wBAAgB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAGjD;AAED,gBAAgB;AAChB,wBAAiB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,CAKhE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAEjE,OAAO,EAAE,kBAAkB,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACzE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC;AAE7C,iBAAiB;AACjB,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,UAAU,CAE1E;AAED,iBAAiB;AACjB,wBAAgB,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,UAAU,CAExF;AAED,gBAAgB;AAChB,wBAAgB,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAG1E;AAED,gBAAgB;AAChB,wBAAiB,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,CAKzF"}
package/dist/index.js CHANGED
@@ -10,13 +10,13 @@ export function encodeMany(value, options) {
10
10
  return getEncoder(options).encodeMany(value);
11
11
  }
12
12
  /** 解码 UBJSON */
13
- export function decode(value) {
14
- const decoder = new Decoder(value);
13
+ export function decode(value, options) {
14
+ const decoder = new Decoder(value, options);
15
15
  return decoder.decode();
16
16
  }
17
17
  /** 解码 UBJSON */
18
- export function* decodeMany(value) {
19
- const decoder = new Decoder(value);
18
+ export function* decodeMany(value, options) {
19
+ const decoder = new Decoder(value, options);
20
20
  while (!decoder.ended) {
21
21
  yield decoder.decode();
22
22
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,EAAE,kBAAkB,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGzE,iBAAiB;AACjB,MAAM,UAAU,MAAM,CAAC,KAAc,EAAE,OAAuB;IAC1D,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC7C,CAAC;AAED,iBAAiB;AACjB,MAAM,UAAU,UAAU,CAAC,KAAwB,EAAE,OAAuB;IACxE,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACjD,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,MAAM,CAAC,KAAiB;IACpC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;IACnC,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;AAC5B,CAAC;AAED,gBAAgB;AAChB,MAAM,SAAS,CAAC,CAAC,UAAU,CAAC,KAAiB;IACzC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;IACnC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACpB,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,EAAE,kBAAkB,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGzE,iBAAiB;AACjB,MAAM,UAAU,MAAM,CAAC,KAAc,EAAE,OAAuB;IAC1D,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC7C,CAAC;AAED,iBAAiB;AACjB,MAAM,UAAU,UAAU,CAAC,KAAwB,EAAE,OAAuB;IACxE,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACjD,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,MAAM,CAAC,KAAiB,EAAE,OAAuB;IAC7D,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5C,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;AAC5B,CAAC;AAED,gBAAgB;AAChB,MAAM,SAAS,CAAC,CAAC,UAAU,CAAC,KAAiB,EAAE,OAAuB;IAClE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5C,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACpB,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC;AACL,CAAC"}
package/dist/options.d.ts CHANGED
@@ -1,6 +1,22 @@
1
1
  /** 序列化选项 */
2
2
  export interface EncodeOptions {
3
- /** 序列化对象时排序属性 */
3
+ /**
4
+ * 序列化对象时排序属性
5
+ * @default false
6
+ */
4
7
  sortObjectKeys?: boolean;
5
8
  }
9
+ /** 反序列化选项 */
10
+ export interface DecodeOptions {
11
+ /**
12
+ * 解析对象时对 `__proto__` 属性的处理方式
13
+ * @default 'remove'
14
+ */
15
+ protoAction?: 'error' | 'allow' | 'remove';
16
+ /**
17
+ * 解析对象时对 `constructor` 属性的处理方式
18
+ * @default 'allow'
19
+ */
20
+ constructorAction?: 'error' | 'allow' | 'remove';
21
+ }
6
22
  //# sourceMappingURL=options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA,YAAY;AACZ,MAAM,WAAW,aAAa;IAC1B,iBAAiB;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA,YAAY;AACZ,MAAM,WAAW,aAAa;IAC1B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,aAAa;AACb,MAAM,WAAW,aAAa;IAC1B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC3C;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;CACpD"}
@@ -1,4 +1,5 @@
1
1
  import { type OperatorFunction } from 'rxjs';
2
+ import type { DecodeOptions } from '../options.js';
2
3
  /** 流式解码 UBJSON */
3
- export declare function decode(): OperatorFunction<BinaryData, unknown>;
4
+ export declare function decode(options?: DecodeOptions): OperatorFunction<BinaryData, unknown>;
4
5
  //# sourceMappingURL=decoder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../../src/rxjs/decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,MAAM,CAAC;AAQzD,kBAAkB;AAClB,wBAAgB,MAAM,IAAI,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAuF9D"}
1
+ {"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../../src/rxjs/decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,MAAM,CAAC;AAGzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAMnD,kBAAkB;AAClB,wBAAgB,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAuFrF"}
@@ -1,99 +1,98 @@
1
1
  import { Observable } from 'rxjs';
2
- import { UnexpectedEof } from '../stream-helper/decoder.js';
3
2
  import { toUint8Array } from '../helper/utils.js';
4
3
  import { read } from '../helper/decode-ae.js';
4
+ import { UnexpectedEofError } from '../helper/errors.js';
5
5
  const EMPTY_BUFFER = new Uint8Array(0);
6
6
  const EMPTY_VIEW = new DataView(EMPTY_BUFFER.buffer);
7
7
  /** 流式解码 UBJSON */
8
- export function decode() {
9
- return (observable) => {
10
- return new Observable((subscriber) => {
11
- const data = EMPTY_BUFFER;
12
- const cursor = {
13
- view: EMPTY_VIEW,
14
- data,
15
- capacity: 0,
16
- size: 0,
17
- offset: 0,
18
- };
19
- /** reader 返回的还需接收的字节数 */
20
- let required = 1;
21
- let reader = read(cursor);
22
- return observable.subscribe({
23
- next(value) {
24
- const chunk = toUint8Array(value);
25
- const chunkSize = chunk.byteLength;
26
- if (cursor.capacity - cursor.size < chunkSize) {
27
- // 当前缓冲区不足,需要扩容
28
- const newSize = Math.max(
29
- // 不缩小缓冲区
30
- cursor.capacity,
31
- // 扩大缓冲区到足够容纳 2 倍当前数据
32
- chunkSize * 2 + cursor.size - cursor.offset);
33
- if (newSize > cursor.capacity) {
34
- // 需要增大缓冲区
35
- const newData = new Uint8Array(newSize);
36
- newData.set(cursor.data.subarray(cursor.offset, cursor.size), 0);
37
- newData.set(chunk, cursor.size - cursor.offset);
38
- cursor.data = newData;
39
- cursor.view = new DataView(newData.buffer, newData.byteOffset, newData.byteLength);
40
- cursor.capacity = newSize;
41
- }
42
- else {
43
- // 无需增大缓冲区,直接移动数据
44
- cursor.data.copyWithin(0, cursor.offset, cursor.size);
45
- cursor.data.set(chunk, cursor.size - cursor.offset);
46
- }
47
- cursor.size = cursor.size - cursor.offset + chunkSize;
48
- cursor.offset = 0;
8
+ export function decode(options) {
9
+ return (observable) => new Observable((subscriber) => {
10
+ const data = EMPTY_BUFFER;
11
+ const cursor = {
12
+ view: EMPTY_VIEW,
13
+ data,
14
+ capacity: 0,
15
+ size: 0,
16
+ offset: 0,
17
+ options,
18
+ };
19
+ /** reader 返回的还需接收的字节数 */
20
+ let required = 1;
21
+ let reader = read(cursor);
22
+ return observable.subscribe({
23
+ next(value) {
24
+ const chunk = toUint8Array(value);
25
+ const chunkSize = chunk.byteLength;
26
+ if (cursor.capacity - cursor.size < chunkSize) {
27
+ // 当前缓冲区不足,需要扩容
28
+ const newSize = Math.max(
29
+ // 不缩小缓冲区
30
+ cursor.capacity,
31
+ // 扩大缓冲区到足够容纳 2 倍当前数据
32
+ chunkSize * 2 + cursor.size - cursor.offset);
33
+ if (newSize > cursor.capacity) {
34
+ // 需要增大缓冲区
35
+ const newData = new Uint8Array(newSize);
36
+ newData.set(cursor.data.subarray(cursor.offset, cursor.size), 0);
37
+ newData.set(chunk, cursor.size - cursor.offset);
38
+ cursor.data = newData;
39
+ cursor.view = new DataView(newData.buffer, newData.byteOffset, newData.byteLength);
40
+ cursor.capacity = newSize;
49
41
  }
50
42
  else {
51
- // 当前缓冲区足够,直接写入
52
- cursor.data.set(chunk, cursor.size);
53
- cursor.size += chunkSize;
43
+ // 无需增大缓冲区,直接移动数据
44
+ cursor.data.copyWithin(0, cursor.offset, cursor.size);
45
+ cursor.data.set(chunk, cursor.size - cursor.offset);
54
46
  }
55
- required -= chunkSize;
56
- // 未读够数据,继续等待
57
- if (required > 0)
58
- return;
59
- try {
60
- for (;;) {
61
- const result = reader.next();
62
- if (result.done) {
63
- // 读取完成,新建 reader 读取下一个值
64
- subscriber.next(result.value);
65
- reader = read(cursor);
66
- if (cursor.offset === cursor.size) {
67
- break;
68
- }
69
- }
70
- else {
71
- required = result.value;
47
+ cursor.size = cursor.size - cursor.offset + chunkSize;
48
+ cursor.offset = 0;
49
+ }
50
+ else {
51
+ // 当前缓冲区足够,直接写入
52
+ cursor.data.set(chunk, cursor.size);
53
+ cursor.size += chunkSize;
54
+ }
55
+ required -= chunkSize;
56
+ // 未读够数据,继续等待
57
+ if (required > 0)
58
+ return;
59
+ try {
60
+ for (;;) {
61
+ const result = reader.next();
62
+ if (result.done) {
63
+ // 读取完成,新建 reader 读取下一个值
64
+ subscriber.next(result.value);
65
+ reader = read(cursor);
66
+ if (cursor.offset === cursor.size) {
72
67
  break;
73
68
  }
74
69
  }
70
+ else {
71
+ required = result.value;
72
+ break;
73
+ }
75
74
  }
76
- catch (ex) {
77
- subscriber.error(ex);
78
- }
79
- },
80
- error(err) {
81
- subscriber.error(err);
82
- cursor.data = EMPTY_BUFFER;
83
- cursor.view = EMPTY_VIEW;
84
- },
85
- complete() {
86
- if (cursor.size > cursor.offset) {
87
- subscriber.error(new UnexpectedEof());
88
- }
89
- else {
90
- subscriber.complete();
91
- }
92
- cursor.data = EMPTY_BUFFER;
93
- cursor.view = EMPTY_VIEW;
94
- },
95
- });
75
+ }
76
+ catch (ex) {
77
+ subscriber.error(ex);
78
+ }
79
+ },
80
+ error(err) {
81
+ subscriber.error(err);
82
+ cursor.data = EMPTY_BUFFER;
83
+ cursor.view = EMPTY_VIEW;
84
+ },
85
+ complete() {
86
+ if (cursor.size > cursor.offset) {
87
+ subscriber.error(new UnexpectedEofError());
88
+ }
89
+ else {
90
+ subscriber.complete();
91
+ }
92
+ cursor.data = EMPTY_BUFFER;
93
+ cursor.view = EMPTY_VIEW;
94
+ },
96
95
  });
97
- };
96
+ });
98
97
  }
99
98
  //# sourceMappingURL=decoder.js.map
@@ -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,5 +1,5 @@
1
1
  export { encode } from './encoder.js';
2
2
  export { decode } from './decoder.js';
3
3
  export { UnexpectedEofError as UnexpectedEof } from '../helper/errors.js';
4
- export type { EncodeOptions } from '../options.js';
4
+ export type { EncodeOptions, DecodeOptions } from '../options.js';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rxjs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,kBAAkB,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC1E,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rxjs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,kBAAkB,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC1E,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import { Transform, type TransformCallback } from 'node:stream';
2
+ import type { DecodeOptions } from '../options.js';
2
3
  /** 流式解码 UBJSON */
3
4
  export declare class StreamDecoder extends Transform {
4
- constructor();
5
+ constructor(options?: DecodeOptions);
5
6
  private readonly buffer;
6
7
  private callback?;
7
8
  /** @inheritdoc */
@@ -1 +1 @@
1
- {"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../../src/stream/decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAIhE,kBAAkB;AAClB,qBAAa,aAAc,SAAQ,SAAS;;IA2BxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,CAAoB;IAErC,kBAAkB;IACT,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IASxF,kBAAkB;IACT,MAAM,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;CAQrD"}
1
+ {"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../../src/stream/decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,kBAAkB;AAClB,qBAAa,aAAc,SAAQ,SAAS;gBAC5B,OAAO,CAAC,EAAE,aAAa;IA0BnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,CAAoB;IAErC,kBAAkB;IACT,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IASxF,kBAAkB;IACT,MAAM,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;CAQrD"}
@@ -3,13 +3,13 @@ import { Subject } from 'rxjs';
3
3
  import { decode } from '../rxjs/decoder.js';
4
4
  /** 流式解码 UBJSON */
5
5
  export class StreamDecoder extends Transform {
6
- constructor() {
6
+ constructor(options) {
7
7
  super({
8
8
  readableObjectMode: true,
9
9
  writableObjectMode: false,
10
10
  });
11
11
  this.buffer = new Subject();
12
- this.buffer.pipe(decode()).subscribe({
12
+ this.buffer.pipe(decode(options)).subscribe({
13
13
  next: (value) => {
14
14
  // null is not allowed in a stream
15
15
  if (value == null)
@@ -1 +1 @@
1
- {"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../src/stream/decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA0B,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,kBAAkB;AAClB,MAAM,OAAO,aAAc,SAAQ,SAAS;IACxC;QACI,KAAK,CAAC;YACF,kBAAkB,EAAE,IAAI;YACxB,kBAAkB,EAAE,KAAK;SAC5B,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,OAAO,EAAc,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC;YACjC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;gBACZ,kCAAkC;gBAClC,IAAI,KAAK,IAAI,IAAI;oBAAE,OAAO;gBAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;YACD,KAAK,EAAE,CAAC,GAAU,EAAE,EAAE;gBAClB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBACnB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;oBAC1B,qCAAqC;gBACzC,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACtB,CAAC;YACL,CAAC;YACD,QAAQ,EAAE,GAAG,EAAE;gBACX,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;IACgB,MAAM,CAAC;IAChB,QAAQ,CAAqB;IAErC,kBAAkB;IACT,UAAU,CAAC,KAAa,EAAE,CAAiB,EAAE,QAA2B;QAC7E,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,QAAQ,EAAE,CAAC;YACX,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC9B,CAAC;IACL,CAAC;IAED,kBAAkB;IACT,MAAM,CAAC,QAA2B;QACvC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,QAAQ,EAAE,CAAC;YACX,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC9B,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../src/stream/decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA0B,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG5C,kBAAkB;AAClB,MAAM,OAAO,aAAc,SAAQ,SAAS;IACxC,YAAY,OAAuB;QAC/B,KAAK,CAAC;YACF,kBAAkB,EAAE,IAAI;YACxB,kBAAkB,EAAE,KAAK;SAC5B,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,OAAO,EAAc,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YACxC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;gBACZ,kCAAkC;gBAClC,IAAI,KAAK,IAAI,IAAI;oBAAE,OAAO;gBAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;YACD,KAAK,EAAE,CAAC,GAAU,EAAE,EAAE;gBAClB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBACnB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;oBAC1B,qCAAqC;gBACzC,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACtB,CAAC;YACL,CAAC;YACD,QAAQ,EAAE,GAAG,EAAE;gBACX,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;IACgB,MAAM,CAAC;IAChB,QAAQ,CAAqB;IAErC,kBAAkB;IACT,UAAU,CAAC,KAAa,EAAE,CAAiB,EAAE,QAA2B;QAC7E,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,QAAQ,EAAE,CAAC;YACX,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC9B,CAAC;IACL,CAAC;IAED,kBAAkB;IACT,MAAM,CAAC,QAA2B;QACvC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,QAAQ,EAAE,CAAC;YACX,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC9B,CAAC;IACL,CAAC;CACJ"}
@@ -1,7 +1,7 @@
1
1
  import { Readable, type Transform } from 'node:stream';
2
- import type { EncodeOptions } from '../options.js';
2
+ import type { EncodeOptions, DecodeOptions } from '../options.js';
3
3
  export { UnexpectedEofError as UnexpectedEof } from '../helper/errors.js';
4
- export type { EncodeOptions };
4
+ export type { EncodeOptions, DecodeOptions };
5
5
  /** 编码为 UBJSON */
6
6
  export declare function encode(value: unknown, options?: EncodeOptions): Readable;
7
7
  /** 编码为 UBJSON */
@@ -9,9 +9,9 @@ export declare function encodeMany(value: AsyncIterable<unknown>, options?: Enco
9
9
  /** 编码为 UBJSON */
10
10
  export declare function encoder(options?: EncodeOptions): Transform;
11
11
  /** 解码 UBJSON */
12
- export declare function decode(stream: NodeJS.ReadableStream): Promise<unknown>;
12
+ export declare function decode(stream: NodeJS.ReadableStream, options?: DecodeOptions): Promise<unknown>;
13
13
  /** 解码 UBJSON */
14
- export declare function decodeMany(stream: NodeJS.ReadableStream): AsyncIterable<unknown>;
14
+ export declare function decodeMany(stream: NodeJS.ReadableStream, options?: DecodeOptions): AsyncIterable<unknown>;
15
15
  /** 解码 UBJSON */
16
- export declare function decoder(): Transform;
16
+ export declare function decoder(options?: DecodeOptions): Transform;
17
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/stream/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAGvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,kBAAkB,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC1E,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B,iBAAiB;AACjB,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,QAAQ,CAQxE;AACD,iBAAiB;AACjB,wBAAgB,UAAU,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,QAAQ,CAc3F;AAED,iBAAiB;AACjB,wBAAgB,OAAO,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAE1D;AAED,gBAAgB;AAChB,wBAAsB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAQ5E;AAED,gBAAgB;AAChB,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC,CAGhF;AAED,gBAAgB;AAChB,wBAAgB,OAAO,IAAI,SAAS,CAEnC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/stream/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAGvD,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAElE,OAAO,EAAE,kBAAkB,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC1E,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC;AAE7C,iBAAiB;AACjB,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,QAAQ,CAQxE;AACD,iBAAiB;AACjB,wBAAgB,UAAU,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,QAAQ,CAc3F;AAED,iBAAiB;AACjB,wBAAgB,OAAO,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAE1D;AAED,gBAAgB;AAChB,wBAAsB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAQrG;AAED,gBAAgB;AAChB,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,CAGzG;AAED,gBAAgB;AAChB,wBAAgB,OAAO,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAE1D"}
@@ -36,9 +36,9 @@ export function encoder(options) {
36
36
  return new StreamEncoder(options);
37
37
  }
38
38
  /** 解码 UBJSON */
39
- export async function decode(stream) {
39
+ export async function decode(stream, options) {
40
40
  return new Promise((resolve, reject) => {
41
- const decoder = new StreamDecoder();
41
+ const decoder = new StreamDecoder(options);
42
42
  decoder.on('error', reject);
43
43
  decoder.on('end', resolve);
44
44
  decoder.on('data', resolve);
@@ -46,12 +46,12 @@ export async function decode(stream) {
46
46
  });
47
47
  }
48
48
  /** 解码 UBJSON */
49
- export function decodeMany(stream) {
50
- const decoder = new StreamDecoder();
49
+ export function decodeMany(stream, options) {
50
+ const decoder = new StreamDecoder(options);
51
51
  return stream.pipe(decoder);
52
52
  }
53
53
  /** 解码 UBJSON */
54
- export function decoder() {
55
- return new StreamDecoder();
54
+ export function decoder(options) {
55
+ return new StreamDecoder(options);
56
56
  }
57
57
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/stream/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAkB,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,OAAO,EAAE,kBAAkB,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAG1E,iBAAiB;AACjB,MAAM,UAAU,MAAM,CAAC,KAAc,EAAE,OAAuB;IAC1D,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAChB,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;IAC3C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,OAAO,CAAC;AACnB,CAAC;AACD,iBAAiB;AACjB,MAAM,UAAU,UAAU,CAAC,KAA6B,EAAE,OAAuB;IAC7E,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;IAC3C,KAAK,CAAC,KAAK,IAAI,EAAE;QACb,IAAI,CAAC;YACD,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBAC1B,IAAI,CAAC,IAAI,IAAI;oBAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;;oBACnC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1B,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACV,OAAO,CAAC,OAAO,CAAC,EAAW,CAAC,CAAC;QACjC,CAAC;IACL,CAAC,CAAC,EAAE,CAAC;IACL,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,iBAAiB;AACjB,MAAM,UAAU,OAAO,CAAC,OAAuB;IAC3C,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AAED,gBAAgB;AAChB,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,MAA6B;IACtD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,MAAM,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;QACpC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3B,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,UAAU,CAAC,MAA6B;IACpD,MAAM,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;IACpC,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,OAAO;IACnB,OAAO,IAAI,aAAa,EAAE,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/stream/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAkB,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,OAAO,EAAE,kBAAkB,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAG1E,iBAAiB;AACjB,MAAM,UAAU,MAAM,CAAC,KAAc,EAAE,OAAuB;IAC1D,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAChB,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;IAC3C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,OAAO,CAAC;AACnB,CAAC;AACD,iBAAiB;AACjB,MAAM,UAAU,UAAU,CAAC,KAA6B,EAAE,OAAuB;IAC7E,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;IAC3C,KAAK,CAAC,KAAK,IAAI,EAAE;QACb,IAAI,CAAC;YACD,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBAC1B,IAAI,CAAC,IAAI,IAAI;oBAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;;oBACnC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1B,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACV,OAAO,CAAC,OAAO,CAAC,EAAW,CAAC,CAAC;QACjC,CAAC;IACL,CAAC,CAAC,EAAE,CAAC;IACL,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,iBAAiB;AACjB,MAAM,UAAU,OAAO,CAAC,OAAuB;IAC3C,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AAED,gBAAgB;AAChB,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,MAA6B,EAAE,OAAuB;IAC/E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;QAC3C,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3B,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,UAAU,CAAC,MAA6B,EAAE,OAAuB;IAC7E,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;IAC3C,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,OAAO,CAAC,OAAuB;IAC3C,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudpss/ubjson",
3
- "version": "0.5.41",
3
+ "version": "0.5.42",
4
4
  "author": "CloudPSS",
5
5
  "license": "MIT",
6
6
  "keywords": [
@@ -20,7 +20,7 @@
20
20
  "./helper/*": "./dist/helper/*.js"
21
21
  },
22
22
  "devDependencies": {
23
- "@types/lodash": "^4.17.7",
23
+ "@types/lodash": "^4.17.13",
24
24
  "lodash": "^4.17.21",
25
25
  "ref-impl": "npm:@cloudpss/ubjson@0.5.40"
26
26
  },
@@ -1,10 +1,14 @@
1
1
  import { type DecodeCursor, readData, readMarkerOrUndefined } from '../helper/decode.js';
2
2
  import { toUint8Array } from '../helper/utils.js';
3
3
  import { UnexpectedEofError } from '../helper/errors.js';
4
+ import type { DecodeOptions } from '../options.js';
4
5
 
5
6
  /** decoder */
6
7
  export class DecoderBase {
7
- constructor(data: BinaryData) {
8
+ constructor(
9
+ data: BinaryData,
10
+ readonly options?: DecodeOptions,
11
+ ) {
8
12
  this.data = toUint8Array(data);
9
13
  this.view = new DataView(this.data.buffer, this.data.byteOffset, this.data.byteLength);
10
14
  }
@@ -1,8 +1,9 @@
1
+ import type { DecodeOptions } from '../options.js';
1
2
  import { constants } from './constants.js';
3
+ import { protoAction, constructorAction } from './decode.js';
2
4
  import { unsupportedType } from './errors.js';
3
5
  import { decode } from './string-decoder.js';
4
6
  import { toUint8Array } from './utils.js';
5
- const { defineProperty } = Object;
6
7
  const { fromCharCode } = String;
7
8
 
8
9
  /**
@@ -21,10 +22,12 @@ export interface DecodeCursorAe {
21
22
  readonly size: number;
22
23
  /** 当前读指针位置 */
23
24
  offset: number;
25
+ /** 选项 */
26
+ readonly options: DecodeOptions | undefined;
24
27
  }
25
28
 
26
29
  /** 创建数据包装 */
27
- export function DecodeCursor(data: BinaryData): DecodeCursorAe {
30
+ export function DecodeCursor(data: BinaryData, options?: DecodeOptions): DecodeCursorAe {
28
31
  const d = toUint8Array(data);
29
32
  const v = new DataView(d.buffer, d.byteOffset, d.byteLength);
30
33
  return {
@@ -32,6 +35,7 @@ export function DecodeCursor(data: BinaryData): DecodeCursorAe {
32
35
  view: v,
33
36
  size: v.byteLength,
34
37
  offset: 0,
38
+ options,
35
39
  };
36
40
  }
37
41
 
@@ -172,7 +176,12 @@ function* readObjectOptimizedData(cursor: DecodeCursorAe, marker: OptimizedForma
172
176
  const key = yield* readKey(cursor);
173
177
  const value = yield* readData(cursor, type ?? (yield* readMarker(cursor)));
174
178
  if (key === '__proto__') {
175
- defineProperty(object, key, { value, enumerable: true, configurable: true, writable: true });
179
+ protoAction(cursor, object, value);
180
+ continue;
181
+ }
182
+ if (key === 'constructor') {
183
+ constructorAction(cursor, object, value);
184
+ continue;
176
185
  }
177
186
  object[key] = value;
178
187
  }
@@ -328,12 +337,12 @@ export function* readData(cursor: DecodeCursorAe, marker: number): DecodeFuncAe<
328
337
  } while (valueMarker === constants.NO_OP);
329
338
  const value = yield* readData(cursor, valueMarker);
330
339
  if (key === '__proto__') {
331
- defineProperty(object, key, {
332
- value,
333
- enumerable: true,
334
- configurable: true,
335
- writable: true,
336
- });
340
+ protoAction(cursor, object, value);
341
+ continue;
342
+ }
343
+ if (key === 'constructor') {
344
+ constructorAction(cursor, object, value);
345
+ continue;
337
346
  }
338
347
  object[key] = value;
339
348
  }