nytra 0.0.6 → 0.0.7

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/dist/Nytra.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Reader } from "./Reader.js";
2
2
  import { Registry } from "./Registry.js";
3
3
  import { Writer } from "./Writer.js";
4
- import { TYPE_ARRAY, TYPE_BIGINT, TYPE_BOOLEAN, TYPE_EXTENSION, TYPE_FLOAT32, TYPE_FLOAT64, TYPE_INT16, TYPE_INT32, TYPE_INT64, TYPE_INT8, TYPE_JSON, TYPE_NULL, TYPE_OBJECT, TYPE_STRING, TYPE_STRING_16_INTERNAL, TYPE_STRING_32_INTERNAL, TYPE_TYPED_ARRAY, TYPE_UINT16, TYPE_UINT32, TYPE_UINT64, TYPE_UINT8 } from "./Types.js";
4
+ import { TYPE_ARRAY, TYPE_BIGINT, TYPE_BOOLEAN, TYPE_FLOAT32, TYPE_FLOAT64, TYPE_INT16, TYPE_INT32, TYPE_INT64, TYPE_INT8, TYPE_JSON, TYPE_NULL, TYPE_OBJECT, TYPE_STRING, TYPE_STRING_16_INTERNAL, TYPE_STRING_32_INTERNAL, TYPE_TYPED_ARRAY, TYPE_UINT16, TYPE_UINT32, TYPE_UINT64, TYPE_UINT8 } from "./Types.js";
5
5
  const MAX_UINT_32 = 2 ** 32;
6
6
  const MAX_UINT_16 = 2 ** 16;
7
7
  const MAX_UINT_8 = 2 ** 8;
@@ -78,7 +78,7 @@ function createTypedArrayEncoder(targetType) {
78
78
  }
79
79
  const endIndex = writer.offset;
80
80
  writer.setOffset(startIndex);
81
- writer.writeUint32(endIndex - startIndex - 4);
81
+ writer.writeUINT32(endIndex - startIndex - 4);
82
82
  writer.setOffset(endIndex);
83
83
  return writer.toUint8Array();
84
84
  };
@@ -274,8 +274,7 @@ export class Nytra {
274
274
  throw new Error('Unknown type:' + type);
275
275
  }
276
276
  if (withType) {
277
- writer.writeUint8(TYPE_EXTENSION);
278
- writer.writeUint16(type);
277
+ writer.writeType(type);
279
278
  }
280
279
  encodeFunction(data, writer);
281
280
  return writer.toUint8Array();
@@ -285,24 +284,24 @@ export class Nytra {
285
284
  const bytes = this.#TEXT_ENCODER.encode(str);
286
285
  const len = bytes.length;
287
286
  if (len <= 127) {
288
- writer.writeUint8(128 + len);
287
+ writer.writeUINT8(128 + len);
289
288
  writer.writeBytes(bytes);
290
289
  return writer.toUint8Array();
291
290
  }
292
291
  if (len <= 65535) {
293
- writer.writeUint8(TYPE_STRING_16_INTERNAL);
294
- writer.writeUint16(len);
292
+ writer.writeUINT8(TYPE_STRING_16_INTERNAL);
293
+ writer.writeUINT16(len);
295
294
  writer.writeBytes(bytes);
296
295
  return writer.toUint8Array();
297
296
  }
298
- writer.writeUint8(TYPE_STRING_32_INTERNAL);
299
- writer.writeUint32(len);
297
+ writer.writeUINT8(TYPE_STRING_32_INTERNAL);
298
+ writer.writeUINT32(len);
300
299
  writer.writeBytes(bytes);
301
300
  return writer.toUint8Array();
302
301
  }
