@cloudpss/ubjson 0.4.11 → 0.4.13

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 (56) hide show
  1. package/benchmark-string.js +32 -32
  2. package/benchmark.js +33 -35
  3. package/dist/common/constants.d.ts +21 -21
  4. package/dist/common/constants.js +21 -21
  5. package/dist/common/decoder.d.ts +52 -52
  6. package/dist/common/decoder.js +277 -277
  7. package/dist/common/encoder.d.ts +74 -74
  8. package/dist/common/encoder.js +282 -282
  9. package/dist/common/string-decoder.d.ts +13 -13
  10. package/dist/common/string-decoder.js +106 -106
  11. package/dist/common/string-encoder.d.ts +6 -6
  12. package/dist/common/string-encoder.js +37 -37
  13. package/dist/decoder.d.ts +2 -2
  14. package/dist/decoder.js +2 -2
  15. package/dist/encoder.d.ts +11 -11
  16. package/dist/encoder.js +77 -77
  17. package/dist/index.d.ts +6 -6
  18. package/dist/index.js +15 -15
  19. package/dist/rxjs/decoder.d.ts +3 -3
  20. package/dist/rxjs/decoder.js +69 -69
  21. package/dist/rxjs/decoder.js.map +1 -1
  22. package/dist/rxjs/encoder.d.ts +3 -3
  23. package/dist/rxjs/encoder.js +27 -27
  24. package/dist/rxjs/encoder.js.map +1 -1
  25. package/dist/rxjs/index.d.ts +2 -2
  26. package/dist/rxjs/index.js +2 -2
  27. package/dist/stream/decoder.d.ts +13 -13
  28. package/dist/stream/decoder.js +51 -51
  29. package/dist/stream/decoder.js.map +1 -1
  30. package/dist/stream/encoder.d.ts +9 -9
  31. package/dist/stream/encoder.js +22 -22
  32. package/dist/stream/encoder.js.map +1 -1
  33. package/dist/stream/index.d.ts +11 -11
  34. package/dist/stream/index.js +31 -31
  35. package/dist/stream/index.js.map +1 -1
  36. package/dist/stream-helper/decoder.d.ts +8 -8
  37. package/dist/stream-helper/decoder.js +12 -12
  38. package/dist/stream-helper/encoder.d.ts +12 -12
  39. package/dist/stream-helper/encoder.js +56 -56
  40. package/dist/utils.d.ts +2 -2
  41. package/dist/utils.js +7 -7
  42. package/package.json +3 -2
  43. package/src/rxjs/decoder.ts +1 -1
  44. package/src/rxjs/encoder.ts +1 -1
  45. package/src/stream/decoder.ts +1 -1
  46. package/src/stream/encoder.ts +1 -1
  47. package/tests/.utils.js +25 -0
  48. package/tests/decode.js +2 -9
  49. package/tests/e2e.js +2 -0
  50. package/tests/encode.js +13 -17
  51. package/tests/rxjs/decode.js +8 -11
  52. package/tests/rxjs/encode.js +17 -19
  53. package/tests/stream/decode.js +7 -10
  54. package/tests/stream/encode.js +16 -18
  55. package/tests/string-encoding.js +7 -14
  56. package/yarn-error.log +4520 -0
