@cloudpss/ubjson 0.5.39 → 0.5.41

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 (92) hide show
  1. package/dist/base/decoder.d.ts +1 -0
  2. package/dist/base/decoder.d.ts.map +1 -0
  3. package/dist/base/encoder.d.ts +5 -1
  4. package/dist/base/encoder.d.ts.map +1 -0
  5. package/dist/base/encoder.js +50 -188
  6. package/dist/base/encoder.js.map +1 -1
  7. package/dist/decoder.d.ts +1 -0
  8. package/dist/decoder.d.ts.map +1 -0
  9. package/dist/encoder.d.ts +7 -1
  10. package/dist/encoder.d.ts.map +1 -0
  11. package/dist/encoder.js +24 -15
  12. package/dist/encoder.js.map +1 -1
  13. package/dist/helper/constants.d.ts +1 -0
  14. package/dist/helper/constants.d.ts.map +1 -0
  15. package/dist/helper/decode-ae.d.ts +50 -0
  16. package/dist/helper/decode-ae.d.ts.map +1 -0
  17. package/dist/helper/decode-ae.js +584 -0
  18. package/dist/helper/decode-ae.js.map +1 -0
  19. package/dist/helper/decode.d.ts +6 -3
  20. package/dist/helper/decode.d.ts.map +1 -0
  21. package/dist/helper/decode.js +33 -20
  22. package/dist/helper/decode.js.map +1 -1
  23. package/dist/helper/encode.d.ts +19 -1
  24. package/dist/helper/encode.d.ts.map +1 -0
  25. package/dist/helper/encode.js +138 -16
  26. package/dist/helper/encode.js.map +1 -1
  27. package/dist/helper/errors.d.ts +1 -0
  28. package/dist/helper/errors.d.ts.map +1 -0
  29. package/dist/helper/string-decoder.d.ts +5 -2
  30. package/dist/helper/string-decoder.d.ts.map +1 -0
  31. package/dist/helper/string-decoder.js +10 -38
  32. package/dist/helper/string-decoder.js.map +1 -1
  33. package/dist/helper/string-encoder.d.ts +1 -0
  34. package/dist/helper/string-encoder.d.ts.map +1 -0
  35. package/dist/helper/utils.d.ts +1 -0
  36. package/dist/helper/utils.d.ts.map +1 -0
  37. package/dist/index.d.ts +5 -2
  38. package/dist/index.d.ts.map +1 -0
  39. package/dist/index.js +4 -4
  40. package/dist/index.js.map +1 -1
  41. package/dist/options.d.ts +6 -0
  42. package/dist/options.d.ts.map +1 -0
  43. package/dist/options.js +2 -0
  44. package/dist/options.js.map +1 -0
  45. package/dist/rxjs/decoder.d.ts +1 -0
  46. package/dist/rxjs/decoder.d.ts.map +1 -0
  47. package/dist/rxjs/decoder.js +66 -40
  48. package/dist/rxjs/decoder.js.map +1 -1
  49. package/dist/rxjs/encoder.d.ts +3 -1
  50. package/dist/rxjs/encoder.d.ts.map +1 -0
  51. package/dist/rxjs/encoder.js +2 -2
  52. package/dist/rxjs/encoder.js.map +1 -1
  53. package/dist/rxjs/index.d.ts +2 -0
  54. package/dist/rxjs/index.d.ts.map +1 -0
  55. package/dist/stream/decoder.d.ts +1 -0
  56. package/dist/stream/decoder.d.ts.map +1 -0
  57. package/dist/stream/encoder.d.ts +4 -2
  58. package/dist/stream/encoder.d.ts.map +1 -0
  59. package/dist/stream/encoder.js +2 -2
  60. package/dist/stream/encoder.js.map +1 -1
  61. package/dist/stream/index.d.ts +6 -3
  62. package/dist/stream/index.d.ts.map +1 -0
  63. package/dist/stream/index.js +6 -6
  64. package/dist/stream/index.js.map +1 -1
  65. package/dist/stream-helper/decoder.d.ts +1 -0
  66. package/dist/stream-helper/decoder.d.ts.map +1 -0
  67. package/dist/stream-helper/encoder.d.ts +5 -2
  68. package/dist/stream-helper/encoder.d.ts.map +1 -0
  69. package/dist/stream-helper/encoder.js +33 -31
  70. package/dist/stream-helper/encoder.js.map +1 -1
  71. package/jest.config.js +1 -1
  72. package/package.json +3 -4
  73. package/src/base/encoder.ts +58 -174
  74. package/src/encoder.ts +27 -15
  75. package/src/helper/decode-ae.ts +621 -0
  76. package/src/helper/decode.ts +36 -23
  77. package/src/helper/encode.ts +141 -15
  78. package/src/helper/string-decoder.ts +10 -39
  79. package/src/index.ts +7 -4
  80. package/src/options.ts +5 -0
  81. package/src/rxjs/decoder.ts +66 -40
  82. package/src/rxjs/encoder.ts +3 -2
  83. package/src/rxjs/index.ts +1 -0
  84. package/src/stream/encoder.ts +4 -3
  85. package/src/stream/index.ts +8 -6
  86. package/src/stream-helper/encoder.ts +39 -34
  87. package/tests/.utils.js +1 -0
  88. package/tests/e2e/stream.js +13 -1
  89. package/tests/encode.js +8 -0
  90. package/tests/string-encoding.js +1 -10
  91. package/tests/tsconfig.json +1 -7
  92. package/tsconfig.json +1 -1
