cbor-x 1.4.1 → 1.5.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 +20 -0
- package/decode.js +18 -12
- package/dist/decode-no-eval.cjs +1137 -0
- package/dist/decode-no-eval.cjs.map +1 -0
- package/dist/index-no-eval.cjs +2376 -0
- package/dist/index-no-eval.cjs.map +1 -0
- package/dist/index-no-eval.min.js +2 -0
- package/dist/index-no-eval.min.js.map +1 -0
- package/dist/index.js +511 -341
- package/dist/index.js.map +1 -0
- package/dist/index.min.js +2 -140
- package/dist/index.min.js.map +1 -0
- package/dist/node.cjs +518 -346
- package/dist/node.cjs.map +1 -0
- package/dist/test.js +172 -31
- package/dist/test.js.map +1 -0
- package/encode.d.ts +1 -1
- package/encode.js +165 -2
- package/index.d.ts +9 -5
- package/index.js +1 -1
- package/node-index.js +1 -1
- package/package.json +7 -6
- package/rollup.config.js +51 -8
- package/stream.js +4 -2
package/dist/test.js
CHANGED
|
@@ -1,7 +1,24 @@
|
|
|
1
1
|
(function (CBOR, chai, fs) {
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
|
|
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 =
|
|
30
|
-
var decode =
|
|
31
|
-
var encode =
|
|
32
|
-
var
|
|
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 =
|
|
53
|
+
var addExtension = CBOR__namespace.addExtension;
|
|
35
54
|
|
|
36
55
|
var zlib = tryRequire('zlib');
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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
|
-
|
|
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 =
|
|
152
|
-
var deserialized =
|
|
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 =
|
|
159
|
-
var deserialized =
|
|
177
|
+
var serialized = CBOR__namespace.encode(data);
|
|
178
|
+
var deserialized = CBOR__namespace.decode(serialized);
|
|
160
179
|
assert.deepEqual(deserialized, data);
|
|
161
|
-
var serialized =
|
|
162
|
-
var deserialized =
|
|
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);
|
|
@@ -494,15 +542,15 @@
|
|
|
494
542
|
seven: 7,
|
|
495
543
|
foz: 3,
|
|
496
544
|
};
|
|
497
|
-
var serialized =
|
|
498
|
-
var deserialized =
|
|
545
|
+
var serialized = CBOR__namespace.encode(data);
|
|
546
|
+
var deserialized = CBOR__namespace.decode(serialized);
|
|
499
547
|
assert.deepEqual(deserialized, data);
|
|
500
548
|
// do multiple times to test caching
|
|
501
|
-
var serialized =
|
|
502
|
-
var deserialized =
|
|
549
|
+
var serialized = CBOR__namespace.encode(data);
|
|
550
|
+
var deserialized = CBOR__namespace.decode(serialized);
|
|
503
551
|
assert.deepEqual(deserialized, data);
|
|
504
|
-
var serialized =
|
|
505
|
-
var deserialized =
|
|
552
|
+
var serialized = CBOR__namespace.encode(data);
|
|
553
|
+
var deserialized = CBOR__namespace.decode(serialized);
|
|
506
554
|
assert.deepEqual(deserialized, data);
|
|
507
555
|
});
|
|
508
556
|
test('strings', function() {
|
|
@@ -655,16 +703,108 @@
|
|
|
655
703
|
assert.deepEqual(deserialized, data);
|
|
656
704
|
});
|
|
657
705
|
test('decodeMultiple', () => {
|
|
658
|
-
let values =
|
|
706
|
+
let values = CBOR__namespace.decodeMultiple(new Uint8Array([1, 2, 3, 4]));
|
|
659
707
|
assert.deepEqual(values, [1, 2, 3, 4]);
|
|
660
708
|
values = [];
|
|
661
|
-
|
|
709
|
+
CBOR__namespace.decodeMultiple(new Uint8Array([1, 2, 3, 4]), value => values.push(value));
|
|
662
710
|
assert.deepEqual(values, [1, 2, 3, 4]);
|
|
663
711
|
});
|
|
664
712
|
test('bad input', function() {
|
|
665
713
|
let badInput = Buffer.from('7b2273657269616c6e6f223a2265343a30222c226970223a223139322e3136382e312e3335222c226b6579223a226770735f736563726574227d', 'hex');
|
|
666
714
|
assert.throws(function(){ decode(badInput); }); // should throw, not crash
|
|
667
715
|
});
|
|
716
|
+
test('encode as iterator', function() {
|
|
717
|
+
let hasIterables = {
|
|
718
|
+
a: 1,
|
|
719
|
+
iterator: (function*() {
|
|
720
|
+
yield 2;
|
|
721
|
+
yield {
|
|
722
|
+
b: (function*() {
|
|
723
|
+
yield 3;
|
|
724
|
+
})(),
|
|
725
|
+
};
|
|
726
|
+
})()
|
|
727
|
+
};
|
|
728
|
+
let encodedIterable = encodeAsIterable(hasIterables);
|
|
729
|
+
let result = [...encodedIterable];
|
|
730
|
+
result = Buffer.concat(result);
|
|
731
|
+
let deserialized = decode(result);
|
|
732
|
+
const expectedResult = {
|
|
733
|
+
a: 1,
|
|
734
|
+
iterator: [2, { b: [3]}]
|
|
735
|
+
};
|
|
736
|
+
assert.deepEqual(deserialized, expectedResult);
|
|
737
|
+
});
|
|
738
|
+
if (typeof Blob !== 'undefined')
|
|
739
|
+
test('encode as iterator with async/blob parts', function() {
|
|
740
|
+
let blob = new Blob([Buffer.from([4,5])]);
|
|
741
|
+
let hasIterables = {
|
|
742
|
+
a: 1,
|
|
743
|
+
iterator: (async function*() {
|
|
744
|
+
yield 2;
|
|
745
|
+
yield {
|
|
746
|
+
b: (function*() {
|
|
747
|
+
yield 3;
|
|
748
|
+
})(),
|
|
749
|
+
};
|
|
750
|
+
})(),
|
|
751
|
+
blob
|
|
752
|
+
};
|
|
753
|
+
let encodedIterable = encodeAsIterable(hasIterables);
|
|
754
|
+
let result = [...encodedIterable];
|
|
755
|
+
assert.equal(result[result.length - 1].constructor, Blob);
|
|
756
|
+
});
|
|
757
|
+
if (typeof Blob !== 'undefined')
|
|
758
|
+
test('encode as async iterator with async/blob parts', async function() {
|
|
759
|
+
let blob = new Blob([Buffer.from([4, 5])]);
|
|
760
|
+
let hasIterables = {
|
|
761
|
+
a: 1,
|
|
762
|
+
iterator: (async function* () {
|
|
763
|
+
yield 2;
|
|
764
|
+
yield {
|
|
765
|
+
b: (function* () {
|
|
766
|
+
yield 3;
|
|
767
|
+
})(),
|
|
768
|
+
};
|
|
769
|
+
})(),
|
|
770
|
+
blob
|
|
771
|
+
};
|
|
772
|
+
let encodedIterable = encodeAsAsyncIterable(hasIterables);
|
|
773
|
+
let result = [];
|
|
774
|
+
for await (let encodedPart of encodedIterable) {
|
|
775
|
+
result.push(encodedPart);
|
|
776
|
+
}
|
|
777
|
+
let deserialized = decode(Buffer.concat(result));
|
|
778
|
+
const expectedResult = {
|
|
779
|
+
a: 1,
|
|
780
|
+
iterator: [2, { b: [3]}],
|
|
781
|
+
blob: Buffer.from([4,5]),
|
|
782
|
+
};
|
|
783
|
+
assert.deepEqual(deserialized, expectedResult);
|
|
784
|
+
});
|
|
785
|
+
test.skip('encode as iterator performance', async function() {
|
|
786
|
+
function* iterator() {
|
|
787
|
+
for (let i = 0; i < 1000; i++) {
|
|
788
|
+
yield {
|
|
789
|
+
a: 1,
|
|
790
|
+
b: 'hello, world',
|
|
791
|
+
c: true,
|
|
792
|
+
sub: {
|
|
793
|
+
d: 'inside',
|
|
794
|
+
e: 3
|
|
795
|
+
}
|
|
796
|
+
};
|
|
797
|
+
}
|
|
798
|
+
}
|
|
799
|
+
let result;
|
|
800
|
+
let start = performance.now();
|
|
801
|
+
for (let i = 0; i < 1000; i++) {
|
|
802
|
+
let encodedIterable = encodeAsIterable(iterator());
|
|
803
|
+
result = [...encodedIterable];
|
|
804
|
+
}
|
|
805
|
+
decode(Buffer.concat(result));
|
|
806
|
+
console.log(performance.now() - start, result.length);
|
|
807
|
+
});
|
|
668
808
|
});
|
|
669
809
|
suite('CBOR performance tests', function(){
|
|
670
810
|
test('performance JSON.parse', function() {
|
|
@@ -673,14 +813,14 @@
|
|
|
673
813
|
var serialized = JSON.stringify(data);
|
|
674
814
|
console.log('JSON size', serialized.length);
|
|
675
815
|
for (var i = 0; i < ITERATIONS; i++) {
|
|
676
|
-
|
|
816
|
+
JSON.parse(serialized);
|
|
677
817
|
}
|
|
678
818
|
});
|
|
679
819
|
test('performance JSON.stringify', function() {
|
|
680
820
|
var data = sampleData;
|
|
681
821
|
this.timeout(10000);
|
|
682
822
|
for (var i = 0; i < ITERATIONS; i++) {
|
|
683
|
-
|
|
823
|
+
JSON.stringify(data);
|
|
684
824
|
}
|
|
685
825
|
});
|
|
686
826
|
test('performance decode', function() {
|
|
@@ -693,7 +833,7 @@
|
|
|
693
833
|
var serialized = encoder.encode(data);
|
|
694
834
|
console.log('CBOR w/ record ext size', serialized.length);
|
|
695
835
|
for (var i = 0; i < ITERATIONS; i++) {
|
|
696
|
-
|
|
836
|
+
encoder.decode(serialized);
|
|
697
837
|
}
|
|
698
838
|
});
|
|
699
839
|
test('performance encode', function() {
|
|
@@ -706,11 +846,12 @@
|
|
|
706
846
|
for (var i = 0; i < ITERATIONS; i++) {
|
|
707
847
|
//serialized = encode(data, { shared: sharedStructure })
|
|
708
848
|
encoder.useBuffer(buffer);
|
|
709
|
-
|
|
849
|
+
encoder.encode(data);
|
|
710
850
|
//var serializedGzip = deflateSync(serialized)
|
|
711
851
|
}
|
|
712
852
|
//console.log('serialized', serialized.length, global.propertyComparisons)
|
|
713
853
|
});
|
|
714
854
|
});
|
|
715
855
|
|
|
716
|
-
}(CBOR, chai, fs)
|
|
856
|
+
})(CBOR, chai, fs);
|
|
857
|
+
//# sourceMappingURL=test.js.map
|
package/dist/test.js.map
ADDED
|
@@ -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\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 '.'
|