cbor-x 1.4.1 → 1.5.1

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/test.js CHANGED
@@ -1,7 +1,24 @@
1
1
  (function (CBOR, chai, fs) {
2
2
  'use strict';
3
3
 
4
- chai = chai && Object.prototype.hasOwnProperty.call(chai, 'default') ? chai['default'] : chai;
4
+ function _interopNamespaceDefault(e) {
5
+ var n = Object.create(null);
6
+ if (e) {
7
+ Object.keys(e).forEach(function (k) {
8
+ if (k !== 'default') {
9
+ var d = Object.getOwnPropertyDescriptor(e, k);
10
+ Object.defineProperty(n, k, d.get ? d : {
11
+ enumerable: true,
12
+ get: function () { return e[k]; }
13
+ });
14
+ }
15
+ });
16
+ }
17
+ n.default = e;
18
+ return Object.freeze(n);
19
+ }
20
+
21
+ var CBOR__namespace = /*#__PURE__*/_interopNamespaceDefault(CBOR);
5
22
 
6
23
  const sampleData = JSON.parse(fs.readFileSync(new URL('./example4.json', (document.currentScript && document.currentScript.src || new URL('test.js', document.baseURI).href))));
7
24
 
@@ -26,19 +43,21 @@
26
43
  }
27
44
  var assert = chai.assert;
28
45
 
29
- var Encoder = CBOR.Encoder;
30
- var decode = CBOR.decode;
31
- var encode = CBOR.encode;
32
- var DECIMAL_FIT = CBOR.DECIMAL_FIT;
46
+ var Encoder = CBOR__namespace.Encoder;
47
+ var decode = CBOR__namespace.decode;
48
+ var encode = CBOR__namespace.encode;
49
+ var encodeAsIterable = CBOR__namespace.encodeAsIterable;
50
+ var encodeAsAsyncIterable = CBOR__namespace.encodeAsAsyncIterable;
51
+ var DECIMAL_FIT = CBOR__namespace.DECIMAL_FIT;
33
52
 
34
- var addExtension = CBOR.addExtension;
53
+ var addExtension = CBOR__namespace.addExtension;
35
54
 
36
55
  var zlib = tryRequire('zlib');
37
- var deflateSync = zlib.deflateSync;
38
- var inflateSync = zlib.inflateSync;
39
- var deflateSync = zlib.brotliCompressSync;
40
- var inflateSync = zlib.brotliDecompressSync;
41
- var constants = zlib.constants;
56
+ zlib.deflateSync;
57
+ zlib.inflateSync;
58
+ zlib.brotliCompressSync;
59
+ zlib.brotliDecompressSync;
60
+ zlib.constants;
42
61
 
43
62
  var ITERATIONS = 4000;
44
63
 
@@ -47,7 +66,7 @@
47
66
  var data = senmlData;
48
67
  let cborSenml = new Encoder({ useRecords: false, keyMap: senmlKeys });
49
68
  let cborBasic = new Encoder();
50
- var serialized = cborSenml.encode(data);
69
+ var serialized = cborSenml.encode(data);
51
70
  var deserialized = cborSenml.decode(serialized);
52
71
  assert(serialized.length < cborBasic.encode(data).length);
53
72
  assert.deepEqual(deserialized, data);
@@ -148,18 +167,18 @@
148
167
 
149
168
  test('255 chars', function() {
150
169
  const data = 'RRZG9A6I7xupPeOZhxcOcioFsuhszGOdyDUcbRf4Zef2kdPIfC9RaLO4jTM5JhuZvTsF09fbRHMGtqk7YAgu3vespeTe9l61ziZ6VrMnYu2CamK96wCkmz0VUXyqaiUoTPgzk414LS9yYrd5uh7w18ksJF5SlC2e91rukWvNqAZJjYN3jpkqHNOFchCwFrhbxq2Lrv1kSJPYCx9blRg2hGmYqTbElLTZHv20iNqwZeQbRMgSBPT6vnbCBPnOh1W';
151
- var serialized = CBOR.encode(data);
152
- var deserialized = CBOR.decode(serialized);
170
+ var serialized = CBOR__namespace.encode(data);
171
+ var deserialized = CBOR__namespace.decode(serialized);
153
172
  assert.equal(deserialized, data);
154
173
  });
155
174
 
156
175
  test('encode/decode sample data', function(){
157
176
  var data = sampleData;
158
- var serialized = CBOR.encode(data);
159
- var deserialized = CBOR.decode(serialized);
177
+ var serialized = CBOR__namespace.encode(data);
178
+ var deserialized = CBOR__namespace.decode(serialized);
160
179
  assert.deepEqual(deserialized, data);
161
- var serialized = CBOR.encode(data);
162
- var deserialized = CBOR.decode(serialized);
180
+ var serialized = CBOR__namespace.encode(data);
181
+ var deserialized = CBOR__namespace.decode(serialized);
163
182
  assert.deepEqual(deserialized, data);
164
183
  });
165
184
  test('encode/decode sample data with records', function(){
@@ -305,6 +324,35 @@
305
324
  assert.equal(deserialized.extendedInstance.getDouble(), 8);
306
325
  });
307
326
 
327
+ test('addExtension with map', function(){
328
+ function Extended() {
329
+ }
330
+ var instance = new Extended();
331
+ instance.value = 4;
332
+ instance.map = new Map();
333
+ instance.map.set('key', 'value');
334
+ var data = {
335
+ extendedInstance: instance,
336
+ };
337
+ let encoder = new Encoder();
338
+ addExtension({
339
+ Class: Extended,
340
+ tag: 301,
341
+ decode: function(data) {
342
+ let e = new Extended();
343
+ e.value = data[0];
344
+ e.map = data[1];
345
+ return e
346
+ },
347
+ encode: function(instance, encode) {
348
+ return encode([instance.value, instance.map])
349
+ }
350
+ });
351
+ var serialized = encoder.encode(data);
352
+ var deserialized = encoder.decode(serialized);
353
+ assert.deepEqual(data, deserialized);
354
+ });
355
+
308
356
  test.skip('text decoder', function() {
309
357
  let td = new TextDecoder('ISO-8859-15');
310
358
  let b = Buffer.alloc(3);
@@ -341,7 +389,15 @@
341
389
  assert.equal(deserialized.children[0], deserialized.children[2]);
342
390
  assert.equal(deserialized.children, deserialized.childrenAgain);
343
391
  });
344
-
392
+ test('nested same key', function() {
393
+ const encoder = new Encoder();
394
+ const r_key = "key";
395
+ const d_key = "key";
396
+ const data = { [r_key]: { [d_key]: "foo" } };
397
+ const enc = encoder.encode(data);
398
+ const dec = encoder.decode(enc);
399
+ assert.deepEqual(dec, data);
400
+ });
345
401
  test('decode float 16', function() {
346
402
  assert.equal(decode(new Uint8Array([0xF9, 0x4A, 0x60])), 12.75);
347
403
  assert.equal(decode(new Uint8Array([0xF9, 0xC4, 0x80])), -4.5);
@@ -494,15 +550,15 @@
494
550
  seven: 7,
495
551
  foz: 3,
496
552
  };
497
- var serialized = CBOR.encode(data);
498
- var deserialized = CBOR.decode(serialized);
553
+ var serialized = CBOR__namespace.encode(data);
554
+ var deserialized = CBOR__namespace.decode(serialized);
499
555
  assert.deepEqual(deserialized, data);
500
556
  // do multiple times to test caching
501
- var serialized = CBOR.encode(data);
502
- var deserialized = CBOR.decode(serialized);
557
+ var serialized = CBOR__namespace.encode(data);
558
+ var deserialized = CBOR__namespace.decode(serialized);
503
559
  assert.deepEqual(deserialized, data);
504
- var serialized = CBOR.encode(data);
505
- var deserialized = CBOR.decode(serialized);
560
+ var serialized = CBOR__namespace.encode(data);
561
+ var deserialized = CBOR__namespace.decode(serialized);
506
562
  assert.deepEqual(deserialized, data);
507
563
  });