@@ -0,0 +1,584 @@
1
+ import { unsupportedType } from './errors.js';
2
+ import { decode } from './string-decoder.js';
3
+ import { toUint8Array } from './utils.js';
4
+ const { defineProperty } = Object;
5
+ const { fromCharCode } = String;
6
+ /** 创建数据包装 */
7
+ export function DecodeCursor(data) {
8
+ const d = toUint8Array(data);
9
+ const v = new DataView(d.buffer, d.byteOffset, d.byteLength);
10
+ return {
11
+ data: d,
12
+ view: v,
13
+ size: v.byteLength,
14
+ offset: 0,
15
+ };
16
+ }
17
+ /**
18
+ * 读取第一个非 NOOP 的字节
19
+ */
20
+ export function* readMarker(cursor) {
21
+ let marker;
22
+ do {
23
+ if (cursor.offset + 1 > cursor.size) {
24
+ yield cursor.offset - cursor.size + 1;
25
+ }
26
+ marker = cursor.data[cursor.offset++];
27
+ } while (marker === 78 /* constants.NO_OP */);
28
+ return marker;
29
+ }
30
+ /** 读取一个大于 0 的整数 */
31
+ export function* readLength(cursor) {
32
+ let marker;
33
+ do {
34
+ if (cursor.offset + 1 > cursor.size) {
35
+ yield cursor.offset - cursor.size + 1;
36
+ }
37
+ marker = cursor.data[cursor.offset++];
38
+ } while (marker === 78 /* constants.NO_OP */);
39
+ let length;
40
+ switch (marker) {
41
+ case 105 /* constants.INT8 */:
42
+ if (cursor.offset + 1 > cursor.size) {
43
+ yield cursor.offset - cursor.size + 1;
44
+ }
45
+ length = cursor.view.getInt8(cursor.offset++);
46
+ break;
47
+ case 85 /* constants.UINT8 */:
48
+ length = yield* readUint8Data(cursor);
49
+ break;
50
+ case 73 /* constants.INT16 */:
51
+ length = yield* readInt16Data(cursor);
52
+ break;
53
+ case 108 /* constants.INT32 */:
54
+ length = yield* readInt32Data(cursor);
55
+ break;
56
+ case 76 /* constants.INT64 */: {
57
+ const l = yield* readInt64Data(cursor);
58
+ if (l < 0 || l > Number.MAX_SAFE_INTEGER) {
59
+ throw new Error('Invalid length');
60
+ }
61
+ length = Number(l);
62
+ break;
63
+ }
64
+ default:
65
+ throw new Error(`Unexpected marker '${fromCharCode(marker)}'(${marker}) for int length`);
66
+ }
67
+ if (length < 0) {
68
+ throw new Error('Invalid length');
69
+ }
70
+ return length;
71
+ }
72
+ /** readInt8Data */
73
+ export function* readInt8Data(cursor) {
74
+ if (cursor.offset + 1 > cursor.size) {
75
+ yield cursor.offset - cursor.size + 1;
76
+ }
77
+ return cursor.view.getInt8(cursor.offset++);
78
+ }
79
+ /** readUint8Data */
80
+ export function* readUint8Data(cursor) {
81
+ if (cursor.offset + 1 > cursor.size) {
82
+ yield cursor.offset - cursor.size + 1;
83
+ }
84
+ return cursor.data[cursor.offset++];
85
+ }
86
+ /** readInt16Data */
87
+ export function* readInt16Data(cursor) {
88
+ if (cursor.offset + 2 > cursor.size) {
89
+ yield cursor.offset - cursor.size + 2;
90
+ }
91
+ const value = cursor.view.getInt16(cursor.offset);
92
+ cursor.offset += 2;
93
+ return value;
94
+ }
95
+ /** readInt32Data */
96
+ export function* readInt32Data(cursor) {
97
+ if (cursor.offset + 4 > cursor.size) {
98
+ yield cursor.offset - cursor.size + 4;
99
+ }
100
+ const value = cursor.view.getInt32(cursor.offset);
101
+ cursor.offset += 4;
102
+ return value;
103
+ }
104
+ /** readInt64Data */
105
+ export function* readInt64Data(cursor) {
106
+ if (cursor.offset + 8 > cursor.size) {
107
+ yield cursor.offset - cursor.size + 8;
108
+ }
109
+ const value = cursor.view.getBigInt64(cursor.offset);
110
+ cursor.offset += 8;
111
+ return value;
112
+ }
113
+ /** readFloat32Data */
114
+ export function* readFloat32Data(cursor) {
115
+ if (cursor.offset + 4 > cursor.size) {
116
+ yield cursor.offset - cursor.size + 4;
117
+ }
118
+ const value = cursor.view.getFloat32(cursor.offset);
119
+ cursor.offset += 4;
120
+ return value;
121
+ }
122
+ /** readFloat64Data */
123
+ export function* readFloat64Data(cursor) {
124
+ if (cursor.offset + 8 > cursor.size) {
125
+ yield cursor.offset - cursor.size + 8;
126
+ }
127
+ const value = cursor.view.getFloat64(cursor.offset);
128
+ cursor.offset += 8;
129
+ return value;
130
+ }
131
+ /** 读取数据 */
132
+ export function* read(cursor) {
133
+ let marker;
134
+ do {
135
+ if (cursor.offset + 1 > cursor.size) {
136
+ yield cursor.offset - cursor.size + 1;
137
+ }
138
+ marker = cursor.data[cursor.offset++];
139
+ } while (marker === 78 /* constants.NO_OP */);
140
+ return yield* readData(cursor, marker);
141
+ }
142
+ /** 读取优化对象数据 */
143
+ function* readObjectOptimizedData(cursor, marker) {
144
+ const { count, type } = marker;
145
+ const object = {};
146
+ for (let i = 0; i < count; i++) {
147
+ const key = yield* readKey(cursor);
148
+ const value = yield* readData(cursor, type ?? (yield* readMarker(cursor)));
149
+ if (key === '__proto__') {
150
+ defineProperty(object, key, { value, enumerable: true, configurable: true, writable: true });
151
+ }
152
+ object[key] = value;
153
+ }
154
+ return object;
155
+ }
156
+ /** 根据标签读取后续数据 */
157
+ export function* readData(cursor, marker) {
158
+ // 按照出现频率排序
159
+ switch (marker) {
160
+ case 83 /* constants.STRING */: {
161
+ let marker;
162
+ do {
163
+ if (cursor.offset + 1 > cursor.size) {
164
+ yield cursor.offset - cursor.size + 1;
165
+ }
166
+ marker = cursor.data[cursor.offset++];
167
+ } while (marker === 78 /* constants.NO_OP */);
168
+ let length;
169
+ switch (marker) {
170
+ case 105 /* constants.INT8 */:
171
+ if (cursor.offset + 1 > cursor.size) {
172
+ yield cursor.offset - cursor.size + 1;
173
+ }
174
+ length = cursor.view.getInt8(cursor.offset++);
175
+ break;
176
+ case 85 /* constants.UINT8 */:
177
+ length = yield* readUint8Data(cursor);
178
+ break;
179
+ case 73 /* constants.INT16 */:
180
+ length = yield* readInt16Data(cursor);
181
+ break;
182
+ case 108 /* constants.INT32 */:
183
+ length = yield* readInt32Data(cursor);
184
+ break;
185
+ case 76 /* constants.INT64 */: {
186
+ const l = yield* readInt64Data(cursor);
187
+ if (l < 0 || l > Number.MAX_SAFE_INTEGER) {
188
+ throw new Error('Invalid length');
189
+ }
190
+ length = Number(l);
191
+ break;
192
+ }
193
+ default:
194
+ throw new Error(`Unexpected marker '${fromCharCode(marker)}'(${marker}) for int length`);
195
+ }
196
+ if (length < 0) {
197
+ throw new Error('Invalid length');
198
+ }
199
+ if (cursor.offset + length > cursor.size) {
200
+ yield cursor.offset - cursor.size + length;
201
+ }
202
+ const begin = cursor.offset;
203
+ const end = begin + length;
204
+ cursor.offset = end;
205
+ const { data } = cursor;
206
+ return decode(data, begin, end);
207
+ }
208
+ case 123 /* constants.OBJECT */: {
209
+ let type;
210
+ let count;
211
+ let marker;
212
+ do {
213
+ if (cursor.offset + 1 > cursor.size) {
214
+ yield cursor.offset - cursor.size + 1;
215
+ }
216
+ marker = cursor.data[cursor.offset++];
217
+ } while (marker === 78 /* constants.NO_OP */);
218
+ switch (marker) {
219
+ case 36 /* constants.TYPE_MARKER */: {
220
+ do {
221
+ if (cursor.offset + 1 > cursor.size) {
222
+ yield cursor.offset - cursor.size + 1;
223
+ }
224
+ type = cursor.data[cursor.offset++];
225
+ } while (type === 78 /* constants.NO_OP */);
226
+ let marker2;
227
+ do {
228
+ if (cursor.offset + 1 > cursor.size) {
229
+ yield cursor.offset - cursor.size + 1;
230
+ }
231
+ marker2 = cursor.data[cursor.offset++];
232
+ } while (marker2 === 78 /* constants.NO_OP */);
233
+ if (marker2 !== 35 /* constants.COUNT_MARKER */) {
234
+ throw new Error('Expected count marker');
235
+ }
236
+ }
237
+ /* fall through */
238
+ case 35 /* constants.COUNT_MARKER */: {
239
+ count = yield* readLength(cursor);
240
+ break;
241
+ }
242
+ default: {
243
+ // 不是 '$' 或 '#'
244
+ // 直到 '}'
245
+ const object = {};
246
+ for (;;) {
247
+ while (marker === 78 /* constants.NO_OP */) {
248
+ if (cursor.offset + 1 > cursor.size) {
249
+ yield cursor.offset - cursor.size + 1;
250
+ }
251
+ marker = cursor.data[cursor.offset++];
252
+ }
253
+ if (marker === 125 /* constants.OBJECT_END */)
254
+ break;
255
+ let length;
256
+ switch (marker) {
257
+ case 105 /* constants.INT8 */:
258
+ if (cursor.offset + 1 > cursor.size) {
259
+ yield cursor.offset - cursor.size + 1;
260
+ }
261
+ length = cursor.view.getInt8(cursor.offset++);
262
+ break;
263
+ case 85 /* constants.UINT8 */:
264
+ length = yield* readUint8Data(cursor);
265
+ break;
266
+ case 73 /* constants.INT16 */:
267
+ length = yield* readInt16Data(cursor);
268
+ break;
269
+ case 108 /* constants.INT32 */:
270
+ length = yield* readInt32Data(cursor);
271
+ break;
272
+ case 76 /* constants.INT64 */: {
273
+ const l = yield* readInt64Data(cursor);
274
+ if (l < 0 || l > Number.MAX_SAFE_INTEGER) {
275
+ throw new Error('Invalid length');
276
+ }
277
+ length = Number(l);
278
+ break;
279
+ }
280
+ default:
281
+ throw new Error(`Unexpected marker '${fromCharCode(marker)}'(${marker}) for int length`);
282
+ }
283
+ if (length < 0) {
284
+ throw new Error('Invalid length');
285
+ }
286
+ if (cursor.offset + length > cursor.size) {
287
+ yield cursor.offset - cursor.size + length;
288
+ }
289
+ marker = 78 /* constants.NO_OP */;
290
+ const begin = cursor.offset;
291
+ const end = begin + length;
292
+ cursor.offset = end;
293
+ const { data } = cursor;
294
+ const key = decode(data, begin, end);
295
+ let valueMarker;
296
+ do {
297
+ if (cursor.offset + 1 > cursor.size) {
298
+ yield cursor.offset - cursor.size + 1;
299
+ }
300
+ valueMarker = cursor.data[cursor.offset++];
301
+ } while (valueMarker === 78 /* constants.NO_OP */);
302
+ const value = yield* readData(cursor, valueMarker);
303
+ if (key === '__proto__') {
304
+ defineProperty(object, key, {
305
+ value,
306
+ enumerable: true,
307
+ configurable: true,
308
+ writable: true,
309
+ });
310
+ }
311
+ object[key] = value;
312
+ }
313
+ return object;
314
+ }
315
+ }
316
+ return yield* readObjectOptimizedData(cursor, { type, count });
317
+ }
318
+ case 91 /* constants.ARRAY */: {
319
+ let type;
320
+ let count;
321
+ let marker;
322
+ do {
323
+ if (cursor.offset + 1 > cursor.size) {
324
+ yield cursor.offset - cursor.size + 1;
325
+ }
326
+ marker = cursor.data[cursor.offset++];
327
+ } while (marker === 78 /* constants.NO_OP */);
328
+ switch (marker) {
329
+ case 36 /* constants.TYPE_MARKER */: {
330
+ do {
331
+ if (cursor.offset + 1 > cursor.size) {
332
+ yield cursor.offset - cursor.size + 1;
333
+ }
334
+ type = cursor.data[cursor.offset++];
335
+ } while (type === 78 /* constants.NO_OP */);
336
+ let marker2;
337
+ do {
338
+ if (cursor.offset + 1 > cursor.size) {
339
+ yield cursor.offset - cursor.size + 1;
340
+ }
341
+ marker2 = cursor.data[cursor.offset++];
342
+ } while (marker2 === 78 /* constants.NO_OP */);
343
+ if (marker2 !== 35 /* constants.COUNT_MARKER */) {
344
+ throw new Error('Expected count marker');
345
+ }
346
+ }
347
+ /* fall through */
348
+ case 35 /* constants.COUNT_MARKER */: {
349
+ count = yield* readLength(cursor);
350
+ break;
351
+ }
352
+ default: {
353
+ // 不是 '$' 或 '#'
354
+ const array = [];
355
+ for (;;) {
356
+ while (marker === 78 /* constants.NO_OP */) {
357
+ if (cursor.offset + 1 > cursor.size) {
358
+ yield cursor.offset - cursor.size + 1;
359
+ }
360
+ marker = cursor.data[cursor.offset++];
361
+ }
362
+ // 直到 ']'
363
+ if (marker === 93 /* constants.ARRAY_END */)
364
+ break;
365
+ array.push(yield* readData(cursor, marker));
366
+ marker = 78 /* constants.NO_OP */;
367
+ }
368
+ return array;
369
+ }
370
+ }
371
+ switch (type) {
372
+ case 85 /* constants.UINT8 */: {
373
+ if (cursor.offset + count > cursor.size) {
374
+ yield cursor.offset - cursor.size + count;
375
+ }
376
+ const buf = new Uint8Array(cursor.data.buffer, cursor.data.byteOffset + cursor.offset, count).slice();
377
+ cursor.offset += count;
378
+ return buf;
379
+ }
380
+ case 105 /* constants.INT8 */: {
381
+ if (cursor.offset + count > cursor.size) {
382
+ yield cursor.offset - cursor.size + count;
383
+ }
384
+ const buf = new Int8Array(cursor.data.buffer, cursor.data.byteOffset + cursor.offset, count).slice();
385
+ cursor.offset += count;
386
+ return buf;
387
+ }
388
+ case 73 /* constants.INT16 */: {
389
+ if (cursor.offset + count * 2 > cursor.size) {
390
+ yield cursor.offset - cursor.size + count * 2;
391
+ }
392
+ const result = new Int16Array(count);
393
+ for (let i = 0; i < count; i++) {
394
+ result[i] = yield* readInt16Data(cursor);
395
+ }
396
+ return result;
397
+ }
398
+ case 108 /* constants.INT32 */: {
399
+ if (cursor.offset + count * 4 > cursor.size) {
400
+ yield cursor.offset - cursor.size + count * 4;
401
+ }
402
+ const result = new Int32Array(count);
403
+ for (let i = 0; i < count; i++) {
404
+ result[i] = yield* readInt32Data(cursor);
405
+ }
406
+ return result;
407
+ }
408
+ case 100 /* constants.FLOAT32 */: {
409
+ if (cursor.offset + count * 4 > cursor.size) {
410
+ yield cursor.offset - cursor.size + count * 4;
411
+ }
412
+ const result = new Float32Array(count);
413
+ for (let i = 0; i < count; i++) {
414
+ result[i] = yield* readFloat32Data(cursor);
415
+ }
416
+ return result;
417
+ }
418
+ case 68 /* constants.FLOAT64 */: {
419
+ if (cursor.offset + count * 8 > cursor.size) {
420
+ yield cursor.offset - cursor.size + count * 8;
421
+ }
422
+ const result = new Float64Array(count);
423
+ for (let i = 0; i < count; i++) {
424
+ result[i] = yield* readFloat64Data(cursor);
425
+ }
426
+ return result;
427
+ }
428
+ case 76 /* constants.INT64 */: {
429
+ if (cursor.offset + count * 8 > cursor.size) {
430
+ yield cursor.offset - cursor.size + count * 8;
431
+ }
432
+ const result = new BigInt64Array(count);
433
+ for (let i = 0; i < count; i++) {
434
+ result[i] = yield* readInt64Data(cursor);
435
+ }
436
+ return result;
437
+ }
438
+ case 90 /* constants.NULL */:
439
+ return Array.from({ length: count }).fill(null);
440
+ case 84 /* constants.TRUE */:
441
+ return Array.from({ length: count }).fill(true);
442
+ case 70 /* constants.FALSE */:
443
+ return Array.from({ length: count }).fill(false);
444
+ default:
445
+ break;
446
+ }
447
+ const array = [];
448
+ array.length = count;
449
+ for (let i = 0; i < count; i++) {
450
+ array[i] = type === undefined ? yield* read(cursor) : yield* readData(cursor, type);
451
+ }
452
+ return array;
453
+ }
454
+ case 68 /* constants.FLOAT64 */: {
455
+ if (cursor.offset + 8 > cursor.size) {
456
+ yield cursor.offset - cursor.size + 8;
457
+ }
458
+ const value = cursor.view.getFloat64(cursor.offset);
459
+ cursor.offset += 8;
460
+ return value;
461
+ }
462
+ case 85 /* constants.UINT8 */: {
463
+ if (cursor.offset + 1 > cursor.size) {
464
+ yield cursor.offset - cursor.size + 1;
465
+ }
466
+ return cursor.data[cursor.offset++];
467
+ }
468
+ case 73 /* constants.INT16 */: {
469
+ if (cursor.offset + 2 > cursor.size) {
470
+ yield cursor.offset - cursor.size + 2;
471
+ }
472
+ const value = cursor.view.getInt16(cursor.offset);
473
+ cursor.offset += 2;
474
+ return value;
475
+ }
476
+ case 100 /* constants.FLOAT32 */: {
477
+ if (cursor.offset + 4 > cursor.size) {
478
+ yield cursor.offset - cursor.size + 4;
479
+ }
480
+ const value = cursor.view.getFloat32(cursor.offset);
481
+ cursor.offset += 4;
482
+ return value;
483
+ }
484
+ case 67 /* constants.CHAR */: {
485
+ if (cursor.offset + 1 > cursor.size) {
486
+ yield cursor.offset - cursor.size + 1;
487
+ }
488
+ return fromCharCode(cursor.data[cursor.offset++]);
489
+ }
490
+ case 108 /* constants.INT32 */: {
491
+ if (cursor.offset + 4 > cursor.size) {
492
+ yield cursor.offset - cursor.size + 4;
493
+ }
494
+ const value = cursor.view.getInt32(cursor.offset);
495
+ cursor.offset += 4;
496
+ return value;
497
+ }
498
+ case 105 /* constants.INT8 */: {
499
+ if (cursor.offset + 1 > cursor.size) {
500
+ yield cursor.offset - cursor.size + 1;
501
+ }
502
+ return cursor.view.getInt8(cursor.offset++);
503
+ }
504
+ case 90 /* constants.NULL */:
505
+ return null;
506
+ case 84 /* constants.TRUE */:
507
+ return true;
508
+ case 70 /* constants.FALSE */:
509
+ return false;
510
+ case 76 /* constants.INT64 */: {
511
+ if (cursor.offset + 8 > cursor.size) {
512
+ yield cursor.offset - cursor.size + 8;
513
+ }
514
+ const value = cursor.view.getBigInt64(cursor.offset);
515
+ cursor.offset += 8;
516
+ if (value < Number.MIN_SAFE_INTEGER || value > Number.MAX_SAFE_INTEGER) {
517
+ return value;
518
+ }
519
+ return Number(value);
520
+ }
521
+ case 72 /* constants.HIGH_PRECISION_NUMBER */: {
522
+ const length = yield* readLength(cursor);
523
+ if (cursor.offset + length > cursor.size) {
524
+ yield cursor.offset - cursor.size + length;
525
+ }
526
+ const begin = cursor.offset;
527
+ const _buffer = new Uint8Array(cursor.data.buffer, begin, length).slice();
528
+ cursor.offset = begin + length;
529
+ // return _buffer
530
+ unsupportedType('high precision number');
531
+ }
532
+ }
533
+ throw new Error(`Unexpected marker '${fromCharCode(marker)}'(${marker})`);
534
+ }
535
+ /** readKey */
536
+ export function* readKey(cursor) {
537
+ let marker;
538
+ do {
539
+ if (cursor.offset + 1 > cursor.size) {
540
+ yield cursor.offset - cursor.size + 1;
541
+ }
542
+ marker = cursor.data[cursor.offset++];
543
+ } while (marker === 78 /* constants.NO_OP */);
544
+ let length;
545
+ switch (marker) {
546
+ case 105 /* constants.INT8 */:
547
+ if (cursor.offset + 1 > cursor.size) {
548
+ yield cursor.offset - cursor.size + 1;
549
+ }
550
+ length = cursor.view.getInt8(cursor.offset++);
551
+ break;
552
+ case 85 /* constants.UINT8 */:
553
+ length = yield* readUint8Data(cursor);
554
+ break;
555
+ case 73 /* constants.INT16 */:
556
+ length = yield* readInt16Data(cursor);
557
+ break;
558
+ case 108 /* constants.INT32 */:
559
+ length = yield* readInt32Data(cursor);
560
+ break;
561
+ case 76 /* constants.INT64 */: {
562
+ const l = yield* readInt64Data(cursor);
563
+ if (l < 0 || l > Number.MAX_SAFE_INTEGER) {
564
+ throw new Error('Invalid length');
565
+ }
566
+ length = Number(l);
567
+ break;
568
+ }
569
+ default:
570
+ throw new Error(`Unexpected marker '${fromCharCode(marker)}'(${marker}) for int length`);
571
+ }
572
+ if (length < 0) {
573
+ throw new Error('Invalid length');
574
+ }
575
+ if (cursor.offset + length > cursor.size) {
576
+ yield cursor.offset - cursor.size + length;
577
+ }
578
+ const begin = cursor.offset;
579
+ const end = begin + length;
580
+ cursor.offset = end;
581
+ const { data } = cursor;
582
+ return decode(data, begin, end);
583
+ }
584
+ //# sourceMappingURL=decode-ae.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decode-ae.js","sourceRoot":"","sources":["../../src/helper/decode-ae.ts"],"names":[],"mappings":"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"}
@@ -42,8 +42,11 @@ export declare function read(cursor: DecodeCursor): unknown;
42
42
  export declare function readData(cursor: DecodeCursor, marker: number): unknown;