@@ -1,70 +1,70 @@
1
- import { Observable } from 'rxjs';
2
- import { StreamDecoderHelper, UnexpectedEof } from '../stream-helper/decoder.js';
3
- import { toUint8Array } from '../utils.js';
4
- const DEFAULT_BUFFER_SIZE = 16 * 1024 * 1024; // 16 MiB
5
- const EMPTY_BUFFER = new Uint8Array(0);
6
- /** 流式解码 UBJSON */
7
- export function decode() {
8
- return (observable) => {
9
- return new Observable((subscriber) => {
10
- let chunkSize = DEFAULT_BUFFER_SIZE;
11
- let buffer = new Uint8Array(chunkSize);
12
- let begin = 0;
13
- let end = 0;
14
- return observable.subscribe({
15
- next(value) {
16
- const data = toUint8Array(value);
17
- if (buffer.length >= end + data.length) {
18
- buffer.set(data, end);
19
- end += data.length;
20
- }
21
- else {
22
- chunkSize = Math.max(chunkSize, data.length * 2 + end - begin);
23
- const newBuffer = new Uint8Array(Math.max(chunkSize, data.length + end - begin));
24
- newBuffer.set(buffer.subarray(begin, end), 0);
25
- newBuffer.set(data, end - begin);
26
- buffer = newBuffer;
27
- end = end - begin + data.length;
28
- begin = 0;
29
- }
30
- while (end - begin > 0) {
31
- try {
32
- const helper = new StreamDecoderHelper(buffer.subarray(begin, end));
33
- const result = helper.decode();
34
- if (result !== undefined) {
35
- subscriber.next(result);
36
- }
37
- begin += helper.readLength;
38
- }
39
- catch (ex) {
40
- if (ex instanceof UnexpectedEof) {
41
- return;
42
- }
43
- else {
44
- subscriber.error(ex);
45
- buffer = EMPTY_BUFFER;
46
- return;
47
- }
48
- }
49
- }
50
- // 完全消费了 Buffer 内容,重置 Buffer
51
- begin = end = 0;
52
- },
53
- error(err) {
54
- subscriber.error(err);
55
- buffer = EMPTY_BUFFER;
56
- },
57
- complete() {
58
- if (end - begin > 0) {
59
- subscriber.error(new UnexpectedEof());
60
- }
61
- else {
62
- subscriber.complete();
63
- }
64
- buffer = EMPTY_BUFFER;
65
- },
66
- });
67
- });
68
- };
69
- }
1
+ import { Observable } from 'rxjs';
2
+ import { StreamDecoderHelper, UnexpectedEof } from '../stream-helper/decoder.js';
3
+ import { toUint8Array } from '../utils.js';
4
+ const DEFAULT_BUFFER_SIZE = 16 * 1024 * 1024; // 16 MiB
5
+ const EMPTY_BUFFER = new Uint8Array(0);
6
+ /** 流式解码 UBJSON */
7
+ export function decode() {
8
+ return (observable) => {
9
+ return new Observable((subscriber) => {
10
+ let chunkSize = DEFAULT_BUFFER_SIZE;
11
+ let buffer = new Uint8Array(chunkSize);
12
+ let begin = 0;
13
+ let end = 0;
14
+ return observable.subscribe({
15
+ next(value) {
16
+ const data = toUint8Array(value);
17
+ if (buffer.length >= end + data.length) {
18
+ buffer.set(data, end);
19
+ end += data.length;
20
+ }
21
+ else {
22
+ chunkSize = Math.max(chunkSize, data.length * 2 + end - begin);
23
+ const newBuffer = new Uint8Array(Math.max(chunkSize, data.length + end - begin));
24
+ newBuffer.set(buffer.subarray(begin, end), 0);
25
+ newBuffer.set(data, end - begin);
26
+ buffer = newBuffer;
27
+ end = end - begin + data.length;
28
+ begin = 0;
29
+ }
30
+ while (end - begin > 0) {
31
+ try {
32
+ const helper = new StreamDecoderHelper(buffer.subarray(begin, end));
33
+ const result = helper.decode();
34
+ if (result !== undefined) {
35
+ subscriber.next(result);
36
+ }
37
+ begin += helper.readLength;
38
+ }
39
+ catch (ex) {
40
+ if (ex instanceof UnexpectedEof) {
41
+ return;
42
+ }
43
+ else {
44
+ subscriber.error(ex);
45
+ buffer = EMPTY_BUFFER;
46
+ return;
47
+ }
48
+ }
49
+ }
50
+ // 完全消费了 Buffer 内容,重置 Buffer
51
+ begin = end = 0;
52
+ },
53
+ error(err) {
54
+ subscriber.error(err);
55
+ buffer = EMPTY_BUFFER;
56
+ },
57
+ complete() {
58
+ if (end - begin > 0) {
59
+ subscriber.error(new UnexpectedEof());
60
+ }
61
+ else {
62
+ subscriber.complete();
63
+ }
64
+ buffer = EMPTY_BUFFER;
65
+ },
66
+ });
67
+ });
68
+ };
69
+ }
70
70
  //# 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,3 +1,3 @@
