memfs 4.7.2 → 4.7.3
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/lib/fsa-to-node/json.d.ts +4 -4
- package/lib/fsa-to-node/json.js +2 -2
- package/lib/fsa-to-node/json.js.map +1 -1
- package/lib/internal/buffer.d.ts +0 -1
- package/lib/json-joy/json-pack/JsonPackExtension.d.ts +13 -0
- package/lib/json-joy/json-pack/JsonPackExtension.js +19 -0
- package/lib/json-joy/json-pack/JsonPackExtension.js.map +1 -0
- package/lib/json-joy/json-pack/JsonPackValue.d.ts +14 -0
- package/lib/json-joy/json-pack/JsonPackValue.js +20 -0
- package/lib/json-joy/json-pack/JsonPackValue.js.map +1 -0
- package/lib/json-joy/json-pack/cbor/CborDecoder.d.ts +65 -0
- package/lib/json-joy/json-pack/cbor/CborDecoder.js +394 -0
- package/lib/json-joy/json-pack/cbor/CborDecoder.js.map +1 -0
- package/lib/json-joy/json-pack/cbor/CborDecoderBase.d.ts +36 -0
- package/lib/json-joy/json-pack/cbor/CborDecoderBase.js +350 -0
- package/lib/json-joy/json-pack/cbor/CborDecoderBase.js.map +1 -0
- package/lib/json-joy/json-pack/cbor/CborEncoder.d.ts +14 -0
- package/lib/json-joy/json-pack/cbor/CborEncoder.js +69 -0
- package/lib/json-joy/json-pack/cbor/CborEncoder.js.map +1 -0
- package/lib/json-joy/json-pack/cbor/CborEncoderFast.d.ts +58 -0
- package/lib/json-joy/json-pack/cbor/CborEncoderFast.js +341 -0
- package/lib/json-joy/json-pack/cbor/CborEncoderFast.js.map +1 -0
- package/lib/json-joy/json-pack/cbor/constants.d.ts +39 -0
- package/lib/json-joy/json-pack/cbor/constants.js +3 -0
- package/lib/json-joy/json-pack/cbor/constants.js.map +1 -0
- package/lib/json-joy/json-pack/cbor/types.d.ts +4 -0
- package/lib/json-joy/json-pack/cbor/types.js +3 -0
- package/lib/json-joy/json-pack/cbor/types.js.map +1 -0
- package/lib/json-joy/json-pack/json/JsonDecoder.d.ts +18 -0
- package/lib/json-joy/json-pack/json/JsonDecoder.js +567 -0
- package/lib/json-joy/json-pack/json/JsonDecoder.js.map +1 -0
- package/lib/json-joy/json-pack/json/JsonEncoder.d.ts +34 -0
- package/lib/json-joy/json-pack/json/JsonEncoder.js +220 -0
- package/lib/json-joy/json-pack/json/JsonEncoder.js.map +1 -0
- package/lib/json-joy/json-pack/types.d.ts +59 -0
- package/lib/json-joy/json-pack/types.js +3 -0
- package/lib/json-joy/json-pack/types.js.map +1 -0
- package/lib/json-joy/json-pointer/index.d.ts +1 -0
- package/lib/json-joy/json-pointer/index.js +5 -0
- package/lib/json-joy/json-pointer/index.js.map +1 -0
- package/lib/json-joy/json-pointer/types.d.ts +2 -0
- package/lib/json-joy/json-pointer/types.js +3 -0
- package/lib/json-joy/json-pointer/types.js.map +1 -0
- package/lib/json-joy/util/base64/constants.d.ts +2 -0
- package/lib/json-joy/util/base64/constants.js +6 -0
- package/lib/json-joy/util/base64/constants.js.map +1 -0
- package/lib/json-joy/util/base64/createFromBase64Bin.d.ts +1 -0
- package/lib/json-joy/util/base64/createFromBase64Bin.js +82 -0
- package/lib/json-joy/util/base64/createFromBase64Bin.js.map +1 -0
- package/lib/json-joy/util/base64/createToBase64Bin.d.ts +1 -0
- package/lib/json-joy/util/base64/createToBase64Bin.js +47 -0
- package/lib/json-joy/util/base64/createToBase64Bin.js.map +1 -0
- package/lib/json-joy/util/base64/fromBase64Bin.d.ts +1 -0
- package/lib/json-joy/util/base64/fromBase64Bin.js +6 -0
- package/lib/json-joy/util/base64/fromBase64Bin.js.map +1 -0
- package/lib/json-joy/util/base64/toBase64Bin.d.ts +1 -0
- package/lib/json-joy/util/base64/toBase64Bin.js +6 -0
- package/lib/json-joy/util/base64/toBase64Bin.js.map +1 -0
- package/lib/json-joy/util/buffers/Reader.d.ts +22 -0
- package/lib/json-joy/util/buffers/Reader.js +95 -0
- package/lib/json-joy/util/buffers/Reader.js.map +1 -0
- package/lib/json-joy/util/buffers/Slice.d.ts +8 -0
- package/lib/json-joy/util/buffers/Slice.js +16 -0
- package/lib/json-joy/util/buffers/Slice.js.map +1 -0
- package/lib/json-joy/util/buffers/Writer.d.ts +75 -0
- package/lib/json-joy/util/buffers/Writer.js +252 -0
- package/lib/json-joy/util/buffers/Writer.js.map +1 -0
- package/lib/json-joy/util/buffers/f16.d.ts +1 -0
- package/lib/json-joy/util/buffers/f16.js +18 -0
- package/lib/json-joy/util/buffers/f16.js.map +1 -0
- package/lib/json-joy/util/buffers/index.d.ts +1 -0
- package/lib/json-joy/util/buffers/index.js +5 -0
- package/lib/json-joy/util/buffers/index.js.map +1 -0
- package/lib/json-joy/util/buffers/isFloat32.d.ts +1 -0
- package/lib/json-joy/util/buffers/isFloat32.js +10 -0
- package/lib/json-joy/util/buffers/isFloat32.js.map +1 -0
- package/lib/json-joy/util/buffers/types.d.ts +106 -0
- package/lib/json-joy/util/buffers/types.js +3 -0
- package/lib/json-joy/util/buffers/types.js.map +1 -0
- package/lib/json-joy/util/buffers/utf8/CachedUtf8Decoder.d.ts +7 -0
- package/lib/json-joy/util/buffers/utf8/CachedUtf8Decoder.js +54 -0
- package/lib/json-joy/util/buffers/utf8/CachedUtf8Decoder.js.map +1 -0
- package/lib/json-joy/util/buffers/utf8/decodeAscii.d.ts +3 -0
- package/lib/json-joy/util/buffers/utf8/decodeAscii.js +181 -0
- package/lib/json-joy/util/buffers/utf8/decodeAscii.js.map +1 -0
- package/lib/json-joy/util/buffers/utf8/decodeUtf8/index.d.ts +2 -0
- package/lib/json-joy/util/buffers/utf8/decodeUtf8/index.js +6 -0
- package/lib/json-joy/util/buffers/utf8/decodeUtf8/index.js.map +1 -0
- package/lib/json-joy/util/buffers/utf8/decodeUtf8/v10.d.ts +2 -0
- package/lib/json-joy/util/buffers/utf8/decodeUtf8/v10.js +43 -0
- package/lib/json-joy/util/buffers/utf8/decodeUtf8/v10.js.map +1 -0
- package/lib/json-joy/util/buffers/utf8/decodeUtf8/v16.d.ts +11 -0
- package/lib/json-joy/util/buffers/utf8/decodeUtf8/v16.js +25 -0
- package/lib/json-joy/util/buffers/utf8/decodeUtf8/v16.js.map +1 -0
- package/lib/json-joy/util/buffers/utf8/decodeUtf8/v18.d.ts +2 -0
- package/lib/json-joy/util/buffers/utf8/decodeUtf8/v18.js +41 -0
- package/lib/json-joy/util/buffers/utf8/decodeUtf8/v18.js.map +1 -0
- package/lib/json-joy/util/buffers/utf8/sharedCachedUtf8Decoder.d.ts +3 -0
- package/lib/json-joy/util/buffers/utf8/sharedCachedUtf8Decoder.js +5 -0
- package/lib/json-joy/util/buffers/utf8/sharedCachedUtf8Decoder.js.map +1 -0
- package/lib/json-joy/util/print/printTree.d.ts +3 -0
- package/lib/json-joy/util/print/printTree.js +19 -0
- package/lib/json-joy/util/print/printTree.js.map +1 -0
- package/lib/node/FileHandle.d.ts +0 -1
- package/lib/node/types/FsPromisesApi.d.ts +0 -1
- package/lib/node.d.ts +0 -1
- package/lib/print/index.js +1 -1
- package/lib/print/index.js.map +1 -1
- package/lib/snapshot/binary.d.ts +1 -1
- package/lib/snapshot/binary.js +2 -2
- package/lib/snapshot/binary.js.map +1 -1
- package/lib/snapshot/json.js +2 -2
- package/lib/snapshot/json.js.map +1 -1
- package/lib/snapshot/shared.d.ts +1 -1
- package/lib/snapshot/shared.js +1 -1
- package/lib/snapshot/shared.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CborEncoder } from 'json-joy/
|
|
2
|
-
import { CborDecoder } from 'json-joy/
|
|
3
|
-
export declare const encoder: CborEncoder<import("json-joy/
|
|
4
|
-
export declare const decoder: CborDecoder<import("json-joy/
|
|
1
|
+
import { CborEncoder } from '../json-joy/json-pack/cbor/CborEncoder';
|
|
2
|
+
import { CborDecoder } from '../json-joy/json-pack/cbor/CborDecoder';
|
|
3
|
+
export declare const encoder: CborEncoder<import("../json-joy/util/buffers").IWriter & import("../json-joy/util/buffers").IWriterGrowable>;
|
|
4
|
+
export declare const decoder: CborDecoder<import("../json-joy/util/buffers").IReader & import("../json-joy/util/buffers").IReaderResettable>;
|
package/lib/fsa-to-node/json.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.decoder = exports.encoder = void 0;
|
|
4
|
-
const CborEncoder_1 = require("json-joy/
|
|
5
|
-
const CborDecoder_1 = require("json-joy/
|
|
4
|
+
const CborEncoder_1 = require("../json-joy/json-pack/cbor/CborEncoder");
|
|
5
|
+
const CborDecoder_1 = require("../json-joy/json-pack/cbor/CborDecoder");
|
|
6
6
|
exports.encoder = new CborEncoder_1.CborEncoder();
|
|
7
7
|
exports.decoder = new CborDecoder_1.CborDecoder();
|
|
8
8
|
//# sourceMappingURL=json.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/fsa-to-node/json.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/fsa-to-node/json.ts"],"names":[],"mappings":";;;AAAA,wEAAqE;AACrE,wEAAqE;AAExD,QAAA,OAAO,GAAG,IAAI,yBAAW,EAAE,CAAC;AAC5B,QAAA,OAAO,GAAG,IAAI,yBAAW,EAAE,CAAC"}
|
package/lib/internal/buffer.d.ts
CHANGED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A wrapping for MessagePack extension or CBOR tag value. When encoder
|
|
3
|
+
* encounters {@link JsonPackExtension} it will encode it as a MessagePack
|
|
4
|
+
* extension or CBOR tag. Likewise, the decoder will
|
|
5
|
+
* decode extensions into {@link JsonPackExtension}.
|
|
6
|
+
*
|
|
7
|
+
* @category Value
|
|
8
|
+
*/
|
|
9
|
+
export declare class JsonPackExtension<T = Uint8Array> {
|
|
10
|
+
readonly tag: number;
|
|
11
|
+
readonly val: T;
|
|
12
|
+
constructor(tag: number, val: T);
|
|
13
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JsonPackExtension = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* A wrapping for MessagePack extension or CBOR tag value. When encoder
|
|
6
|
+
* encounters {@link JsonPackExtension} it will encode it as a MessagePack
|
|
7
|
+
* extension or CBOR tag. Likewise, the decoder will
|
|
8
|
+
* decode extensions into {@link JsonPackExtension}.
|
|
9
|
+
*
|
|
10
|
+
* @category Value
|
|
11
|
+
*/
|
|
12
|
+
class JsonPackExtension {
|
|
13
|
+
constructor(tag, val) {
|
|
14
|
+
this.tag = tag;
|
|
15
|
+
this.val = val;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.JsonPackExtension = JsonPackExtension;
|
|
19
|
+
//# sourceMappingURL=JsonPackExtension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JsonPackExtension.js","sourceRoot":"","sources":["../../../src/json-joy/json-pack/JsonPackExtension.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,MAAa,iBAAiB;IAC5B,YAA4B,GAAW,EAAkB,GAAM;QAAnC,QAAG,GAAH,GAAG,CAAQ;QAAkB,QAAG,GAAH,GAAG,CAAG;IAAG,CAAC;CACpE;AAFD,8CAEC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Use this wrapper is you have a pre-encoded MessagePack or CBOR value and you would
|
|
3
|
+
* like to dump it into a the document as-is. The contents of `buf` will
|
|
4
|
+
* be written as is to the document.
|
|
5
|
+
*
|
|
6
|
+
* It also serves as CBOR simple value container. In which case the type of value
|
|
7
|
+
* `val` field is "number".
|
|
8
|
+
*
|
|
9
|
+
* @category Value
|
|
10
|
+
*/
|
|
11
|
+
export declare class JsonPackValue<T = Uint8Array> {
|
|
12
|
+
readonly val: T;
|
|
13
|
+
constructor(val: T);
|
|
14
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JsonPackValue = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Use this wrapper is you have a pre-encoded MessagePack or CBOR value and you would
|
|
6
|
+
* like to dump it into a the document as-is. The contents of `buf` will
|
|
7
|
+
* be written as is to the document.
|
|
8
|
+
*
|
|
9
|
+
* It also serves as CBOR simple value container. In which case the type of value
|
|
10
|
+
* `val` field is "number".
|
|
11
|
+
*
|
|
12
|
+
* @category Value
|
|
13
|
+
*/
|
|
14
|
+
class JsonPackValue {
|
|
15
|
+
constructor(val) {
|
|
16
|
+
this.val = val;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.JsonPackValue = JsonPackValue;
|
|
20
|
+
//# sourceMappingURL=JsonPackValue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JsonPackValue.js","sourceRoot":"","sources":["../../../src/json-joy/json-pack/JsonPackValue.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;GASG;AACH,MAAa,aAAa;IACxB,YAA4B,GAAM;QAAN,QAAG,GAAH,GAAG,CAAG;IAAG,CAAC;CACvC;AAFD,sCAEC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { CborDecoderBase } from './CborDecoderBase';
|
|
2
|
+
import { JsonPackValue } from '../JsonPackValue';
|
|
3
|
+
import type { Path } from '../../json-pointer';
|
|
4
|
+
import type { IReader, IReaderResettable } from '../../util/buffers';
|
|
5
|
+
export declare class CborDecoder<R extends IReader & IReaderResettable = IReader & IReaderResettable> extends CborDecoderBase<R> {
|
|
6
|
+
readAsMap(): Map<unknown, unknown>;
|
|
7
|
+
readMap(minor: number): Map<unknown, unknown>;
|
|
8
|
+
readMapRaw(length: number): Map<unknown, unknown>;
|
|
9
|
+
readMapIndef(): Map<unknown, unknown>;
|
|
10
|
+
skipN(n: number): void;
|
|
11
|
+
skipAny(): void;
|
|
12
|
+
skipAnyRaw(octet: number): void;
|
|
13
|
+
skipMinorLen(minor: number): number;
|
|
14
|
+
skipUNint(minor: number): void;
|
|
15
|
+
skipBin(minor: number): void;
|
|
16
|
+
skipBinChunk(): void;
|
|
17
|
+
skipStr(minor: number): void;
|
|
18
|
+
skipStrChunk(): void;
|
|
19
|
+
skipArr(minor: number): void;
|
|
20
|
+
skipObj(minor: number): void;
|
|
21
|
+
skipTag(minor: number): void;
|
|
22
|
+
skipTkn(minor: number): void;
|
|
23
|
+
/**
|
|
24
|
+
* Throws if at given offset in a buffer there is an invalid CBOR value, or
|
|
25
|
+
* if the value does not span the exact length specified in `size`. I.e.
|
|
26
|
+
* throws if:
|
|
27
|
+
*
|
|
28
|
+
* - The value is not a valid CBOR value.
|
|
29
|
+
* - The value is shorter than `size`.
|
|
30
|
+
* - The value is longer than `size`.
|
|
31
|
+
*
|
|
32
|
+
* @param value Buffer in which to validate CBOR value.
|
|
33
|
+
* @param offset Offset at which the value starts.
|
|
34
|
+
* @param size Expected size of the value.
|
|
35
|
+
*/
|
|
36
|
+
validate(value: Uint8Array, offset?: number, size?: number): void;
|
|
37
|
+
decodeLevel(value: Uint8Array): unknown;
|
|
38
|
+
/**
|
|
39
|
+
* Decodes only one level of objects and arrays. Other values are decoded
|
|
40
|
+
* completely.
|
|
41
|
+
*
|
|
42
|
+
* @returns One level of decoded CBOR value.
|
|
43
|
+
*/
|
|
44
|
+
readLevel(): unknown;
|
|
45
|
+
/**
|
|
46
|
+
* Decodes primitive values, returns container values as `JsonPackValue`.
|
|
47
|
+
*
|
|
48
|
+
* @returns A primitive value, or CBOR container value as a blob.
|
|
49
|
+
*/
|
|
50
|
+
readPrimitiveOrVal(): unknown | JsonPackValue;
|
|
51
|
+
readAsValue(): JsonPackValue;
|
|
52
|
+
readObjLevel(minor: number): Record<string, unknown>;
|
|
53
|
+
readObjRawLevel(length: number): Record<string, unknown>;
|
|
54
|
+
readObjIndefLevel(): Record<string, unknown>;
|
|
55
|
+
readArrLevel(minor: number): unknown[];
|
|
56
|
+
readArrRawLevel(length: number): unknown[];
|
|
57
|
+
readArrIndefLevel(): unknown[];
|
|
58
|
+
readHdr(expectedMajor: number): number;
|
|
59
|
+
readStrHdr(): number;
|
|
60
|
+
readObjHdr(): number;
|
|
61
|
+
readArrHdr(): number;
|
|
62
|
+
findKey(key: string): this;
|
|
63
|
+
findIndex(index: number): this;
|
|
64
|
+
find(path: Path): this;
|
|
65
|
+
}
|
|
@@ -0,0 +1,394 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CborDecoder = void 0;
|
|
4
|
+
const CborDecoderBase_1 = require("./CborDecoderBase");
|
|
5
|
+
const JsonPackValue_1 = require("../JsonPackValue");
|
|
6
|
+
class CborDecoder extends CborDecoderBase_1.CborDecoderBase {
|
|
7
|
+
// -------------------------------------------------------------- Map reading
|
|
8
|
+
readAsMap() {
|
|
9
|
+
const octet = this.reader.u8();
|
|
10
|
+
const major = octet >> 5;
|
|
11
|
+
const minor = octet & 31 /* CONST.MINOR_MASK */;
|
|
12
|
+
switch (major) {
|
|
13
|
+
case 5 /* MAJOR.MAP */:
|
|
14
|
+
return this.readMap(minor);
|
|
15
|
+
default:
|
|
16
|
+
throw 0 /* ERROR.UNEXPECTED_MAJOR */;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
readMap(minor) {
|
|
20
|
+
const length = this.readMinorLen(minor);
|
|
21
|
+
if (length >= 0)
|
|
22
|
+
return this.readMapRaw(length);
|
|
23
|
+
else
|
|
24
|
+
return this.readMapIndef();
|
|
25
|
+
}
|
|
26
|
+
readMapRaw(length) {
|
|
27
|
+
const map = new Map();
|
|
28
|
+
for (let i = 0; i < length; i++) {
|
|
29
|
+
const key = this.val();
|
|
30
|
+
const value = this.val();
|
|
31
|
+
map.set(key, value);
|
|
32
|
+
}
|
|
33
|
+
return map;
|
|
34
|
+
}
|
|
35
|
+
readMapIndef() {
|
|
36
|
+
const map = new Map();
|
|
37
|
+
while (this.reader.peak() !== 255 /* CONST.END */) {
|
|
38
|
+
const key = this.val();
|
|
39
|
+
if (this.reader.peak() === 255 /* CONST.END */)
|
|
40
|
+
throw 7 /* ERROR.UNEXPECTED_OBJ_BREAK */;
|
|
41
|
+
const value = this.val();
|
|
42
|
+
map.set(key, value);
|
|
43
|
+
}
|
|
44
|
+
this.reader.x++;
|
|
45
|
+
return map;
|
|
46
|
+
}
|
|
47
|
+
// ----------------------------------------------------------- Value skipping
|
|
48
|
+
skipN(n) {
|
|
49
|
+
for (let i = 0; i < n; i++)
|
|
50
|
+
this.skipAny();
|
|
51
|
+
}
|
|
52
|
+
skipAny() {
|
|
53
|
+
this.skipAnyRaw(this.reader.u8());
|
|
54
|
+
}
|
|
55
|
+
skipAnyRaw(octet) {
|
|
56
|
+
const major = octet >> 5;
|
|
57
|
+
const minor = octet & 31 /* CONST.MINOR_MASK */;
|
|
58
|
+
switch (major) {
|
|
59
|
+
case 0 /* MAJOR.UIN */:
|
|
60
|
+
case 1 /* MAJOR.NIN */:
|
|
61
|
+
this.skipUNint(minor);
|
|
62
|
+
break;
|
|
63
|
+
case 2 /* MAJOR.BIN */:
|
|
64
|
+
this.skipBin(minor);
|
|
65
|
+
break;
|
|
66
|
+
case 3 /* MAJOR.STR */:
|
|
67
|
+
this.skipStr(minor);
|
|
68
|
+
break;
|
|
69
|
+
case 4 /* MAJOR.ARR */:
|
|
70
|
+
this.skipArr(minor);
|
|
71
|
+
break;
|
|
72
|
+
case 5 /* MAJOR.MAP */:
|
|
73
|
+
this.skipObj(minor);
|
|
74
|
+
break;
|
|
75
|
+
case 7 /* MAJOR.TKN */:
|
|
76
|
+
this.skipTkn(minor);
|
|
77
|
+
break;
|
|
78
|
+
case 6 /* MAJOR.TAG */:
|
|
79
|
+
this.skipTag(minor);
|
|
80
|
+
break;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
skipMinorLen(minor) {
|
|
84
|
+
if (minor <= 23)
|
|
85
|
+
return minor;
|
|
86
|
+
switch (minor) {
|
|
87
|
+
case 24:
|
|
88
|
+
return this.reader.u8();
|
|
89
|
+
case 25:
|
|
90
|
+
return this.reader.u16();
|
|
91
|
+
case 26:
|
|
92
|
+
return this.reader.u32();
|
|
93
|
+
case 27:
|
|
94
|
+
return Number(this.reader.u64());
|
|
95
|
+
case 31:
|
|
96
|
+
return -1;
|
|
97
|
+
default:
|
|
98
|
+
throw 1 /* ERROR.UNEXPECTED_MINOR */;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
// --------------------------------------------------------- Integer skipping
|
|
102
|
+
skipUNint(minor) {
|
|
103
|
+
if (minor <= 23)
|
|
104
|
+
return;
|
|
105
|
+
switch (minor) {
|
|
106
|
+
case 24:
|
|
107
|
+
return this.reader.skip(1);
|
|
108
|
+
case 25:
|
|
109
|
+
return this.reader.skip(2);
|
|
110
|
+
case 26:
|
|
111
|
+
return this.reader.skip(4);
|
|
112
|
+
case 27:
|
|
113
|
+
return this.reader.skip(8);
|
|
114
|
+
default:
|
|
115
|
+
throw 1 /* ERROR.UNEXPECTED_MINOR */;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
// ---------------------------------------------------------- Binary skipping
|
|
119
|
+
skipBin(minor) {
|
|
120
|
+
const length = this.skipMinorLen(minor);
|
|
121
|
+
if (length >= 0)
|
|
122
|
+
this.reader.skip(length);
|
|
123
|
+
else {
|
|
124
|
+
while (this.reader.peak() !== 255 /* CONST.END */)
|
|
125
|
+
this.skipBinChunk();
|
|
126
|
+
this.reader.x++;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
skipBinChunk() {
|
|
130
|
+
const octet = this.reader.u8();
|
|
131
|
+
const major = octet >> 5;
|
|
132
|
+
const minor = octet & 31 /* CONST.MINOR_MASK */;
|
|
133
|
+
if (major !== 2 /* MAJOR.BIN */)
|
|
134
|
+
throw 2 /* ERROR.UNEXPECTED_BIN_CHUNK_MAJOR */;
|
|
135
|
+
if (minor > 27)
|
|
136
|
+
throw 3 /* ERROR.UNEXPECTED_BIN_CHUNK_MINOR */;
|
|
137
|
+
this.skipBin(minor);
|
|
138
|
+
}
|
|
139
|
+
// ---------------------------------------------------------- String skipping
|
|
140
|
+
skipStr(minor) {
|
|
141
|
+
const length = this.skipMinorLen(minor);
|
|
142
|
+
if (length >= 0)
|
|
143
|
+
this.reader.skip(length);
|
|
144
|
+
else {
|
|
145
|
+
while (this.reader.peak() !== 255 /* CONST.END */)
|
|
146
|
+
this.skipStrChunk();
|
|
147
|
+
this.reader.x++;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
skipStrChunk() {
|
|
151
|
+
const octet = this.reader.u8();
|
|
152
|
+
const major = octet >> 5;
|
|
153
|
+
const minor = octet & 31 /* CONST.MINOR_MASK */;
|
|
154
|
+
if (major !== 3 /* MAJOR.STR */)
|
|
155
|
+
throw 4 /* ERROR.UNEXPECTED_STR_CHUNK_MAJOR */;
|
|
156
|
+
if (minor > 27)
|
|
157
|
+
throw 5 /* ERROR.UNEXPECTED_STR_CHUNK_MINOR */;
|
|
158
|
+
this.skipStr(minor);
|
|
159
|
+
}
|
|
160
|
+
// ----------------------------------------------------------- Array skipping
|
|
161
|
+
skipArr(minor) {
|
|
162
|
+
const length = this.skipMinorLen(minor);
|
|
163
|
+
if (length >= 0)
|
|
164
|
+
this.skipN(length);
|
|
165
|
+
else {
|
|
166
|
+
while (this.reader.peak() !== 255 /* CONST.END */)
|
|
167
|
+
this.skipAny();
|
|
168
|
+
this.reader.x++;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
// ---------------------------------------------------------- Object skipping
|
|
172
|
+
skipObj(minor) {
|
|
173
|
+
const length = this.readMinorLen(minor);
|
|
174
|
+
if (length >= 0)
|
|
175
|
+
return this.skipN(length * 2);
|
|
176
|
+
else {
|
|
177
|
+
while (this.reader.peak() !== 255 /* CONST.END */) {
|
|
178
|
+
this.skipAny();
|
|
179
|
+
if (this.reader.peak() === 255 /* CONST.END */)
|
|
180
|
+
throw 7 /* ERROR.UNEXPECTED_OBJ_BREAK */;
|
|
181
|
+
this.skipAny();
|
|
182
|
+
}
|
|
183
|
+
this.reader.x++;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
// ------------------------------------------------------------- Tag skipping
|
|
187
|
+
skipTag(minor) {
|
|
188
|
+
const length = this.skipMinorLen(minor);
|
|
189
|
+
if (length < 0)
|
|
190
|
+
throw 1 /* ERROR.UNEXPECTED_MINOR */;
|
|
191
|
+
this.skipAny();
|
|
192
|
+
}
|
|
193
|
+
// ----------------------------------------------------------- Token skipping
|
|
194
|
+
skipTkn(minor) {
|
|
195
|
+
switch (minor) {
|
|
196
|
+
case 0xf8 & 31 /* CONST.MINOR_MASK */:
|
|
197
|
+
this.reader.skip(1);
|
|
198
|
+
return;
|
|
199
|
+
case 0xf9 & 31 /* CONST.MINOR_MASK */:
|
|
200
|
+
this.reader.skip(2);
|
|
201
|
+
return;
|
|
202
|
+
case 0xfa & 31 /* CONST.MINOR_MASK */:
|
|
203
|
+
this.reader.skip(4);
|
|
204
|
+
return;
|
|
205
|
+
case 0xfb & 31 /* CONST.MINOR_MASK */:
|
|
206
|
+
this.reader.skip(8);
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
if (minor <= 23)
|
|
210
|
+
return;
|
|
211
|
+
throw 1 /* ERROR.UNEXPECTED_MINOR */;
|
|
212
|
+
}
|
|
213
|
+
// --------------------------------------------------------------- Validation
|
|
214
|
+
/**
|
|
215
|
+
* Throws if at given offset in a buffer there is an invalid CBOR value, or
|
|
216
|
+
* if the value does not span the exact length specified in `size`. I.e.
|
|
217
|
+
* throws if:
|
|
218
|
+
*
|
|
219
|
+
* - The value is not a valid CBOR value.
|
|
220
|
+
* - The value is shorter than `size`.
|
|
221
|
+
* - The value is longer than `size`.
|
|
222
|
+
*
|
|
223
|
+
* @param value Buffer in which to validate CBOR value.
|
|
224
|
+
* @param offset Offset at which the value starts.
|
|
225
|
+
* @param size Expected size of the value.
|
|
226
|
+
*/
|
|
227
|
+
validate(value, offset = 0, size = value.length) {
|
|
228
|
+
this.reader.reset(value);
|
|
229
|
+
this.reader.x = offset;
|
|
230
|
+
const start = offset;
|
|
231
|
+
this.skipAny();
|
|
232
|
+
const end = this.reader.x;
|
|
233
|
+
if (end - start !== size)
|
|
234
|
+
throw 8 /* ERROR.INVALID_SIZE */;
|
|
235
|
+
}
|
|
236
|
+
// -------------------------------------------- One level reading - any value
|
|
237
|
+
decodeLevel(value) {
|
|
238
|
+
this.reader.reset(value);
|
|
239
|
+
return this.readLevel();
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Decodes only one level of objects and arrays. Other values are decoded
|
|
243
|
+
* completely.
|
|
244
|
+
*
|
|
245
|
+
* @returns One level of decoded CBOR value.
|
|
246
|
+
*/
|
|
247
|
+
readLevel() {
|
|
248
|
+
const octet = this.reader.u8();
|
|
249
|
+
const major = octet >> 5;
|
|
250
|
+
const minor = octet & 31 /* CONST.MINOR_MASK */;
|
|
251
|
+
switch (major) {
|
|
252
|
+
case 4 /* MAJOR.ARR */:
|
|
253
|
+
return this.readArrLevel(minor);
|
|
254
|
+
case 5 /* MAJOR.MAP */:
|
|
255
|
+
return this.readObjLevel(minor);
|
|
256
|
+
default:
|
|
257
|
+
return super.readAnyRaw(octet);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Decodes primitive values, returns container values as `JsonPackValue`.
|
|
262
|
+
*
|
|
263
|
+
* @returns A primitive value, or CBOR container value as a blob.
|
|
264
|
+
*/
|
|
265
|
+
readPrimitiveOrVal() {
|
|
266
|
+
const octet = this.reader.peak();
|
|
267
|
+
const major = octet >> 5;
|
|
268
|
+
switch (major) {
|
|
269
|
+
case 4 /* MAJOR.ARR */:
|
|
270
|
+
case 5 /* MAJOR.MAP */:
|
|
271
|
+
return this.readAsValue();
|
|
272
|
+
default:
|
|
273
|
+
return this.val();
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
readAsValue() {
|
|
277
|
+
const reader = this.reader;
|
|
278
|
+
const start = reader.x;
|
|
279
|
+
this.skipAny();
|
|
280
|
+
const end = reader.x;
|
|
281
|
+
return new JsonPackValue_1.JsonPackValue(reader.uint8.subarray(start, end));
|
|
282
|
+
}
|
|
283
|
+
// ----------------------------------------------- One level reading - object
|
|
284
|
+
readObjLevel(minor) {
|
|
285
|
+
const length = this.readMinorLen(minor);
|
|
286
|
+
if (length >= 0)
|
|
287
|
+
return this.readObjRawLevel(length);
|
|
288
|
+
else
|
|
289
|
+
return this.readObjIndefLevel();
|
|
290
|
+
}
|
|
291
|
+
readObjRawLevel(length) {
|
|
292
|
+
const obj = {};
|
|
293
|
+
for (let i = 0; i < length; i++) {
|
|
294
|
+
const key = this.key();
|
|
295
|
+
const value = this.readPrimitiveOrVal();
|
|
296
|
+
obj[key] = value;
|
|
297
|
+
}
|
|
298
|
+
return obj;
|
|
299
|
+
}
|
|
300
|
+
readObjIndefLevel() {
|
|
301
|
+
const obj = {};
|
|
302
|
+
while (this.reader.peak() !== 255 /* CONST.END */) {
|
|
303
|
+
const key = this.key();
|
|
304
|
+
if (this.reader.peak() === 255 /* CONST.END */)
|
|
305
|
+
throw 7 /* ERROR.UNEXPECTED_OBJ_BREAK */;
|
|
306
|
+
const value = this.readPrimitiveOrVal();
|
|
307
|
+
obj[key] = value;
|
|
308
|
+
}
|
|
309
|
+
this.reader.x++;
|
|
310
|
+
return obj;
|
|
311
|
+
}
|
|
312
|
+
// ------------------------------------------------ One level reading - array
|
|
313
|
+
readArrLevel(minor) {
|
|
314
|
+
const length = this.readMinorLen(minor);
|
|
315
|
+
if (length >= 0)
|
|
316
|
+
return this.readArrRawLevel(length);
|
|
317
|
+
return this.readArrIndefLevel();
|
|
318
|
+
}
|
|
319
|
+
readArrRawLevel(length) {
|
|
320
|
+
const arr = [];
|
|
321
|
+
for (let i = 0; i < length; i++)
|
|
322
|
+
arr.push(this.readPrimitiveOrVal());
|
|
323
|
+
return arr;
|
|
324
|
+
}
|
|
325
|
+
readArrIndefLevel() {
|
|
326
|
+
const arr = [];
|
|
327
|
+
while (this.reader.peak() !== 255 /* CONST.END */)
|
|
328
|
+
arr.push(this.readPrimitiveOrVal());
|
|
329
|
+
this.reader.x++;
|
|
330
|
+
return arr;
|
|
331
|
+
}
|
|
332
|
+
// ---------------------------------------------------------- Shallow reading
|
|
333
|
+
readHdr(expectedMajor) {
|
|
334
|
+
const octet = this.reader.u8();
|
|
335
|
+
const major = octet >> 5;
|
|
336
|
+
if (major !== expectedMajor)
|
|
337
|
+
throw 0 /* ERROR.UNEXPECTED_MAJOR */;
|
|
338
|
+
const minor = octet & 31 /* CONST.MINOR_MASK */;
|
|
339
|
+
if (minor < 24)
|
|
340
|
+
return minor;
|
|
341
|
+
switch (minor) {
|
|
342
|
+
case 24:
|
|
343
|
+
return this.reader.u8();
|
|
344
|
+
case 25:
|
|
345
|
+
return this.reader.u16();
|
|
346
|
+
case 26:
|
|
347
|
+
return this.reader.u32();
|
|
348
|
+
case 27:
|
|
349
|
+
return Number(this.reader.u64());
|
|
350
|
+
case 31:
|
|
351
|
+
return -1;
|
|
352
|
+
}
|
|
353
|
+
throw 1 /* ERROR.UNEXPECTED_MINOR */;
|
|
354
|
+
}
|
|
355
|
+
readStrHdr() {
|
|
356
|
+
return this.readHdr(3 /* MAJOR.STR */);
|
|
357
|
+
}
|
|
358
|
+
readObjHdr() {
|
|
359
|
+
return this.readHdr(5 /* MAJOR.MAP */);
|
|
360
|
+
}
|
|
361
|
+
readArrHdr() {
|
|
362
|
+
return this.readHdr(4 /* MAJOR.ARR */);
|
|
363
|
+
}
|
|
364
|
+
findKey(key) {
|
|
365
|
+
const size = this.readObjHdr();
|
|
366
|
+
for (let i = 0; i < size; i++) {
|
|
367
|
+
const k = this.key();
|
|
368
|
+
if (k === key)
|
|
369
|
+
return this;
|
|
370
|
+
this.skipAny();
|
|
371
|
+
}
|
|
372
|
+
throw 9 /* ERROR.KEY_NOT_FOUND */;
|
|
373
|
+
}
|
|
374
|
+
findIndex(index) {
|
|
375
|
+
const size = this.readArrHdr();
|
|
376
|
+
if (index >= size)
|
|
377
|
+
throw 10 /* ERROR.INDEX_OUT_OF_BOUNDS */;
|
|
378
|
+
for (let i = 0; i < index; i++)
|
|
379
|
+
this.skipAny();
|
|
380
|
+
return this;
|
|
381
|
+
}
|
|
382
|
+
find(path) {
|
|
383
|
+
for (let i = 0; i < path.length; i++) {
|
|
384
|
+
const segment = path[i];
|
|
385
|
+
if (typeof segment === 'string')
|
|
386
|
+
this.findKey(segment);
|
|
387
|
+
else
|
|
388
|
+
this.findIndex(segment);
|
|
389
|
+
}
|
|
390
|
+
return this;
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
exports.CborDecoder = CborDecoder;
|
|
394
|
+
//# sourceMappingURL=CborDecoder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CborDecoder.js","sourceRoot":"","sources":["../../../../src/json-joy/json-pack/cbor/CborDecoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { JsonPackExtension } from '../JsonPackExtension';
|
|
2
|
+
import { JsonPackValue } from '../JsonPackValue';
|
|
3
|
+
import type { CachedUtf8Decoder } from '../../util/buffers/utf8/CachedUtf8Decoder';
|
|
4
|
+
import type { IReader, IReaderResettable } from '../../util/buffers';
|
|
5
|
+
import type { BinaryJsonDecoder, PackValue } from '../types';
|
|
6
|
+
export declare class CborDecoderBase<R extends IReader & IReaderResettable = IReader & IReaderResettable> implements BinaryJsonDecoder {
|
|
7
|
+
reader: R;
|
|
8
|
+
protected readonly keyDecoder: CachedUtf8Decoder;
|
|
9
|
+
constructor(reader?: R, keyDecoder?: CachedUtf8Decoder);
|
|
10
|
+
read(uint8: Uint8Array): PackValue;
|
|
11
|
+
/** @deprecated */
|
|
12
|
+
decode(uint8: Uint8Array): unknown;
|
|
13
|
+
val(): unknown;
|
|
14
|
+
readAnyRaw(octet: number): unknown;
|
|
15
|
+
readMinorLen(minor: number): number;
|
|
16
|
+
readUint(minor: number): number | bigint;
|
|
17
|
+
readNint(minor: number): number | bigint;
|
|
18
|
+
readBin(minor: number): Uint8Array;
|
|
19
|
+
readBinChunk(): Uint8Array;
|
|
20
|
+
readAsStr(): string;
|
|
21
|
+
readStr(minor: number): string;
|
|
22
|
+
readStrLen(minor: number): number;
|
|
23
|
+
readStrChunk(): string;
|
|
24
|
+
readArr(minor: number): unknown[];
|
|
25
|
+
readArrRaw(length: number): unknown[];
|
|
26
|
+
readArrIndef(): unknown[];
|
|
27
|
+
readObj(minor: number): Record<string, unknown>;
|
|
28
|
+
/** Remove this? */
|
|
29
|
+
readObjRaw(length: number): Record<string, unknown>;
|
|
30
|
+
readObjIndef(): Record<string, unknown>;
|
|
31
|
+
key(): string;
|
|
32
|
+
readTag(minor: number): JsonPackExtension<unknown> | unknown;
|
|
33
|
+
readTagRaw(tag: number): JsonPackExtension<unknown> | unknown;
|
|
34
|
+
readTkn(minor: number): number | true | false | null | undefined | JsonPackValue<number>;
|
|
35
|
+
f16(): number;
|
|
36
|
+
}
|