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.
Files changed (117) hide show
  1. package/lib/fsa-to-node/json.d.ts +4 -4
  2. package/lib/fsa-to-node/json.js +2 -2
  3. package/lib/fsa-to-node/json.js.map +1 -1
  4. package/lib/internal/buffer.d.ts +0 -1
  5. package/lib/json-joy/json-pack/JsonPackExtension.d.ts +13 -0
  6. package/lib/json-joy/json-pack/JsonPackExtension.js +19 -0
  7. package/lib/json-joy/json-pack/JsonPackExtension.js.map +1 -0
  8. package/lib/json-joy/json-pack/JsonPackValue.d.ts +14 -0
  9. package/lib/json-joy/json-pack/JsonPackValue.js +20 -0
  10. package/lib/json-joy/json-pack/JsonPackValue.js.map +1 -0
  11. package/lib/json-joy/json-pack/cbor/CborDecoder.d.ts +65 -0
  12. package/lib/json-joy/json-pack/cbor/CborDecoder.js +394 -0
  13. package/lib/json-joy/json-pack/cbor/CborDecoder.js.map +1 -0
  14. package/lib/json-joy/json-pack/cbor/CborDecoderBase.d.ts +36 -0
  15. package/lib/json-joy/json-pack/cbor/CborDecoderBase.js +350 -0
  16. package/lib/json-joy/json-pack/cbor/CborDecoderBase.js.map +1 -0
  17. package/lib/json-joy/json-pack/cbor/CborEncoder.d.ts +14 -0
  18. package/lib/json-joy/json-pack/cbor/CborEncoder.js +69 -0
  19. package/lib/json-joy/json-pack/cbor/CborEncoder.js.map +1 -0
  20. package/lib/json-joy/json-pack/cbor/CborEncoderFast.d.ts +58 -0
  21. package/lib/json-joy/json-pack/cbor/CborEncoderFast.js +341 -0
  22. package/lib/json-joy/json-pack/cbor/CborEncoderFast.js.map +1 -0
  23. package/lib/json-joy/json-pack/cbor/constants.d.ts +39 -0
  24. package/lib/json-joy/json-pack/cbor/constants.js +3 -0
  25. package/lib/json-joy/json-pack/cbor/constants.js.map +1 -0
  26. package/lib/json-joy/json-pack/cbor/types.d.ts +4 -0
  27. package/lib/json-joy/json-pack/cbor/types.js +3 -0
  28. package/lib/json-joy/json-pack/cbor/types.js.map +1 -0
  29. package/lib/json-joy/json-pack/json/JsonDecoder.d.ts +18 -0
  30. package/lib/json-joy/json-pack/json/JsonDecoder.js +567 -0
  31. package/lib/json-joy/json-pack/json/JsonDecoder.js.map +1 -0
  32. package/lib/json-joy/json-pack/json/JsonEncoder.d.ts +34 -0
  33. package/lib/json-joy/json-pack/json/JsonEncoder.js +220 -0
  34. package/lib/json-joy/json-pack/json/JsonEncoder.js.map +1 -0
  35. package/lib/json-joy/json-pack/types.d.ts +59 -0
  36. package/lib/json-joy/json-pack/types.js +3 -0
  37. package/lib/json-joy/json-pack/types.js.map +1 -0
  38. package/lib/json-joy/json-pointer/index.d.ts +1 -0
  39. package/lib/json-joy/json-pointer/index.js +5 -0
  40. package/lib/json-joy/json-pointer/index.js.map +1 -0
  41. package/lib/json-joy/json-pointer/types.d.ts +2 -0
  42. package/lib/json-joy/json-pointer/types.js +3 -0
  43. package/lib/json-joy/json-pointer/types.js.map +1 -0
  44. package/lib/json-joy/util/base64/constants.d.ts +2 -0
  45. package/lib/json-joy/util/base64/constants.js +6 -0
  46. package/lib/json-joy/util/base64/constants.js.map +1 -0
  47. package/lib/json-joy/util/base64/createFromBase64Bin.d.ts +1 -0
  48. package/lib/json-joy/util/base64/createFromBase64Bin.js +82 -0
  49. package/lib/json-joy/util/base64/createFromBase64Bin.js.map +1 -0
  50. package/lib/json-joy/util/base64/createToBase64Bin.d.ts +1 -0
  51. package/lib/json-joy/util/base64/createToBase64Bin.js +47 -0
  52. package/lib/json-joy/util/base64/createToBase64Bin.js.map +1 -0
  53. package/lib/json-joy/util/base64/fromBase64Bin.d.ts +1 -0
  54. package/lib/json-joy/util/base64/fromBase64Bin.js +6 -0
  55. package/lib/json-joy/util/base64/fromBase64Bin.js.map +1 -0
  56. package/lib/json-joy/util/base64/toBase64Bin.d.ts +1 -0
  57. package/lib/json-joy/util/base64/toBase64Bin.js +6 -0
  58. package/lib/json-joy/util/base64/toBase64Bin.js.map +1 -0
  59. package/lib/json-joy/util/buffers/Reader.d.ts +22 -0
  60. package/lib/json-joy/util/buffers/Reader.js +95 -0
  61. package/lib/json-joy/util/buffers/Reader.js.map +1 -0
  62. package/lib/json-joy/util/buffers/Slice.d.ts +8 -0
  63. package/lib/json-joy/util/buffers/Slice.js +16 -0
  64. package/lib/json-joy/util/buffers/Slice.js.map +1 -0
  65. package/lib/json-joy/util/buffers/Writer.d.ts +75 -0
  66. package/lib/json-joy/util/buffers/Writer.js +252 -0
  67. package/lib/json-joy/util/buffers/Writer.js.map +1 -0
  68. package/lib/json-joy/util/buffers/f16.d.ts +1 -0
  69. package/lib/json-joy/util/buffers/f16.js +18 -0
  70. package/lib/json-joy/util/buffers/f16.js.map +1 -0
  71. package/lib/json-joy/util/buffers/index.d.ts +1 -0
  72. package/lib/json-joy/util/buffers/index.js +5 -0
  73. package/lib/json-joy/util/buffers/index.js.map +1 -0
  74. package/lib/json-joy/util/buffers/isFloat32.d.ts +1 -0
  75. package/lib/json-joy/util/buffers/isFloat32.js +10 -0
  76. package/lib/json-joy/util/buffers/isFloat32.js.map +1 -0
  77. package/lib/json-joy/util/buffers/types.d.ts +106 -0
  78. package/lib/json-joy/util/buffers/types.js +3 -0
  79. package/lib/json-joy/util/buffers/types.js.map +1 -0
  80. package/lib/json-joy/util/buffers/utf8/CachedUtf8Decoder.d.ts +7 -0
  81. package/lib/json-joy/util/buffers/utf8/CachedUtf8Decoder.js +54 -0
  82. package/lib/json-joy/util/buffers/utf8/CachedUtf8Decoder.js.map +1 -0
  83. package/lib/json-joy/util/buffers/utf8/decodeAscii.d.ts +3 -0
  84. package/lib/json-joy/util/buffers/utf8/decodeAscii.js +181 -0
  85. package/lib/json-joy/util/buffers/utf8/decodeAscii.js.map +1 -0
  86. package/lib/json-joy/util/buffers/utf8/decodeUtf8/index.d.ts +2 -0
  87. package/lib/json-joy/util/buffers/utf8/decodeUtf8/index.js +6 -0
  88. package/lib/json-joy/util/buffers/utf8/decodeUtf8/index.js.map +1 -0
  89. package/lib/json-joy/util/buffers/utf8/decodeUtf8/v10.d.ts +2 -0
  90. package/lib/json-joy/util/buffers/utf8/decodeUtf8/v10.js +43 -0
  91. package/lib/json-joy/util/buffers/utf8/decodeUtf8/v10.js.map +1 -0
  92. package/lib/json-joy/util/buffers/utf8/decodeUtf8/v16.d.ts +11 -0
  93. package/lib/json-joy/util/buffers/utf8/decodeUtf8/v16.js +25 -0
  94. package/lib/json-joy/util/buffers/utf8/decodeUtf8/v16.js.map +1 -0
  95. package/lib/json-joy/util/buffers/utf8/decodeUtf8/v18.d.ts +2 -0
  96. package/lib/json-joy/util/buffers/utf8/decodeUtf8/v18.js +41 -0
  97. package/lib/json-joy/util/buffers/utf8/decodeUtf8/v18.js.map +1 -0
  98. package/lib/json-joy/util/buffers/utf8/sharedCachedUtf8Decoder.d.ts +3 -0
  99. package/lib/json-joy/util/buffers/utf8/sharedCachedUtf8Decoder.js +5 -0
  100. package/lib/json-joy/util/buffers/utf8/sharedCachedUtf8Decoder.js.map +1 -0
  101. package/lib/json-joy/util/print/printTree.d.ts +3 -0
  102. package/lib/json-joy/util/print/printTree.js +19 -0
  103. package/lib/json-joy/util/print/printTree.js.map +1 -0
  104. package/lib/node/FileHandle.d.ts +0 -1
  105. package/lib/node/types/FsPromisesApi.d.ts +0 -1
  106. package/lib/node.d.ts +0 -1
  107. package/lib/print/index.js +1 -1
  108. package/lib/print/index.js.map +1 -1
  109. package/lib/snapshot/binary.d.ts +1 -1
  110. package/lib/snapshot/binary.js +2 -2
  111. package/lib/snapshot/binary.js.map +1 -1
  112. package/lib/snapshot/json.js +2 -2
  113. package/lib/snapshot/json.js.map +1 -1
  114. package/lib/snapshot/shared.d.ts +1 -1
  115. package/lib/snapshot/shared.js +1 -1
  116. package/lib/snapshot/shared.js.map +1 -1
  117. package/package.json +2 -2