1
- import { OperatorFunction } from 'rxjs';
2
- /** 流式编码 UBJSON */
3
- export declare function encode(): OperatorFunction<unknown, Uint8Array>;
1
+ import { type OperatorFunction } from 'rxjs';
2
+ /** 流式编码 UBJSON */
3
+ export declare function encode(): OperatorFunction<unknown, Uint8Array>;
@@ -1,28 +1,28 @@
1
- import { Observable } from 'rxjs';
2
- import { StreamEncoderHelper } from '../stream-helper/encoder.js';
3
- /** 流式编码 UBJSON */
4
- export function encode() {
5
- return (observable) => {
6
- return new Observable((subscriber) => {
7
- const onChunk = (chunk) => subscriber.next(chunk);
8
- return observable.subscribe({
9
- next(value) {
10
- try {
11
- const helper = new StreamEncoderHelper(value, onChunk);
12
- helper.encode();
13
- }
14
- catch (ex) {
15
- subscriber.error(ex);
16
- }
17
- },
18
- error(err) {
19
- subscriber.error(err);
20
- },
21
- complete() {
22
- subscriber.complete();
23
- },
24
- });
25
- });
26
- };
27
- }
1
+ import { Observable } from 'rxjs';
2
+ import { StreamEncoderHelper } from '../stream-helper/encoder.js';
3
+ /** 流式编码 UBJSON */
4
+ export function encode() {
5
+ return (observable) => {
6
+ return new Observable((subscriber) => {
7
+ const onChunk = (chunk) => subscriber.next(chunk);
8
+ return observable.subscribe({
9
+ next(value) {
10
+ try {
11
+ const helper = new StreamEncoderHelper(value, onChunk);
12
+ helper.encode();
13
+ }
14
+ catch (ex) {
15
+ subscriber.error(ex);
16
+ }
17
+ },
18
+ error(err) {
19
+ subscriber.error(err);
20
+ },
21
+ complete() {
22
+ subscriber.complete();
23
+ },
24
+ });
25
+ });
26
+ };
27
+ }
28
28
  //# sourceMappingURL=encoder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../src/rxjs/encoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoB,MAAM,MAAM,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,kBAAkB;AAClB,MAAM,UAAU,MAAM;IAClB,OAAO,CAAC,UAAU,EAAE,EAAE;QAClB,OAAO,IAAI,UAAU,CAAa,CAAC,UAAU,EAAE,EAAE;YAC7C,MAAM,OAAO,GAAG,CAAC,KAAiB,EAAQ,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpE,OAAO,UAAU,CAAC,SAAS,CAAC;gBACxB,IAAI,CAAC,KAAK;oBACN,IAAI;wBACA,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;wBACvD,MAAM,CAAC,MAAM,EAAE,CAAC;qBACnB;oBAAC,OAAO,EAAE,EAAE;wBACT,UAAU,CAAC,KAAK,CAAC,EAAW,CAAC,CAAC;qBACjC;gBACL,CAAC;gBACD,KAAK,CAAC,GAAG;oBACL,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC1B,CAAC;gBACD,QAAQ;oBACJ,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAC1B,CAAC;aACJ,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../src/rxjs/encoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAyB,MAAM,MAAM,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,kBAAkB;AAClB,MAAM,UAAU,MAAM;IAClB,OAAO,CAAC,UAAU,EAAE,EAAE;QAClB,OAAO,IAAI,UAAU,CAAa,CAAC,UAAU,EAAE,EAAE;YAC7C,MAAM,OAAO,GAAG,CAAC,KAAiB,EAAQ,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpE,OAAO,UAAU,CAAC,SAAS,CAAC;gBACxB,IAAI,CAAC,KAAK;oBACN,IAAI;wBACA,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;wBACvD,MAAM,CAAC,MAAM,EAAE,CAAC;qBACnB;oBAAC,OAAO,EAAE,EAAE;wBACT,UAAU,CAAC,KAAK,CAAC,EAAW,CAAC,CAAC;qBACjC;gBACL,CAAC;gBACD,KAAK,CAAC,GAAG;oBACL,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC1B,CAAC;gBACD,QAAQ;oBACJ,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAC1B,CAAC;aACJ,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC"}