508
564
  test('strings', function() {
@@ -655,16 +711,108 @@
655
711
  assert.deepEqual(deserialized, data);
656
712
  });
657
713
  test('decodeMultiple', () => {
658
- let values = CBOR.decodeMultiple(new Uint8Array([1, 2, 3, 4]));
714
+ let values = CBOR__namespace.decodeMultiple(new Uint8Array([1, 2, 3, 4]));
659
715
  assert.deepEqual(values, [1, 2, 3, 4]);
660
716
  values = [];
661
- CBOR.decodeMultiple(new Uint8Array([1, 2, 3, 4]), value => values.push(value));
717
+ CBOR__namespace.decodeMultiple(new Uint8Array([1, 2, 3, 4]), value => values.push(value));
662
718
  assert.deepEqual(values, [1, 2, 3, 4]);
663
719
  });
664
720
  test('bad input', function() {
665
721
  let badInput = Buffer.from('7b2273657269616c6e6f223a2265343a30222c226970223a223139322e3136382e312e3335222c226b6579223a226770735f736563726574227d', 'hex');
666
722
  assert.throws(function(){ decode(badInput); }); // should throw, not crash
667
723
  });
724
+ test('encode as iterator', function() {
725
+ let hasIterables = {
726
+ a: 1,
727
+ iterator: (function*() {
728
+ yield 2;
729
+ yield {
730
+ b: (function*() {
731
+ yield 3;
732
+ })(),
733
+ };
734
+ })()
735
+ };
736
+ let encodedIterable = encodeAsIterable(hasIterables);
737
+ let result = [...encodedIterable];
738
+ result = Buffer.concat(result);
739
+ let deserialized = decode(result);
740
+ const expectedResult = {
741
+ a: 1,
742
+ iterator: [2, { b: [3]}]
743
+ };
744
+ assert.deepEqual(deserialized, expectedResult);
745
+ });
746
+ if (typeof Blob !== 'undefined')
747
+ test('encode as iterator with async/blob parts', function() {
748
+ let blob = new Blob([Buffer.from([4,5])]);
749
+ let hasIterables = {
750
+ a: 1,
751
+ iterator: (async function*() {
752
+ yield 2;
753
+ yield {
754
+ b: (function*() {
755
+ yield 3;
756
+ })(),
757
+ };
758
+ })(),
759
+ blob
760
+ };
761
+ let encodedIterable = encodeAsIterable(hasIterables);
762
+ let result = [...encodedIterable];
763
+ assert.equal(result[result.length - 1].constructor, Blob);
764
+ });
765
+ if (typeof Blob !== 'undefined')
766
+ test('encode as async iterator with async/blob parts', async function() {
767
+ let blob = new Blob([Buffer.from([4, 5])]);
768
+ let hasIterables = {
769
+ a: 1,
770
+ iterator: (async function* () {
771
+ yield 2;
772
+ yield {
773
+ b: (function* () {
774
+ yield 3;
775
+ })(),
776
+ };
777
+ })(),
778
+ blob
779
+ };
780
+ let encodedIterable = encodeAsAsyncIterable(hasIterables);
781
+ let result = [];
782
+ for await (let encodedPart of encodedIterable) {
783
+ result.push(encodedPart);
784
+ }
785
+ let deserialized = decode(Buffer.concat(result));
786
+ const expectedResult = {
787
+ a: 1,
788
+ iterator: [2, { b: [3]}],
789
+ blob: Buffer.from([4,5]),
790
+ };
791
+ assert.deepEqual(deserialized, expectedResult);
792
+ });
793
+ test.skip('encode as iterator performance', async function() {
794
+ function* iterator() {
795
+ for (let i = 0; i < 1000; i++) {
796
+ yield {
797
+ a: 1,
798
+ b: 'hello, world',
799
+ c: true,
800
+ sub: {
801
+ d: 'inside',
802
+ e: 3
803
+ }
804
+ };
805
+ }
806
+ }
807
+ let result;
808
+ let start = performance.now();
809
+ for (let i = 0; i < 1000; i++) {
810
+ let encodedIterable = encodeAsIterable(iterator());
811
+ result = [...encodedIterable];
812
+ }
813
+ decode(Buffer.concat(result));
814
+ console.log(performance.now() - start, result.length);
815
+ });
668
816
  });
669
817
  suite('CBOR performance tests', function(){
670
818
  test('performance JSON.parse', function() {
@@ -673,14 +821,14 @@
673
821
  var serialized = JSON.stringify(data);
674
822
  console.log('JSON size', serialized.length);
675
823
  for (var i = 0; i < ITERATIONS; i++) {
676
- var deserialized = JSON.parse(serialized);
824
+ JSON.parse(serialized);
677
825
  }
678
826
  });
679
827
  test('performance JSON.stringify', function() {
680
828
  var data = sampleData;
681
829
  this.timeout(10000);
682
830
  for (var i = 0; i < ITERATIONS; i++) {
683
- var serialized = JSON.stringify(data);
831
+ JSON.stringify(data);
684
832
  }
685
833
  });
686
834
  test('performance decode', function() {
@@ -693,7 +841,7 @@
693
841
  var serialized = encoder.encode(data);
694
842
  console.log('CBOR w/ record ext size', serialized.length);
695
843
  for (var i = 0; i < ITERATIONS; i++) {
696
- var deserialized = encoder.decode(serialized);
844
+ encoder.decode(serialized);
697
845
  }
698
846
  });
699
847
  test('performance encode', function() {
@@ -706,11 +854,12 @@
706
854
  for (var i = 0; i < ITERATIONS; i++) {
707
855
  //serialized = encode(data, { shared: sharedStructure })
708
856
  encoder.useBuffer(buffer);
709
- var serialized = encoder.encode(data);
857
+ encoder.encode(data);
710
858
  //var serializedGzip = deflateSync(serialized)
711
859
  }
712
860
  //console.log('serialized', serialized.length, global.propertyComparisons)
713
861
  });
714
862
  });
715
863
 
