cbor-x 1.5.1 → 1.5.3

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
@@ -594,6 +594,16 @@
594
594
  var deserialized = encoder.decode(serialized);
595
595
  assert.deepEqual(deserialized, data);
596
596
  });
597
+ test('decimal alwaysUseFloat', function() {
598
+ var data = 123;
599
+ let encoder = new Encoder({
600
+ alwaysUseFloat: true
601
+ });
602
+ var serialized = encoder.encode(data);
603
+ assert.equal(serialized.length, 9);
604
+ var deserialized = encoder.decode(serialized);
605
+ assert.equal(deserialized, data);
606
+ });
597
607
  test('bigint to float', function() {
598
608
  var data = {
599
609
  a: 325283295382932843n
package/dist/test.js.map CHANGED
@@ -1 +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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"}
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('decimal alwaysUseFloat', function() {\n\t\tvar data = 123\n\t\tlet encoder = new Encoder({\n\t\t\talwaysUseFloat: true\n\t\t})\n\t\tvar serialized = encoder.encode(data)\n\t\tassert.equal(serialized.length, 9)\n\t\tvar deserialized = encoder.decode(serialized)\n\t\tassert.equal(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.js CHANGED
@@ -4,7 +4,7 @@ try {
4
4
  textEncoder = new TextEncoder()
5
5
  } catch (error) {}
6
6
  let extensions, extensionClasses
7
- const Buffer = globalThis.Buffer
7
+ const Buffer = typeof globalThis === 'object' && globalThis.Buffer;
8
8
  const hasNodeBuffer = typeof Buffer !== 'undefined'
9
9
  const ByteArrayAllocate = hasNodeBuffer ? Buffer.allocUnsafeSlow : Uint8Array
10
10
  const ByteArray = hasNodeBuffer ? Buffer : Uint8Array
@@ -397,7 +397,7 @@ export class Encoder extends Decoder {
397
397
  }
398
398
  position += length
399
399
  } else if (type === 'number') {
400
- if (value >>> 0 === value) {// positive integer, 32-bit or less
400
+ if (!this.alwaysUseFloat && value >>> 0 === value) {// positive integer, 32-bit or less
401
401
  // positive uint
402
402
  if (value < 0x18) {
403
403
  target[position++] = value
@@ -413,7 +413,7 @@ export class Encoder extends Decoder {
413
413
  targetView.setUint32(position, value)
414
414
  position += 4
415
415
  }
416
- } else if (value >> 0 === value) { // negative integer
416
+ } else if (!this.alwaysUseFloat && value >> 0 === value) { // negative integer
417
417
  if (value >= -0x18) {
418
418
  target[position++] = 0x1f - value
419
419
  } else if (value >= -0x100) {
package/index.d.ts CHANGED
@@ -6,6 +6,7 @@ export enum FLOAT32_OPTIONS {
6
6
  }
7
7
 
8
8
  export interface Options {
9
+ alwaysUseFloat?: boolean
9
10
  useFloat32?: FLOAT32_OPTIONS
10
11
  useRecords?: boolean
11
12
  structures?: {}[]
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "cbor-x",
3
3
  "author": "Kris Zyp",
4
- "version": "1.5.1",
4
+ "version": "1.5.3",
5
5
  "description": "Ultra-fast and conformant CBOR (RFC 8949) implementation with support for numerous tag extensions including records and structured cloning",
6
6
  "license": "MIT",
7
7
  "types": "./index.d.ts",
@@ -55,6 +55,8 @@
55
55
  "import": "./decode.js"
56
56
  }
57
57
  },
58
+ "./decode-no-eval": "./dist/decode-no-eval.cjs",
59
+ "./index-no-eval": "./dist/index-no-eval.cjs",
58
60
  "./package.json": "./package.json"
59
61
  },
60
62
  "files": [