@@ -1,2 +1,2 @@
1
- export { encode } from './encoder.js';
2
- export { decode } from './decoder.js';
1
+ export { encode } from './encoder.js';
2
+ export { decode } from './decoder.js';
@@ -1,3 +1,3 @@
1
- export { encode } from './encoder.js';
2
- export { decode } from './decoder.js';
1
+ export { encode } from './encoder.js';
2
+ export { decode } from './decoder.js';
3
3
  //# sourceMappingURL=index.js.map
@@ -1,13 +1,13 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
3
- import { Transform, TransformCallback } from 'node:stream';
4
- /** 流式解码 UBJSON */
5
- export declare class StreamDecoder extends Transform {
6
- constructor();
7
- private buffer;
8
- private callback?;
9
- /** @inheritdoc */
10
- _transform(chunk: Buffer, _: BufferEncoding, callback: TransformCallback): void;
11
- /** @inheritdoc */
12
- _flush(callback: TransformCallback): void;
13
- }
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ /// <reference types="node" resolution-mode="require"/>
3
+ import { Transform, type TransformCallback } from 'node:stream';
4
+ /** 流式解码 UBJSON */
5
+ export declare class StreamDecoder extends Transform {
6
+ constructor();
7
+ private buffer;
8
+ private callback?;
9
+ /** @inheritdoc */
10
+ _transform(chunk: Buffer, _: BufferEncoding, callback: TransformCallback): void;
11
+ /** @inheritdoc */
12
+ _flush(callback: TransformCallback): void;
13
+ }
@@ -1,52 +1,52 @@
1
- import { Transform } from 'node:stream';
2
- import { Subject } from 'rxjs';
3
- import { decode } from '../rxjs/decoder.js';
4
- /** 流式解码 UBJSON */
5
- export class StreamDecoder extends Transform {
6
- constructor() {
7
- super({
8
- readableObjectMode: true,
9
- writableObjectMode: false,
10
- });
11
- this.buffer = new Subject();
12
- this.buffer.pipe(decode()).subscribe({
13
- next: (value) => {
14
- // null is not allowed in a stream
15
- if (value == null)
16
- return;
17
- this.push(value);
18
- },
19
- error: (err) => {
20
- if (this.callback) {
21
- this.callback(err);
22
- this.callback = undefined;
23
- }
24
- else {
25
- this.emit('error', err);
26
- }
27
- },
28
- complete: () => {
29
- this.push(null);
30
- },
31
- });
32
- }
33
- /** @inheritdoc */
34
- _transform(chunk, _, callback) {
35
- this.callback = callback;
36
- this.buffer.next(chunk);
37
- if (this.callback) {
38
- callback();
39
- this.callback = undefined;
40
- }
41
- }
42
- /** @inheritdoc */
43
- _flush(callback) {
44
- this.callback = callback;
45
- this.buffer.complete();
46
- if (this.callback) {
47
- callback();
48
- this.callback = undefined;
49
- }
50
- }
51
- }
1
+ import { Transform } from 'node:stream';
2
+ import { Subject } from 'rxjs';
3
+ import { decode } from '../rxjs/decoder.js';
4
+ /** 流式解码 UBJSON */
5
+ export class StreamDecoder extends Transform {
6
+ constructor() {
7
+ super({
8
+ readableObjectMode: true,
9
+ writableObjectMode: false,
10
+ });
11
+ this.buffer = new Subject();
12
+ this.buffer.pipe(decode()).subscribe({
13
+ next: (value) => {
14
+ // null is not allowed in a stream
15
+ if (value == null)
16
+ return;
17
+ this.push(value);
18
+ },
19
+ error: (err) => {
20
+ if (this.callback) {
21
+ this.callback(err);
22
+ this.callback = undefined;
23
+ }
24
+ else {
25
+ this.emit('error', err);
26
+ }
27
+ },
28
+ complete: () => {
29
+ this.push(null);
30
+ },
31
+ });
32
+ }
33
+ /** @inheritdoc */
34
+ _transform(chunk, _, callback) {
35
+ this.callback = callback;
36
+ this.buffer.next(chunk);
37
+ if (this.callback) {
38
+ callback();
39
+ this.callback = undefined;
40
+ }
41
+ }
42
+ /** @inheritdoc */
43
+ _flush(callback) {
44
+ this.callback = callback;
45
+ this.buffer.complete();
46
+ if (this.callback) {
47
+ callback();
48
+ this.callback = undefined;
49
+ }
50
+ }
51
+ }
52
52
  //# sourceMappingURL=decoder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../src/stream/decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAqB,MAAM,aAAa,CAAC;AAC3D,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;oBACf,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBACnB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;iBAC7B;qBAAM;oBACH,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;iBAC3B;YACL,CAAC;YACD,QAAQ,EAAE,GAAG,EAAE;gBACX,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;IAID,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;YACf,QAAQ,EAAE,CAAC;YACX,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;SAC7B;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;YACf,QAAQ,EAAE,CAAC;YACX,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;SAC7B;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;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;oBACf,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBACnB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;iBAC7B;qBAAM;oBACH,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;iBAC3B;YACL,CAAC;YACD,QAAQ,EAAE,GAAG,EAAE;gBACX,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;IAID,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;YACf,QAAQ,EAAE,CAAC;YACX,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;SAC7B;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;YACf,QAAQ,EAAE,CAAC;YACX,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;SAC7B;IACL,CAAC;CACJ"}