@@ -1,4 +1,4 @@
1
- import { CborEncoder } from 'json-joy/es6/json-pack/cbor/CborEncoder';
2
- import { CborDecoder } from 'json-joy/es6/json-pack/cbor/CborDecoder';
3
- export declare const encoder: CborEncoder<import("json-joy/es6/util/buffers").IWriter & import("json-joy/es6/util/buffers").IWriterGrowable>;
4
- export declare const decoder: CborDecoder<import("json-joy/es6/util/buffers").IReader & import("json-joy/es6/util/buffers").IReaderResettable>;
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>;
@@ -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/es6/json-pack/cbor/CborEncoder");
5
- const CborDecoder_1 = require("json-joy/es6/json-pack/cbor/CborDecoder");
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,yEAAsE;AACtE,yEAAsE;AAEzD,QAAA,OAAO,GAAG,IAAI,yBAAW,EAAE,CAAC;AAC5B,QAAA,OAAO,GAAG,IAAI,yBAAW,EAAE,CAAC"}
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"}
@@ -1,5 +1,4 @@
1
1
  /// <reference types="node" />
2
- /// <reference types="node" />
3
2
  import { Buffer } from 'buffer';
4
3
  declare const bufferAllocUnsafe: (size: number) => Buffer;
5
4
  declare const bufferFrom: {
@@ -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
+ }