@jsonjoy.com/json-pack 1.7.0 → 1.9.0

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 (81) hide show
  1. package/README.md +6 -11
  2. package/lib/avro/AvroDecoder.d.ts +29 -0
  3. package/lib/avro/AvroDecoder.js +148 -0
  4. package/lib/avro/AvroDecoder.js.map +1 -0
  5. package/lib/avro/AvroEncoder.d.ts +1 -1
  6. package/lib/avro/AvroSchemaDecoder.d.ts +29 -0
  7. package/lib/avro/AvroSchemaDecoder.js +190 -0
  8. package/lib/avro/AvroSchemaDecoder.js.map +1 -0
  9. package/lib/avro/AvroSchemaEncoder.d.ts +1 -1
  10. package/lib/avro/index.d.ts +2 -0
  11. package/lib/avro/index.js +2 -0
  12. package/lib/avro/index.js.map +1 -1
  13. package/lib/bencode/BencodeDecoder.d.ts +1 -1
  14. package/lib/bencode/BencodeDecoder.js +1 -1
  15. package/lib/bencode/BencodeDecoder.js.map +1 -1
  16. package/lib/bencode/BencodeEncoder.d.ts +1 -1
  17. package/lib/bencode/BencodeEncoder.js +1 -1
  18. package/lib/bencode/BencodeEncoder.js.map +1 -1
  19. package/lib/bson/BsonDecoder.d.ts +1 -1
  20. package/lib/bson/BsonDecoder.js +1 -1
  21. package/lib/bson/BsonDecoder.js.map +1 -1
  22. package/lib/bson/BsonEncoder.d.ts +1 -1
  23. package/lib/cbor/CborDecoder.d.ts +1 -1
  24. package/lib/cbor/CborDecoderBase.d.ts +2 -2
  25. package/lib/cbor/CborDecoderBase.js +3 -3
  26. package/lib/cbor/CborDecoderBase.js.map +1 -1
  27. package/lib/cbor/CborEncoder.d.ts +1 -1
  28. package/lib/cbor/CborEncoder.js +1 -1
  29. package/lib/cbor/CborEncoder.js.map +1 -1
  30. package/lib/cbor/CborEncoderFast.d.ts +2 -2
  31. package/lib/cbor/CborEncoderFast.js +1 -1
  32. package/lib/cbor/CborEncoderFast.js.map +1 -1
  33. package/lib/cbor/shared.d.ts +2 -2
  34. package/lib/codecs/Codecs.d.ts +1 -1
  35. package/lib/codecs/cbor.d.ts +1 -1
  36. package/lib/codecs/json.d.ts +1 -1
  37. package/lib/codecs/msgpack.d.ts +1 -1
  38. package/lib/ejson/EjsonEncoder.d.ts +1 -1
  39. package/lib/ion/IonDecoder.d.ts +1 -1
  40. package/lib/ion/IonDecoderBase.d.ts +2 -2
  41. package/lib/ion/IonDecoderBase.js +2 -2
  42. package/lib/ion/IonDecoderBase.js.map +1 -1
  43. package/lib/ion/IonEncoderFast.d.ts +1 -1
  44. package/lib/ion/IonEncoderFast.js +2 -1
  45. package/lib/ion/IonEncoderFast.js.map +1 -1
  46. package/lib/json/JsonDecoder.d.ts +1 -1
  47. package/lib/json/JsonDecoder.js +2 -2
  48. package/lib/json/JsonDecoder.js.map +1 -1
  49. package/lib/json/JsonEncoder.d.ts +1 -1
  50. package/lib/json-binary/codec.js +1 -1
  51. package/lib/json-binary/codec.js.map +1 -1
  52. package/lib/msgpack/MsgPackDecoder.d.ts +1 -1
  53. package/lib/msgpack/MsgPackDecoderFast.d.ts +2 -2
  54. package/lib/msgpack/MsgPackDecoderFast.js +2 -2
  55. package/lib/msgpack/MsgPackDecoderFast.js.map +1 -1
  56. package/lib/msgpack/MsgPackEncoder.d.ts +1 -1
  57. package/lib/msgpack/MsgPackEncoder.js +1 -1
  58. package/lib/msgpack/MsgPackEncoder.js.map +1 -1
  59. package/lib/msgpack/MsgPackEncoderFast.d.ts +1 -1
  60. package/lib/msgpack/MsgPackEncoderFast.js +1 -1
  61. package/lib/msgpack/MsgPackEncoderFast.js.map +1 -1
  62. package/lib/msgpack/shallow-read.js +1 -1
  63. package/lib/msgpack/shallow-read.js.map +1 -1
  64. package/lib/msgpack/types.d.ts +1 -1
  65. package/lib/msgpack/util.d.ts +3 -3
  66. package/lib/resp/RespDecoder.d.ts +1 -1
  67. package/lib/resp/RespDecoder.js +2 -2
  68. package/lib/resp/RespDecoder.js.map +1 -1
  69. package/lib/resp/RespEncoder.d.ts +2 -2
  70. package/lib/resp/RespEncoder.js +1 -1
  71. package/lib/resp/RespEncoder.js.map +1 -1
  72. package/lib/resp/RespEncoderLegacy.d.ts +1 -1
  73. package/lib/resp/RespStreamingDecoder.d.ts +1 -1
  74. package/lib/resp/RespStreamingDecoder.js +1 -1
  75. package/lib/resp/RespStreamingDecoder.js.map +1 -1
  76. package/lib/types.d.ts +1 -1
  77. package/lib/ubjson/UbjsonDecoder.d.ts +1 -1
  78. package/lib/ubjson/UbjsonDecoder.js +1 -1
  79. package/lib/ubjson/UbjsonDecoder.js.map +1 -1
  80. package/lib/ubjson/UbjsonEncoder.d.ts +1 -1
  81. package/package.json +6 -4