@@ -1,9 +1,9 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
3
- import { Transform, TransformCallback } from 'node:stream';
4
- /** 流式编码 UBJSON */
5
- export declare class StreamEncoder extends Transform {
6
- constructor();
7
- /** @inheritdoc */
8
- _transform(obj: unknown, _encoding: BufferEncoding, callback: TransformCallback): void;
9
- }
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ /// <reference types="node" resolution-mode="require"/>
3
+ import { Transform, type TransformCallback } from 'node:stream';
4
+ /** 流式编码 UBJSON */
5
+ export declare class StreamEncoder extends Transform {
6
+ constructor();
7
+ /** @inheritdoc */
8
+ _transform(obj: unknown, _encoding: BufferEncoding, callback: TransformCallback): void;
9
+ }
@@ -1,23 +1,23 @@
1
- import { Transform } from 'node:stream';
2
- import { StreamEncoderHelper } from '../stream-helper/encoder.js';
3
- /** 流式编码 UBJSON */
4
- export class StreamEncoder extends Transform {
5
- constructor() {
6
- super({
7
- readableObjectMode: false,
8
- writableObjectMode: true,
9
- });
10
- }
11
- /** @inheritdoc */
12
- _transform(obj, _encoding, callback) {
13
- const helper = new StreamEncoderHelper(obj, (binary) => this.push(binary));
14
- try {
15
- helper.encode();
16
- callback();
17
- }
18
- catch (ex) {
19
- callback(ex);
20
- }
21
- }
22
- }
1
+ import { Transform } from 'node:stream';
2
+ import { StreamEncoderHelper } from '../stream-helper/encoder.js';
3
+ /** 流式编码 UBJSON */
4
+ export class StreamEncoder extends Transform {
5
+ constructor() {
6
+ super({
7
+ readableObjectMode: false,
8
+ writableObjectMode: true,
9
+ });
10
+ }
11
+ /** @inheritdoc */
12
+ _transform(obj, _encoding, callback) {
13
+ const helper = new StreamEncoderHelper(obj, (binary) => this.push(binary));
14
+ try {
15
+ helper.encode();
16
+ callback();
17
+ }
18
+ catch (ex) {
19
+ callback(ex);
20
+ }
21
+ }
22
+ }
23
23
  //# sourceMappingURL=encoder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../src/stream/encoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAqB,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,kBAAkB;AAClB,MAAM,OAAO,aAAc,SAAQ,SAAS;IACxC;QACI,KAAK,CAAC;YACF,kBAAkB,EAAE,KAAK;YACzB,kBAAkB,EAAE,IAAI;SAC3B,CAAC,CAAC;IACP,CAAC;IAED,kBAAkB;IACT,UAAU,CAAC,GAAY,EAAE,SAAyB,EAAE,QAA2B;QACpF,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3E,IAAI;YACA,MAAM,CAAC,MAAM,EAAE,CAAC;YAChB,QAAQ,EAAE,CAAC;SACd;QAAC,OAAO,EAAE,EAAE;YACT,QAAQ,CAAC,EAAW,CAAC,CAAC;SACzB;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../src/stream/encoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA0B,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,kBAAkB;AAClB,MAAM,OAAO,aAAc,SAAQ,SAAS;IACxC;QACI,KAAK,CAAC;YACF,kBAAkB,EAAE,KAAK;YACzB,kBAAkB,EAAE,IAAI;SAC3B,CAAC,CAAC;IACP,CAAC;IAED,kBAAkB;IACT,UAAU,CAAC,GAAY,EAAE,SAAyB,EAAE,QAA2B;QACpF,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3E,IAAI;YACA,MAAM,CAAC,MAAM,EAAE,CAAC;YAChB,QAAQ,EAAE,CAAC;SACd;QAAC,OAAO,EAAE,EAAE;YACT,QAAQ,CAAC,EAAW,CAAC,CAAC;SACzB;IACL,CAAC;CACJ"}
