@cloudpss/ubjson 0.5.36 → 0.5.38

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 (91) hide show
  1. package/dist/base/decoder.d.ts +12 -0
  2. package/dist/base/decoder.js +26 -0
  3. package/dist/base/decoder.js.map +1 -0
  4. package/dist/{common → base}/encoder.d.ts +2 -6
  5. package/dist/{common → base}/encoder.js +71 -121
  6. package/dist/base/encoder.js.map +1 -0
  7. package/dist/decoder.d.ts +1 -2
  8. package/dist/decoder.js +1 -1
  9. package/dist/decoder.js.map +1 -1
  10. package/dist/encoder.d.ts +1 -1
  11. package/dist/encoder.js +11 -11
  12. package/dist/encoder.js.map +1 -1
  13. package/dist/{common → helper}/constants.js.map +1 -1
  14. package/dist/helper/decode.d.ts +49 -0
  15. package/dist/helper/decode.js +344 -0
  16. package/dist/helper/decode.js.map +1 -0
  17. package/dist/helper/encode.d.ts +20 -0
  18. package/dist/helper/encode.js +84 -0
  19. package/dist/helper/encode.js.map +1 -0
  20. package/dist/{common → helper}/errors.d.ts +4 -0
  21. package/dist/{common → helper}/errors.js +10 -2
  22. package/dist/helper/errors.js.map +1 -0
  23. package/dist/{common → helper}/string-decoder.js +1 -1
  24. package/dist/{common → helper}/string-decoder.js.map +1 -1
  25. package/dist/{common → helper}/string-encoder.js.map +1 -1
  26. package/dist/{utils.d.ts → helper/utils.d.ts} +0 -4
  27. package/dist/{utils.js → helper/utils.js} +0 -6
  28. package/dist/helper/utils.js.map +1 -0
  29. package/dist/index.d.ts +3 -5
  30. package/dist/index.js +5 -5
  31. package/dist/index.js.map +1 -1
  32. package/dist/rxjs/decoder.js +1 -1
  33. package/dist/rxjs/decoder.js.map +1 -1
  34. package/dist/rxjs/index.d.ts +1 -1
  35. package/dist/rxjs/index.js +1 -1
  36. package/dist/rxjs/index.js.map +1 -1
  37. package/dist/stream/index.d.ts +2 -2
  38. package/dist/stream/index.js +2 -2
  39. package/dist/stream/index.js.map +1 -1
  40. package/dist/stream-helper/decoder.d.ts +2 -3
  41. package/dist/stream-helper/decoder.js +3 -6
  42. package/dist/stream-helper/decoder.js.map +1 -1
  43. package/dist/stream-helper/encoder.d.ts +1 -1
  44. package/dist/stream-helper/encoder.js +15 -15
  45. package/dist/stream-helper/encoder.js.map +1 -1
  46. package/package.json +4 -4
  47. package/src/base/decoder.ts +27 -0
  48. package/src/{common → base}/encoder.ts +72 -116
  49. package/src/decoder.ts +1 -2
  50. package/src/encoder.ts +11 -11
  51. package/src/helper/decode.ts +362 -0
  52. package/src/helper/encode.ts +89 -0
  53. package/src/{common → helper}/errors.ts +12 -2
  54. package/src/{common → helper}/string-decoder.ts +1 -1
  55. package/src/{utils.ts → helper/utils.ts} +0 -7
  56. package/src/index.ts +6 -8
  57. package/src/rxjs/decoder.ts +1 -1
  58. package/src/rxjs/index.ts +1 -1
  59. package/src/stream/index.ts +3 -3
  60. package/src/stream-helper/decoder.ts +3 -6
  61. package/src/stream-helper/encoder.ts +16 -16
  62. package/tests/.utils.js +6 -4
  63. package/tests/decode.js +0 -18
  64. package/tests/e2e/no-encode-into.js +1 -1
  65. package/tests/encode.js +1 -1
  66. package/tests/huge-string.js +1 -0
  67. package/tests/rxjs/decode.js +14 -13
  68. package/tests/rxjs/encode.js +13 -12
  69. package/tests/stream/decode.js +15 -13
  70. package/tests/stream/encode.js +9 -8
  71. package/tests/stream/many.js +2 -1
  72. package/tests/string-encoding.js +4 -6
  73. package/benchmark-small.js +0 -81
  74. package/benchmark-string-decode.js +0 -41
  75. package/benchmark-string-encode.js +0 -32
  76. package/benchmark-string-size-caculation.js +0 -50
  77. package/benchmark.js +0 -50
  78. package/dist/common/decoder.d.ts +0 -45
  79. package/dist/common/decoder.js +0 -348
  80. package/dist/common/decoder.js.map +0 -1
  81. package/dist/common/encoder.js.map +0 -1
  82. package/dist/common/errors.js.map +0 -1
  83. package/dist/utils.js.map +0 -1
  84. package/src/common/decoder.ts +0 -356
  85. /package/dist/{common → helper}/constants.d.ts +0 -0
  86. /package/dist/{common → helper}/constants.js +0 -0
  87. /package/dist/{common → helper}/string-decoder.d.ts +0 -0
  88. /package/dist/{common → helper}/string-encoder.d.ts +0 -0
  89. /package/dist/{common → helper}/string-encoder.js +0 -0
  90. /package/src/{common → helper}/constants.ts +0 -0
  91. /package/src/{common → helper}/string-encoder.ts +0 -0
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { getEncoder } from './encoder.js';
2
2
  import { Decoder } from './decoder.js';
