@jsonjoy.com/json-pack 1.2.0 → 1.4.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.
package/README.md CHANGED
@@ -2,18 +2,51 @@
2
2
 
3
3
  High performance JSON serialization and deserialization library for JavaScript, Node.js, browser.
4
4
 
5
- `json-pack` contains implementations of various JSON codecs into binary,
6
- formats, such as MessagePack, CBOR and other formats.
5
+ `json-pack` contains implementations of various JSON codecs into binary formats, such as MessagePack, CBOR and other formats.
7
6
 
8
- - [__MessagePack__](./src/msgpack/README.md)
9
- - [__CBOR__](./src/cbor/README.md)
10
- - DAG-CBOR
11
- - JSON
12
- - DAG-JSON
13
- - UBJSON
14
- - Amazon Ion
15
- - RESP3
16
- - Bencode
7
+ ## Supported Formats
8
+
9
+ This library implements the following serialization formats:
10
+
11
+ - **[MessagePack](./src/msgpack/README.md)** - Fast and lean implementation of MessagePack codec
12
+ - **[CBOR](./src/cbor/README.md)** - Concise Binary Object Representation codec
13
+ - **[UBJSON](./src/ubjson/README.md)** - Universal Binary JSON codec
14
+ - **[JSON](./src/json/README.md)** - Enhanced JSON encoder/decoder with additional features
15
+ - **[JSON Binary](./src/json-binary/README.md)** - JSON with binary data support using Uint8Array
16
+ - **[Amazon Ion](./src/ion/README.md)** - Amazon's Ion data serialization format
17
+ - **[BSON](./src/bson/README.md)** - Binary JSON format used by MongoDB
18
+ - **[RESP](./src/resp/README.md)** - Redis Serialization Protocol (v2 and v3)
19
+ - **[Bencode](./src/bencode/README.md)** - BitTorrent's encoding format
20
+
21
+ Each format comes with optimized encoders and decoders designed for maximum performance.
22
+
23
+ ## Installation
24
+
25
+ ```bash
26
+ npm install @jsonjoy.com/json-pack
27
+ ```
28
+
29
+ ## Quick Start
30
+
31
+ ```ts
32
+ import {MessagePackEncoder, MessagePackDecoder} from '@jsonjoy.com/json-pack/lib/msgpack';
33
+
34
+ const encoder = new MessagePackEncoder();
35
+ const decoder = new MessagePackDecoder();
36
+
37
+ const data = {hello: 'world', numbers: [1, 2, 3]};
38
+ const binary = encoder.encode(data);
39
+ const restored = decoder.decode(binary);
40
+
41
+ console.log(restored); // {hello: 'world', numbers: [1, 2, 3]}
42
+ ```
43
+
44
+ ## Documentation
45
+
46
+ For detailed documentation on each codec, refer to the individual README files in their respective folders:
47
+
48
+ - Individual codec documentation is available in each `src/<codec>/README.md` file
49
+ - Each codec includes comprehensive usage examples, API documentation, and performance benchmarks
17
50
 
18
51
 
19
52
  ## Benchmarks