303
302
  switch (type) {
304
303
  case TYPE_NULL:
305
- writer.writeUint8(TYPE_NULL);
304
+ writer.writeUINT8(TYPE_NULL);
306
305
  return writer.toUint8Array();
307
306
  case TYPE_ARRAY: {
308
307
  if (!Array.isArray(data)) {
@@ -310,7 +309,7 @@ export class Nytra {
310
309
  }
311
310
  const arr = data;
312
311
  if (withType)
313
- writer.writeUint8(TYPE_ARRAY);
312
+ writer.writeType(TYPE_ARRAY);
314
313
  const startIndex = writer.offset;
315
314
  writer.setOffset(startIndex + 4); // reserve space for length
316
315
  for (let value of arr) {
@@ -318,7 +317,7 @@ export class Nytra {
318
317
  }
319
318
  const endIndex = writer.offset;
320
319
  writer.setOffset(startIndex);
321
- writer.writeUint32(endIndex - startIndex - 4);
320
+ writer.writeUINT32(endIndex - startIndex - 4);
322
321
  writer.setOffset(endIndex);
323
322
  return writer.toUint8Array();
324
323
  }
@@ -328,7 +327,7 @@ export class Nytra {
328
327
  }
329
328
  const obj = data;
330
329
  if (withType)
331
- writer.writeUint8(TYPE_OBJECT);
330
+ writer.writeType(TYPE_OBJECT);
332
331
  const startIndex = writer.offset;
333
332
  writer.setOffset(startIndex + 4);
334
333
  let keys = Object.keys(obj);
@@ -338,62 +337,62 @@ export class Nytra {
338
337
  }
339
338
  const endIndex = writer.offset;
340
339
  writer.setOffset(startIndex);
341
- writer.writeUint32(endIndex - startIndex - 4);
340
+ writer.writeUINT32(endIndex - startIndex - 4);
342
341
  writer.setOffset(endIndex);
343
342
  return writer.toUint8Array();
344
343
  }
345
344
  case TYPE_UINT8: {
346
345
  if (withType)
347
- writer.writeUint8(TYPE_UINT8);
348
- writer.writeUint8(data);
346
+ writer.writeType(TYPE_UINT8);
347
+ writer.writeUINT8(data);
349
348
  return writer.toUint8Array();
350
349
  }
351
350
  case TYPE_UINT16: {
352
351
  if (withType)
353
- writer.writeUint8(TYPE_UINT16);
354
- writer.writeUint16(data);
352
+ writer.writeType(TYPE_UINT16);
353
+ writer.writeUINT16(data);
355
354
  return writer.toUint8Array();
356
355
  }
357
356
  case TYPE_UINT32: {
358
357
  if (withType)
359
- writer.writeUint8(TYPE_UINT32);
360
- writer.writeUint32(data);
358
+ writer.writeType(TYPE_UINT32);
359
+ writer.writeUINT32(data);
361
360
  return writer.toUint8Array();
362
361
  }
363
362
  case TYPE_UINT64: {
364
363
  if (withType)
365
- writer.writeUint8(TYPE_UINT64);
366
- writer.writeUint64(BigInt(data));
364
+ writer.writeType(TYPE_UINT64);
365
+ writer.writeUINT64(BigInt(data));
367
366
  return writer.toUint8Array();
368
367
  }
369
368
  case TYPE_INT8: {
370
369
  if (withType)
371
- writer.writeUint8(TYPE_INT8);
372
- writer.writeInt8(data);
370
+ writer.writeType(TYPE_INT8);
371
+ writer.writeINT8(data);
373
372
  return writer.toUint8Array();
374
373
  }
375
374
  case TYPE_INT16: {
376
375
  if (withType)
377
- writer.writeUint8(TYPE_INT16);
378
- writer.writeInt16(data);
376
+ writer.writeType(TYPE_INT16);
377
+ writer.writeINT16(data);
379
378
  return writer.toUint8Array();
380
379
  }
381
380
  case TYPE_INT32: {
382
381
  if (withType)
383
- writer.writeUint8(TYPE_INT32);
384
- writer.writeInt32(data);
382
+ writer.writeType(TYPE_INT32);
383
+ writer.writeINT32(data);
385
384
  return writer.toUint8Array();
386
385
  }
387
386
  case TYPE_INT64: {
388
387
  if (withType)
389
- writer.writeUint8(TYPE_INT64);
390
- writer.writeInt64(BigInt(data));
388
+ writer.writeType(TYPE_INT64);
389
+ writer.writeINT64(BigInt(data));
391
390
  return writer.toUint8Array();
392
391
  }
393
392
  case TYPE_BOOLEAN: {
394
393
  if (withType)
395
- writer.writeUint8(TYPE_BOOLEAN);
396
- writer.writeUint8(data ? 1 : 0);
394
+ writer.writeType(TYPE_BOOLEAN);
395
+ writer.writeUINT8(data ? 1 : 0);
397
396
  return writer.toUint8Array();
398
397
  }
399
398
  case TYPE_JSON: {
@@ -401,19 +400,19 @@ export class Nytra {
401
400
  }
402
401
  case TYPE_FLOAT32: {
403
402
  if (withType)
404
- writer.writeUint8(TYPE_FLOAT32);
405
- writer.writeFloat32(data);
403
+ writer.writeType(TYPE_FLOAT32);
404
+ writer.writeFLOAT32(data);
406
405
  return writer.toUint8Array();
407
406
  }
408
407
  case TYPE_FLOAT64: {
409
408
  if (withType)
410
- writer.writeUint8(TYPE_FLOAT64);
411
- writer.writeFloat64(data);
409
+ writer.writeType(TYPE_FLOAT64);
410
+ writer.writeFLOAT64(data);
412
411
  return writer.toUint8Array();
413
412
  }
414
413
  case TYPE_BIGINT: {
415
414
  if (withType)
416
- writer.writeUint8(TYPE_BIGINT);
415
+ writer.writeType(TYPE_BIGINT);
417
416
  writer.writeBigInt(BigInt(data));
418
417
  return writer.toUint8Array();
419
418
  }
@@ -476,20 +475,10 @@ export class Nytra {
476
475
  return bigintToSafeNumber(reader.readINT64());
477
476
  }
478
477
  case TYPE_FLOAT64: {
479
- return reader.readFloat64();
478
+ return reader.readFLOAT64();
480
479
  }
481
480
  case TYPE_FLOAT32: {
482
- return reader.readFloat32();
483
- }
484
- case TYPE_TYPED_ARRAY: {
485
- const type = reader.readType();
486
- const len = reader.readUINT32();
487
- const end = reader.offset + len;
488
- const targetArray = [];
489
- while (reader.offset < end) {
490
- targetArray.push(this.decode(reader, type));
491
- }
492
- return targetArray;
481
+ return reader.readFLOAT32();
493
482
  }
494
483
  case TYPE_ARRAY: {
495
484
  const len = reader.readUINT32();
package/dist/Reader.d.ts CHANGED
@@ -18,8 +18,8 @@ export declare class Reader {
18
18
  readINT16(): number;
19
19
  readINT32(): number;
20
20
  readINT64(): bigint;
21
- readFloat32(): number;
22
- readFloat64(): number;
21
+ readFLOAT32(): number;
22
+ readFLOAT64(): number;
23
23
  readString(length: number): string;
24
24
  readBigInt(): bigint;
25
25
  readType(): number;
package/dist/Reader.js CHANGED
@@ -65,12 +65,12 @@ export class Reader {
65
65
  this.#ind += 8;
66
66
  return this.#dataView.getBigInt64(offset, LITTLE_ENDIAN);
67
67
  }
68
- readFloat32() {
68
+ readFLOAT32() {
69
69
  const offset = this.#ind;
70
70
  this.#ind += 4;
71
71
  return this.#dataView.getFloat32(offset, LITTLE_ENDIAN);
72
72
  }
73
- readFloat64() {
73
+ readFLOAT64() {
74
74
  const offset = this.#ind;
75
75
  this.#ind += 8;
76
76
  return this.#dataView.getFloat64(offset, LITTLE_ENDIAN);
package/dist/Writer.d.ts CHANGED
@@ -6,16 +6,16 @@ export declare class Writer {
6
6
  constructor(initialSize?: number);
7
7
  private ensureCapacity;
8
8
  writeType(type: number): this;
9
- writeInt8(value: number): this;
10
- writeInt16(value: number): this;
11
- writeInt32(value: number): this;
12
- writeInt64(value: bigint): this;
13
- writeUint8(value: number): this;
14
- writeUint16(value: number): this;
15
- writeUint32(value: number): this;
16
- writeUint64(value: bigint): this;
17
- writeFloat32(value: number): this;
18
- writeFloat64(value: number): this;
9
+ writeINT8(value: number): this;
10
+ writeINT16(value: number): this;
11
+ writeINT32(value: number): this;
12
+ writeINT64(value: bigint): this;
13
+ writeUINT8(value: number): this;
14
+ writeUINT16(value: number): this;
15
+ writeUINT32(value: number): this;
16
+ writeUINT64(value: bigint): this;
17
+ writeFLOAT32(value: number): this;
18
+ writeFLOAT64(value: number): this;
19
19
  writeBytes(bytes: Uint8Array): this;
20
20
  writeBigInt(value: bigint): this;
21
21
  toUint8Array(): Uint8Array;
package/dist/Writer.js CHANGED
@@ -2,7 +2,6 @@ import { TYPE_EXTENSION } from "./Types.js";
2
2
  const LITTLE_ENDIAN = true;
3
3
  export class Writer {
4
4
  static DEFAULT_SIZE = 1024;
5
- static #encoder = new TextEncoder();
6
5
  #buffer;
7
6
  #view;
8
7
  #offset = 0;
@@ -41,66 +40,66 @@ export class Writer {
41
40
  }
42
41
  writeType(type) {
43
42
  if (type <= 255) {
44
- return this.writeUint8(type);
43
+ return this.writeUINT8(type);
45
44
  }
46
- this.writeUint8(TYPE_EXTENSION);
47
- return this.writeUint16(type);
45
+ this.writeUINT8(TYPE_EXTENSION);
46
+ return this.writeUINT16(type);
48
47
  }
49
- writeInt8(value) {
48
+ writeINT8(value) {
50
49
  this.ensureCapacity(1);
51
50
  this.#view.setInt8(this.#offset, value);
52
51
  this.#offset += 1;
53
52
  return this;
54
53
  }
55
- writeInt16(value) {
54
+ writeINT16(value) {
56
55
  this.ensureCapacity(2);
57
56
  this.#view.setInt16(this.#offset, value, LITTLE_ENDIAN);
58
57
  this.#offset += 2;
59
58
  return this;
60
59
  }
61
- writeInt32(value) {
60
+ writeINT32(value) {
62
61
  this.ensureCapacity(4);
63
62
  this.#view.setInt32(this.#offset, value, LITTLE_ENDIAN);
64
63
  this.#offset += 4;
65
64
  return this;
66
65
  }
67
- writeInt64(value) {
66
+ writeINT64(value) {
68
67
  this.ensureCapacity(8);
69
68
  this.#view.setBigInt64(this.#offset, value, LITTLE_ENDIAN);
70
69
  this.#offset += 8;
71
70
  return this;
72
71
  }
73
- writeUint8(value) {
72
+ writeUINT8(value) {
74
73
  this.ensureCapacity(1);
75
74
  this.#view.setUint8(this.#offset, value);
76
75
  this.#offset += 1;
77
76
  return this;
78
77
  }
79
- writeUint16(value) {
78
+ writeUINT16(value) {
80
79
  this.ensureCapacity(2);
81
80
  this.#view.setUint16(this.#offset, value, LITTLE_ENDIAN);
82
81
  this.#offset += 2;
83
82
  return this;
84
83
  }
85
- writeUint32(value) {
84
+ writeUINT32(value) {
86
85
  this.ensureCapacity(4);
87
86
  this.#view.setUint32(this.#offset, value, LITTLE_ENDIAN);
88
87
  this.#offset += 4;
89
88
  return this;
90
89
  }
91
- writeUint64(value) {
90
+ writeUINT64(value) {
92
91
  this.ensureCapacity(8);
93
92
  this.#view.setBigUint64(this.#offset, value, LITTLE_ENDIAN);
94
93
  this.#offset += 8;
95
94
  return this;
96
95
  }
97
- writeFloat32(value) {
96
+ writeFLOAT32(value) {
98
97
  this.ensureCapacity(4);
99
98
  this.#view.setFloat32(this.#offset, value, LITTLE_ENDIAN);
100
99
  this.#offset += 4;
101
100
  return this;
102
101
  }
103
- writeFloat64(value) {
102
+ writeFLOAT64(value) {
104
103
  this.ensureCapacity(8);
105
104
  this.#view.setFloat64(this.#offset, value, LITTLE_ENDIAN);
106
105
  this.#offset += 8;
@@ -113,8 +112,8 @@ export class Writer {
113
112
  return this;
114
113
  }
115
114
  writeBigInt(value) {
116
- let bytes = bigintToUint8ArrayLE(value);
117
- this.writeUint16(bytes.length);
115
+ const bytes = bigintToUint8ArrayLE(value);
116
+ this.writeUINT16(bytes.length);
118
117
  this.writeBytes(bytes);
119
118
  return this;
120
119
  }
package/package.json CHANGED
@@ -1,41 +1,41 @@
1
- {
2
- "private": false,
3
- "name": "nytra",
4
- "version": "0.0.6",
5
- "description": "A javascript ES6 Decorator driven library to encode/decode javascript objects to/from binary optimized buffers to reduce payload on network",
6
- "license": "MIT",
7
- "author": {
8
- "name": "Kapsonfire",
9
- "email": "kapsonfire@googlemail.com"
10
- },
11
- "repository": {
12
- "type": "git",
13
- "url": "git+https://github.com/nytra-lib/nytra-js.git"
14
- },
15
- "homepage": "https://github.com/nytra-lib/nytra-js#readme",
16
- "bugs": {
17
- "url": "https://github.com/nytra-lib/nytra-js/issues"
18
- },
19
- "type": "module",
20
- "main": "index.js",
21
- "scripts": {
22
- "test": "echo \"Error: no test specified\" && exit 1",
23
- "build": "tsc",
24
- "prepublishOnly": "npm run build"
25
- },
26
- "files": [
27
- "dist",
28
- "README.md"
29
- ],
30
- "devDependencies": {
31
- "@msgpack/msgpack": "^3.1.3",
32
- "@types/bun": "^1.3.13",
33
- "typescript": "^6.0.3"
34
- },
35
- "exports": {
36
- ".": {
37
- "import": "./dist/index.js",
38
- "types": "./dist/index.d.ts"
39
- }
40
- }
41
- }
1
+ {
2
+ "private": false,
3
+ "name": "nytra",
4
+ "version": "0.0.7",
5
+ "description": "A javascript ES6 Decorator driven library to encode/decode javascript objects to/from binary optimized buffers to reduce payload on network",
6
+ "license": "MIT",
7
+ "author": {
8
+ "name": "Kapsonfire",
9
+ "email": "kapsonfire@googlemail.com"
10
+ },
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "git+https://github.com/nytra-lib/nytra-js.git"
14
+ },
15
+ "homepage": "https://github.com/nytra-lib/nytra-js#readme",
16
+ "bugs": {
17
+ "url": "https://github.com/nytra-lib/nytra-js/issues"
18
+ },
19
+ "type": "module",
20
+ "main": "index.js",
21
+ "scripts": {
22
+ "test": "echo \"Error: no test specified\" && exit 1",
23
+ "build": "tsc",
24
+ "prepublishOnly": "npm run build"
25
+ },
26
+ "files": [
27
+ "dist",
28
+ "README.md"
29
+ ],
30
+ "devDependencies": {
31
+ "@msgpack/msgpack": "^3.1.3",
32
+ "@types/bun": "^1.3.13",
33
+ "typescript": "^6.0.3"
34
+ },
35
+ "exports": {
36
+ ".": {
37
+ "import": "./dist/index.js",
38
+ "types": "./dist/index.d.ts"
39
+ }
40
+ }
41
+ }