dcmjs 0.24.5 → 0.24.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/build/dcmjs.es.js CHANGED
@@ -1583,7 +1583,8 @@ var BinaryRepresentation = /*#__PURE__*/function (_ValueRepresentation3) {
1583
1583
  var bufferLength = 0;
1584
1584
 
1585
1585
  for (i = 0; i < frames; i++) {
1586
- bufferLength += value[i].byteLength;
1586
+ var needsPadding = Boolean(value[i].byteLength & 1);
1587
+ bufferLength += value[i].byteLength + (needsPadding ? 1 : 0);
1587
1588
  var _fragmentsLength = 1;
1588
1589
 
1589
1590
  if (fragmentMultiframe) {
@@ -1597,6 +1598,8 @@ var BinaryRepresentation = /*#__PURE__*/function (_ValueRepresentation3) {
1597
1598
  binaryStream = new WriteBufferStream(bufferLength, stream.isLittleEndian);
1598
1599
 
1599
1600
  for (i = 0; i < frames; i++) {
1601
+ var _needsPadding = Boolean(value[i].byteLength & 1);
1602
+
1600
1603
  startOffset.push(binaryStream.size);
1601
1604
  var frameBuffer = value[i],
1602
1605
  frameStream = new ReadBufferStream(frameBuffer);
@@ -1607,13 +1610,14 @@ var BinaryRepresentation = /*#__PURE__*/function (_ValueRepresentation3) {
1607
1610
  }
1608
1611
 
1609
1612
  for (var j = 0, fragmentStart = 0; j < fragmentsLength; j++) {
1613
+ var isFinalFragment = j === fragmentsLength - 1;
1610
1614
  var fragmentEnd = fragmentStart + frameStream.size;
1611
1615
 
1612
1616
  if (fragmentMultiframe) {
1613
1617
  fragmentEnd = fragmentStart + fragmentSize;
1614
1618
  }
1615
1619
 
1616
- if (j == fragmentsLength - 1) {
1620
+ if (isFinalFragment) {
1617
1621
  fragmentEnd = frameStream.size;
1618
1622
  }
1619
1623
 
@@ -1621,8 +1625,13 @@ var BinaryRepresentation = /*#__PURE__*/function (_ValueRepresentation3) {
1621
1625
  fragmentStart = fragmentEnd;
1622
1626
  binaryStream.writeUint16(0xfffe);
1623
1627
  binaryStream.writeUint16(0xe000);
1624
- binaryStream.writeUint32(fragStream.size);
1628
+ var addPaddingByte = isFinalFragment && _needsPadding;
1629
+ binaryStream.writeUint32(fragStream.size + (addPaddingByte ? 1 : 0));
1625
1630
  binaryStream.concat(fragStream);
1631
+
1632
+ if (addPaddingByte) {
1633
+ binaryStream.writeInt8(this.padByte);
1634
+ }
1626
1635
  }
1627
1636
  }
1628
1637
 
@@ -1638,13 +1647,6 @@ var BinaryRepresentation = /*#__PURE__*/function (_ValueRepresentation3) {
1638
1647
  stream.writeUint16(0xfffe);
1639
1648
  stream.writeUint16(0xe0dd);
1640
1649
  stream.writeUint32(0x0);
1641
- var written = 8 + binaryStream.size + startOffset.length * 4 + 8;
1642
-
1643
- if (written & 1) {
1644
- stream.writeUint8(this.padByte);
1645
- written++;
1646
- }
1647
-
1648
1650
  return 0xffffffff;
1649
1651
  } else {
1650
1652
  var binaryData = value[0];