@@ -1,11 +1,11 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
3
- import { Readable, Transform } from 'node:stream';
4
- /** 编码为 UBJSON */
5
- export declare function encode(value: unknown): Readable;
6
- /** 编码为 UBJSON */
7
- export declare function encoder(): Transform;
8
- /** 解码 UBJSON */
9
- export declare function decode(stream: NodeJS.ReadableStream): Promise<unknown>;
10
- /** 解码 UBJSON */
11
- export declare function decoder(): Transform;
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ /// <reference types="node" resolution-mode="require"/>
3
+ import { Readable, Transform } from 'node:stream';
4
+ /** 编码为 UBJSON */
5
+ export declare function encode(value: unknown): Readable;
6
+ /** 编码为 UBJSON */
7
+ export declare function encoder(): Transform;
8
+ /** 解码 UBJSON */
9
+ export declare function decode(stream: NodeJS.ReadableStream): Promise<unknown>;
10
+ /** 解码 UBJSON */
11
+ export declare function decoder(): Transform;
@@ -1,32 +1,32 @@
1
- import { Readable } from 'node:stream';
2
- import { StreamEncoder } from './encoder.js';
3
- import { StreamDecoder } from './decoder.js';
4
- /** 编码为 UBJSON */
5
- export function encode(value) {
6
- if (value == null) {
7
- return Readable.from([value === null ? 'Z' : 'N'], { objectMode: false });
8
- }
9
- const encoder = new StreamEncoder();
10
- encoder.write(value);
11
- encoder.end();
12
- return encoder;
13
- }
14
- /** 编码为 UBJSON */
15
- export function encoder() {
16
- return new StreamEncoder();
17
- }
18
- /** 解码 UBJSON */
19
- export function decode(stream) {
20
- return new Promise((resolve, reject) => {
21
- const decoder = new StreamDecoder();
22
- decoder.on('error', reject);
23
- decoder.on('end', resolve);
24
- decoder.on('data', resolve);
25
- stream.pipe(decoder);
26
- });
27
- }
28
- /** 解码 UBJSON */
29
- export function decoder() {
30
- return new StreamDecoder();
31
- }
1
+ import { Readable, Transform } from 'node:stream';
2
+ import { StreamEncoder } from './encoder.js';
3
+ import { StreamDecoder } from './decoder.js';
4
+ /** 编码为 UBJSON */
5
+ export function encode(value) {
6
+ if (value == null) {
7
+ return Readable.from([value === null ? 'Z' : 'N'], { objectMode: false });
8
+ }
9
+ const encoder = new StreamEncoder();
10
+ encoder.write(value);
11
+ encoder.end();
12
+ return encoder;
13
+ }
14
+ /** 编码为 UBJSON */
15
+ export function encoder() {
16
+ return new StreamEncoder();
17
+ }
18
+ /** 解码 UBJSON */
19
+ export function decode(stream) {
20
+ return new Promise((resolve, reject) => {
21
+ const decoder = new StreamDecoder();
22
+ decoder.on('error', reject);
23
+ decoder.on('end', resolve);
24
+ decoder.on('data', resolve);
25
+ stream.pipe(decoder);
26
+ });
27
+ }
28
+ /** 解码 UBJSON */
29
+ export function decoder() {
30
+ return new StreamDecoder();
31
+ }
32
32
  //# sourceMappingURL=index.js.map
