Skip to content

Commit c68d2d1

Browse files
Copilotstreamich
andcommitted
Update README examples with proper Writer usage and alternatives
Co-authored-by: streamich <[email protected]>
1 parent 9f4e6c1 commit c68d2d1

File tree

4 files changed

+87
-8
lines changed

4 files changed

+87
-8
lines changed

src/bencode/README.md

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,22 @@ Implements [Bencode][bencode] encoder and decoder.
1111
- Extensions for additional JavaScript types
1212
- BitTorrent-compatible implementation
1313

14-
## Basic Usage
14+
## Usage
15+
16+
Note: BencodeEncoder requires a Writer instance from the `@jsonjoy.com/util` package. Make sure to install it as a peer dependency:
17+
18+
```bash
19+
npm install @jsonjoy.com/util
20+
```
21+
22+
### Basic Usage
1523

1624
```ts
1725
import {BencodeEncoder, BencodeDecoder} from '@jsonjoy.com/json-pack/lib/bencode';
26+
import {Writer} from '@jsonjoy.com/util/lib/buffers/Writer';
1827

19-
const encoder = new BencodeEncoder();
28+
const writer = new Writer();
29+
const encoder = new BencodeEncoder(writer);
2030
const decoder = new BencodeDecoder();
2131

2232
const data = {
@@ -31,6 +41,15 @@ const decoded = decoder.decode(encoded);
3141
console.log(decoded); // Original data structure
3242
```
3343

44+
### Alternative: Use simpler codecs
45+
46+
For easier usage without external dependencies, consider using MessagePack or CBOR codecs instead:
47+
48+
```ts
49+
import {MessagePackEncoder, MessagePackDecoder} from '@jsonjoy.com/json-pack/lib/msgpack';
50+
// ... simpler usage
51+
```
52+
3453
## Type Coercion
3554

3655
- Strings and `Uint8Array` are encoded as Bencode byte strings, decoded as `Uint8Array`.

src/bson/README.md

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,22 @@ BSON (Binary JSON) is a binary representation of JSON-like documents. It extends
2020
- MongoDB-compatible implementation
2121
- Efficient binary representation
2222

23-
## Basic Usage
23+
## Usage
24+
25+
Note: BsonEncoder requires a Writer instance from the `@jsonjoy.com/util` package. Make sure to install it as a peer dependency:
26+
27+
```bash
28+
npm install @jsonjoy.com/util
29+
```
30+
31+
### Basic Usage
2432

2533
```ts
2634
import {BsonEncoder, BsonDecoder} from '@jsonjoy.com/json-pack/lib/bson';
35+
import {Writer} from '@jsonjoy.com/util/lib/buffers/Writer';
2736

28-
const encoder = new BsonEncoder();
37+
const writer = new Writer();
38+
const encoder = new BsonEncoder(writer);
2939
const decoder = new BsonDecoder();
3040

3141
const data = {
@@ -40,6 +50,15 @@ const decoded = decoder.decode(encoded);
4050
console.log(decoded); // Original data with BSON types preserved
4151
```
4252

53+
### Alternative: Use simpler codecs
54+
55+
For easier usage without external dependencies, consider using MessagePack or CBOR codecs instead:
56+
57+
```ts
58+
import {MessagePackEncoder, MessagePackDecoder} from '@jsonjoy.com/json-pack/lib/msgpack';
59+
// ... simpler usage
60+
```
61+
4362

4463
## Benchmarks
4564

src/json/README.md

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,22 @@ Enhanced JSON implementation with high-performance encoding and decoding capabil
1010
- Binary-safe encoding/decoding
1111
- Optimized for repeated encoding operations
1212

13-
## Basic Usage
13+
## Usage
14+
15+
Note: JsonEncoder requires a Writer instance from the `@jsonjoy.com/util` package. Make sure to install it as a peer dependency:
16+
17+
```bash
18+
npm install @jsonjoy.com/util
19+
```
20+
21+
### Basic Usage
1422

1523
```ts
1624
import {JsonEncoder, JsonDecoder} from '@jsonjoy.com/json-pack/lib/json';
25+
import {Writer} from '@jsonjoy.com/util/lib/buffers/Writer';
1726

18-
const encoder = new JsonEncoder();
27+
const writer = new Writer();
28+
const encoder = new JsonEncoder(writer);
1929
const decoder = new JsonDecoder();
2030

2131
const data = {hello: 'world', numbers: [1, 2, 3]};
@@ -25,6 +35,18 @@ const decoded = decoder.decode(encoded);
2535
console.log(decoded); // {hello: 'world', numbers: [1, 2, 3]}
2636
```
2737

38+
### Alternative: Use simpler codecs
39+
40+
For easier usage without external dependencies, consider using MessagePack or CBOR codecs instead:
41+
42+
```ts
43+
import {MessagePackEncoder, MessagePackDecoder} from '@jsonjoy.com/json-pack/lib/msgpack';
44+
45+
const encoder = new MessagePackEncoder();
46+
const decoder = new MessagePackDecoder();
47+
// ... simpler usage
48+
```
49+
2850
## Performance
2951

3052
This JSON implementation is optimized for performance and in many cases outperforms the native `JSON.stringify()` and `JSON.parse()` methods, especially for repeated operations.

src/ubjson/README.md

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,22 @@ Universal Binary JSON (UBJSON) encoder and decoder with high-performance impleme
99
- About an order of magnitude faster than other implementations
1010
- Efficient binary representation
1111

12-
## Basic Usage
12+
## Usage
13+
14+
Note: UbjsonEncoder requires a Writer instance from the `@jsonjoy.com/util` package. Make sure to install it as a peer dependency:
15+
16+
```bash
17+
npm install @jsonjoy.com/util
18+
```
19+
20+
### Basic Usage
1321

1422
```ts
1523
import {UbjsonEncoder, UbjsonDecoder} from '@jsonjoy.com/json-pack/lib/ubjson';
24+
import {Writer} from '@jsonjoy.com/util/lib/buffers/Writer';
1625

17-
const encoder = new UbjsonEncoder();
26+
const writer = new Writer();
27+
const encoder = new UbjsonEncoder(writer);
1828
const decoder = new UbjsonDecoder();
1929

2030
const data = {
@@ -29,6 +39,15 @@ const decoded = decoder.decode(encoded);
2939
console.log(decoded); // Original data structure
3040
```
3141

42+
### Alternative: Use simpler codecs
43+
44+
For easier usage without external dependencies, consider using MessagePack or CBOR codecs instead:
45+
46+
```ts
47+
import {MessagePackEncoder, MessagePackDecoder} from '@jsonjoy.com/json-pack/lib/msgpack';
48+
// ... simpler usage
49+
```
50+
3251
## Limitations of the UBJSON format
3352

3453
- Does not have a native "binary" type representation. Instead, octets are

0 commit comments

Comments
 (0)