716
- }(CBOR, chai, fs));
864
+ })(CBOR, chai, fs);
865
+ //# sourceMappingURL=test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.js","sources":["../tests/test.js"],"sourcesContent":["import * as CBOR from '../index.js'\nimport chai from 'chai'\nimport { readFileSync } from 'fs'\nconst sampleData = JSON.parse(readFileSync(new URL('./example4.json', import.meta.url)))\n\nconst senmlData = [ \n\t{ bn: '/3303/0/5700', bt: 1278887, v: 35.5 },\n\t{ t: 10, v: 34 },\n\t{ t: 20, v: 33 },\n\t{ t: 30, v: 32 },\n\t{ t: 40, v: 31 },\n\t{ t: 50, v: 30 } \n]\n\nconst senmlKeys = { bs: -6, bv: -5, bu: -4, bt: -3, bn: -2, n: 0, u: 1, v: 2, vs: 3, t: 6, ut: 7, vd: 8 }\n\n//import inspector from 'inspector'; inspector.open(9229, null, true); debugger\nfunction tryRequire(module) {\n\ttry {\n\t\treturn require(module)\n\t} catch(error) {\n\t\treturn {}\n\t}\n}\nvar assert = chai.assert\n\nvar Encoder = CBOR.Encoder\nvar EncoderStream = CBOR.EncoderStream\nvar DecoderStream = CBOR.DecoderStream\nvar decode = CBOR.decode\nvar encode = CBOR.encode\nvar encodeAsIterable = CBOR.encodeAsIterable\nvar encodeAsAsyncIterable = CBOR.encodeAsAsyncIterable\nvar DECIMAL_FIT = CBOR.DECIMAL_FIT\n\nvar addExtension = CBOR.addExtension\n\nvar zlib = tryRequire('zlib')\nvar deflateSync = zlib.deflateSync\nvar inflateSync = zlib.inflateSync\nvar deflateSync = zlib.brotliCompressSync\nvar inflateSync = zlib.brotliDecompressSync\nvar constants = zlib.constants\ntry {\n//\tvar { decode, encode } = require('msgencode-lite')\n} catch (error) {}\n\nvar ITERATIONS = 4000\n\nsuite('CBOR basic tests', function(){\n\ttest('encode/decode with keyMaps (basic)', function() {\n\t\tvar data = senmlData\n\t\tlet cborSenml = new Encoder({ useRecords: false, keyMap: senmlKeys })\n\t\tlet cborBasic = new Encoder()\n\t\tvar serialized = cborSenml.encode(data)\n\t\tvar deserialized = cborSenml.decode(serialized)\n\t\tassert(serialized.length < cborBasic.encode(data).length)\n\t\tassert.deepEqual(deserialized, data)\n\t})\n\t\n\ttest('encode/decode with keyMaps and Records)', function() {\n\t\tvar data = senmlData\n\t\tlet cborSenml = new Encoder({ useRecords: true, keyMap: senmlKeys })\n\t\tlet cborBasic = new Encoder()\n\t var serialized = cborSenml.encode(data)\n\t\tvar deserialized = cborSenml.decode(serialized)\n\t\tassert(serialized.length < cborBasic.encode(data).length)\n\t\tassert.deepEqual(deserialized, data)\n\t})\n\n\ttest('encode/decode data', function(){\n\t\tvar data = {\n\t\t\tdata: [\n\t\t\t\t{ a: 1, name: 'one', type: 'odd', isOdd: true },\n\t\t\t\t{ a: 2, name: 'two', type: 'even'},\n\t\t\t\t{ a: 3, name: 'three', type: 'odd', isOdd: true },\n\t\t\t\t{ a: 4, name: 'four', type: 'even'},\n\t\t\t\t{ a: 5, name: 'five', type: 'odd', isOdd: true },\n\t\t\t\t{ a: 6, name: 'six', type: 'even', isOdd: null }\n\t\t\t],\n\t\t\tdescription: 'some names',\n\t\t\ttypes: ['odd', 'even'],\n\t\t\tconvertEnumToNum: [\n\t\t\t\t{ prop: 'test' },\n\t\t\t\t{ prop: 'test' },\n\t\t\t\t{ prop: 'test' },\n\t\t\t\t{ prop: 1 },\n\t\t\t\t{ prop: 2 },\n\t\t\t\t{ prop: [undefined] },\n\t\t\t\t{ prop: null }\n\t\t\t]\n\t\t}\n\t\tlet structures = []\n\t\tlet encoder = new Encoder({ structures })\n\t\tvar serialized = encoder.encode(data)\n\t\tserialized = encoder.encode(data)\n\t\tvar deserialized = encoder.decode(serialized)\n\t\tassert.deepEqual(deserialized, data)\n\t})\n\n\ttest('mixed structures, shared', function(){\n\t\tlet data1 = { a: 1, b: 2, c: 3 }\n\t\tlet data2 = { a: 1, b: 2, d: 4 }\n\t\tlet data3 = { a: 1, b: 2, e: 5 }\n\t\tlet structures = []\n\t\tlet encoder = new Encoder({ structures })\n\t\tvar serialized = encoder.encode(data1)\n\t\tvar deserialized = encoder.decode(serialized)\n\t\tassert.deepEqual(deserialized, data1)\n\t\tvar serialized = encoder.encode(data2)\n\t\tvar deserialized = encoder.decode(serialized)\n\t\tassert.deepEqual(deserialized, data2)\n\t\tvar serialized = encoder.encode(data3)\n\t\tvar deserialized = encoder.decode(serialized)\n\t\tassert.deepEqual(deserialized, data3)\n\t})\n\n\ttest('mixed structures, unshared', function(){\n\t\tlet data = []\n\t\tlet encoder = new Encoder({ })\n\t\tfor (let i = 0; i< 1000; i++) {\n\t\t\tdata.push({a: 1, ['test' + i]: i})\n\t\t}\n\t\tvar serialized = encoder.encode(data)\n\t\tvar deserialized = encoder.decode(serialized)\n\t\tassert.deepEqual(deserialized, data)\n\t\tserialized = encoder.encode(data)\n\t\tdeserialized = encoder.decode(serialized)\n\t\tassert.deepEqual(deserialized, data)\n\t})\n\n\ttest('mixed array', function(){\n\t\tvar data = [\n\t\t\t'one',\n\t\t\t'two',\n\t\t\t'one',\n\t\t\t10,\n\t\t\t11,\n\t\t\tnull,\n\t\t\ttrue,\n\t\t\t'three',\n\t\t\t'three',\n\t\t\t'one', [\n\t\t\t\t3, -5, -50, -400,1.3, -5.3, true\n\t\t\t]\n\t\t]\n\t\tlet structures = []\n\t\tlet encoder = new Encoder({ structures })\n\t\tvar serialized = encoder.encode(data)\n\t\tvar deserialized = encoder.decode(serialized)\n\t\tassert.deepEqual(deserialized, data)\n\t})\n\n\ttest('255 chars', function() {\n\t\tconst data = 'RRZG9A6I7xupPeOZhxcOcioFsuhszGOdyDUcbRf4Zef2kdPIfC9RaLO4jTM5JhuZvTsF09fbRHMGtqk7YAgu3vespeTe9l61ziZ6VrMnYu2CamK96wCkmz0VUXyqaiUoTPgzk414LS9yYrd5uh7w18ksJF5SlC2e91rukWvNqAZJjYN3jpkqHNOFchCwFrhbxq2Lrv1kSJPYCx9blRg2hGmYqTbElLTZHv20iNqwZeQbRMgSBPT6vnbCBPnOh1W'\n\t\tvar serialized = CBOR.encode(data)\n\t\tvar deserialized = CBOR.decode(serialized)\n\t\tassert.equal(deserialized, data)\n\t})\n\n\ttest('encode/decode sample data', function(){\n\t\tvar data = sampleData\n\t\tvar serialized = CBOR.encode(data)\n\t\tvar deserialized = CBOR.decode(serialized)\n\t\tassert.deepEqual(deserialized, data)\n\t\tvar serialized = CBOR.encode(data)\n\t\tvar deserialized = CBOR.decode(serialized)\n\t\tassert.deepEqual(deserialized, data)\n\t})\n\ttest('encode/decode sample data with records', function(){\n\t\tvar data = sampleData\n\t\tlet sharedSerialized\n\t\tlet encoder = new Encoder({ getStructures() { return }, saveStructures(shared) { sharedSerialized = encode(shared) }, useRecords: true })\n\t\tvar serialized = encoder.encode(data)\n\t\tencoder = new Encoder({ getStructures() { return decode(sharedSerialized) }, saveStructures(shared) { sharedSerialized = encode(shared) }, useRecords: true })\n\t\tvar deserialized = encoder.decode(serialized)\n\t\tassert.deepEqual(deserialized, data)\n\t})\n\ttest('encode/decode sample data with packing', function(){\n\t\tvar data = sampleData\n\t\tlet encoder = new Encoder({ pack: true, useRecords: false })\n\t\tvar serialized = encoder.encode(data)\n\t\tvar deserialized = encoder.decode(serialized)\n\t\tassert.deepEqual(deserialized, data)\n\t})\n\ttest('encode/decode sample data with packing and records', function(){\n\t\tvar data = sampleData\n\t\tlet structures = []\n\t\tlet encoder = new Encoder({ useStringRefs: true })\n\t\tvar serialized = encoder.encode(data)\n\t\tvar deserialized = encoder.decode(serialized)\n\t\tassert.deepEqual(deserialized, data)\n\t})\n\ttest('encode/decode sample data with shared packing and records', function(){\n\t\tlet encoder = new Encoder({ useRecords: true })\n\t\tlet finishPack = encoder.findCommonStringsToPack()\n\t\tfor (let i = 0; i < 20; i++) {\n\t\t\tlet data = {\n\t\t\t\tshouldShare: 'same each time',\n\t\t\t\tshouldShare2: 'same each time 2',\n\t\t\t\tshouldntShare: 'different each time ' + i\n\t\t\t}\n\t\t\tif (i == 10)\n\t\t\t\tfinishPack({})\n\t\t\tvar serialized = encoder.encode(data)\n\t\t\tvar deserialized = encoder.decode(serialized)\n\t\t\tassert.deepEqual(deserialized, data)\n\t\t}\n\t})\n\ttest('encode/decode sample data with individual packing, shared packing and records', function(){\n\t\tlet encoder = new Encoder({ pack: true, useRecords: true })\n\t\tlet finishPack = encoder.findCommonStringsToPack()\n\t\tfor (let i = 0; i < 20; i++) {\n\t\t\tlet data = {\n\t\t\t\tshouldShare: 'same each time',\n\t\t\t\tshouldShare2: 'same each time',\n\t\t\t\tshouldntShare: 'different each time ' + i,\n\t\t\t\tshouldntShare2: 'different each time ' + i,\n\t\t\t\tnoPack: 'no packing ' + i,\n\t\t\t}\n\t\t\tif (i == 10)\n\t\t\t\tfinishPack({ threshold: 5 })\n\t\t\tvar serialized = encoder.encode(data)\n\t\t\tvar deserialized = encoder.decode(serialized)\n\t\t\tassert.deepEqual(deserialized, data)\n\t\t}\n\t})\n\ttest('pack/unpack sample data with bundled strings', function(){\n\t\tvar data = sampleData\n\t\tlet encoder = new Encoder({ /*structures,*/ useRecords: false, bundleStrings: true })\n\t\tvar serialized = encoder.encode(data)\n\t\tvar deserialized = encoder.decode(serialized)\n\t\tassert.deepEqual(deserialized, data)\n\t})\n\ttest('pack/unpack sample data with self-descriptive header', function(){\n\t\tvar data = sampleData\n\t\tlet encoder = new Encoder({ useSelfDescribedHeader: true })\n\t\tvar serialized = encoder.encode(data)\n\t\tvar deserialized = encoder.decode(serialized)\n\t\tassert.deepEqual(deserialized, data)\n\t\tassert.equal(serialized[0], 0xd9)\n\t\tassert.equal(serialized[1], 0xd9)\n\t\tassert.equal(serialized[2], 0xf7)\n\t})\n\tif (typeof Buffer != 'undefined')\n\ttest('replace data', function(){\n\t\tvar data1 = {\n\t\t\tdata: [\n\t\t\t\t{ a: 1, name: 'one', type: 'odd', isOdd: true, a: '13 characters' },\n\t\t\t\t{ a: 2, name: 'two', type: 'even', a: '11 characte' },\n\t\t\t\t{ a: 3, name: 'three', type: 'odd', isOdd: true, a: '12 character' },\n\t\t\t\t{ a: 4, name: 'four', type: 'even', a: '9 charact'},\n\t\t\t\t{ a: 5, name: 'five', type: 'odd', isOdd: true, a: '14 characters!' },\n\t\t\t\t{ a: 6, name: 'six', type: 'even', isOdd: null }\n\t\t\t],\n\t\t}\n\t\tvar data2 = {\n\t\t\tdata: [\n\t\t\t\t{ foo: 7, name: 'one', type: 'odd', isOdd: true },\n\t\t\t\t{ foo: 8, name: 'two', type: 'even'},\n\t\t\t\t{ foo: 9, name: 'three', type: 'odd', isOdd: true },\n\t\t\t\t{ foo: 10, name: 'four', type: 'even'},\n\t\t\t\t{ foo: 11, name: 'five', type: 'odd', isOdd: true },\n\t\t\t\t{ foo: 12, name: 'six', type: 'even', isOdd: null }\n\t\t\t],\n\t\t}\n\t\tvar serialized1 = encode(data1)\n\t\tvar serialized2 = encode(data2)\n\t\tvar b = Buffer.alloc(8000)\n\t\tserialized1.copy(b)\n\t\tvar deserialized1 = decode(b, serialized1.length)\n\t\tserialized2.copy(b)\n\t\tvar deserialized2 = decode(b, serialized2.length)\n\t\tassert.deepEqual(deserialized1, data1)\n\t\tassert.deepEqual(deserialized2, data2)\n\t})\n\n\ttest('extended class encode/decode', function(){\n\t\tfunction Extended() {\n\n\t\t}\n\t\tExtended.prototype.getDouble = function() {\n\t\t\treturn this.value * 2\n\t\t}\n\t\tvar instance = new Extended()\n\t\tinstance.value = 4\n\t\tinstance.string = 'decode this: ᾜ'\n\t\tvar data = {\n\t\t\tprop1: 'has multi-byte: ᾜ',\n\t\t\textendedInstance: instance,\n\t\t\tprop2: 'more string',\n\t\t\tnum: 3,\n\t\t}\n\t\tlet encoder = new Encoder()\n\t\taddExtension({\n\t\t\tClass: Extended,\n\t\t\ttag: 300,\n\t\t\tdecode: function(data) {\n\t\t\t\tlet e = new Extended()\n\t\t\t\te.value = data[0]\n\t\t\t\te.string = data[1]\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tencode: function(instance) {\n\t\t\t\treturn encoder.encode([instance.value, instance.string])\n\t\t\t}\n\t\t})\n\t\tvar serialized = encode(data)\n\t\tvar deserialized = decode(serialized)\n\t\tassert.deepEqual(data, deserialized)\n\t\tassert.equal(deserialized.extendedInstance.getDouble(), 8)\n\t})\n\n\ttest('addExtension with map', function(){\n\t\tfunction Extended() {\n\t\t}\n\t\tvar instance = new Extended()\n\t\tinstance.value = 4\n\t\tinstance.map = new Map();\n\t\tinstance.map.set('key', 'value');\n\t\tvar data = {\n\t\t\textendedInstance: instance,\n\t\t}\n\t\tlet encoder = new Encoder()\n\t\taddExtension({\n\t\t\tClass: Extended,\n\t\t\ttag: 301,\n\t\t\tdecode: function(data) {\n\t\t\t\tlet e = new Extended()\n\t\t\t\te.value = data[0]\n\t\t\t\te.map = data[1]\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tencode: function(instance, encode) {\n\t\t\t\treturn encode([instance.value, instance.map])\n\t\t\t}\n\t\t})\n\t\tvar serialized = encoder.encode(data)\n\t\tvar deserialized = encoder.decode(serialized)\n\t\tassert.deepEqual(data, deserialized)\n\t})\n\n\ttest.skip('text decoder', function() {\n\t\t\tlet td = new TextDecoder('ISO-8859-15')\n\t\t\tlet b = Buffer.alloc(3)\n\t\t\tlet total = 0\n\t\t\tfor (var i = 0; i < 256; i++) {\n\t\t\t\tb[0] = i\n\t\t\t\tb[1] = 0\n\t\t\t\tb[2] = 0\n\t\t\t\tlet s = td.decode(b)\n\t\t\t\tif (!require('CBOR-extract').isOneByte(s)) {\n\t\t\t\t\tconsole.log(i.toString(16), s.length)\n\t\t\t\t\ttotal++\n\t\t\t\t}\n\t\t\t}\n\t})\n\n\ttest('structured cloning: self reference', function() {\n\t\tlet object = {\n\t\t\ttest: 'string',\n\t\t\tchildren: [\n\t\t\t\t{ name: 'child' }\n\t\t\t]\n\t\t}\n\t\tobject.self = object\n\t\tobject.children[1] = object\n\t\tobject.children[2] = object.children[0]\n\t\tobject.childrenAgain = object.children\n\t\tlet encoder = new Encoder({\n\t\t\tstructuredClone: true,\n\t\t})\n\t\tvar serialized = encoder.encode(object)\n\t\tvar deserialized = encoder.decode(serialized)\n\t\tassert.equal(deserialized.self, deserialized)\n\t\tassert.equal(deserialized.children[0].name, 'child')\n\t\tassert.equal(deserialized.children[1], deserialized)\n\t\tassert.equal(deserialized.children[0], deserialized.children[2])\n\t\tassert.equal(deserialized.children, deserialized.childrenAgain)\n\t})\n\ttest('nested same key', function() {\n\t\tconst encoder = new Encoder();\n\t\tconst r_key = \"key\";\n\t\tconst d_key = \"key\";\n\t\tconst data = { [r_key]: { [d_key]: \"foo\" } };\n\t\tconst enc = encoder.encode(data);\n\t\tconst dec = encoder.decode(enc);\n\t\tassert.deepEqual(dec, data);\n\t});\n\ttest('decode float 16', function() {\n\t\tassert.equal(decode(new Uint8Array([0xF9, 0x4A, 0x60])), 12.75);\n\t\tassert.equal(decode(new Uint8Array([0xF9, 0xC4, 0x80])), -4.5);\n\t\tassert.equal(decode(new Uint8Array([0xF9, 0x5A, 0xF9])), 223.125);\n\t\tassert.equal(decode(new Uint8Array([0xF9, 0x45, 0x80])), 5.5);\n\t\tassert.equal(decode(new Uint8Array([0xF9, 0x7C, 0])), Infinity);\n\t\tassert.equal(decode(new Uint8Array([0xF9, 0xFC, 0])), -Infinity);\n\t\tassert.isNaN(decode(new Uint8Array([0xF9, 0x7E, 0])));\n\t});\n\ttest('structured cloning: types', function() {\n\t\tlet b = typeof Buffer != 'undefined' ? Buffer.alloc(20) : new Uint8Array(20)\n\t\tlet fa = new Float32Array(b.buffer, 8, 2)\n\t\tfa[0] = 2.25\n\t\tfa[1] = 6\n\t\tlet f64a = new Float64Array([2.3, 4.7])\n\t\tlet map = new Map()\n\t\tmap.set('key', 'value')\n\t\tlet object = {\n\t\t\terror: new Error('test'),\n\t\t\tset: new Set(['a', 'b']),\n\t\t\tregexp: /test/gi,\n\t\t\tmap,\n\t\t\tfloat32Array: fa,\n\t\t\tfloat64Array: f64a,\n\t\t\tuint16Array: new Uint16Array([3,4])\n\t\t}\n\t\tlet encoder = new Encoder({\n\t\t\tstructuredClone: true,\n\t\t})\n\t\tvar serialized = encoder.encode(object)\n\t\tvar deserialized = encoder.decode(serialized)\n\t\tassert.deepEqual(Array.from(deserialized.set), Array.from(object.set))\n\t\tassert.equal(deserialized.map.get('key'), 'value')\n\t\tassert.equal(deserialized.error.message, object.error.message)\n\t\tassert.equal(deserialized.regexp.test('TEST'), true)\n\t\tassert.equal(deserialized.float32Array.constructor.name, 'Float32Array')\n\t\tassert.equal(deserialized.float32Array[0], 2.25)\n\t\tassert.equal(deserialized.float32Array[1], 6)\n\t\tassert.equal(deserialized.float64Array[0], 2.3)\n\t\tassert.equal(deserialized.float64Array[1], 4.7)\n\t\tassert.equal(deserialized.uint16Array.constructor.name, 'Uint16Array')\n\t\tassert.equal(deserialized.uint16Array[0], 3)\n\t\tassert.equal(deserialized.uint16Array[1], 4)\n\t})\n\n\ttest('explicit maps and sets', function () {\n\t\tlet map = new Map()\n\t\tmap.set('key', { inside: 'value'})\n\t\tlet object = {\n\t\t\tset: new Set(['a', 'b']),\n\t\t\tmap,\n\t\t}\n\t\tvar serialized = encode(object) // default encoder\n\t\tvar deserialized = decode(serialized)\n\t\tassert.deepEqual(Array.from(deserialized.set), Array.from(object.set))\n\t\tassert.equal(deserialized.map.get('key').inside, 'value')\n\t})\n\n\ttest('object without prototype', function(){\n\t\tvar data = Object.create(null)\n\t\tdata.test = 3\n\t\tvar serialized = encode(data)\n\t\tvar deserialized = decode(serialized)\n\t\tassert.deepEqual(deserialized, data)\n\t})\n\n\ttest('big buffer', function() {\n\t\tvar size = 100000000\n\t\tvar data = new Uint8Array(size).fill(1)\n\t\tvar encoded = encode(data)\n\t\tvar decoded = decode(encoded)\n\t\tassert.equal(decoded.length, size)\n\t})\n\ttest('little buffer', function() {\n\t\tvar data = typeof Buffer == 'undefined' ? new Uint8Array(0) : Buffer.alloc(0)\n\t\tvar encoded = encode(data)\n\t\tassert.equal(encoded.length, 1) // make sure to use canonical form\n\t\tvar decoded = decode(encoded)\n\t\tassert.equal(decoded.length, 0)\n\t})\n\n\ttest('random strings', function(){\n\t\tvar data = []\n\t\tfor (var i = 0; i < 2000; i++) {\n\t\t\tvar str = 'test'\n\t\t\twhile (Math.random() < 0.7 && str.length < 0x100000) {\n\t\t\t\tstr = str + String.fromCharCode(90/(Math.random() + 0.01)) + str\n\t\t\t}\n\t\t\tdata.push(str)\n\t\t}\n\t\tvar serialized = encode(data)\n\t\tvar deserialized = decode(serialized)\n\t\tassert.deepEqual(deserialized, data)\n\t})\n\n\ttest('map/date', function(){\n\t\tvar map = new Map()\n\t\tmap.set(4, 'four')\n\t\tmap.set('three', 3)\n\t\tlet year2039 = new Date('2039-07-05T16:22:35.792Z')\n\t\tlet year2038 = new Date('2038-08-06T00:19:02.911Z')\n\n\t\tvar data = {\n\t\t\tmap: map,\n\t\t\tdate: new Date(1532219539733),\n\t\t\tfarFutureDate: new Date(3532219539133),\n\t\t\tancient: new Date(-3532219539133),\n\t\t\tyear2038,\n\t\t\tyear2039,\n\t\t\tinvalidDate: new Date('invalid')\n\t\t}\n\t\tlet encoder = new Encoder()\n\t\tvar serialized = encoder.encode(data)\n\t\tvar deserialized = encoder.decode(serialized)\n\t\tassert.equal(deserialized.map.get(4), 'four')\n\t\tassert.equal(deserialized.map.get('three'), 3)\n\t\tassert.equal(deserialized.date.getTime(), 1532219539733)\n\t\tassert.equal(deserialized.farFutureDate.getTime(), 3532219539133)\n\t\tassert.equal(deserialized.ancient.getTime(), -3532219539133)\n\t\tassert.equal(deserialized.year2038.getTime(), year2038.getTime())\n\t\tassert.equal(deserialized.year2039.getTime(), year2039.getTime())\n\t\tassert.equal(deserialized.invalidDate.toString(), 'Invalid Date')\n\t})\n\ttest('map/date with options', function(){\n\t\tvar map = new Map()\n\t\tmap.set(4, 'four')\n\t\tmap.set('three', 3)\n\t\tvar data = {\n\t\t\tmap: map,\n\t\t\tdate: new Date(1532219539011),\n\t\t\tinvalidDate: new Date('invalid')\n\t\t}\n\t\tlet encoder = new Encoder({\n\t\t\tmapsAsObjects: true,\n\t\t\tuseTimestamp32: true,\n\t\t\tuseTag259ForMaps: false,\n\t\t})\n\t\tvar serialized = encoder.encode(data)\n\t\tvar deserialized = encoder.decode(serialized)\n\t\tassert.equal(deserialized.map[4], 'four')\n\t\tassert.equal(deserialized.map.three, 3)\n\t\tassert.equal(deserialized.date.getTime(), 1532219539000)\n\t\tassert.isTrue(isNaN(deserialized.invalidDate.getTime()))\n\t})\n\ttest('key caching', function() {\n\t\tvar data = {\n\t\t\tfoo: 2,\n\t\t\tbar: 'test',\n\t\t\tfour: 4,\n\t\t\tseven: 7,\n\t\t\tfoz: 3,\n\t\t}\n\t\tvar serialized = CBOR.encode(data)\n\t\tvar deserialized = CBOR.decode(serialized)\n\t\tassert.deepEqual(deserialized, data)\n\t\t// do multiple times to test caching\n\t\tvar serialized = CBOR.encode(data)\n\t\tvar deserialized = CBOR.decode(serialized)\n\t\tassert.deepEqual(deserialized, data)\n\t\tvar serialized = CBOR.encode(data)\n\t\tvar deserialized = CBOR.decode(serialized)\n\t\tassert.deepEqual(deserialized, data)\n\t})\n\ttest('strings', function() {\n\t\tvar data = ['']\n\t\tvar serialized = encode(data)\n\t\tvar deserialized = decode(serialized)\n\t\tassert.deepEqual(deserialized, data)\n\t\t// do multiple times\n\t\tvar serialized = encode(data)\n\t\tvar deserialized = decode(serialized)\n\t\tassert.deepEqual(deserialized, data)\n\t\tdata = 'decode this: ᾜ'\n\t\tvar serialized = encode(data)\n\t\tvar deserialized = decode(serialized)\n\t\tassert.deepEqual(deserialized, data)\n\t\tdata = 'decode this that is longer but without any non-latin characters'\n\t\tvar serialized = encode(data)\n\t\tvar deserialized = decode(serialized)\n\t\tassert.deepEqual(deserialized, data)\n\t})\n\ttest('decimal float32', function() {\n\t\tvar data = {\n\t\t\ta: 2.526,\n\t\t\tb: 0.0035235,\n\t\t\tc: 0.00000000000352501,\n\t\t\td: 3252.77,\n\t\t}\n\t\tlet encoder = new Encoder({\n\t\t\tuseFloat32: DECIMAL_FIT\n\t\t})\n\t\tvar serialized = encoder.encode(data)\n\t\tassert.equal(serialized.length, 36)\n\t\tvar deserialized = encoder.decode(serialized)\n\t\tassert.deepEqual(deserialized, data)\n\t})\n\ttest('bigint to float', function() {\n\t\tvar data = {\n\t\t\ta: 325283295382932843n\n\t\t}\n\t\tlet encoder = new Encoder({\n\t\t\tint64AsNumber: true\n\t\t})\n\t\tvar serialized = encoder.encode(data)\n\t\tvar deserialized = encoder.decode(serialized)\n\t\tassert.deepEqual(deserialized.a, 325283295382932843)\n\t})\n\ttest('numbers', function(){\n\t\tvar data = {\n\t\t\tbigEncodable: 48978578104322,\n\t\t\tdateEpoch: 1530886513200,\n\t\t\trealBig: 3432235352353255323,\n\t\t\tdecimal: 32.55234,\n\t\t\tnegative: -34.11,\n\t\t\texponential: 0.234e123,\n\t\t\ttiny: 3.233e-120,\n\t\t\tzero: 0,\n\t\t\t//negativeZero: -0,\n\t\t\tInfinity: Infinity\n\t\t}\n\t\tvar serialized = encode(data)\n\t\tvar deserialized = decode(serialized)\n\t\tassert.deepEqual(deserialized, data)\n\t})\n\n\ttest('encode ArrayBuffer', function() {\n\t\tlet ua = new Uint8Array([3, 4, 5]);\n\t\tlet encoded = encode(ua.buffer);\n\t\tlet decoded = decode(encoded);\n\t\tassert.equal(decoded[0], 3);\n\t\tassert.equal(decoded[0], 3);\n\t\tassert.equal(decoded[1], 4);\n\t\tassert.equal(decoded[2], 5);\n\t\tassert.equal(decoded.byteLength, 3);\n\t})\n\n\ttest('iterator/indefinite length array', function(){\n\t\tclass NotArray {\n\t\t}\n\t\tlet data = ['a', 'b', 'c', ['d']] // iterable\n\t\tdata.constructor = NotArray\n\t\tvar serialized = encode(data)\n\t\tvar deserialized = decode(serialized)\n\t\tassert.deepEqual(deserialized, data)\n\t})\n\ttest('bigint', function(){\n\t\tvar data = {\n\t\t\tbigintSmall: 352n,\n\t\t\tbigintSmallNegative: -333335252n,\n\t\t\tbigintBig: 2n**64n - 1n, // biggest possible\n\t\t\tbigintBigNegative: -(2n**63n), // largest negative\n\t\t\tmixedWithNormal: 44,\n\t\t}\n\t\tvar serialized = encode(data)\n\t\tvar deserialized = decode(serialized)\n\t\tassert.deepEqual(deserialized, data)\n\t\tvar tooBigInt = {\n\t\t\ttooBig: 2n**66n\n\t\t}\n\t\tassert.throws(function(){ serialized = encode(tooBigInt) })\n\t\tlet encoder = new Encoder({\n\t\t\tlargeBigIntToFloat: true\n\t\t})\n\t\tserialized = encoder.encode(tooBigInt)\n\t\tdeserialized = decode(serialized)\n\t\tassert.isTrue(deserialized.tooBig > 2n**65n)\n\t})\n\n\ttest('buffers', function() {\n\t\tvar data = {\n\t\t\tbuffer1: new Uint8Array([2,3,4]),\n\t\t\tbuffer2: new Uint8Array(encode(sampleData))\n\t\t}\n\t\tvar serialized = encode(data)\n\t\tvar deserialized = decode(serialized)\n\t\tassert.deepEqual(deserialized, data)\n\t\tlet encoder = new Encoder({ tagUint8Array: true })\n\t\tserialized = encoder.encode(new Uint8Array([2,3,4]))\n\t\tassert.equal(serialized[0], 0xd8);\n\t\tencoder = new Encoder({ tagUint8Array: false })\n\t\tserialized = encoder.encode(new Uint8Array([2,3,4]))\n\t\tassert.equal(serialized[0], 0x43);\n\t})\n\n\ttest('noteencode test', function() {\n\t\tconst data = {\n\t\t foo: 1,\n\t\t bar: [1, 2, 3, 4, 'abc', 'def'],\n\t\t foobar: {\n\t\t foo: true,\n\t\t bar: -2147483649,\n\t\t foobar: {\n\t\t foo: new Uint8Array([1, 2, 3, 4, 5]),\n\t\t bar: 1.5,\n\t\t foobar: [true, false, 'abcdefghijkmonpqrstuvwxyz']\n\t\t }\n\t\t }\n\t\t};\n\t\tvar serialized = encode(data)\n\t\tvar deserialized = decode(serialized)\n\t\tvar deserialized = decode(serialized)\n\t\tvar deserialized = decode(serialized)\n\t\tassert.deepEqual(deserialized, data)\n\t})\n\n\ttest('utf16 causing expansion', function() {\n\t\tthis.timeout(10000)\n\t\tlet data = {fixstr: 'ᾐᾑᾒᾓᾔᾕᾖᾗᾘᾙᾚᾛᾜᾝ', str8:'ᾐᾑᾒᾓᾔᾕᾖᾗᾘᾙᾚᾛᾜᾝᾐᾑᾒᾓᾔᾕᾖᾗᾘᾙᾚᾛᾜᾝᾐᾑᾒᾓᾔᾕᾖᾗᾘᾙᾚᾛᾜᾝᾐᾑᾒᾓᾔᾕᾖᾗᾘᾙᾚᾛᾜᾝᾐᾑᾒᾓᾔᾕᾖᾗᾘᾙᾚᾛᾜᾝᾐᾑᾒᾓᾔᾕᾖᾗᾘᾙᾚᾛᾜᾝᾐᾑᾒᾓᾔᾕᾖᾗᾘᾙᾚᾛᾜᾝᾐᾑᾒᾓᾔᾕᾖᾗᾘᾙᾚᾛᾜᾝᾐᾑᾒᾓᾔᾕᾖᾗᾘᾙᾚᾛᾜᾝᾐᾑᾒᾓᾔᾕᾖᾗᾘᾙᾚᾛᾜᾝᾐᾑᾒᾓᾔᾕᾖᾗᾘᾙᾚᾛᾜᾝᾐᾑᾒᾓᾔᾕᾖᾗᾘᾙᾚᾛᾜᾝᾐᾑᾒᾓᾔᾕᾖᾗᾘᾙᾚᾛᾜᾝᾐᾑᾒᾓᾔᾕᾖᾗᾘᾙᾚᾛᾜᾝᾐᾑᾒᾓᾔᾕᾖᾗᾘᾙᾚᾛᾜᾝᾐᾑᾒᾓᾔᾕᾖᾗᾘᾙᾚᾛᾜᾝ'}\n\t\tvar serialized = encode(data)\n\t\tvar deserialized = decode(serialized)\n\t\tassert.deepEqual(deserialized, data)\n\t})\n\ttest('decodeMultiple', () => {\n\t\tlet values = CBOR.decodeMultiple(new Uint8Array([1, 2, 3, 4]))\n\t\tassert.deepEqual(values, [1, 2, 3, 4])\n\t\tvalues = []\n\t\tCBOR.decodeMultiple(new Uint8Array([1, 2, 3, 4]), value => values.push(value))\n\t\tassert.deepEqual(values, [1, 2, 3, 4])\n\t})\n\ttest('bad input', function() {\n\t\tlet badInput = Buffer.from('7b2273657269616c6e6f223a2265343a30222c226970223a223139322e3136382e312e3335222c226b6579223a226770735f736563726574227d', 'hex');\n\t\tassert.throws(function(){ decode(badInput) }) // should throw, not crash\n\t})\n\ttest('encode as iterator', function() {\n\t\tlet hasIterables = {\n\t\t\ta: 1,\n\t\t\titerator: (function*() {\n\t\t\t\tyield 2;\n\t\t\t\tyield {\n\t\t\t\t\tb: (function*() {\n\t\t\t\t\t\tyield 3;\n\t\t\t\t\t})(),\n\t\t\t\t};\n\t\t\t})()\n\t\t};\n\t\tlet encodedIterable = encodeAsIterable(hasIterables);\n\t\tlet result = [...encodedIterable];\n\t\tresult = Buffer.concat(result);\n\t\tlet deserialized = decode(result);\n\t\tconst expectedResult = {\n\t\t\ta: 1,\n\t\t\titerator: [2, { b: [3]}]\n\t\t};\n\t\tassert.deepEqual(deserialized, expectedResult);\n\t});\n\tif (typeof Blob !== 'undefined')\n\ttest('encode as iterator with async/blob parts', function() {\n\t\tlet blob = new Blob([Buffer.from([4,5])]);\n\t\tlet hasIterables = {\n\t\t\ta: 1,\n\t\t\titerator: (async function*() {\n\t\t\t\tyield 2;\n\t\t\t\tyield {\n\t\t\t\t\tb: (function*() {\n\t\t\t\t\t\tyield 3;\n\t\t\t\t\t})(),\n\t\t\t\t};\n\t\t\t})(),\n\t\t\tblob\n\t\t};\n\t\tlet encodedIterable = encodeAsIterable(hasIterables);\n\t\tlet result = [...encodedIterable];\n\t\tassert.equal(result[result.length - 1].constructor, Blob);\n\t});\n\tif (typeof Blob !== 'undefined')\n\ttest('encode as async iterator with async/blob parts', async function() {\n\t\tlet blob = new Blob([Buffer.from([4, 5])]);\n\t\tlet hasIterables = {\n\t\t\ta: 1,\n\t\t\titerator: (async function* () {\n\t\t\t\tyield 2;\n\t\t\t\tyield {\n\t\t\t\t\tb: (function* () {\n\t\t\t\t\t\tyield 3;\n\t\t\t\t\t})(),\n\t\t\t\t};\n\t\t\t})(),\n\t\t\tblob\n\t\t};\n\t\tlet encodedIterable = encodeAsAsyncIterable(hasIterables);\n\t\tlet result = [];\n\t\tfor await (let encodedPart of encodedIterable) {\n\t\t\tresult.push(encodedPart)\n\t\t}\n\t\tlet deserialized = decode(Buffer.concat(result));\n\t\tconst expectedResult = {\n\t\t\ta: 1,\n\t\t\titerator: [2, { b: [3]}],\n\t\t\tblob: Buffer.from([4,5]),\n\t\t};\n\t\tassert.deepEqual(deserialized, expectedResult);\n\t});\n\ttest.skip('encode as iterator performance', async function() {\n\t\tfunction* iterator() {\n\t\t\tfor (let i = 0; i < 1000; i++) {\n\t\t\t\tyield {\n\t\t\t\t\ta: 1,\n\t\t\t\t\tb: 'hello, world',\n\t\t\t\t\tc: true,\n\t\t\t\t\tsub: {\n\t\t\t\t\t\td: 'inside',\n\t\t\t\t\t\te: 3\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tlet result;\n\t\tlet start = performance.now();\n\t\tfor (let i = 0; i < 1000; i++) {\n\t\t\tlet encodedIterable = encodeAsIterable(iterator());\n\t\t\tresult = [...encodedIterable];\n\t\t}\n\t\tlet deserialized = decode(Buffer.concat(result));\n\t\tconsole.log(performance.now() - start, result.length);\n\t});\n})\nsuite('CBOR performance tests', function(){\n\ttest('performance JSON.parse', function() {\n\t\tvar data = sampleData\n\t\tthis.timeout(10000)\n\t\tlet structures = []\n\t\tvar serialized = JSON.stringify(data)\n\t\tconsole.log('JSON size', serialized.length)\n\t\tfor (var i = 0; i < ITERATIONS; i++) {\n\t\t\tvar deserialized = JSON.parse(serialized)\n\t\t}\n\t})\n\ttest('performance JSON.stringify', function() {\n\t\tvar data = sampleData\n\t\tthis.timeout(10000)\n\t\tfor (var i = 0; i < ITERATIONS; i++) {\n\t\t\tvar serialized = JSON.stringify(data)\n\t\t}\n\t})\n\ttest('performance decode', function() {\n\t\tvar data = sampleData\n\t\tthis.timeout(10000)\n\t\tlet structures = []\n\t\tvar serialized = encode(data)\n\t\tconsole.log('CBOR size', serialized.length)\n\t\tlet encoder = new Encoder({ structures, bundleStrings: true })\n\t\tvar serialized = encoder.encode(data)\n\t\tconsole.log('CBOR w/ record ext size', serialized.length)\n\t\tfor (var i = 0; i < ITERATIONS; i++) {\n\t\t\tvar deserialized = encoder.decode(serialized)\n\t\t}\n\t})\n\ttest('performance encode', function() {\n\t\tvar data = sampleData\n\t\tthis.timeout(10000)\n\t\tlet structures = []\n\t\tlet encoder = new Encoder({ structures, bundleStrings: true })\n\t\tlet buffer = typeof Buffer != 'undefined' ? Buffer.alloc(0x10000) : new Uint8Array(0x10000)\n\n\t\tfor (var i = 0; i < ITERATIONS; i++) {\n\t\t\t//serialized = encode(data, { shared: sharedStructure })\n\t\t\tencoder.useBuffer(buffer)\n\t\t\tvar serialized = encoder.encode(data)\n\t\t\t//var serializedGzip = deflateSync(serialized)\n\t\t}\n\t\t//console.log('serialized', serialized.length, global.propertyComparisons)\n\t})\n})"],"names":["readFileSync","CBOR"],"mappings":"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"}
package/encode.d.ts CHANGED
@@ -1 +1 @@
1
- export { encode, Encoder, addExtension, FLOAT32_OPTIONS } from '.'
1
+ export { encode, encodeAsIterable, encodeAsAsyncIterable, Encoder, addExtension, FLOAT32_OPTIONS } from '.'