3
- export { UnexpectedEof } from './utils.js';
3
+ export { UnexpectedEofError as UnexpectedEof } from './helper/errors.js';
4
4
  /** 编码为 UBJSON */
5
5
  export function encode(value) {
6
6
  return getEncoder().encode(value);
@@ -10,13 +10,13 @@ export function encodeMany(value) {
10
10
  return getEncoder().encodeMany(value);
11
11
  }
12
12
  /** 解码 UBJSON */
13
- export function decode(value, options) {
14
- const decoder = new Decoder(value, options);
13
+ export function decode(value) {
14
+ const decoder = new Decoder(value);
15
15
  return decoder.decode();
16
16
  }
17
17
  /** 解码 UBJSON */
18
- export function* decodeMany(value, options) {
19
- const decoder = new Decoder(value, options);
18
+ export function* decodeMany(value) {
19
+ const decoder = new Decoder(value);
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,EAAuB,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAI3C,iBAAiB;AACjB,MAAM,UAAU,MAAM,CAAC,KAAc;IACjC,OAAO,UAAU,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC;AAED,iBAAiB;AACjB,MAAM,UAAU,UAAU,CAAC,KAAwB;IAC/C,OAAO,UAAU,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAC1C,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,MAAM,CAAC,KAAiB,EAAE,OAAwB;IAC9D,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,OAAwB;IACnE,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"}
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;AACvC,OAAO,EAAE,kBAAkB,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEzE,iBAAiB;AACjB,MAAM,UAAU,MAAM,CAAC,KAAc;IACjC,OAAO,UAAU,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC;AAED,iBAAiB;AACjB,MAAM,UAAU,UAAU,CAAC,KAAwB;IAC/C,OAAO,UAAU,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAC1C,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,6 +1,6 @@
1
1
  import { Observable } from 'rxjs';
2
2
  import { StreamDecoderHelper, kEof, UnexpectedEof } from '../stream-helper/decoder.js';
3
- import { toUint8Array } from '../utils.js';
3
+ import { toUint8Array } from '../helper/utils.js';
4
4
  const DEFAULT_BUFFER_SIZE = 16 * 1024 * 1024; // 16 MiB
5
5
  const EMPTY_BUFFER = new Uint8Array(0);
6
6
  /** 流式解码 UBJSON */
@@ -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,3 +1,3 @@
1
1
  export { encode } from './encoder.js';
2
2
  export { decode } from './decoder.js';
3
- export { UnexpectedEof } from '../utils.js';
3
+ export { UnexpectedEofError as UnexpectedEof } from '../helper/errors.js';
@@ -1,4 +1,4 @@
1
1
  export { encode } from './encoder.js';
2
2
  export { decode } from './decoder.js';
3
- export { UnexpectedEof } from '../utils.js';
3
+ export { UnexpectedEofError as UnexpectedEof } from '../helper/errors.js';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","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,aAAa,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","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"}
@@ -1,5 +1,5 @@
1
- import { Readable, Transform } from 'node:stream';
2
- export { UnexpectedEof } from '../utils.js';
1
+ import { Readable, type Transform } from 'node:stream';
2
+ export { UnexpectedEofError as UnexpectedEof } from '../helper/errors.js';
3
3
  /** 编码为 UBJSON */
4
4
  export declare function encode(value: unknown): Readable;
5
5
  /** 编码为 UBJSON */
@@ -1,7 +1,7 @@
1
1
  import { Readable } from 'node:stream';
2
2
  import { StreamEncoder } from './encoder.js';
3
3
  import { StreamDecoder } from './decoder.js';
4
- export { UnexpectedEof } from '../utils.js';
4
+ export { UnexpectedEofError as UnexpectedEof } from '../helper/errors.js';
5
5
  /** 编码为 UBJSON */
6
6
  export function encode(value) {
7
7
  if (value == null) {
@@ -36,7 +36,7 @@ export function encoder() {
36
36
  return new StreamEncoder();
37
37
  }
38
38
  /** 解码 UBJSON */
39
- export function decode(stream) {
39
+ export async function decode(stream) {
40
40
  return new Promise((resolve, reject) => {
41
41
  const decoder = new StreamDecoder();
42
42
  decoder.on('error', reject);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/stream/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAa,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,iBAAiB;AACjB,MAAM,UAAU,MAAM,CAAC,KAAc;IACjC,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,EAAE,CAAC;IACpC,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;IACpD,MAAM,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;IACpC,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;IACnB,OAAO,IAAI,aAAa,EAAE,CAAC;AAC/B,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,MAAM,CAAC,MAA6B;IAChD,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;AAE7C,OAAO,EAAE,kBAAkB,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE1E,iBAAiB;AACjB,MAAM,UAAU,MAAM,CAAC,KAAc;IACjC,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,EAAE,CAAC;IACpC,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;IACpD,MAAM,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;IACpC,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;IACnB,OAAO,IAAI,aAAa,EAAE,CAAC;AAC/B,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,12 +1,11 @@
1
- import { DecoderBase } from '../common/decoder.js';
1
+ import { DecoderBase } from '../base/decoder.js';
2
2
  /** 未结束的流 */
3
3
  export declare const kEof: unique symbol;
4
4
  /** 流式解码 UBJSON */
5
5
  export declare class StreamDecoderHelper extends DecoderBase {
6
- constructor(data: Uint8Array);
7
6
  /** @inheritdoc */
8
7
  protected eof(): never;
9
8
  /** 读取的字节数 */
10
9
  get readLength(): number;
11
10
  }
12
- export { UnexpectedEof } from '../utils.js';
11
+ export { UnexpectedEofError as UnexpectedEof } from '../helper/errors.js';
@@ -1,15 +1,12 @@
1
- import { DecoderBase } from '../common/decoder.js';
1
+ import { DecoderBase } from '../base/decoder.js';
2
2
  /** 未结束的流 */
3
3
  export const kEof = Symbol('EOF');
4
4
  /** 流式解码 UBJSON */
5
5
  export class StreamDecoderHelper extends DecoderBase {
6
- constructor(data) {
7
- super(data);
8
- }
9
6
  /** @inheritdoc */
10
7
  eof() {
11
8
  // 性能优化,避免 new Error 的开销
12
- // eslint-disable-next-line @typescript-eslint/no-throw-literal
9
+ // eslint-disable-next-line @typescript-eslint/only-throw-error
13
10
  throw kEof;
14
11
  }
15
12
  /** 读取的字节数 */
@@ -17,5 +14,5 @@ export class StreamDecoderHelper extends DecoderBase {
17
14
  return this.offset;
18
15
  }
19
16
  }
20
- export { UnexpectedEof } from '../utils.js';
17
+ export { UnexpectedEofError as UnexpectedEof } from '../helper/errors.js';
21
18
  //# sourceMappingURL=decoder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../src/stream-helper/decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,YAAY;AACZ,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AAElC,kBAAkB;AAClB,MAAM,OAAO,mBAAoB,SAAQ,WAAW;IAChD,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"}
1
+ {"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../src/stream-helper/decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,YAAY;AACZ,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AAElC,kBAAkB;AAClB,MAAM,OAAO,mBAAoB,SAAQ,WAAW;IAChD,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,kBAAkB,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { EncoderBase } from '../common/encoder.js';
1
+ import { EncoderBase } from '../base/encoder.js';
2
2
  /** 流式编码 UBJSON */
3
3
  export declare class StreamEncoderHelper extends EncoderBase {
4
4
  protected readonly onChunk: (chunk: Uint8Array) => void;
@@ -1,6 +1,6 @@
1
- import { EncoderBase } from '../common/encoder.js';
2
- import { unsupportedView } from '../common/errors.js';
3
- import { encode, stringByteLength } from '../common/string-encoder.js';
1
+ import { unsupportedView } from '../helper/errors.js';
2
+ import { encode, stringByteLength } from '../helper/string-encoder.js';
3
+ import { EncoderBase } from '../base/encoder.js';
4
4
  const BLOCK_SIZE = 1024 * 64; // 64 KiB
5
5
  const MAX_SIZE = 1024 * 1024 * 32; // 32 MiB
6
6
  /** 保存一个内存池以减少重复分配 */
@@ -28,14 +28,14 @@ export class StreamEncoderHelper extends EncoderBase {
28
28
  constructor(onChunk) {
29
29
  super();
30
30
  this.onChunk = onChunk;
31
- this.buffer = alloc(BLOCK_SIZE);
32
- this.view = new DataView(this.buffer.buffer);
31
+ this.data = alloc(BLOCK_SIZE);
32
+ this.view = new DataView(this.data.buffer);
33
33
  }
34
34
  /**
35
35
  * 销毁实例,释放内存池
36
36
  */
37
37
  destroy() {
38
- free(this.buffer);
38
+ free(this.data);
39
39
  const self = this;
40
40
  self.view = null;
41
41
  self.buffer = null;
@@ -49,27 +49,27 @@ export class StreamEncoderHelper extends EncoderBase {
49
49
  throw new Error('Buffer has exceed max size');
50
50
  }
51
51
  // 无需扩容
52
- if (capacity >= 0 && this.buffer.byteLength >= this.length + capacity)
52
+ if (capacity >= 0 && this.data.byteLength >= this.length + capacity)
53
53
  return;
54
- const CURRENT_SIZE = this.buffer.byteLength;
54
+ const CURRENT_SIZE = this.data.byteLength;
55
55
  const NEXT_SIZE = capacity < BLOCK_SIZE ? BLOCK_SIZE : capacity;
56
56
  const REUSE_BUF = CURRENT_SIZE >= NEXT_SIZE && // 满足容量需求
57
57
  CURRENT_SIZE - BLOCK_SIZE < NEXT_SIZE; // 不过于浪费
58
58
  // 提交目前的数据
59
59
  if (REUSE_BUF) {
60
- this.onChunk(this.buffer.slice(0, this.length));
60
+ this.onChunk(this.data.slice(0, this.length));
61
61
  }
62
62
  else {
63
- if (free(this.buffer)) {
63
+ if (free(this.data)) {
64
64
  // 归还内存池成功,buffer 可能重用,需要拷贝数据
65
- this.onChunk(this.buffer.slice(0, this.length));
65
+ this.onChunk(this.data.slice(0, this.length));
66
66
  }
67
67
  else {
68
- this.onChunk(this.buffer.subarray(0, this.length));
68
+ this.onChunk(this.data.subarray(0, this.length));
69
69
  }
70
70
  // 重新分配缓冲区
71
- this.buffer = alloc(NEXT_SIZE);
72
- this.view = new DataView(this.buffer.buffer);
71
+ this.data = alloc(NEXT_SIZE);
72
+ this.view = new DataView(this.data.buffer);
73
73
  }
74
74
  this.length = 0;
75
75
  }
@@ -78,7 +78,7 @@ export class StreamEncoderHelper extends EncoderBase {
78
78
  const strLen = value.length;
79
79
  const binLen = stringByteLength(value);
80
80
  this.ensureCapacity(5);
81
- this.buffer[this.length++] = 108 /* constants.INT32 */;
81
+ this.data[this.length++] = 108 /* constants.INT32 */;
82
82
  this.view.setInt32(this.length, binLen);
83
83
  this.length += 4;
84
84
  this.ensureCapacity(-1);
@@ -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.36",
3
+ "version": "0.5.38",
4
4
  "author": "CloudPSS",
5
5
  "license": "MIT",
6
6
  "keywords": [
@@ -16,12 +16,13 @@
16
16
  "exports": {
17
17
  ".": "./dist/index.js",
18
18
  "./stream": "./dist/stream/index.js",
19
- "./rxjs": "./dist/rxjs/index.js"
19
+ "./rxjs": "./dist/rxjs/index.js",
20
+ "./helper/*": "./dist/helper/*.js"
20
21
  },
21
22
  "devDependencies": {
22
23
  "@types/lodash": "^4.17.7",
23
24
  "lodash": "^4.17.21",
24
- "ref-impl": "npm:@cloudpss/ubjson@0.5.10"
25
+ "ref-impl": "npm:@cloudpss/ubjson@0.5.37"
25
26
  },
26
27
  "dependencies": {
27
28
  "rxjs": "^7.8.1"
@@ -30,7 +31,6 @@
30
31
  "start": "pnpm clean && tsc --watch",
31
32
  "build": "pnpm clean && tsc",
32
33
  "clean": "rimraf dist",
33
- "benchmark": "node ./benchmark",
34
34
  "test": "NODE_NO_WARNINGS=1 NODE_OPTIONS=\"${NODE_OPTIONS:-} --experimental-vm-modules\" jest"
35
35
  }
36
36
  }
@@ -0,0 +1,27 @@
1
+ import { type DecodeCursor, readData, readMarkerOrUndefined } from '../helper/decode.js';
2
+ import { toUint8Array } from '../helper/utils.js';
3
+ import { UnexpectedEofError } from '../helper/errors.js';
4
+
5
+ /** decoder */
6
+ export class DecoderBase {
7
+ constructor(data: BinaryData) {
8
+ this.data = toUint8Array(data);
9
+ this.view = new DataView(this.data.buffer, this.data.byteOffset, this.data.byteLength);
10
+ }
11
+
12
+ protected readonly view: DataView;
13
+ protected readonly data: Uint8Array;
14
+ /** 当前读指针位置 */
15
+ protected offset = 0;
16
+ /** EOF */
17
+ protected eof(): never {
18
+ throw new UnexpectedEofError();
19
+ }
20
+
21
+ /** 解码 */
22
+ decode(): unknown {
23
+ const marker = readMarkerOrUndefined(this as this & DecodeCursor);
24
+ if (marker === undefined) return undefined;
25
+ return readData(this as this & DecodeCursor, marker);
26
+ }
27
+ }