@@ -0,0 +1,21 @@
1
+ import { BsonBinary, BsonDbPointer, BsonDecimal128, BsonJavascriptCodeWithScope, BsonObjectId, BsonTimestamp } from './values';
2
+ import type { IReader, IReaderResettable } from '@jsonjoy.com/util/lib/buffers';
3
+ import type { BinaryJsonDecoder } from '../types';
4
+ export declare class BsonDecoder implements BinaryJsonDecoder {
5
+ reader: IReader & IReaderResettable;
6
+ constructor(reader?: IReader & IReaderResettable);
7
+ read(uint8: Uint8Array): unknown;
8
+ decode(uint8: Uint8Array): unknown;
9
+ readDocument(): Record<string, unknown>;
10
+ readCString(): string;
11
+ readString(): string;
12
+ readElementValue(type: number): unknown;
13
+ readArray(): unknown[];
14
+ readBinary(): BsonBinary | Uint8Array;
15
+ readObjectId(): BsonObjectId;
16
+ readRegex(): RegExp;
17
+ readDbPointer(): BsonDbPointer;
18
+ readCodeWithScope(): BsonJavascriptCodeWithScope;
19
+ readTimestamp(): BsonTimestamp;
20
+ readDecimal128(): BsonDecimal128;
21
+ }
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BsonDecoder = void 0;
4
+ const Reader_1 = require("@jsonjoy.com/util/lib/buffers/Reader");
5
+ const values_1 = require("./values");
6
+ class BsonDecoder {
7
+ constructor(reader = new Reader_1.Reader()) {
8
+ this.reader = reader;
9
+ }
10
+ read(uint8) {
11
+ this.reader.reset(uint8);
12
+ return this.readDocument();
13
+ }
14
+ decode(uint8) {
15
+ this.reader.reset(uint8);
16
+ return this.readDocument();
17
+ }
18
+ readDocument() {
19
+ const reader = this.reader;
20
+ const documentSize = reader.view.getInt32(reader.x, true);
21
+ reader.x += 4;
22
+ const startPos = reader.x;
23
+ const endPos = startPos + documentSize - 4 - 1;
24
+ const obj = {};
25
+ while (reader.x < endPos) {
26
+ const elementType = reader.u8();
27
+ if (elementType === 0)
28
+ break;
29
+ const key = this.readCString();
30
+ const value = this.readElementValue(elementType);
31
+ obj[key] = value;
32
+ }
33
+ if (reader.x <= endPos) {
34
+ reader.x = startPos + documentSize - 4;
35
+ }
36
+ return obj;
37
+ }
38
+ readCString() {
39
+ const reader = this.reader;
40
+ const uint8 = reader.uint8;
41
+ const x = reader.x;
42
+ let length = 0;
43
+ while (uint8[x + length] !== 0) {
44
+ length++;
45
+ }
46
+ if (length === 0) {
47
+ reader.x++;
48
+ return '';
49
+ }
50
+ const str = reader.utf8(length);
51
+ reader.x++;
52
+ return str;
53
+ }
54
+ readString() {
55
+ const reader = this.reader;
56
+ const length = reader.view.getInt32(reader.x, true);
57
+ reader.x += 4;
58
+ if (length <= 0) {
59
+ throw new Error('Invalid string length');
60
+ }
61
+ const str = reader.utf8(length - 1);
62
+ reader.x++;
63
+ return str;
64
+ }
65
+ readElementValue(type) {
66
+ const reader = this.reader;
67
+ switch (type) {
68
+ case 0x01:
69
+ const doubleVal = reader.view.getFloat64(reader.x, true);
70
+ reader.x += 8;
71
+ return doubleVal;
72
+ case 0x02:
73
+ return this.readString();
74
+ case 0x03:
75
+ return this.readDocument();
76
+ case 0x04:
77
+ return this.readArray();
78
+ case 0x05:
79
+ return this.readBinary();
80
+ case 0x06:
81
+ return undefined;
82
+ case 0x07:
83
+ return this.readObjectId();
84
+ case 0x08:
85
+ return reader.u8() === 1;
86
+ case 0x09:
87
+ const dateVal = reader.view.getBigInt64(reader.x, true);
88
+ reader.x += 8;
89
+ return new Date(Number(dateVal));
90
+ case 0x0a:
91
+ return null;
92
+ case 0x0b:
93
+ return this.readRegex();
94
+ case 0x0c:
95
+ return this.readDbPointer();
96
+ case 0x0d:
97
+ return new values_1.BsonJavascriptCode(this.readString());
98
+ case 0x0e:
99
+ return Symbol(this.readString());
100
+ case 0x0f:
101
+ return this.readCodeWithScope();
102
+ case 0x10:
103
+ const int32Val = reader.view.getInt32(reader.x, true);
104
+ reader.x += 4;
105
+ return int32Val;
106
+ case 0x11:
107
+ return this.readTimestamp();
108
+ case 0x12:
109
+ const int64Val = reader.view.getBigInt64(reader.x, true);
110
+ reader.x += 8;
111
+ return Number(int64Val);
112
+ case 0x13:
113
+ return this.readDecimal128();
114
+ case 0xff:
115
+ return new values_1.BsonMinKey();
116
+ case 0x7f:
117
+ return new values_1.BsonMaxKey();
118
+ default:
119
+ throw new Error(`Unsupported BSON type: 0x${type.toString(16)}`);
120
+ }
121
+ }
122
+ readArray() {
123
+ const doc = this.readDocument();
124
+ const keys = Object.keys(doc).sort((a, b) => parseInt(a, 10) - parseInt(b, 10));
125
+ return keys.map((key) => doc[key]);
126
+ }
127
+ readBinary() {
128
+ const reader = this.reader;
129
+ const length = reader.view.getInt32(reader.x, true);
130
+ reader.x += 4;
131
+ const subtype = reader.u8();
132
+ const data = reader.buf(length);
133
+ if (subtype === 0) {
134
+ return data;
135
+ }
136
+ return new values_1.BsonBinary(subtype, data);
137
+ }
138
+ readObjectId() {
139
+ const reader = this.reader;
140
+ const uint8 = reader.uint8;
141
+ const x = reader.x;
142
+ const timestamp = (uint8[x] << 24) | (uint8[x + 1] << 16) | (uint8[x + 2] << 8) | uint8[x + 3];
143
+ const processLo = uint8[x + 4] | (uint8[x + 5] << 8) | (uint8[x + 6] << 16) | (uint8[x + 7] << 24);
144
+ const processHi = uint8[x + 8];
145
+ const processLoUnsigned = processLo >>> 0;
146
+ const process = processLoUnsigned + processHi * 0x100000000;
147
+ const counter = (uint8[x + 9] << 16) | (uint8[x + 10] << 8) | uint8[x + 11];
148
+ reader.x += 12;
149
+ return new values_1.BsonObjectId(timestamp, process, counter);
150
+ }
151
+ readRegex() {
152
+ const pattern = this.readCString();
153
+ const flags = this.readCString();
154
+ return new RegExp(pattern, flags);
155
+ }
156
+ readDbPointer() {
157
+ const name = this.readString();
158
+ const id = this.readObjectId();
159
+ return new values_1.BsonDbPointer(name, id);
160
+ }
161
+ readCodeWithScope() {
162
+ const reader = this.reader;
163
+ const totalLength = reader.view.getInt32(reader.x, true);
164
+ reader.x += 4;
165
+ const code = this.readString();
166
+ const scope = this.readDocument();
167
+ return new values_1.BsonJavascriptCodeWithScope(code, scope);
168
+ }
169
+ readTimestamp() {
170
+ const reader = this.reader;
171
+ const increment = reader.view.getInt32(reader.x, true);
172
+ reader.x += 4;
173
+ const timestamp = reader.view.getInt32(reader.x, true);
174
+ reader.x += 4;
175
+ return new values_1.BsonTimestamp(increment, timestamp);
176
+ }
177
+ readDecimal128() {
178
+ const reader = this.reader;
179
+ const data = reader.buf(16);
180
+ return new values_1.BsonDecimal128(data);
181
+ }
182
+ }
183
+ exports.BsonDecoder = BsonDecoder;
184
+ //# sourceMappingURL=BsonDecoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BsonDecoder.js","sourceRoot":"","sources":["../../src/bson/BsonDecoder.ts"],"names":[],"mappings":"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"}
@@ -23,22 +23,22 @@ class BsonEncoder {
23
23
  throw new Error('NOT_OBJ');
24
24
  }
