@cloudpss/ubjson 0.5.41 → 0.5.43
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.
- package/dist/base/decoder.d.ts +3 -1
- package/dist/base/decoder.d.ts.map +1 -1
- package/dist/base/decoder.js +3 -1
- package/dist/base/decoder.js.map +1 -1
- package/dist/helper/decode-ae.d.ts +4 -1
- package/dist/helper/decode-ae.d.ts.map +1 -1
- package/dist/helper/decode-ae.js +16 -9
- package/dist/helper/decode-ae.js.map +1 -1
- package/dist/helper/decode.d.ts +8 -1
- package/dist/helper/decode.d.ts.map +1 -1
- package/dist/helper/decode.js +40 -3
- package/dist/helper/decode.js.map +1 -1
- package/dist/helper/string-decoder.d.ts.map +1 -1
- package/dist/helper/string-decoder.js +92 -114
- package/dist/helper/string-decoder.js.map +1 -1
- package/dist/helper/utils.d.ts +1 -1
- package/dist/helper/utils.d.ts.map +1 -1
- package/dist/helper/utils.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/options.d.ts +17 -1
- package/dist/options.d.ts.map +1 -1
- package/dist/rxjs/decoder.d.ts +2 -1
- package/dist/rxjs/decoder.d.ts.map +1 -1
- package/dist/rxjs/decoder.js +82 -83
- package/dist/rxjs/decoder.js.map +1 -1
- package/dist/rxjs/index.d.ts +1 -1
- package/dist/rxjs/index.d.ts.map +1 -1
- package/dist/stream/decoder.d.ts +2 -1
- package/dist/stream/decoder.d.ts.map +1 -1
- package/dist/stream/decoder.js +2 -2
- package/dist/stream/decoder.js.map +1 -1
- package/dist/stream/index.d.ts +5 -5
- package/dist/stream/index.d.ts.map +1 -1
- package/dist/stream/index.js +6 -6
- package/dist/stream/index.js.map +1 -1
- package/package.json +2 -2
- package/src/base/decoder.ts +5 -1
- package/src/helper/decode-ae.ts +19 -9
- package/src/helper/decode.ts +47 -3
- package/src/helper/string-decoder.ts +87 -102
- package/src/helper/utils.ts +1 -1
- package/src/index.ts +6 -6
- package/src/options.ts +18 -1
- package/src/rxjs/decoder.ts +7 -6
- package/src/rxjs/index.ts +1 -1
- package/src/stream/decoder.ts +4 -3
- package/src/stream/index.ts +8 -8
- package/tests/.utils.js +9 -1
- package/tests/decode.js +52 -0
- package/tests/e2e/.data.js +11 -0
- package/dist/stream-helper/decoder.d.ts +0 -12
- package/dist/stream-helper/decoder.d.ts.map +0 -1
- package/dist/stream-helper/decoder.js +0 -18
- package/dist/stream-helper/decoder.js.map +0 -1
- 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":"AAAA,MAAM,UAAU,GAAG,MAAM,CAAC;AAC1B,MAAM,YAAY,GAAG,MAAM,CAAC;AAE5B,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;AAEhC,SAAS;AACT,MAAM,UAAU,QAAQ,CAAC,KAAiB,EAAE,KAAa,EAAE,GAAW;IAClE,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,OAAO,MAAM,GAAG,GAAG,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,SAAS;YACT,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;aAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACjC,UAAU;YACV,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAE,GAAG,IAAI,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;QAC9C,CAAC;aAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACjC,UAAU;YACV,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAE,GAAG,IAAI,CAAC;YACtC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAE,GAAG,IAAI,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;QAC9D,CAAC;aAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACjC,UAAU;YACV,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAE,GAAG,IAAI,CAAC;YACtC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAE,GAAG,IAAI,CAAC;YACtC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAE,GAAG,IAAI,CAAC;YACtC,IAAI,IAAI,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC;YAChF,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC;gBAChB,IAAI,IAAI,QAAQ,CAAC;gBACjB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC;gBAC7C,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;YACnC,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;aAAM,CAAC;YACJ,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAI,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC;YACjC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACrB,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,eAAe;AACf,MAAM,UAAU,cAAc,CAAC,GAAe,EAAE,KAAa,EAAE,MAAc;IACzE,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,EAAE,CAAE,CAAC;QAC3B,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;YACd,OAAO;QACX,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC;AAClC,CAAC;AACD,eAAe;AACf,MAAM,UAAU,eAAe,CAAC,GAAe,EAAE,KAAa,EAAE,MAAc;IAC1E,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACb,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACb,IAAI,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"string-decoder.js","sourceRoot":"","sources":["../../src/helper/string-decoder.ts"],"names":[],"mappings":"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"}
|
package/dist/helper/utils.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/helper/utils.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,wBAAgB,YAAY,CAAC,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/helper/utils.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,UAAU,CAQ3D"}
|
package/dist/helper/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/helper/utils.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,MAAM,UAAU,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/helper/utils.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,MAAM,UAAU,YAAY,CAAC,IAAkB;IAC3C,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,QAAQ,IAAI,OAAO,IAAI,CAAC,UAAU,IAAI,QAAQ,EAAE,CAAC;QAChF,MAAM,IAAI,SAAS,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AACzE,CAAC"}
|
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:
|
|
9
|
+
export declare function decode(value: BufferSource, options?: DecodeOptions): unknown;
|
|
10
10
|
/** 解码 UBJSON */
|
|
11
|
-
export declare function decodeMany(value:
|
|
11
|
+
export declare function decodeMany(value: BufferSource, options?: DecodeOptions): Iterable<unknown>;
|
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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,YAAY,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAG5E;AAED,gBAAgB;AAChB,wBAAiB,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,CAK3F"}
|
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,
|
|
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,KAAmB,EAAE,OAAuB;IAC/D,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,KAAmB,EAAE,OAAuB;IACpE,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
|
package/dist/options.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA,YAAY;AACZ,MAAM,WAAW,aAAa;IAC1B
|
|
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"}
|
package/dist/rxjs/decoder.d.ts
CHANGED
|
@@ -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<
|
|
4
|
+
export declare function decode(options?: DecodeOptions): OperatorFunction<BufferSource, 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;
|
|
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,YAAY,EAAE,OAAO,CAAC,CAuFvF"}
|
package/dist/rxjs/decoder.js
CHANGED
|
@@ -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
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
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.
|
|
53
|
-
cursor.size
|
|
43
|
+
// 无需增大缓冲区,直接移动数据
|
|
44
|
+
cursor.data.copyWithin(0, cursor.offset, cursor.size);
|
|
45
|
+
cursor.data.set(chunk, cursor.size - cursor.offset);
|
|
54
46
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
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
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
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
|
package/dist/rxjs/decoder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../src/rxjs/decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAyB,MAAM,MAAM,CAAC;AACzD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../src/rxjs/decoder.ts"],"names":[],"mappings":"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"}
|
package/dist/rxjs/index.d.ts
CHANGED
|
@@ -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
|
package/dist/rxjs/index.d.ts.map
CHANGED
|
@@ -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"}
|
package/dist/stream/decoder.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/stream/decoder.js
CHANGED
|
@@ -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;
|
|
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,EAAgB,CAAC;QAC1C,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"}
|
package/dist/stream/index.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/stream/index.js
CHANGED
|
@@ -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
|
package/dist/stream/index.js.map
CHANGED
|
@@ -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;
|
|
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.
|
|
3
|
+
"version": "0.5.43",
|
|
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.
|
|
23
|
+
"@types/lodash": "^4.17.13",
|
|
24
24
|
"lodash": "^4.17.21",
|
|
25
25
|
"ref-impl": "npm:@cloudpss/ubjson@0.5.40"
|
|
26
26
|
},
|
package/src/base/decoder.ts
CHANGED
|
@@ -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(
|
|
8
|
+
constructor(
|
|
9
|
+
data: BufferSource,
|
|
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
|
}
|
package/src/helper/decode-ae.ts
CHANGED
|
@@ -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:
|
|
30
|
+
export function DecodeCursor(data: BufferSource, 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
|
-
|
|
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
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
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
|
}
|
|
@@ -475,6 +484,7 @@ export function* readData(cursor: DecodeCursorAe, marker: number): DecodeFuncAe<
|
|
|
475
484
|
return Array.from({ length: count }).fill(true);
|
|
476
485
|
case constants.FALSE:
|
|
477
486
|
return Array.from({ length: count }).fill(false);
|
|
487
|
+
case undefined:
|
|
478
488
|
default:
|
|
479
489
|
break;
|
|
480
490
|
}
|