package/README.md CHANGED
@@ -1,14 +1,15 @@
1
1
  # json-pack
2
2
 
3
- High performance JSON serialization and deserialization library for JavaScript, Node.js, browser.
3
+ The fastest JSON serialization and deserialization library for JavaScript, Node.js, browser.
4
+
4
5
 
5
6
  ## Supported Formats
6
7
 
7
8
  This library implements the following serialization formats:
8
9
 
9
- - **[MessagePack](./src/msgpack/README.md)** - Fast and lean implementation of MessagePack codec
10
+ - **[MessagePack](./src/msgpack/README.md)** - The classic, *MessagePack*
10
11
  - **[CBOR](./src/cbor/README.md)** - Concise Binary Object Representation codec
11
- - **[UBJSON](./src/ubjson/README.md)** - Universal Binary JSON codec
12
+ - **[UBJSON](./src/ubjson/README.md)** - Universal Binary JSON codec
12
13
  - **[JSON](./src/json/README.md)** - Enhanced JSON encoder/decoder with additional features
13
14
  - **[JSON Binary](./src/json-binary/README.md)** - JSON with binary data support using Uint8Array
14
15
  - **[Amazon Ion](./src/ion/README.md)** - Amazon's Ion data serialization format
@@ -18,6 +19,7 @@ This library implements the following serialization formats:
18
19
 
19
20
  Each format comes with optimized encoders and decoders designed for maximum performance.
20
21
 
22
+
21
23
  ## Installation
22
24
 
23
25
  ```bash
@@ -39,20 +41,13 @@ const restored = decoder.decode(binary);
39
41
  console.log(restored); // {hello: 'world', numbers: [1, 2, 3]}
40
42
  ```
41
43
 
42
- ## Documentation
43
-
44
- For detailed documentation on each codec, refer to the individual README files in their respective folders:
45
-
46
- - Individual codec documentation is available in each `src/<codec>/README.md` file
47
- - Each codec includes comprehensive usage examples, API documentation, and performance benchmarks
48
-
49
44
 
50
45
  ## Benchmarks
51
46
 
52
47
  Encoding:
53
48
 
