cbor-x 1.5.4 → 1.5.6
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 +1 -1
- package/decode.js +24 -4
- package/dist/decode-no-eval.cjs +24 -4
- package/dist/decode-no-eval.cjs.map +1 -1
- package/dist/index-no-eval.cjs +24 -4
- package/dist/index-no-eval.cjs.map +1 -1
- package/dist/index-no-eval.min.js +1 -1
- package/dist/index-no-eval.min.js.map +1 -1
- package/dist/index.js +24 -4
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/dist/node.cjs +33 -11
- package/dist/node.cjs.map +1 -1
- package/index.d.ts +1 -0
- package/package.json +1 -1
- package/stream.js +9 -7
package/dist/index.js
CHANGED
|
@@ -821,9 +821,18 @@
|
|
|
821
821
|
return (glbl[data[0]] || Error)(data[1], data[2])
|
|
822
822
|
};
|
|
823
823
|
const packedTable = (read) => {
|
|
824
|
-
if (src[position$1++] != 0x84)
|
|
825
|
-
|
|
824
|
+
if (src[position$1++] != 0x84) {
|
|
825
|
+
let error = new Error('Packed values structure must be followed by a 4 element array');
|
|
826
|
+
if (src.length < position$1)
|
|
827
|
+
error.incomplete = true;
|
|
828
|
+
throw error
|
|
829
|
+
}
|
|
826
830
|
let newPackedValues = read(); // packed values
|
|
831
|
+
if (!newPackedValues || !newPackedValues.length) {
|
|
832
|
+
let error = new Error('Packed values structure must be followed by a 4 element array');
|
|
833
|
+
error.incomplete = true;
|
|
834
|
+
throw error
|
|
835
|
+
}
|
|
827
836
|
packedValues = packedValues ? newPackedValues.concat(packedValues.slice(newPackedValues.length)) : newPackedValues;
|
|
828
837
|
packedValues.prefixes = read();
|
|
829
838
|
packedValues.suffixes = read();
|
|
@@ -841,7 +850,10 @@
|
|
|
841
850
|
}
|
|
842
851
|
if (typeof data == 'number')
|
|
843
852
|
return packedValues[16 + (data >= 0 ? 2 * data : (-2 * data - 1))]
|
|
844
|
-
|
|
853
|
+
let error = new Error('No support for non-integer packed references yet');
|
|
854
|
+
if (data === undefined)
|
|
855
|
+
error.incomplete = true;
|
|
856
|
+
throw error
|
|
845
857
|
};
|
|
846
858
|
|
|
847
859
|
// The following code is an incomplete implementation of http://cbor.schmorp.de/stringref
|
|
@@ -967,7 +979,15 @@
|
|
|
967
979
|
currentExtensions[littleEndian ? tag : (tag - 4)] = (bytesPerElement == 1 || littleEndian == isLittleEndianMachine$1) ? (buffer) => {
|
|
968
980
|
if (!TypedArray)
|
|
969
981
|
throw new Error('Could not find typed array for code ' + tag)
|
|
970
|
-
|
|
982
|
+
if (!currentDecoder.copyBuffers) {
|
|
983
|
+
// try provide a direct view, but will only work if we are byte-aligned
|
|
984
|
+
if (bytesPerElement === 1 ||
|
|
985
|
+
bytesPerElement === 2 && !(buffer.byteOffset & 1) ||
|
|
986
|
+
bytesPerElement === 4 && !(buffer.byteOffset & 3) ||
|
|
987
|
+
bytesPerElement === 8 && !(buffer.byteOffset & 7))
|
|
988
|
+
return new TypedArray(buffer.buffer, buffer.byteOffset, buffer.byteLength);
|
|
989
|
+
}
|
|
990
|
+
// we have to slice/copy here to get a new ArrayBuffer, if we are not word/byte aligned
|
|
971
991
|
return new TypedArray(Uint8Array.prototype.slice.call(buffer, 0).buffer)
|
|
972
992
|
} : buffer => {
|
|
973
993
|
if (!TypedArray)
|