43
43
  /** readKey */
44
44
  export declare function readKey(cursor: DecodeCursor): string;
45
- /** 读取 Optimized Format 数据 */
46
- export declare function readOptimizedFormatMarkers(cursor: DecodeCursor): {
45
+ /** Optimized Format 数据 */
46
+ export type OptimizedFormatMarkers = {
47
47
  type?: number;
48
48
  count: number;
49
- } | undefined;
49
+ };
50
+ /** 读取 Optimized Format 数据 */
51
+ export declare function readOptimizedFormatMarkers(cursor: DecodeCursor): OptimizedFormatMarkers | undefined;
52
+ //# sourceMappingURL=decode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../../src/helper/decode.ts"],"names":[],"mappings":"AAOA,WAAW;AACX,MAAM,WAAW,YAAY;IACzB,SAAS;IACT,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,SAAS;IACT,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,cAAc;IACd,MAAM,EAAE,MAAM,CAAC;IACf,eAAe;IACf,GAAG,IAAI,KAAK,CAAC;CAChB;AAED,aAAa;AACb,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,CAW3D;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAM9E;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAOvD;AAED,mBAAmB;AACnB,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CA+BvD;AAED,mBAAmB;AACnB,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAMzD;AACD,oBAAoB;AACpB,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAI1D;AACD,oBAAoB;AACpB,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAQ1D;AACD,oBAAoB;AACpB,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAQ1D;AACD,oBAAoB;AACpB,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAQ1D;AACD,sBAAsB;AACtB,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAQ5D;AACD,sBAAsB;AACtB,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAQ5D;AAED,WAAW;AACX,wBAAgB,IAAI,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAGlD;AAiBD,iBAAiB;AACjB,wBAAgB,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAiKtE;AAED,cAAc;AACd,wBAAgB,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAQpD;AAED,0BAA0B;AAC1B,MAAM,MAAM,sBAAsB,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AACtE,6BAA6B;AAC7B,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,YAAY,GAAG,sBAAsB,GAAG,SAAS,CAmBnG"}