cbor-x 1.4.0 → 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 +21 -1
- package/decode.js +56 -34
- 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 +549 -363
- package/dist/index.js.map +1 -0
- package/dist/index.min.js +2 -135
- package/dist/index.min.js.map +1 -0
- package/dist/node.cjs +556 -368
- package/dist/node.cjs.map +1 -0
- package/dist/test.js +181 -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);
|
|
@@ -342,6 +390,15 @@
|
|
|
342
390
|
assert.equal(deserialized.children, deserialized.childrenAgain);
|
|
343
391
|
});
|
|
344
392
|
|
|
393
|
+
test('decode float 16', function() {
|
|
394
|
+
assert.equal(decode(new Uint8Array([0xF9, 0x4A, 0x60])), 12.75);
|
|
395
|
+
assert.equal(decode(new Uint8Array([0xF9, 0xC4, 0x80])), -4.5);
|
|
396
|
+
assert.equal(decode(new Uint8Array([0xF9, 0x5A, 0xF9])), 223.125);
|
|
397
|
+
assert.equal(decode(new Uint8Array([0xF9, 0x45, 0x80])), 5.5);
|
|
398
|
+
assert.equal(decode(new Uint8Array([0xF9, 0x7C, 0])), Infinity);
|
|
399
|
+
assert.equal(decode(new Uint8Array([0xF9, 0xFC, 0])), -Infinity);
|
|
400
|
+
assert.isNaN(decode(new Uint8Array([0xF9, 0x7E, 0])));
|
|
401
|
+
});
|
|
345
402
|
test('structured cloning: types', function() {
|
|
346
403
|
let b = typeof Buffer != 'undefined' ? Buffer.alloc(20) : new Uint8Array(20);
|
|
347
404
|
let fa = new Float32Array(b.buffer, 8, 2);
|
|
@@ -485,15 +542,15 @@
|
|
|
485
542
|
seven: 7,
|
|
486
543
|
foz: 3,
|
|
487
544
|
};
|
|
488
|
-
var serialized =
|
|
489
|
-
var deserialized =
|
|
545
|
+
var serialized = CBOR__namespace.encode(data);
|
|
546
|
+
var deserialized = CBOR__namespace.decode(serialized);
|
|
490
547
|
assert.deepEqual(deserialized, data);
|
|
491
548
|
// do multiple times to test caching
|
|
492
|
-
var serialized =
|
|
493
|
-
var deserialized =
|
|
549
|
+
var serialized = CBOR__namespace.encode(data);
|
|
550
|
+
var deserialized = CBOR__namespace.decode(serialized);
|
|
494
551
|
assert.deepEqual(deserialized, data);
|
|
495
|
-
var serialized =
|
|
496
|
-
var deserialized =
|
|
552
|
+
var serialized = CBOR__namespace.encode(data);
|
|
553
|
+
var deserialized = CBOR__namespace.decode(serialized);
|
|
497
554
|
assert.deepEqual(deserialized, data);
|
|
498
555
|
});
|
|
499
556
|
test('strings', function() {
|
|
@@ -646,16 +703,108 @@
|
|
|
646
703
|
assert.deepEqual(deserialized, data);
|
|
647
704
|
});
|
|
648
705
|
test('decodeMultiple', () => {
|
|
649
|
-
let values =
|
|
706
|
+
let values = CBOR__namespace.decodeMultiple(new Uint8Array([1, 2, 3, 4]));
|
|
650
707
|
assert.deepEqual(values, [1, 2, 3, 4]);
|
|
651
708
|
values = [];
|
|
652
|
-
|
|
709
|
+
CBOR__namespace.decodeMultiple(new Uint8Array([1, 2, 3, 4]), value => values.push(value));
|
|
653
710
|
assert.deepEqual(values, [1, 2, 3, 4]);
|
|
654
711
|
});
|
|
655
712
|
test('bad input', function() {
|
|
656
713
|
let badInput = Buffer.from('7b2273657269616c6e6f223a2265343a30222c226970223a223139322e3136382e312e3335222c226b6579223a226770735f736563726574227d', 'hex');
|
|
657
714
|
assert.throws(function(){ decode(badInput); }); // should throw, not crash
|
|
658
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
|
+
});
|
|
659
808
|
});
|
|
660
809
|
suite('CBOR performance tests', function(){
|
|
661
810
|
test('performance JSON.parse', function() {
|
|
@@ -664,14 +813,14 @@
|
|
|
664
813
|
var serialized = JSON.stringify(data);
|
|
665
814
|
console.log('JSON size', serialized.length);
|
|
666
815
|
for (var i = 0; i < ITERATIONS; i++) {
|
|
667
|
-
|
|
816
|
+
JSON.parse(serialized);
|
|
668
817
|
}
|
|
669
818
|
});
|
|
670
819
|
test('performance JSON.stringify', function() {
|
|
671
820
|
var data = sampleData;
|
|
672
821
|
this.timeout(10000);
|
|
673
822
|
for (var i = 0; i < ITERATIONS; i++) {
|
|
674
|
-
|
|
823
|
+
JSON.stringify(data);
|
|
675
824
|
}
|
|
676
825
|
});
|
|
677
826
|
test('performance decode', function() {
|
|
@@ -684,7 +833,7 @@
|
|
|
684
833
|
var serialized = encoder.encode(data);
|
|
685
834
|
console.log('CBOR w/ record ext size', serialized.length);
|
|
686
835
|
for (var i = 0; i < ITERATIONS; i++) {
|
|
687
|
-
|
|
836
|
+
encoder.decode(serialized);
|
|
688
837
|
}
|
|
689
838
|
});
|
|
690
839
|
test('performance encode', function() {
|
|
@@ -697,11 +846,12 @@
|
|
|
697
846
|
for (var i = 0; i < ITERATIONS; i++) {
|
|
698
847
|
//serialized = encode(data, { shared: sharedStructure })
|
|
699
848
|
encoder.useBuffer(buffer);
|
|
700
|
-
|
|
849
|
+
encoder.encode(data);
|
|
701
850
|
//var serializedGzip = deflateSync(serialized)
|
|
702
851
|
}
|
|
703
852
|
//console.log('serialized', serialized.length, global.propertyComparisons)
|
|
704
853
|
});
|
|
705
854
|
});
|
|
706
855
|
|
|
707
|
-
}(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 '.'
|