@@ -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,iBAAiB;AACjB,MAAM,UAAU,MAAM,CAAC,KAAc;IACjC,IAAI,KAAK,IAAI,IAAI,EAAE;QACf,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;KAC7E;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;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,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,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,iBAAiB;AACjB,MAAM,UAAU,MAAM,CAAC,KAAc;IACjC,IAAI,KAAK,IAAI,IAAI,EAAE;QACf,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;KAC7E;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;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,OAAO;IACnB,OAAO,IAAI,aAAa,EAAE,CAAC;AAC/B,CAAC"}
@@ -1,8 +1,8 @@
1
- import { Decoder, UnexpectedEof } from '../common/decoder.js';
2
- export { UnexpectedEof };
3
- /** 流式解码 UBJSON */
4
- export declare class StreamDecoderHelper extends Decoder {
5
- constructor(data: Uint8Array);
6
- /** 读取的字节数 */
7
- get readLength(): number;
8
- }
1
+ import { Decoder, UnexpectedEof } from '../common/decoder.js';
2
+ export { UnexpectedEof };
3
+ /** 流式解码 UBJSON */
4
+ export declare class StreamDecoderHelper extends Decoder {
5
+ constructor(data: Uint8Array);
6
+ /** 读取的字节数 */
7
+ get readLength(): number;
8
+ }
@@ -1,13 +1,13 @@
1
- import { Decoder, UnexpectedEof } from '../common/decoder.js';
2
- export { UnexpectedEof };
3
- /** 流式解码 UBJSON */
4
- export class StreamDecoderHelper extends Decoder {
5
- constructor(data) {
6
- super(data);
7
- }
8
- /** 读取的字节数 */
9
- get readLength() {
10
- return this.offset;
11
- }
12
- }
1
+ import { Decoder, UnexpectedEof } from '../common/decoder.js';
2
+ export { UnexpectedEof };
3
+ /** 流式解码 UBJSON */
4
+ export class StreamDecoderHelper extends Decoder {
5
+ constructor(data) {
6
+ super(data);
7
+ }
8
+ /** 读取的字节数 */
9
+ get readLength() {
10
+ return this.offset;
11
+ }
12
+ }
13
13
  //# sourceMappingURL=decoder.js.map
@@ -1,12 +1,12 @@
1
- import { EncoderBase } from '../common/encoder.js';
2
- /** 流式编码 UBJSON */
3
- export declare class StreamEncoderHelper extends EncoderBase {
4
- protected readonly onChunk: (chunk: Uint8Array) => void;
5
- constructor(value: unknown, onChunk: (chunk: Uint8Array) => void);
6
- /**
7
- * 确保 buffer 还有 capacity 的空闲空间
8
- */
9
- protected ensureCapacity(capacity: number): void;
10
- /** 获取写入结果 */
11
- encode(): void;
12
- }
1
+ import { EncoderBase } from '../common/encoder.js';
2
+ /** 流式编码 UBJSON */
3
+ export declare class StreamEncoderHelper extends EncoderBase {
4
+ protected readonly onChunk: (chunk: Uint8Array) => void;
5
+ constructor(value: unknown, onChunk: (chunk: Uint8Array) => void);
6
+ /**
7
+ * 确保 buffer 还有 capacity 的空闲空间
8
+ */
9
+ protected ensureCapacity(capacity: number): void;
10
+ /** 获取写入结果 */
11
+ encode(): void;
12
+ }