54
49
  ```
55
- npx ts-node benchmarks/json-pack/bench.encoding.ts
50
+ npx ts-node benchmarks/json-pack/bench.encoding.ts
56
51
  =============================================================================== Benchmark: Encoding
57
52
  Warmup: 1000x , Node.js: v20.0.0 , Arch: arm64 , CPU: Apple M1
58
53
  ---------------------------------------------------------------------------- Small object, 44 bytes
@@ -0,0 +1,29 @@
1
+ import { Reader } from '@jsonjoy.com/buffers/lib/Reader';
2
+ import type { BinaryJsonDecoder } from '../types';
3
+ export declare class AvroDecoder implements BinaryJsonDecoder {
4
+ reader: Reader;
5
+ read(uint8: Uint8Array): unknown;
6
+ decode(uint8: Uint8Array): unknown;
7
+ readAny(): unknown;
8
+ readNull(): null;
9
+ readBoolean(): boolean;
10
+ readInt(): number;
11
+ readLong(): number | bigint;
12
+ readFloat(): number;
13
+ readDouble(): number;
14
+ readBytes(): Uint8Array;
15
+ readString(): string;
16
+ readArray<T>(itemReader: () => T): T[];
17
+ readMap<T>(valueReader: () => T): Record<string, T>;
18
+ readUnion<T>(schemaReaders: Array<() => T>): {
19
+ index: number;
20
+ value: T;
21
+ };
22
+ readEnum(): number;
23
+ readFixed(size: number): Uint8Array;
24
+ readRecord<T>(fieldReaders: Array<() => any>): T;
25
+ private readVarIntUnsigned;
26
+ private readVarLong;
27
+ private decodeZigZag32;
28
+ private decodeZigZag64;
29
+ }
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AvroDecoder = void 0;
4
+ const Reader_1 = require("@jsonjoy.com/buffers/lib/Reader");
5
+ class AvroDecoder {
6
+ constructor() {
7
+ this.reader = new Reader_1.Reader();
8
+ }
9
+ read(uint8) {
10
+ this.reader.reset(uint8);
11
+ return this.readAny();
12
+ }
13
+ decode(uint8) {
14
+ this.reader.reset(uint8);
15
+ return this.readAny();
16
+ }
17
+ readAny() {
18
+ throw new Error('readAny() requires schema information. Use readNull, readBoolean, etc. directly.');
19
+ }
20
+ readNull() {
21
+ return null;
22
+ }
23
+ readBoolean() {
24
+ return this.reader.u8() === 1;
25
+ }
26
+ readInt() {
27
+ const zigzag = this.readVarIntUnsigned();
28
+ return this.decodeZigZag32(zigzag);
29
+ }
30
+ readLong() {
31
+ const zigzag = this.readVarLong();
32
+ const decoded = this.decodeZigZag64(zigzag);
33
+ if (decoded >= BigInt(Number.MIN_SAFE_INTEGER) && decoded <= BigInt(Number.MAX_SAFE_INTEGER)) {
34
+ return Number(decoded);
35
+ }
36
+ return decoded;
37
+ }
38
+ readFloat() {
39
+ const reader = this.reader;
40
+ const value = reader.view.getFloat32(reader.x, true);
41
+ reader.x += 4;
42
+ return value;
43
+ }
44
+ readDouble() {
45
+ const reader = this.reader;
46
+ const value = reader.view.getFloat64(reader.x, true);
47
+ reader.x += 8;
48
+ return value;
49
+ }
50
+ readBytes() {
51
+ const length = this.readVarIntUnsigned();
52
+ return this.reader.buf(length);
53
+ }
54
+ readString() {
55
+ const length = this.readVarIntUnsigned();
56
+ const bytes = this.reader.buf(length);
57
+ return new TextDecoder().decode(bytes);
58
+ }
59
+ readArray(itemReader) {
60
+ const result = [];
61
+ while (true) {
62
+ const count = this.readVarIntUnsigned();
63
+ if (count === 0)
64
+ break;
65
+ for (let i = 0; i < count; i++) {
66
+ result.push(itemReader());
67
+ }
68
+ }
69
+ return result;
70
+ }
71
+ readMap(valueReader) {
72
+ const result = {};
73
+ while (true) {
74
+ const count = this.readVarIntUnsigned();
75
+ if (count === 0)
76
+ break;
77
+ for (let i = 0; i < count; i++) {
78
+ const key = this.readString();
79
+ if (key === '__proto__')
80
+ throw new Error('INVALID_KEY');
81
+ result[key] = valueReader();
82
+ }
83
+ }
84
+ return result;
85
+ }
86
+ readUnion(schemaReaders) {
87
+ const index = this.decodeZigZag32(this.readVarIntUnsigned());
88
+ if (index < 0 || index >= schemaReaders.length) {
89
+ throw new Error(`Invalid union index: ${index}`);
90
+ }
91
+ const value = schemaReaders[index]();
92
+ return { index, value };
93
+ }
94
+ readEnum() {
95
+ return this.decodeZigZag32(this.readVarIntUnsigned());
96
+ }
97
+ readFixed(size) {
98
+ return this.reader.buf(size);
99
+ }
100
+ readRecord(fieldReaders) {
101
+ const result = {};
102
+ for (let i = 0; i < fieldReaders.length; i++) {
103
+ const fieldValue = fieldReaders[i]();
104
+ result[`field${i}`] = fieldValue;
105
+ }
106
+ return result;
107
+ }
108
+ readVarIntUnsigned() {
109
+ const reader = this.reader;
110
+ let result = 0;
111
+ let shift = 0;
112
+ while (true) {
113
+ const byte = reader.u8();
114
+ result |= (byte & 0x7f) << shift;
115
+ if ((byte & 0x80) === 0)
116
+ break;
117
+ shift += 7;
118
+ if (shift >= 32) {
119
+ throw new Error('Variable-length integer is too long');
120
+ }
121
+ }
122
+ return result >>> 0;
123
+ }
124
+ readVarLong() {
125
+ const reader = this.reader;
126
+ let result = BigInt(0);
127
+ let shift = BigInt(0);
128
+ while (true) {
129
+ const byte = BigInt(reader.u8());
130
+ result |= (byte & BigInt(0x7f)) << shift;
131
+ if ((byte & BigInt(0x80)) === BigInt(0))
132
+ break;
133
+ shift += BigInt(7);
134
+ if (shift >= BigInt(64)) {
135
+ throw new Error('Variable-length long is too long');
136
+ }
137
+ }
138
+ return result;
139
+ }
140
+ decodeZigZag32(value) {
141
+ return (value >>> 1) ^ -(value & 1);
142
+ }
143
+ decodeZigZag64(value) {
144
+ return (value >> BigInt(1)) ^ -(value & BigInt(1));
145
+ }
146
+ }
147
+ exports.AvroDecoder = AvroDecoder;
148
+ //# sourceMappingURL=AvroDecoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AvroDecoder.js","sourceRoot":"","sources":["../../src/avro/AvroDecoder.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { IWriter, IWriterGrowable } from '@jsonjoy.com/util/lib/buffers';
1
+ import type { IWriter, IWriterGrowable } from '@jsonjoy.com/buffers/lib';
2
2
  import type { BinaryJsonEncoder } from '../types';
3
3
  export declare class AvroEncoder implements BinaryJsonEncoder {
4
4
  readonly writer: IWriter & IWriterGrowable;
@@ -0,0 +1,29 @@
1
+ import { Reader } from '@jsonjoy.com/buffers/lib/Reader';
2
+ import type { AvroSchema } from './types';
3
+ export declare class AvroSchemaDecoder {
4
+ readonly reader: Reader;
5
+ private decoder;
6
+ private validator;
7
+ private namedSchemas;
8
+ constructor(reader?: Reader);
9
+ decode(data: Uint8Array, schema: AvroSchema): unknown;
10
+ private readValue;
11
+ private readRecord;
12
+ private readEnum;
13
+ private readArray;
14
+ private readMap;
15
+ private readUnion;
16
+ private readFixed;
17
+ readNull(schema: AvroSchema): null;
18
+ readBoolean(schema: AvroSchema): boolean;
19
+ readInt(schema: AvroSchema): number;
20
+ readLong(schema: AvroSchema): number | bigint;
21
+ readFloat(schema: AvroSchema): number;
22
+ readDouble(schema: AvroSchema): number;
23
+ readBytes(schema: AvroSchema): Uint8Array;
24
+ readString(schema: AvroSchema): string;
25
+ private validateSchemaType;
26
+ private resolveSchema;
27
+ private collectNamedSchemas;
28
+ private getFullName;
29
+ }
@@ -0,0 +1,190 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AvroSchemaDecoder = void 0;
4
+ const Reader_1 = require("@jsonjoy.com/buffers/lib/Reader");
5
+ const AvroDecoder_1 = require("./AvroDecoder");
6
+ const AvroSchemaValidator_1 = require("./AvroSchemaValidator");
7
+ class AvroSchemaDecoder {
8
+ constructor(reader = new Reader_1.Reader()) {
9
+ this.reader = reader;
10
+ this.namedSchemas = new Map();
11
+ this.decoder = new AvroDecoder_1.AvroDecoder();
12
+ this.decoder.reader = reader;
13
+ this.validator = new AvroSchemaValidator_1.AvroSchemaValidator();
14
+ }
15
+ decode(data, schema) {
16
+ this.reader.reset(data);
17
+ this.namedSchemas.clear();
18
+ if (!this.validator.validateSchema(schema)) {
19
+ throw new Error('Invalid Avro schema');
20
+ }
21
+ this.collectNamedSchemas(schema);
22
+ return this.readValue(schema);
23
+ }
24
+ readValue(schema) {
25
+ const resolvedSchema = this.resolveSchema(schema);
26
+ if (typeof resolvedSchema === 'string') {
27
+ switch (resolvedSchema) {
28
+ case 'null':
29
+ return this.decoder.readNull();
30
+ case 'boolean':
31
+ return this.decoder.readBoolean();
32
+ case 'int':
33
+ return this.decoder.readInt();
34
+ case 'long':
35
+ return this.decoder.readLong();
36
+ case 'float':
37
+ return this.decoder.readFloat();
38
+ case 'double':
39
+ return this.decoder.readDouble();
40
+ case 'bytes':
41
+ return this.decoder.readBytes();
42
+ case 'string':
43
+ return this.decoder.readString();
44
+ default:
45
+ throw new Error(`Unknown primitive type: ${resolvedSchema}`);
46
+ }
47
+ }
48
+ if (Array.isArray(resolvedSchema)) {
49
+ return this.readUnion(resolvedSchema);
50
+ }
51
+ switch (resolvedSchema.type) {
52
+ case 'record':
53
+ return this.readRecord(resolvedSchema);
54
+ case 'enum':
55
+ return this.readEnum(resolvedSchema);
56
+ case 'array':
57
+ return this.readArray(resolvedSchema);
58
+ case 'map':
59
+ return this.readMap(resolvedSchema);
60
+ case 'fixed':
61
+ return this.readFixed(resolvedSchema);
62
+ default:
63
+ throw new Error(`Unknown schema type: ${resolvedSchema.type}`);
64
+ }
65
+ }
66
+ readRecord(schema) {
67
+ const result = {};
68
+ for (let i = 0; i < schema.fields.length; i++) {
69
+ const field = schema.fields[i];
70
+ try {
71
+ result[field.name] = this.readValue(field.type);
72
+ }
73
+ catch (error) {
74
+ throw new Error(`Error reading field '${field.name}': ${error.message}`);
75
+ }
76
+ }
77
+ return result;
78
+ }
79
+ readEnum(schema) {
80
+ const index = this.decoder.readEnum();
81
+ if (index < 0 || index >= schema.symbols.length) {
82
+ throw new Error(`Invalid enum index ${index} for enum with ${schema.symbols.length} symbols`);
83
+ }
84
+ return schema.symbols[index];
85
+ }
86
+ readArray(schema) {
87
+ return this.decoder.readArray(() => this.readValue(schema.items));
88
+ }
89
+ readMap(schema) {
90
+ return this.decoder.readMap(() => this.readValue(schema.values));
91
+ }
92
+ readUnion(schema) {
93
+ const schemaReaders = schema.map((subSchema) => () => this.readValue(subSchema));
94
+ const result = this.decoder.readUnion(schemaReaders);
95
+ return result.value;
96
+ }
97
+ readFixed(schema) {
98
+ return this.decoder.readFixed(schema.size);
99
+ }
100
+ readNull(schema) {
101
+ this.validateSchemaType(schema, 'null');
102
+ return this.decoder.readNull();
103
+ }
104
+ readBoolean(schema) {
105
+ this.validateSchemaType(schema, 'boolean');
106
+ return this.decoder.readBoolean();
107
+ }
108
+ readInt(schema) {
109
+ this.validateSchemaType(schema, 'int');
110
+ const value = this.decoder.readInt();
111
+ if (!Number.isInteger(value) || value < -2147483648 || value > 2147483647) {
112
+ throw new Error('Decoded value is not a valid 32-bit integer');
113
+ }
114
+ return value;
115
+ }
116
+ readLong(schema) {
117
+ this.validateSchemaType(schema, 'long');
118
+ return this.decoder.readLong();
119
+ }
120
+ readFloat(schema) {
121
+ this.validateSchemaType(schema, 'float');
122
+ return this.decoder.readFloat();
123
+ }
124
+ readDouble(schema) {
125
+ this.validateSchemaType(schema, 'double');
126
+ return this.decoder.readDouble();
127
+ }
128
+ readBytes(schema) {
129
+ this.validateSchemaType(schema, 'bytes');
130
+ return this.decoder.readBytes();
131
+ }
132
+ readString(schema) {
133
+ this.validateSchemaType(schema, 'string');
134
+ return this.decoder.readString();
135
+ }
136
+ validateSchemaType(schema, expectedType) {
137
+ const resolvedSchema = this.resolveSchema(schema);
138
+ const actualType = typeof resolvedSchema === 'string'
139
+ ? resolvedSchema
140
+ : Array.isArray(resolvedSchema)
141
+ ? 'union'
142
+ : resolvedSchema.type;
143
+ if (actualType !== expectedType) {
144
+ throw new Error(`Expected schema type ${expectedType}, got ${actualType}`);
145
+ }
146
+ }
147
+ resolveSchema(schema) {
148
+ if (typeof schema === 'string') {
149
+ const namedSchema = this.namedSchemas.get(schema);
150
+ return namedSchema || schema;
151
+ }
152
+ return schema;
153
+ }
154
+ collectNamedSchemas(schema) {
155
+ if (typeof schema === 'string' || Array.isArray(schema)) {
156
+ return;
157
+ }
158
+ if (typeof schema === 'object' && schema !== null) {
159
+ switch (schema.type) {
160
+ case 'record':
161
+ const recordSchema = schema;
162
+ const recordFullName = this.getFullName(recordSchema.name, recordSchema.namespace);
163
+ this.namedSchemas.set(recordFullName, recordSchema);
164
+ recordSchema.fields.forEach((field) => this.collectNamedSchemas(field.type));
165
+ break;
166
+ case 'enum':
167
+ const enumSchema = schema;
168
+ const enumFullName = this.getFullName(enumSchema.name, enumSchema.namespace);
169
+ this.namedSchemas.set(enumFullName, enumSchema);
170
+ break;
171
+ case 'fixed':
172
+ const fixedSchema = schema;
173
+ const fixedFullName = this.getFullName(fixedSchema.name, fixedSchema.namespace);
174
+ this.namedSchemas.set(fixedFullName, fixedSchema);
175
+ break;
176
+ case 'array':
177
+ this.collectNamedSchemas(schema.items);
178
+ break;
179
+ case 'map':
180
+ this.collectNamedSchemas(schema.values);
181
+ break;
182
+ }
183
+ }
184
+ }
185
+ getFullName(name, namespace) {
186
+ return namespace ? `${namespace}.${name}` : name;
187
+ }
188
+ }
189
+ exports.AvroSchemaDecoder = AvroSchemaDecoder;
190
+ //# sourceMappingURL=AvroSchemaDecoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AvroSchemaDecoder.js","sourceRoot":"","sources":["../../src/avro/AvroSchemaDecoder.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { IWriter, IWriterGrowable } from '@jsonjoy.com/util/lib/buffers';
1
+ import type { IWriter, IWriterGrowable } from '@jsonjoy.com/buffers/lib';
2
2
  import type { AvroSchema, AvroRecordSchema, AvroEnumSchema, AvroArraySchema, AvroMapSchema, AvroUnionSchema, AvroFixedSchema, AvroNullSchema } from './types';
3
3
  export declare class AvroSchemaEncoder {
4
4
  readonly writer: IWriter & IWriterGrowable;
@@ -2,3 +2,5 @@ export * from './types';
2
2
  export * from './AvroSchemaValidator';
3
3
  export * from './AvroEncoder';
4
4
  export * from './AvroSchemaEncoder';
5
+ export * from './AvroDecoder';
6
+ export * from './AvroSchemaDecoder';
package/lib/avro/index.js CHANGED
@@ -5,4 +5,6 @@ tslib_1.__exportStar(require("./types"), exports);
5
5
  tslib_1.__exportStar(require("./AvroSchemaValidator"), exports);
6
6
  tslib_1.__exportStar(require("./AvroEncoder"), exports);
7
7
  tslib_1.__exportStar(require("./AvroSchemaEncoder"), exports);
8
+ tslib_1.__exportStar(require("./AvroDecoder"), exports);
9
+ tslib_1.__exportStar(require("./AvroSchemaDecoder"), exports);
8
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/avro/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,gEAAsC;AACtC,wDAA8B;AAC9B,8DAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/avro/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,gEAAsC;AACtC,wDAA8B;AAC9B,8DAAoC;AACpC,wDAA8B;AAC9B,8DAAoC"}
@@ -1,4 +1,4 @@
1
- import { Reader } from '@jsonjoy.com/util/lib/buffers/Reader';
1
+ import { Reader } from '@jsonjoy.com/buffers/lib/Reader';
2
2
  import type { BinaryJsonDecoder, PackValue } from '../types';
3
3
  export declare class BencodeDecoder implements BinaryJsonDecoder {
4
4
  reader: Reader;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BencodeDecoder = void 0;
4
- const Reader_1 = require("@jsonjoy.com/util/lib/buffers/Reader");
4
+ const Reader_1 = require("@jsonjoy.com/buffers/lib/Reader");
5
5
  class BencodeDecoder {
6
6
  constructor() {
7
7
  this.reader = new Reader_1.Reader();
@@ -1 +1 @@
1
- {"version":3,"file":"BencodeDecoder.js","sourceRoot":"","sources":["../../src/bencode/BencodeDecoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BencodeDecoder.js","sourceRoot":"","sources":["../../src/bencode/BencodeDecoder.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { IWriter, IWriterGrowable } from '@jsonjoy.com/util/lib/buffers';
1
+ import type { IWriter, IWriterGrowable } from '@jsonjoy.com/buffers/lib';
2
2
  import type { BinaryJsonEncoder } from '../types';
3
3
  export declare class BencodeEncoder implements BinaryJsonEncoder {
4
4
  readonly writer: IWriter & IWriterGrowable;
@@ -98,7 +98,7 @@ class BencodeEncoder {
98
98
  const length = (0, utf8_1.utf8Size)(str);
99
99
  writer.ascii(length + '');
100
100
  writer.u8(0x3a);
101
- writer.ensureCapacity(length);
101
+ writer.ensureCapacity(str.length * 4);
102
102
  writer.utf8(str);
103
103
  }
104
104
  writeAsciiStr(str) {
@@ -1 +1 @@
1
- {"version":3,"file":"BencodeEncoder.js","sourceRoot":"","sources":["../../src/bencode/BencodeEncoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BencodeEncoder.js","sourceRoot":"","sources":["../../src/bencode/BencodeEncoder.ts"],"names":[],"mappings":";;;AAAA,6DAA4D;AAC5D,oEAA0D;AAI1D,MAAa,cAAc;IACzB,YAA4B,MAAiC;QAAjC,WAAM,GAAN,MAAM,CAA2B;IAAG,CAAC;IAE1D,MAAM,CAAC,KAAc;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAOM,YAAY,CAAC,KAAc;QAChC,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAEM,QAAQ,CAAC,KAAc;QAC5B,QAAQ,OAAO,KAAK,EAAE,CAAC;YACrB,KAAK,SAAS;gBACZ,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAClC,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,WAAW,CAAC,KAAe,CAAC,CAAC;YAC3C,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9B,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,IAAI,KAAK,KAAK,IAAI;oBAAE,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC5C,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;gBACtC,QAAQ,WAAW,EAAE,CAAC;oBACpB,KAAK,MAAM;wBACT,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAgC,CAAC,CAAC;oBACzD,KAAK,KAAK;wBACR,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAkB,CAAC,CAAC;oBAC3C,KAAK,UAAU;wBACb,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAmB,CAAC,CAAC;oBAC5C,KAAK,GAAG;wBACN,OAAO,IAAI,CAAC,QAAQ,CAAC,KAA8B,CAAC,CAAC;oBACvD,KAAK,GAAG;wBACN,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAqB,CAAC,CAAC;oBAC9C;wBACE,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;YAC3B,CAAC;YACD;gBACE,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAEM,SAAS;QACd,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAEM,UAAU;QACf,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAEM,YAAY,CAAC,IAAa;QAC/B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAEM,WAAW,CAAC,GAAW;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAChB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QACnC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAEM,YAAY,CAAC,GAAW;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAChB,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;QACvB,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAEM,aAAa,CAAC,IAAY;QAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEM,UAAU,CAAC,KAAa;QAC7B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAEM,WAAW,CAAC,GAAW;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAChB,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;QACvB,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAEM,QAAQ,CAAC,GAAe;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QAC1B,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAC1B,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAChB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC1B,CAAC;IAEM,QAAQ,CAAC,GAAW;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,MAAM,GAAG,IAAA,eAAQ,EAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAC1B,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAChB,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAEM,aAAa,CAAC,GAAW;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAC9B,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAChB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAEM,QAAQ,CAAC,GAAc;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAChB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE;YAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAEM,QAAQ,CAAC,GAA4B;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAChB,MAAM,IAAI,GAAG,IAAA,gBAAI,EAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACnB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1B,CAAC;QACD,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAEM,QAAQ,CAAC,GAA0B;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAChB,MAAM,IAAI,GAAG,IAAA,gBAAI,EAAC,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;YACxB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,CAAC;QACD,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAEM,QAAQ,CAAC,GAAiB;QAC/B,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC;CACF;AA9JD,wCA8JC"}
@@ -1,5 +1,5 @@
1
1
  import { BsonBinary, BsonDbPointer, BsonDecimal128, BsonJavascriptCodeWithScope, BsonObjectId, BsonTimestamp } from './values';
2
- import type { IReader, IReaderResettable } from '@jsonjoy.com/util/lib/buffers';
2
+ import type { IReader, IReaderResettable } from '@jsonjoy.com/buffers/lib';
3
3
  import type { BinaryJsonDecoder } from '../types';
4
4
  export declare class BsonDecoder implements BinaryJsonDecoder {
5
5
  reader: IReader & IReaderResettable;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BsonDecoder = void 0;
4
- const Reader_1 = require("@jsonjoy.com/util/lib/buffers/Reader");
4
+ const Reader_1 = require("@jsonjoy.com/buffers/lib/Reader");
5
5
  const values_1 = require("./values");
6
6
  class BsonDecoder {
7
7
  constructor(reader = new Reader_1.Reader()) {
@@ -1 +1 @@
1
- {"version":3,"file":"BsonDecoder.js","sourceRoot":"","sources":["../../src/bson/BsonDecoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BsonDecoder.js","sourceRoot":"","sources":["../../src/bson/BsonDecoder.ts"],"names":[],"mappings":"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"}