jww-parser-mbt 2025.12.3 → 2025.12.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/dist/index.cjs CHANGED
@@ -362,7 +362,6 @@ function $makebytes(a, b) {
362
362
  const moonbitlang$core$builtin$$JSArray$push = (arr, val) => {
363
363
  arr.push(val);
364
364
  };
365
- const moonbitlang$core$builtin$$MyInt64$convert_to_double_u = (a) => (a.hi >>> 0) * 4294967296 + (a.lo >>> 0);
366
365
  const moonbitlang$core$builtin$$try_init_wasm_helper = function() {
367
366
  try {
368
367
  return new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([
@@ -996,58 +995,58 @@ const f4ah6o$jww_parser$core$$default$46$record$47$742 = {
996
995
  protect: 0,
997
996
  name: ""
998
997
  };
999
- const f4ah6o$jww_parser$core$$parse$46$constr$47$1004 = 8;
1000
- const f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1041 = {
998
+ const f4ah6o$jww_parser$core$$parse$46$constr$47$1012 = 8;
999
+ const f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1049 = {
1001
1000
  _0: "CONTINUOUS",
1002
1001
  _1: "Solid line",
1003
1002
  _2: ""
1004
1003
  };
1005
- const f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1042 = {
1004
+ const f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1050 = {
1006
1005
  _0: "DASHED",
1007
1006
  _1: "Dashed",
1008
1007
  _2: ""
1009
1008
  };
1010
- const f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1043 = {
1009
+ const f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1051 = {
1011
1010
  _0: "DOTTED",
1012
1011
  _1: "Dotted",
1013
1012
  _2: ""
1014
1013
  };
1015
- const f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1044 = {
1014
+ const f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1052 = {
1016
1015
  _0: "DASHDOT",
1017
1016
  _1: "Dash dot",
1018
1017
  _2: ""
1019
1018
  };
1020
- const f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1045 = {
1019
+ const f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1053 = {
1021
1020
  _0: "DOT2",
1022
1021
  _1: "Dot (small)",
1023
1022
  _2: ""
1024
1023
  };
1025
- const f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1046 = {
1024
+ const f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1054 = {
1026
1025
  _0: "DASHDOT2",
1027
1026
  _1: "Dash dot (small)",
1028
1027
  _2: ""
1029
1028
  };
1030
- const f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1047 = {
1029
+ const f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1055 = {
1031
1030
  _0: "DASHDOTDOT",
1032
1031
  _1: "Dash dot dot",
1033
1032
  _2: ""
1034
1033
  };
1035
- const f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1048 = {
1034
+ const f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1056 = {
1036
1035
  _0: "DIVIDE",
1037
1036
  _1: "Divide",
1038
1037
  _2: ""
1039
1038
  };
1040
- const f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1049 = {
1039
+ const f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1057 = {
1041
1040
  _0: "CENTER",
1042
1041
  _1: "Center",
1043
1042
  _2: ""
1044
1043
  };
1045
- const f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1050 = {
1044
+ const f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1058 = {
1046
1045
  _0: "BORDER",
1047
1046
  _1: "Border",
1048
1047
  _2: ""
1049
1048
  };
1050
- const f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1051 = {
1049
+ const f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1059 = {
1051
1050
  _0: "HIDDEN",
1052
1051
  _1: "Hidden",
1053
1052
  _2: ""
@@ -1685,12 +1684,6 @@ function moonbitlang$core$uint64$$UInt64$extend_uint(value) {
1685
1684
  function moonbitlang$core$uint$$UInt$to_uint64(self) {
1686
1685
  return moonbitlang$core$uint64$$UInt64$extend_uint(self);
1687
1686
  }
1688
- function moonbitlang$core$double$$Double$convert_uint64(value) {
1689
- return moonbitlang$core$builtin$$MyInt64$convert_to_double_u(value);
1690
- }
1691
- function moonbitlang$core$uint64$$UInt64$to_double(self) {
1692
- return moonbitlang$core$double$$Double$convert_uint64(self);
1693
- }
1694
1687
  function moonbitlang$core$uint64$$UInt64$to_int(self) {
1695
1688
  return self.lo;
1696
1689
  }
@@ -1893,9 +1886,6 @@ function moonbitlang$core$bytes$$Bytes$makei$25$(length, value) {
1893
1886
  }
1894
1887
  return arr;
1895
1888
  }
1896
- function moonbitlang$core$byte$$Byte$to_uint64(self) {
1897
- return moonbitlang$core$uint$$UInt$to_uint64(self);
1898
- }
1899
1889
  function moonbitlang$core$builtin$$Eq$equal$9$(self, other) {
1900
1890
  if (self.length !== other.length) return false;
1901
1891
  else {
@@ -9597,19 +9587,11 @@ function f4ah6o$jww_parser$core$$Reader$read_dword(self) {
9597
9587
  const b3 = f4ah6o$jww_parser$core$$Reader$read_byte(self);
9598
9588
  return b0 | b1 << 8 | b2 << 16 | b3 << 24;
9599
9589
  }
9600
- function f4ah6o$jww_parser$core$$Reader$read_uint64(self) {
9601
- const b0 = moonbitlang$core$byte$$Byte$to_uint64(f4ah6o$jww_parser$core$$Reader$read_byte(self));
9602
- const b1 = moonbitlang$core$byte$$Byte$to_uint64(f4ah6o$jww_parser$core$$Reader$read_byte(self));
9603
- const b2 = moonbitlang$core$byte$$Byte$to_uint64(f4ah6o$jww_parser$core$$Reader$read_byte(self));
9604
- const b3 = moonbitlang$core$byte$$Byte$to_uint64(f4ah6o$jww_parser$core$$Reader$read_byte(self));
9605
- const b4 = moonbitlang$core$byte$$Byte$to_uint64(f4ah6o$jww_parser$core$$Reader$read_byte(self));
9606
- const b5 = moonbitlang$core$byte$$Byte$to_uint64(f4ah6o$jww_parser$core$$Reader$read_byte(self));
9607
- const b6 = moonbitlang$core$byte$$Byte$to_uint64(f4ah6o$jww_parser$core$$Reader$read_byte(self));
9608
- const b7 = moonbitlang$core$byte$$Byte$to_uint64(f4ah6o$jww_parser$core$$Reader$read_byte(self));
9609
- return moonbitlang$core$builtin$$BitOr$lor$10$(moonbitlang$core$builtin$$BitOr$lor$10$(moonbitlang$core$builtin$$BitOr$lor$10$(moonbitlang$core$builtin$$BitOr$lor$10$(moonbitlang$core$builtin$$BitOr$lor$10$(moonbitlang$core$builtin$$BitOr$lor$10$(moonbitlang$core$builtin$$BitOr$lor$10$(b0, moonbitlang$core$builtin$$Shl$shl$10$(b1, 8)), moonbitlang$core$builtin$$Shl$shl$10$(b2, 16)), moonbitlang$core$builtin$$Shl$shl$10$(b3, 24)), moonbitlang$core$builtin$$Shl$shl$10$(b4, 32)), moonbitlang$core$builtin$$Shl$shl$10$(b5, 40)), moonbitlang$core$builtin$$Shl$shl$10$(b6, 48)), moonbitlang$core$builtin$$Shl$shl$10$(b7, 56));
9610
- }
9611
- function f4ah6o$jww_parser$core$$Reader$read_double(self) {
9612
- return moonbitlang$core$uint64$$UInt64$to_double(f4ah6o$jww_parser$core$$Reader$read_uint64(self));
9590
+ function f4ah6o$jww_parser$core$Reader$read_double(self) {
9591
+ const buffer = /* @__PURE__ */ new ArrayBuffer(8);
9592
+ const view = new DataView(buffer);
9593
+ for (let i = 0; i < 8; i++) view.setUint8(i, self.data[self.pos++]);
9594
+ return view.getFloat64(0, true);
9613
9595
  }
9614
9596
  function f4ah6o$jww_parser$core$$Reader$read_bytes(self, n) {
9615
9597
  if ((self.data.length - self.pos | 0) < n) return moonbitlang$core$bytes$$Bytes$from_array({
@@ -9701,34 +9683,34 @@ function f4ah6o$jww_parser$core$$read_cstring(reader) {
9701
9683
  function f4ah6o$jww_parser$core$$parse_entity_by_class(class_name, reader, version) {
9702
9684
  if (class_name === "CDataSen") return new $64$f4ah6o$47$jww_parser$47$core$46$Entity$Line({
9703
9685
  base: f4ah6o$jww_parser$core$$parse_entity_base(reader, version),
9704
- start_x: f4ah6o$jww_parser$core$$Reader$read_double(reader),
9705
- start_y: f4ah6o$jww_parser$core$$Reader$read_double(reader),
9706
- end_x: f4ah6o$jww_parser$core$$Reader$read_double(reader),
9707
- end_y: f4ah6o$jww_parser$core$$Reader$read_double(reader)
9686
+ start_x: f4ah6o$jww_parser$core$Reader$read_double(reader),
9687
+ start_y: f4ah6o$jww_parser$core$Reader$read_double(reader),
9688
+ end_x: f4ah6o$jww_parser$core$Reader$read_double(reader),
9689
+ end_y: f4ah6o$jww_parser$core$Reader$read_double(reader)
9708
9690
  });
9709
9691
  else if (class_name === "CDataEnko") return new $64$f4ah6o$47$jww_parser$47$core$46$Entity$Arc({
9710
9692
  base: f4ah6o$jww_parser$core$$parse_entity_base(reader, version),
9711
- center_x: f4ah6o$jww_parser$core$$Reader$read_double(reader),
9712
- center_y: f4ah6o$jww_parser$core$$Reader$read_double(reader),
9713
- radius: f4ah6o$jww_parser$core$$Reader$read_double(reader),
9714
- start_angle: f4ah6o$jww_parser$core$$Reader$read_double(reader),
9715
- arc_angle: f4ah6o$jww_parser$core$$Reader$read_double(reader),
9716
- tilt_angle: f4ah6o$jww_parser$core$$Reader$read_double(reader),
9717
- flatness: f4ah6o$jww_parser$core$$Reader$read_double(reader),
9693
+ center_x: f4ah6o$jww_parser$core$Reader$read_double(reader),
9694
+ center_y: f4ah6o$jww_parser$core$Reader$read_double(reader),
9695
+ radius: f4ah6o$jww_parser$core$Reader$read_double(reader),
9696
+ start_angle: f4ah6o$jww_parser$core$Reader$read_double(reader),
9697
+ arc_angle: f4ah6o$jww_parser$core$Reader$read_double(reader),
9698
+ tilt_angle: f4ah6o$jww_parser$core$Reader$read_double(reader),
9699
+ flatness: f4ah6o$jww_parser$core$Reader$read_double(reader),
9718
9700
  is_full_circle: f4ah6o$jww_parser$core$$Reader$read_dword(reader) !== 0
9719
9701
  });
9720
9702
  else if (class_name === "CDataTen") {
9721
9703
  const base = f4ah6o$jww_parser$core$$parse_entity_base(reader, version);
9722
- const x = f4ah6o$jww_parser$core$$Reader$read_double(reader);
9723
- const y = f4ah6o$jww_parser$core$$Reader$read_double(reader);
9704
+ const x = f4ah6o$jww_parser$core$Reader$read_double(reader);
9705
+ const y = f4ah6o$jww_parser$core$Reader$read_double(reader);
9724
9706
  const is_temporary = f4ah6o$jww_parser$core$$Reader$read_dword(reader) !== 0;
9725
9707
  let code = 0;
9726
9708
  let angle = 0;
9727
9709
  let scale = 1;
9728
9710
  if (base.pen_style === 100) {
9729
9711
  code = f4ah6o$jww_parser$core$$Reader$read_dword(reader);
9730
- angle = f4ah6o$jww_parser$core$$Reader$read_double(reader);
9731
- scale = f4ah6o$jww_parser$core$$Reader$read_double(reader);
9712
+ angle = f4ah6o$jww_parser$core$Reader$read_double(reader);
9713
+ scale = f4ah6o$jww_parser$core$Reader$read_double(reader);
9732
9714
  }
9733
9715
  return new $64$f4ah6o$47$jww_parser$47$core$46$Entity$Point({
9734
9716
  base,
@@ -9741,28 +9723,28 @@ function f4ah6o$jww_parser$core$$parse_entity_by_class(class_name, reader, versi
9741
9723
  });
9742
9724
  } else if (class_name === "CDataMoji") return new $64$f4ah6o$47$jww_parser$47$core$46$Entity$Text({
9743
9725
  base: f4ah6o$jww_parser$core$$parse_entity_base(reader, version),
9744
- start_x: f4ah6o$jww_parser$core$$Reader$read_double(reader),
9745
- start_y: f4ah6o$jww_parser$core$$Reader$read_double(reader),
9746
- end_x: f4ah6o$jww_parser$core$$Reader$read_double(reader),
9747
- end_y: f4ah6o$jww_parser$core$$Reader$read_double(reader),
9726
+ start_x: f4ah6o$jww_parser$core$Reader$read_double(reader),
9727
+ start_y: f4ah6o$jww_parser$core$Reader$read_double(reader),
9728
+ end_x: f4ah6o$jww_parser$core$Reader$read_double(reader),
9729
+ end_y: f4ah6o$jww_parser$core$Reader$read_double(reader),
9748
9730
  text_type: f4ah6o$jww_parser$core$$Reader$read_dword(reader),
9749
- size_x: f4ah6o$jww_parser$core$$Reader$read_double(reader),
9750
- size_y: f4ah6o$jww_parser$core$$Reader$read_double(reader),
9751
- spacing: f4ah6o$jww_parser$core$$Reader$read_double(reader),
9752
- angle: f4ah6o$jww_parser$core$$Reader$read_double(reader),
9731
+ size_x: f4ah6o$jww_parser$core$Reader$read_double(reader),
9732
+ size_y: f4ah6o$jww_parser$core$Reader$read_double(reader),
9733
+ spacing: f4ah6o$jww_parser$core$Reader$read_double(reader),
9734
+ angle: f4ah6o$jww_parser$core$Reader$read_double(reader),
9753
9735
  font_name: f4ah6o$jww_parser$core$$read_cstring(reader),
9754
9736
  content: f4ah6o$jww_parser$core$$read_cstring(reader)
9755
9737
  });
9756
9738
  else if (class_name === "CDataSolid") {
9757
9739
  const base = f4ah6o$jww_parser$core$$parse_entity_base(reader, version);
9758
- const point1_x = f4ah6o$jww_parser$core$$Reader$read_double(reader);
9759
- const point1_y = f4ah6o$jww_parser$core$$Reader$read_double(reader);
9760
- const point4_x = f4ah6o$jww_parser$core$$Reader$read_double(reader);
9761
- const point4_y = f4ah6o$jww_parser$core$$Reader$read_double(reader);
9762
- const point2_x = f4ah6o$jww_parser$core$$Reader$read_double(reader);
9763
- const point2_y = f4ah6o$jww_parser$core$$Reader$read_double(reader);
9764
- const point3_x = f4ah6o$jww_parser$core$$Reader$read_double(reader);
9765
- const point3_y = f4ah6o$jww_parser$core$$Reader$read_double(reader);
9740
+ const point1_x = f4ah6o$jww_parser$core$Reader$read_double(reader);
9741
+ const point1_y = f4ah6o$jww_parser$core$Reader$read_double(reader);
9742
+ const point4_x = f4ah6o$jww_parser$core$Reader$read_double(reader);
9743
+ const point4_y = f4ah6o$jww_parser$core$Reader$read_double(reader);
9744
+ const point2_x = f4ah6o$jww_parser$core$Reader$read_double(reader);
9745
+ const point2_y = f4ah6o$jww_parser$core$Reader$read_double(reader);
9746
+ const point3_x = f4ah6o$jww_parser$core$Reader$read_double(reader);
9747
+ const point3_y = f4ah6o$jww_parser$core$Reader$read_double(reader);
9766
9748
  let color = 0;
9767
9749
  if (base.pen_color === 10) color = f4ah6o$jww_parser$core$$Reader$read_dword(reader);
9768
9750
  return new $64$f4ah6o$47$jww_parser$47$core$46$Entity$Solid({
@@ -9779,30 +9761,30 @@ function f4ah6o$jww_parser$core$$parse_entity_by_class(class_name, reader, versi
9779
9761
  });
9780
9762
  } else if (class_name === "CDataBlock") return new $64$f4ah6o$47$jww_parser$47$core$46$Entity$Block({
9781
9763
  base: f4ah6o$jww_parser$core$$parse_entity_base(reader, version),
9782
- ref_x: f4ah6o$jww_parser$core$$Reader$read_double(reader),
9783
- ref_y: f4ah6o$jww_parser$core$$Reader$read_double(reader),
9784
- scale_x: f4ah6o$jww_parser$core$$Reader$read_double(reader),
9785
- scale_y: f4ah6o$jww_parser$core$$Reader$read_double(reader),
9786
- rotation: f4ah6o$jww_parser$core$$Reader$read_double(reader),
9764
+ ref_x: f4ah6o$jww_parser$core$Reader$read_double(reader),
9765
+ ref_y: f4ah6o$jww_parser$core$Reader$read_double(reader),
9766
+ scale_x: f4ah6o$jww_parser$core$Reader$read_double(reader),
9767
+ scale_y: f4ah6o$jww_parser$core$Reader$read_double(reader),
9768
+ rotation: f4ah6o$jww_parser$core$Reader$read_double(reader),
9787
9769
  def_number: f4ah6o$jww_parser$core$$Reader$read_dword(reader)
9788
9770
  });
9789
9771
  else if (class_name === "CDataSunpou") {
9790
9772
  f4ah6o$jww_parser$core$$parse_entity_base(reader, version);
9791
9773
  const line_base = f4ah6o$jww_parser$core$$parse_entity_base(reader, version);
9792
- const start_x = f4ah6o$jww_parser$core$$Reader$read_double(reader);
9793
- const start_y = f4ah6o$jww_parser$core$$Reader$read_double(reader);
9794
- const end_x = f4ah6o$jww_parser$core$$Reader$read_double(reader);
9795
- const end_y = f4ah6o$jww_parser$core$$Reader$read_double(reader);
9774
+ const start_x = f4ah6o$jww_parser$core$Reader$read_double(reader);
9775
+ const start_y = f4ah6o$jww_parser$core$Reader$read_double(reader);
9776
+ const end_x = f4ah6o$jww_parser$core$Reader$read_double(reader);
9777
+ const end_y = f4ah6o$jww_parser$core$Reader$read_double(reader);
9796
9778
  f4ah6o$jww_parser$core$$parse_entity_base(reader, version);
9797
- f4ah6o$jww_parser$core$$Reader$read_double(reader);
9798
- f4ah6o$jww_parser$core$$Reader$read_double(reader);
9799
- f4ah6o$jww_parser$core$$Reader$read_double(reader);
9800
- f4ah6o$jww_parser$core$$Reader$read_double(reader);
9779
+ f4ah6o$jww_parser$core$Reader$read_double(reader);
9780
+ f4ah6o$jww_parser$core$Reader$read_double(reader);
9781
+ f4ah6o$jww_parser$core$Reader$read_double(reader);
9782
+ f4ah6o$jww_parser$core$Reader$read_double(reader);
9801
9783
  f4ah6o$jww_parser$core$$Reader$read_dword(reader);
9802
- f4ah6o$jww_parser$core$$Reader$read_double(reader);
9803
- f4ah6o$jww_parser$core$$Reader$read_double(reader);
9804
- f4ah6o$jww_parser$core$$Reader$read_double(reader);
9805
- f4ah6o$jww_parser$core$$Reader$read_double(reader);
9784
+ f4ah6o$jww_parser$core$Reader$read_double(reader);
9785
+ f4ah6o$jww_parser$core$Reader$read_double(reader);
9786
+ f4ah6o$jww_parser$core$Reader$read_double(reader);
9787
+ f4ah6o$jww_parser$core$Reader$read_double(reader);
9806
9788
  f4ah6o$jww_parser$core$$read_cstring(reader);
9807
9789
  f4ah6o$jww_parser$core$$read_cstring(reader);
9808
9790
  if (version >>> 0 >= 420) {
@@ -9812,10 +9794,10 @@ function f4ah6o$jww_parser$core$$parse_entity_by_class(class_name, reader, versi
9812
9794
  const _ = _tmp;
9813
9795
  if (_ < 2) {
9814
9796
  f4ah6o$jww_parser$core$$parse_entity_base(reader, version);
9815
- f4ah6o$jww_parser$core$$Reader$read_double(reader);
9816
- f4ah6o$jww_parser$core$$Reader$read_double(reader);
9817
- f4ah6o$jww_parser$core$$Reader$read_double(reader);
9818
- f4ah6o$jww_parser$core$$Reader$read_double(reader);
9797
+ f4ah6o$jww_parser$core$Reader$read_double(reader);
9798
+ f4ah6o$jww_parser$core$Reader$read_double(reader);
9799
+ f4ah6o$jww_parser$core$Reader$read_double(reader);
9800
+ f4ah6o$jww_parser$core$Reader$read_double(reader);
9819
9801
  _tmp = _ + 1 | 0;
9820
9802
  continue;
9821
9803
  } else break;
@@ -9825,8 +9807,8 @@ function f4ah6o$jww_parser$core$$parse_entity_by_class(class_name, reader, versi
9825
9807
  const _ = _tmp$2;
9826
9808
  if (_ < 4) {
9827
9809
  f4ah6o$jww_parser$core$$parse_entity_base(reader, version);
9828
- f4ah6o$jww_parser$core$$Reader$read_double(reader);
9829
- f4ah6o$jww_parser$core$$Reader$read_double(reader);
9810
+ f4ah6o$jww_parser$core$Reader$read_double(reader);
9811
+ f4ah6o$jww_parser$core$Reader$read_double(reader);
9830
9812
  f4ah6o$jww_parser$core$$Reader$read_dword(reader);
9831
9813
  _tmp$2 = _ + 1 | 0;
9832
9814
  continue;
@@ -9844,16 +9826,17 @@ function f4ah6o$jww_parser$core$$parse_entity_by_class(class_name, reader, versi
9844
9826
  }
9845
9827
  function f4ah6o$jww_parser$core$$parse_entity_with_pid_tracking(reader, version, pid_to_class, next_pid) {
9846
9828
  const class_id = f4ah6o$jww_parser$core$$Reader$read_word(reader);
9847
- let _bind;
9829
+ let class_name = "";
9830
+ let updated_next_pid = next_pid;
9848
9831
  if (class_id === 65535) {
9849
9832
  f4ah6o$jww_parser$core$$Reader$read_word(reader);
9850
9833
  const name_bytes = f4ah6o$jww_parser$core$$Reader$read_bytes(reader, f4ah6o$jww_parser$core$$Reader$read_word(reader));
9851
9834
  let name_chars = "";
9852
- const _end158 = name_bytes.length;
9835
+ const _end161 = name_bytes.length;
9853
9836
  let _tmp = 0;
9854
9837
  while (true) {
9855
9838
  const i = _tmp;
9856
- if (i < _end158) {
9839
+ if (i < _end161) {
9857
9840
  const _tmp$2 = name_chars;
9858
9841
  $bound_check(name_bytes, i);
9859
9842
  const _p = name_bytes[i];
@@ -9862,13 +9845,10 @@ function f4ah6o$jww_parser$core$$parse_entity_with_pid_tracking(reader, version,
9862
9845
  continue;
9863
9846
  } else break;
9864
9847
  }
9865
- const class_name = name_chars;
9866
- if (next_pid < 65536) moonbitlang$core$array$$Array$set$13$(pid_to_class, next_pid, class_name);
9867
- _bind = {
9868
- _0: class_name,
9869
- _1: pid_to_class,
9870
- _2: (next_pid >>> 0) + 1 | 0
9871
- };
9848
+ class_name = name_chars;
9849
+ const pid = updated_next_pid;
9850
+ if (pid < 65536) moonbitlang$core$array$$Array$set$13$(pid_to_class, pid, class_name);
9851
+ updated_next_pid = (pid >>> 0) + 1 | 0;
9872
9852
  } else if (class_id === 32768) return {
9873
9853
  entity: void 0,
9874
9854
  pid_to_class,
@@ -9878,29 +9858,36 @@ function f4ah6o$jww_parser$core$$parse_entity_with_pid_tracking(reader, version,
9878
9858
  const class_pid = class_id & 32767;
9879
9859
  if (class_pid < 65536) {
9880
9860
  const name = moonbitlang$core$array$$Array$at$13$(pid_to_class, class_pid);
9881
- if (name === "") return {
9861
+ if (name === "") {
9862
+ f4ah6o$jww_parser$core$$parse_entity_base(reader, version);
9863
+ f4ah6o$jww_parser$core$Reader$read_double(reader);
9864
+ f4ah6o$jww_parser$core$Reader$read_double(reader);
9865
+ f4ah6o$jww_parser$core$Reader$read_double(reader);
9866
+ f4ah6o$jww_parser$core$Reader$read_double(reader);
9867
+ return {
9868
+ entity: void 0,
9869
+ pid_to_class,
9870
+ next_pid: (next_pid >>> 0) + 1 | 0
9871
+ };
9872
+ }
9873
+ class_name = name;
9874
+ } else {
9875
+ f4ah6o$jww_parser$core$$parse_entity_base(reader, version);
9876
+ f4ah6o$jww_parser$core$Reader$read_double(reader);
9877
+ f4ah6o$jww_parser$core$Reader$read_double(reader);
9878
+ f4ah6o$jww_parser$core$Reader$read_double(reader);
9879
+ f4ah6o$jww_parser$core$Reader$read_double(reader);
9880
+ return {
9882
9881
  entity: void 0,
9883
9882
  pid_to_class,
9884
9883
  next_pid: (next_pid >>> 0) + 1 | 0
9885
9884
  };
9886
- _bind = {
9887
- _0: name,
9888
- _1: pid_to_class,
9889
- _2: next_pid
9890
- };
9891
- } else return {
9892
- entity: void 0,
9893
- pid_to_class,
9894
- next_pid: (next_pid >>> 0) + 1 | 0
9895
- };
9885
+ }
9896
9886
  }
9897
- const _class_name = _bind._0;
9898
- const _updated_p2c = _bind._1;
9899
- const _updated_next_pid = _bind._2;
9900
9887
  return {
9901
- entity: f4ah6o$jww_parser$core$$parse_entity_by_class(_class_name, reader, version),
9902
- pid_to_class: _updated_p2c,
9903
- next_pid: (_updated_next_pid >>> 0) + 1 | 0
9888
+ entity: f4ah6o$jww_parser$core$$parse_entity_by_class(class_name, reader, version),
9889
+ pid_to_class,
9890
+ next_pid: (updated_next_pid >>> 0) + 1 | 0
9904
9891
  };
9905
9892
  }
9906
9893
  function f4ah6o$jww_parser$core$$parse_entity_list(data, offset, version) {
@@ -9923,6 +9910,7 @@ function f4ah6o$jww_parser$core$$parse_entity_list(data, offset, version) {
9923
9910
  while (true) {
9924
9911
  const _ = _tmp$2;
9925
9912
  if (_ < count) {
9913
+ if ((reader.data.length - reader.pos | 0) < 4) break;
9926
9914
  const result = f4ah6o$jww_parser$core$$parse_entity_with_pid_tracking(reader, version, pid_to_class, next_pid);
9927
9915
  const _x = result.entity;
9928
9916
  if (_x === void 0) {
@@ -10055,19 +10043,19 @@ function f4ah6o$jww_parser$core$$parse_block_def_list(data, offset, version) {
10055
10043
  }
10056
10044
  function f4ah6o$jww_parser$core$$set_layer_names(layer_groups) {
10057
10045
  const result = moonbitlang$core$array$$Array$new$46$inner$11$(0);
10058
- const _end218 = layer_groups.length;
10046
+ const _end234 = layer_groups.length;
10059
10047
  let _tmp = 0;
10060
10048
  while (true) {
10061
10049
  const g_idx = _tmp;
10062
- if (g_idx < _end218) {
10050
+ if (g_idx < _end234) {
10063
10051
  const lg = moonbitlang$core$array$$Array$at$11$(layer_groups, g_idx);
10064
10052
  const group_name = lg.name === "" ? `Group${moonbitlang$core$int$$Int$to_string$46$inner(g_idx, 10)}` : lg.name;
10065
10053
  const layers = moonbitlang$core$array$$Array$new$46$inner$12$(0);
10066
- const _end226 = lg.layers.length;
10054
+ const _end242 = lg.layers.length;
10067
10055
  let _tmp$2 = 0;
10068
10056
  while (true) {
10069
10057
  const l_idx = _tmp$2;
10070
- if (l_idx < _end226) {
10058
+ if (l_idx < _end242) {
10071
10059
  const l = moonbitlang$core$array$$Array$at$12$(lg.layers, l_idx);
10072
10060
  const layer_name = l.name === "" ? `${moonbitlang$core$int$$Int$to_string$46$inner(g_idx, 10)}-${moonbitlang$core$int$$Int$to_string$46$inner(l_idx, 10)}` : l.name;
10073
10061
  moonbitlang$core$array$$Array$push$12$(layers, {
@@ -10095,7 +10083,7 @@ function f4ah6o$jww_parser$core$$set_layer_names(layer_groups) {
10095
10083
  }
10096
10084
  function f4ah6o$jww_parser$core$$parse(data) {
10097
10085
  if (data.length < 8) return f4ah6o$jww_parser$core$$Document$default();
10098
- if (moonbitlang$core$builtin$$op_notequal$9$(moonbitlang$core$bytes$$Bytes$from_array(moonbitlang$core$array$$Array$sub$46$inner$3$(moonbitlang$core$bytes$$Bytes$to_array(data), 0, f4ah6o$jww_parser$core$$parse$46$constr$47$1004)), $bytes_literal$1)) return f4ah6o$jww_parser$core$$Document$default();
10086
+ if (moonbitlang$core$builtin$$op_notequal$9$(moonbitlang$core$bytes$$Bytes$from_array(moonbitlang$core$array$$Array$sub$46$inner$3$(moonbitlang$core$bytes$$Bytes$to_array(data), 0, f4ah6o$jww_parser$core$$parse$46$constr$47$1012)), $bytes_literal$1)) return f4ah6o$jww_parser$core$$Document$default();
10099
10087
  const reader = f4ah6o$jww_parser$core$$Reader$new(moonbitlang$core$bytes$$Bytes$from_array(moonbitlang$core$array$$Array$sub$46$inner$3$(moonbitlang$core$bytes$$Bytes$to_array(data), 8, data.length)));
10100
10088
  const version = f4ah6o$jww_parser$core$$Reader$read_dword(reader);
10101
10089
  const memo = f4ah6o$jww_parser$core$$read_cstring(reader);
@@ -10108,7 +10096,7 @@ function f4ah6o$jww_parser$core$$parse(data) {
10108
10096
  if (_g_idx < 16) {
10109
10097
  const state = f4ah6o$jww_parser$core$$Reader$read_dword(reader);
10110
10098
  const write_layer = f4ah6o$jww_parser$core$$Reader$read_dword(reader);
10111
- const scale = f4ah6o$jww_parser$core$$Reader$read_double(reader);
10099
+ const scale = f4ah6o$jww_parser$core$Reader$read_double(reader);
10112
10100
  const protect = f4ah6o$jww_parser$core$$Reader$read_dword(reader);
10113
10101
  const layers = moonbitlang$core$array$$Array$new$46$inner$12$(0);
10114
10102
  let _tmp$2 = 0;
@@ -10198,17 +10186,17 @@ function f4ah6o$jww_parser$dxf$$ltype_table() {
10198
10186
  output = `${output}2\nLTYPE\n`;
10199
10187
  output = `${output}70\n11\n`;
10200
10188
  const ltypes = [
10201
- f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1041,
10202
- f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1042,
10203
- f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1043,
10204
- f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1044,
10205
- f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1045,
10206
- f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1046,
10207
- f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1047,
10208
- f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1048,
10209
10189
  f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1049,
10210
10190
  f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1050,
10211
- f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1051
10191
+ f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1051,
10192
+ f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1052,
10193
+ f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1053,
10194
+ f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1054,
10195
+ f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1055,
10196
+ f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1056,
10197
+ f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1057,
10198
+ f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1058,
10199
+ f4ah6o$jww_parser$dxf$$ltype_table$46$tuple$47$1059
10212
10200
  ];
10213
10201
  const _len = ltypes.length;
10214
10202
  let _tmp = 0;