cbor-x 1.5.1 → 1.5.2

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/node.cjs CHANGED
@@ -984,9 +984,11 @@ for (let i = 0; i < typedArrays.length; i++) {
984
984
  }
985
985
  function registerTypedArray(TypedArray, tag) {
986
986
  let dvMethod = 'get' + TypedArray.name.slice(0, -5);
987
- if (typeof TypedArray !== 'function')
987
+ let bytesPerElement;
988
+ if (typeof TypedArray === 'function')
989
+ bytesPerElement = TypedArray.BYTES_PER_ELEMENT;
990
+ else
988
991
  TypedArray = null;
989
- let bytesPerElement = TypedArray.BYTES_PER_ELEMENT;
990
992
  for (let littleEndian = 0; littleEndian < 2; littleEndian++) {
991
993
  if (!littleEndian && bytesPerElement == 1)
992
994
  continue
@@ -1524,7 +1526,7 @@ class Encoder extends Decoder {
1524
1526
  }
1525
1527
  position += length;
1526
1528
  } else if (type === 'number') {
1527
- if (value >>> 0 === value) {// positive integer, 32-bit or less
1529
+ if (!this.alwaysUseFloat && value >>> 0 === value) {// positive integer, 32-bit or less
1528
1530
  // positive uint
1529
1531
  if (value < 0x18) {
1530
1532
  target[position++] = value;
@@ -1540,7 +1542,7 @@ class Encoder extends Decoder {
1540
1542
  targetView.setUint32(position, value);
1541
1543
  position += 4;
1542
1544
  }
1543
- } else if (value >> 0 === value) { // negative integer
1545
+ } else if (!this.alwaysUseFloat && value >> 0 === value) { // negative integer
1544
1546
  if (value >= -0x18) {
1545
1547
  target[position++] = 0x1f - value;
1546
1548
  } else if (value >= -0x100) {