25
25
  writeNull() {
26
- throw new Error('Method not implemented.');
26
+ throw new Error('Use writeKey for BSON encoding');
27
27
  }
28
28
  writeUndef() {
29
- throw new Error('Method not implemented.');
29
+ throw new Error('Use writeKey for BSON encoding');
30
30
  }
31
31
  writeBoolean(bool) {
32
- throw new Error('Method not implemented.');
32
+ throw new Error('Use writeKey for BSON encoding');
33
33
  }
34
34
  writeNumber(num) {
35
- throw new Error('Method not implemented.');
35
+ throw new Error('Use writeKey for BSON encoding');
36
36
  }
37
37
  writeInteger(int) {
38
- throw new Error('Method not implemented.');
38
+ throw new Error('Use writeKey for BSON encoding');
39
39
  }
40
40
  writeUInteger(uint) {
41
- throw new Error('Method not implemented.');
41
+ throw new Error('Use writeKey for BSON encoding');
42
42
  }
43
43
  writeInt32(int) {
44
44
  const writer = this.writer;
@@ -54,12 +54,12 @@ class BsonEncoder {
54
54
  }
55
55
  writeFloat(float) {
56
56
  const writer = this.writer;
57
- writer.ensureCapacity(4);
57
+ writer.ensureCapacity(8);
58
58
  writer.view.setFloat64(writer.x, float, true);
59
59
  writer.x += 8;
60
60
  }
61
61
  writeBigInt(int) {
62
- throw new Error('Method not implemented.');
62
+ throw new Error('Use writeKey for BSON encoding');
63
63
  }
64
64
  writeBin(buf) {
65
65
  const length = buf.length;
@@ -82,7 +82,7 @@ class BsonEncoder {
82
82
  }
83
83
  }
84
84
  writeAsciiStr(str) {
85
- throw new Error('Method not implemented.');
85
+ this.writeStr(str);
86
86
  }
87
87
  writeArr(arr) {
88
88
  this.writeObj(arr);
@@ -276,6 +276,18 @@ class BsonEncoder {
276
276
  this.writeStr(value.code);
277
277
  break;
278
278
  }
279
+ case values_1.BsonJavascriptCodeWithScope: {
280
+ writer.u8(0x0f);
281
+ this.writeCString(key);
282
+ const codeWithScope = value;
283
+ const x0 = writer.x;
284
+ writer.x += 4;
285
+ this.writeStr(codeWithScope.code);
286
+ this.writeObj(codeWithScope.scope);
287
+ const totalLength = writer.x - x0;
288
+ writer.view.setInt32(x0, totalLength, true);
289
+ break;
290
+ }
279
291
  case values_1.BsonInt32: {
280
292
  writer.u8(0x10);
281
293
  this.writeCString(key);
@@ -1 +1 @@
1
- {"version":3,"file":"BsonEncoder.js","sourceRoot":"","sources":["../../src/bson/BsonEncoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BsonEncoder.js","sourceRoot":"","sources":["../../src/bson/BsonEncoder.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  export * from './values';
2
2
  export * from './BsonEncoder';
3
+ export * from './BsonDecoder';
package/lib/bson/index.js CHANGED
@@ -3,4 +3,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./values"), exports);
5
5
  tslib_1.__exportStar(require("./BsonEncoder"), exports);
6
+ tslib_1.__exportStar(require("./BsonDecoder"), exports);
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bson/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,wDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bson/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,wDAA8B;AAC9B,wDAA8B"}
@@ -0,0 +1,19 @@
1
+ import { JsonDecoder } from '../json/JsonDecoder';
2
+ export interface EjsonDecoderOptions {
3
+ legacy?: boolean;
4
+ }
5
+ export declare class EjsonDecoder extends JsonDecoder {
6
+ private options;
7
+ constructor(options?: EjsonDecoderOptions);
8
+ decodeFromString(json: string): unknown;
9
+ readAny(): unknown;
10
+ readArr(): unknown[];
11
+ readObjWithEjsonSupport(): unknown;
12
+ private readValue;
13
+ private readRawObj;
14
+ private transformEjsonObject;
15
+ private parseObjectId;
16
+ private base64ToUint8Array;
17
+ private isValidUuid;
18
+ private uuidToBytes;
19
+ }