@linkiez/dxf-renew 7.0.0 → 7.2.0

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.
Files changed (252) hide show
  1. package/.eslintrc.json +1 -16
  2. package/.github/instructions/code-patterns.instructions.md +1 -1
  3. package/.github/instructions/exdxf.instruction.md +161 -0
  4. package/.github/instructions/tdd.instructions.md +271 -0
  5. package/.yarn/install-state.gz +0 -0
  6. package/ARCHITECTURE.md +163 -0
  7. package/CHANGELOG.md +39 -0
  8. package/CONTRIBUTING.md +16 -14
  9. package/README.md +113 -16
  10. package/{PLAN.md → ROADMAP.md} +244 -102
  11. package/dist/dxf.js +2212 -454
  12. package/docs/EZDXF_REFERENCE_SITEMAP.md +55 -0
  13. package/docs/FIXTURE_VALIDATION_EZDXF.md +62 -0
  14. package/lib/Helper.cjs +6 -2
  15. package/lib/Helper.cjs.map +3 -3
  16. package/lib/Helper.js +6 -2
  17. package/lib/Helper.js.map +2 -2
  18. package/lib/denormalise.cjs +131 -91
  19. package/lib/denormalise.cjs.map +2 -2
  20. package/lib/denormalise.js +131 -91
  21. package/lib/denormalise.js.map +2 -2
  22. package/lib/dimensionToSVG.cjs +318 -53
  23. package/lib/dimensionToSVG.cjs.map +3 -3
  24. package/lib/dimensionToSVG.js +316 -52
  25. package/lib/dimensionToSVG.js.map +2 -2
  26. package/lib/entityToPolyline.cjs +95 -0
  27. package/lib/entityToPolyline.cjs.map +3 -3
  28. package/lib/entityToPolyline.js +95 -0
  29. package/lib/entityToPolyline.js.map +2 -2
  30. package/lib/handlers/entities.cjs +111 -27
  31. package/lib/handlers/entities.cjs.map +3 -3
  32. package/lib/handlers/entities.js +111 -27
  33. package/lib/handlers/entities.js.map +3 -3
  34. package/lib/handlers/entity/dgnUnderlay.cjs +106 -0
  35. package/lib/handlers/entity/dgnUnderlay.cjs.map +7 -0
  36. package/lib/handlers/entity/dgnUnderlay.js +71 -0
  37. package/lib/handlers/entity/dgnUnderlay.js.map +7 -0
  38. package/lib/handlers/entity/dimension.cjs +24 -0
  39. package/lib/handlers/entity/dimension.cjs.map +2 -2
  40. package/lib/handlers/entity/dimension.js +24 -0
  41. package/lib/handlers/entity/dimension.js.map +2 -2
  42. package/lib/handlers/entity/dwfUnderlay.cjs +106 -0
  43. package/lib/handlers/entity/dwfUnderlay.cjs.map +7 -0
  44. package/lib/handlers/entity/dwfUnderlay.js +71 -0
  45. package/lib/handlers/entity/dwfUnderlay.js.map +7 -0
  46. package/lib/handlers/entity/image.cjs +123 -0
  47. package/lib/handlers/entity/image.cjs.map +7 -0
  48. package/lib/handlers/entity/image.js +88 -0
  49. package/lib/handlers/entity/image.js.map +7 -0
  50. package/lib/handlers/entity/leader.cjs +148 -0
  51. package/lib/handlers/entity/leader.cjs.map +7 -0
  52. package/lib/handlers/entity/leader.js +113 -0
  53. package/lib/handlers/entity/leader.js.map +7 -0
  54. package/lib/handlers/entity/mleader.cjs +69 -0
  55. package/lib/handlers/entity/mleader.cjs.map +7 -0
  56. package/lib/handlers/entity/mleader.js +34 -0
  57. package/lib/handlers/entity/mleader.js.map +7 -0
  58. package/lib/handlers/entity/mline.cjs +91 -0
  59. package/lib/handlers/entity/mline.cjs.map +7 -0
  60. package/lib/handlers/entity/mline.js +56 -0
  61. package/lib/handlers/entity/mline.js.map +7 -0
  62. package/lib/handlers/entity/oleframe.cjs +98 -0
  63. package/lib/handlers/entity/oleframe.cjs.map +7 -0
  64. package/lib/handlers/entity/oleframe.js +63 -0
  65. package/lib/handlers/entity/oleframe.js.map +7 -0
  66. package/lib/handlers/entity/pdfUnderlay.cjs +106 -0
  67. package/lib/handlers/entity/pdfUnderlay.cjs.map +7 -0
  68. package/lib/handlers/entity/pdfUnderlay.js +71 -0
  69. package/lib/handlers/entity/pdfUnderlay.js.map +7 -0
  70. package/lib/handlers/entity/ray.cjs +81 -0
  71. package/lib/handlers/entity/ray.cjs.map +7 -0
  72. package/lib/handlers/entity/ray.js +46 -0
  73. package/lib/handlers/entity/ray.js.map +7 -0
  74. package/lib/handlers/entity/region.cjs +67 -0
  75. package/lib/handlers/entity/region.cjs.map +7 -0
  76. package/lib/handlers/entity/region.js +32 -0
  77. package/lib/handlers/entity/region.js.map +7 -0
  78. package/lib/handlers/entity/shape.cjs +95 -0
  79. package/lib/handlers/entity/shape.cjs.map +7 -0
  80. package/lib/handlers/entity/shape.js +60 -0
  81. package/lib/handlers/entity/shape.js.map +7 -0
  82. package/lib/handlers/entity/table.cjs +71 -0
  83. package/lib/handlers/entity/table.cjs.map +7 -0
  84. package/lib/handlers/entity/table.js +36 -0
  85. package/lib/handlers/entity/table.js.map +7 -0
  86. package/lib/handlers/entity/tolerance.cjs +90 -0
  87. package/lib/handlers/entity/tolerance.cjs.map +7 -0
  88. package/lib/handlers/entity/tolerance.js +55 -0
  89. package/lib/handlers/entity/tolerance.js.map +7 -0
  90. package/lib/handlers/entity/trace.cjs +101 -0
  91. package/lib/handlers/entity/trace.cjs.map +7 -0
  92. package/lib/handlers/entity/trace.js +66 -0
  93. package/lib/handlers/entity/trace.js.map +7 -0
  94. package/lib/handlers/entity/wipeout.cjs +122 -0
  95. package/lib/handlers/entity/wipeout.cjs.map +7 -0
  96. package/lib/handlers/entity/wipeout.js +87 -0
  97. package/lib/handlers/entity/wipeout.js.map +7 -0
  98. package/lib/handlers/entity/xline.cjs +81 -0
  99. package/lib/handlers/entity/xline.cjs.map +7 -0
  100. package/lib/handlers/entity/xline.js +46 -0
  101. package/lib/handlers/entity/xline.js.map +7 -0
  102. package/lib/handlers/objects.cjs +299 -136
  103. package/lib/handlers/objects.cjs.map +2 -2
  104. package/lib/handlers/objects.js +299 -136
  105. package/lib/handlers/objects.js.map +2 -2
  106. package/lib/handlers/tables.cjs +96 -17
  107. package/lib/handlers/tables.cjs.map +2 -2
  108. package/lib/handlers/tables.js +96 -17
  109. package/lib/handlers/tables.js.map +2 -2
  110. package/lib/index.cjs +5 -2
  111. package/lib/index.cjs.map +3 -3
  112. package/lib/index.js +18 -16
  113. package/lib/index.js.map +3 -3
  114. package/lib/toJson.cjs +29 -0
  115. package/lib/toJson.cjs.map +7 -0
  116. package/lib/toJson.js +9 -0
  117. package/lib/toJson.js.map +7 -0
  118. package/lib/toSVG.cjs +105 -11
  119. package/lib/toSVG.cjs.map +3 -3
  120. package/lib/toSVG.js +106 -12
  121. package/lib/toSVG.js.map +2 -2
  122. package/lib/types/dimension-entity.cjs.map +1 -1
  123. package/lib/types/entity.cjs.map +1 -1
  124. package/lib/types/helper.cjs.map +1 -1
  125. package/lib/types/image-entity.cjs +17 -0
  126. package/lib/types/image-entity.cjs.map +7 -0
  127. package/lib/types/image-entity.js +1 -0
  128. package/lib/types/image-entity.js.map +7 -0
  129. package/lib/types/index.cjs +28 -0
  130. package/lib/types/index.cjs.map +2 -2
  131. package/lib/types/index.js +14 -0
  132. package/lib/types/index.js.map +2 -2
  133. package/lib/types/leader-entity.cjs +17 -0
  134. package/lib/types/leader-entity.cjs.map +7 -0
  135. package/lib/types/leader-entity.js +1 -0
  136. package/lib/types/leader-entity.js.map +7 -0
  137. package/lib/types/mleader-entity.cjs +17 -0
  138. package/lib/types/mleader-entity.cjs.map +7 -0
  139. package/lib/types/mleader-entity.js +1 -0
  140. package/lib/types/mleader-entity.js.map +7 -0
  141. package/lib/types/mline-entity.cjs +17 -0
  142. package/lib/types/mline-entity.cjs.map +7 -0
  143. package/lib/types/mline-entity.js +1 -0
  144. package/lib/types/mline-entity.js.map +7 -0
  145. package/lib/types/oleframe-entity.cjs +17 -0
  146. package/lib/types/oleframe-entity.cjs.map +7 -0
  147. package/lib/types/oleframe-entity.js +1 -0
  148. package/lib/types/oleframe-entity.js.map +7 -0
  149. package/lib/types/options.cjs.map +1 -1
  150. package/lib/types/ray-entity.cjs +17 -0
  151. package/lib/types/ray-entity.cjs.map +7 -0
  152. package/lib/types/ray-entity.js +1 -0
  153. package/lib/types/ray-entity.js.map +7 -0
  154. package/lib/types/region-entity.cjs +17 -0
  155. package/lib/types/region-entity.cjs.map +7 -0
  156. package/lib/types/region-entity.js +1 -0
  157. package/lib/types/region-entity.js.map +7 -0
  158. package/lib/types/shape-entity.cjs +17 -0
  159. package/lib/types/shape-entity.cjs.map +7 -0
  160. package/lib/types/shape-entity.js +1 -0
  161. package/lib/types/shape-entity.js.map +7 -0
  162. package/lib/types/table-entity.cjs +17 -0
  163. package/lib/types/table-entity.cjs.map +7 -0
  164. package/lib/types/table-entity.js +1 -0
  165. package/lib/types/table-entity.js.map +7 -0
  166. package/lib/types/tables.cjs.map +1 -1
  167. package/lib/types/tolerance-entity.cjs +17 -0
  168. package/lib/types/tolerance-entity.cjs.map +7 -0
  169. package/lib/types/tolerance-entity.js +1 -0
  170. package/lib/types/tolerance-entity.js.map +7 -0
  171. package/lib/types/trace-entity.cjs +17 -0
  172. package/lib/types/trace-entity.cjs.map +7 -0
  173. package/lib/types/trace-entity.js +1 -0
  174. package/lib/types/trace-entity.js.map +7 -0
  175. package/lib/types/underlay-entity.cjs +17 -0
  176. package/lib/types/underlay-entity.cjs.map +7 -0
  177. package/lib/types/underlay-entity.js +1 -0
  178. package/lib/types/underlay-entity.js.map +7 -0
  179. package/lib/types/wipeout-entity.cjs +17 -0
  180. package/lib/types/wipeout-entity.cjs.map +7 -0
  181. package/lib/types/wipeout-entity.js +1 -0
  182. package/lib/types/wipeout-entity.js.map +7 -0
  183. package/lib/types/xline-entity.cjs +17 -0
  184. package/lib/types/xline-entity.cjs.map +7 -0
  185. package/lib/types/xline-entity.js +1 -0
  186. package/lib/types/xline-entity.js.map +7 -0
  187. package/lib/util/escapeXmlText.cjs +27 -0
  188. package/lib/util/escapeXmlText.cjs.map +7 -0
  189. package/lib/util/escapeXmlText.js +7 -0
  190. package/lib/util/escapeXmlText.js.map +7 -0
  191. package/package.json +9 -18
  192. package/playwright.config.cjs +20 -0
  193. package/src/Helper.ts +8 -3
  194. package/src/denormalise.ts +182 -116
  195. package/src/dimensionToSVG.ts +466 -54
  196. package/src/entityToPolyline.ts +124 -2
  197. package/src/handlers/entities.ts +129 -34
  198. package/src/handlers/entity/dgnUnderlay.ts +94 -0
  199. package/src/handlers/entity/dimension.ts +27 -1
  200. package/src/handlers/entity/dwfUnderlay.ts +94 -0
  201. package/src/handlers/entity/image.ts +118 -0
  202. package/src/handlers/entity/leader.ts +153 -0
  203. package/src/handlers/entity/mleader.ts +46 -0
  204. package/src/handlers/entity/mline.ts +74 -0
  205. package/src/handlers/entity/oleframe.ts +62 -0
  206. package/src/handlers/entity/pdfUnderlay.ts +94 -0
  207. package/src/handlers/entity/ray.ts +52 -0
  208. package/src/handlers/entity/region.ts +42 -0
  209. package/src/handlers/entity/shape.ts +73 -0
  210. package/src/handlers/entity/table.ts +49 -0
  211. package/src/handlers/entity/tolerance.ts +75 -0
  212. package/src/handlers/entity/trace.ts +72 -0
  213. package/src/handlers/entity/wipeout.ts +114 -0
  214. package/src/handlers/entity/xline.ts +52 -0
  215. package/src/handlers/objects.ts +379 -139
  216. package/src/handlers/tables.ts +134 -21
  217. package/src/index.ts +9 -18
  218. package/src/toJson.ts +8 -0
  219. package/src/toSVG.ts +143 -10
  220. package/src/types/dimension-entity.ts +11 -0
  221. package/src/types/entity.ts +30 -0
  222. package/src/types/helper.ts +2 -1
  223. package/src/types/image-entity.ts +35 -0
  224. package/src/types/index.ts +14 -0
  225. package/src/types/leader-entity.ts +40 -0
  226. package/src/types/mleader-entity.ts +8 -0
  227. package/src/types/mline-entity.ts +12 -0
  228. package/src/types/oleframe-entity.ts +40 -0
  229. package/src/types/options.ts +48 -0
  230. package/src/types/ray-entity.ts +12 -0
  231. package/src/types/region-entity.ts +11 -0
  232. package/src/types/shape-entity.ts +19 -0
  233. package/src/types/table-entity.ts +14 -0
  234. package/src/types/tables.ts +160 -0
  235. package/src/types/tolerance-entity.ts +20 -0
  236. package/src/types/trace-entity.ts +14 -0
  237. package/src/types/underlay-entity.ts +35 -0
  238. package/src/types/wipeout-entity.ts +20 -0
  239. package/src/types/xline-entity.ts +12 -0
  240. package/src/util/escapeXmlText.ts +10 -0
  241. package/tools/browser_test_server.cjs +87 -0
  242. package/tools/ezdxf_generate_dimensions_all_types.py +246 -0
  243. package/tools/ezdxf_generate_dimensions_angular_3p.py +59 -0
  244. package/tools/ezdxf_generate_dimensions_large_scale.py +87 -0
  245. package/tools/ezdxf_regenerate_problem_fixtures.py +184 -0
  246. package/tools/ezdxf_validate_fixtures.py +165 -0
  247. package/docs/DIMENSION_SUMMARY.md +0 -248
  248. package/docs/DIMENSION_SUMMARY.pt-BR.md +0 -248
  249. package/docs/IMPLEMENTED-2D-ENTITIES.md +0 -54
  250. package/docs/IMPLEMENTED-2D-ENTITIES.pt-BR.md +0 -54
  251. package/docs/TEXT-MTEXT-DIMENSION-SUPPORT.md +0 -241
  252. package/docs/TEXT-MTEXT-DIMENSION-SUPPORT.pt-BR.md +0 -169
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var region_exports = {};
30
+ __export(region_exports, {
31
+ TYPE: () => TYPE,
32
+ default: () => region_default,
33
+ process: () => process
34
+ });
35
+ module.exports = __toCommonJS(region_exports);
36
+ var import_common = __toESM(require("./common"), 1);
37
+ const TYPE = "REGION";
38
+ const process = (tuples) => {
39
+ return tuples.reduce(
40
+ (entity, tuple) => {
41
+ const code = tuple[0];
42
+ const value = tuple[1];
43
+ switch (code) {
44
+ // ACIS data text (first line: 1, additional lines: 3)
45
+ case 1:
46
+ case 3:
47
+ entity.acisData ?? (entity.acisData = []);
48
+ entity.acisData.push(String(value));
49
+ break;
50
+ default:
51
+ Object.assign(entity, (0, import_common.default)(code, value));
52
+ break;
53
+ }
54
+ return entity;
55
+ },
56
+ {
57
+ type: TYPE
58
+ }
59
+ );
60
+ };
61
+ var region_default = { TYPE, process };
62
+ // Annotate the CommonJS export names for ESM import in node:
63
+ 0 && (module.exports = {
64
+ TYPE,
65
+ process
66
+ });
67
+ //# sourceMappingURL=region.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/handlers/entity/region.ts"],
4
+ "sourcesContent": ["import type { DXFTuple } from '../../types'\n\nimport common from './common'\n\nexport const TYPE = 'REGION'\n\ninterface RegionEntity {\n type: typeof TYPE\n\n acisData?: string[]\n\n [key: string]: unknown\n}\n\nexport const process = (tuples: DXFTuple[]): RegionEntity => {\n return tuples.reduce(\n (entity, tuple) => {\n const code = tuple[0]\n const value = tuple[1]\n\n switch (code) {\n // ACIS data text (first line: 1, additional lines: 3)\n case 1:\n case 3:\n entity.acisData ??= []\n entity.acisData.push(String(value))\n break\n\n default:\n Object.assign(entity, common(code, value))\n break\n }\n\n return entity\n },\n {\n type: TYPE,\n } as RegionEntity,\n )\n}\n\nexport default { TYPE, process }\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAAmB;AAEZ,MAAM,OAAO;AAUb,MAAM,UAAU,CAAC,WAAqC;AAC3D,SAAO,OAAO;AAAA,IACZ,CAAC,QAAQ,UAAU;AACjB,YAAM,OAAO,MAAM,CAAC;AACpB,YAAM,QAAQ,MAAM,CAAC;AAErB,cAAQ,MAAM;AAAA;AAAA,QAEZ,KAAK;AAAA,QACL,KAAK;AACH,iBAAO,aAAP,OAAO,WAAa,CAAC;AACrB,iBAAO,SAAS,KAAK,OAAO,KAAK,CAAC;AAClC;AAAA,QAEF;AACE,iBAAO,OAAO,YAAQ,cAAAA,SAAO,MAAM,KAAK,CAAC;AACzC;AAAA,MACJ;AAEA,aAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAM;AAAA,IACR;AAAA,EACF;AACF;AAEA,IAAO,iBAAQ,EAAE,MAAM,QAAQ;",
6
+ "names": ["common"]
7
+ }
@@ -0,0 +1,32 @@
1
+ import common from "./common";
2
+ const TYPE = "REGION";
3
+ const process = (tuples) => {
4
+ return tuples.reduce(
5
+ (entity, tuple) => {
6
+ const code = tuple[0];
7
+ const value = tuple[1];
8
+ switch (code) {
9
+ // ACIS data text (first line: 1, additional lines: 3)
10
+ case 1:
11
+ case 3:
12
+ entity.acisData ?? (entity.acisData = []);
13
+ entity.acisData.push(String(value));
14
+ break;
15
+ default:
16
+ Object.assign(entity, common(code, value));
17
+ break;
18
+ }
19
+ return entity;
20
+ },
21
+ {
22
+ type: TYPE
23
+ }
24
+ );
25
+ };
26
+ var region_default = { TYPE, process };
27
+ export {
28
+ TYPE,
29
+ region_default as default,
30
+ process
31
+ };
32
+ //# sourceMappingURL=region.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/handlers/entity/region.ts"],
4
+ "sourcesContent": ["import type { DXFTuple } from '../../types'\n\nimport common from './common'\n\nexport const TYPE = 'REGION'\n\ninterface RegionEntity {\n type: typeof TYPE\n\n acisData?: string[]\n\n [key: string]: unknown\n}\n\nexport const process = (tuples: DXFTuple[]): RegionEntity => {\n return tuples.reduce(\n (entity, tuple) => {\n const code = tuple[0]\n const value = tuple[1]\n\n switch (code) {\n // ACIS data text (first line: 1, additional lines: 3)\n case 1:\n case 3:\n entity.acisData ??= []\n entity.acisData.push(String(value))\n break\n\n default:\n Object.assign(entity, common(code, value))\n break\n }\n\n return entity\n },\n {\n type: TYPE,\n } as RegionEntity,\n )\n}\n\nexport default { TYPE, process }\n"],
5
+ "mappings": "AAEA,OAAO,YAAY;AAEZ,MAAM,OAAO;AAUb,MAAM,UAAU,CAAC,WAAqC;AAC3D,SAAO,OAAO;AAAA,IACZ,CAAC,QAAQ,UAAU;AACjB,YAAM,OAAO,MAAM,CAAC;AACpB,YAAM,QAAQ,MAAM,CAAC;AAErB,cAAQ,MAAM;AAAA;AAAA,QAEZ,KAAK;AAAA,QACL,KAAK;AACH,iBAAO,aAAP,OAAO,WAAa,CAAC;AACrB,iBAAO,SAAS,KAAK,OAAO,KAAK,CAAC;AAClC;AAAA,QAEF;AACE,iBAAO,OAAO,QAAQ,OAAO,MAAM,KAAK,CAAC;AACzC;AAAA,MACJ;AAEA,aAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAM;AAAA,IACR;AAAA,EACF;AACF;AAEA,IAAO,iBAAQ,EAAE,MAAM,QAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var shape_exports = {};
30
+ __export(shape_exports, {
31
+ TYPE: () => TYPE,
32
+ default: () => shape_default,
33
+ process: () => process
34
+ });
35
+ module.exports = __toCommonJS(shape_exports);
36
+ var import_common = __toESM(require("./common"), 1);
37
+ const TYPE = "SHAPE";
38
+ const process = (tuples) => {
39
+ return tuples.reduce(
40
+ (entity, tuple) => {
41
+ const type = tuple[0];
42
+ const value = tuple[1];
43
+ switch (type) {
44
+ case 10:
45
+ entity.insertionPoint.x = value;
46
+ break;
47
+ case 20:
48
+ entity.insertionPoint.y = value;
49
+ break;
50
+ case 30:
51
+ entity.insertionPoint.z = value;
52
+ break;
53
+ case 2:
54
+ entity.name = String(value);
55
+ break;
56
+ case 39:
57
+ entity.thickness = value;
58
+ break;
59
+ case 40:
60
+ entity.size = value;
61
+ break;
62
+ case 41:
63
+ entity.relativeXScale = value;
64
+ break;
65
+ case 50:
66
+ entity.rotation = value;
67
+ break;
68
+ case 51:
69
+ entity.oblique = value;
70
+ break;
71
+ case 210:
72
+ entity.extrusionX = value;
73
+ break;
74
+ case 220:
75
+ entity.extrusionY = value;
76
+ break;
77
+ default:
78
+ Object.assign(entity, (0, import_common.default)(type, value));
79
+ break;
80
+ }
81
+ return entity;
82
+ },
83
+ {
84
+ type: TYPE,
85
+ insertionPoint: {}
86
+ }
87
+ );
88
+ };
89
+ var shape_default = { TYPE, process };
90
+ // Annotate the CommonJS export names for ESM import in node:
91
+ 0 && (module.exports = {
92
+ TYPE,
93
+ process
94
+ });
95
+ //# sourceMappingURL=shape.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/handlers/entity/shape.ts"],
4
+ "sourcesContent": ["import type { DXFTuple, PartialPoint3D } from '../../types'\n\nimport common from './common'\n\nexport const TYPE = 'SHAPE'\n\ninterface ShapeEntity {\n type: typeof TYPE\n insertionPoint: PartialPoint3D\n name?: string\n size?: number\n rotation?: number\n relativeXScale?: number\n oblique?: number\n thickness?: number\n extrusionX?: number\n extrusionY?: number\n [key: string]: unknown\n}\n\nexport const process = (tuples: DXFTuple[]): ShapeEntity => {\n return tuples.reduce(\n (entity, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n switch (type) {\n case 10:\n entity.insertionPoint.x = value as number\n break\n case 20:\n entity.insertionPoint.y = value as number\n break\n case 30:\n entity.insertionPoint.z = value as number\n break\n case 2:\n entity.name = String(value)\n break\n case 39:\n entity.thickness = value as number\n break\n case 40:\n entity.size = value as number\n break\n case 41:\n entity.relativeXScale = value as number\n break\n case 50:\n entity.rotation = value as number\n break\n case 51:\n entity.oblique = value as number\n break\n case 210:\n entity.extrusionX = value as number\n break\n case 220:\n entity.extrusionY = value as number\n break\n default:\n Object.assign(entity, common(type, value))\n break\n }\n return entity\n },\n {\n type: TYPE,\n insertionPoint: {},\n } as ShapeEntity,\n )\n}\n\nexport default { TYPE, process }\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAAmB;AAEZ,MAAM,OAAO;AAgBb,MAAM,UAAU,CAAC,WAAoC;AAC1D,SAAO,OAAO;AAAA,IACZ,CAAC,QAAQ,UAAU;AACjB,YAAM,OAAO,MAAM,CAAC;AACpB,YAAM,QAAQ,MAAM,CAAC;AACrB,cAAQ,MAAM;AAAA,QACZ,KAAK;AACH,iBAAO,eAAe,IAAI;AAC1B;AAAA,QACF,KAAK;AACH,iBAAO,eAAe,IAAI;AAC1B;AAAA,QACF,KAAK;AACH,iBAAO,eAAe,IAAI;AAC1B;AAAA,QACF,KAAK;AACH,iBAAO,OAAO,OAAO,KAAK;AAC1B;AAAA,QACF,KAAK;AACH,iBAAO,YAAY;AACnB;AAAA,QACF,KAAK;AACH,iBAAO,OAAO;AACd;AAAA,QACF,KAAK;AACH,iBAAO,iBAAiB;AACxB;AAAA,QACF,KAAK;AACH,iBAAO,WAAW;AAClB;AAAA,QACF,KAAK;AACH,iBAAO,UAAU;AACjB;AAAA,QACF,KAAK;AACH,iBAAO,aAAa;AACpB;AAAA,QACF,KAAK;AACH,iBAAO,aAAa;AACpB;AAAA,QACF;AACE,iBAAO,OAAO,YAAQ,cAAAA,SAAO,MAAM,KAAK,CAAC;AACzC;AAAA,MACJ;AACA,aAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,gBAAgB,CAAC;AAAA,IACnB;AAAA,EACF;AACF;AAEA,IAAO,gBAAQ,EAAE,MAAM,QAAQ;",
6
+ "names": ["common"]
7
+ }
@@ -0,0 +1,60 @@
1
+ import common from "./common";
2
+ const TYPE = "SHAPE";
3
+ const process = (tuples) => {
4
+ return tuples.reduce(
5
+ (entity, tuple) => {
6
+ const type = tuple[0];
7
+ const value = tuple[1];
8
+ switch (type) {
9
+ case 10:
10
+ entity.insertionPoint.x = value;
11
+ break;
12
+ case 20:
13
+ entity.insertionPoint.y = value;
14
+ break;
15
+ case 30:
16
+ entity.insertionPoint.z = value;
17
+ break;
18
+ case 2:
19
+ entity.name = String(value);
20
+ break;
21
+ case 39:
22
+ entity.thickness = value;
23
+ break;
24
+ case 40:
25
+ entity.size = value;
26
+ break;
27
+ case 41:
28
+ entity.relativeXScale = value;
29
+ break;
30
+ case 50:
31
+ entity.rotation = value;
32
+ break;
33
+ case 51:
34
+ entity.oblique = value;
35
+ break;
36
+ case 210:
37
+ entity.extrusionX = value;
38
+ break;
39
+ case 220:
40
+ entity.extrusionY = value;
41
+ break;
42
+ default:
43
+ Object.assign(entity, common(type, value));
44
+ break;
45
+ }
46
+ return entity;
47
+ },
48
+ {
49
+ type: TYPE,
50
+ insertionPoint: {}
51
+ }
52
+ );
53
+ };
54
+ var shape_default = { TYPE, process };
55
+ export {
56
+ TYPE,
57
+ shape_default as default,
58
+ process
59
+ };
60
+ //# sourceMappingURL=shape.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/handlers/entity/shape.ts"],
4
+ "sourcesContent": ["import type { DXFTuple, PartialPoint3D } from '../../types'\n\nimport common from './common'\n\nexport const TYPE = 'SHAPE'\n\ninterface ShapeEntity {\n type: typeof TYPE\n insertionPoint: PartialPoint3D\n name?: string\n size?: number\n rotation?: number\n relativeXScale?: number\n oblique?: number\n thickness?: number\n extrusionX?: number\n extrusionY?: number\n [key: string]: unknown\n}\n\nexport const process = (tuples: DXFTuple[]): ShapeEntity => {\n return tuples.reduce(\n (entity, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n switch (type) {\n case 10:\n entity.insertionPoint.x = value as number\n break\n case 20:\n entity.insertionPoint.y = value as number\n break\n case 30:\n entity.insertionPoint.z = value as number\n break\n case 2:\n entity.name = String(value)\n break\n case 39:\n entity.thickness = value as number\n break\n case 40:\n entity.size = value as number\n break\n case 41:\n entity.relativeXScale = value as number\n break\n case 50:\n entity.rotation = value as number\n break\n case 51:\n entity.oblique = value as number\n break\n case 210:\n entity.extrusionX = value as number\n break\n case 220:\n entity.extrusionY = value as number\n break\n default:\n Object.assign(entity, common(type, value))\n break\n }\n return entity\n },\n {\n type: TYPE,\n insertionPoint: {},\n } as ShapeEntity,\n )\n}\n\nexport default { TYPE, process }\n"],
5
+ "mappings": "AAEA,OAAO,YAAY;AAEZ,MAAM,OAAO;AAgBb,MAAM,UAAU,CAAC,WAAoC;AAC1D,SAAO,OAAO;AAAA,IACZ,CAAC,QAAQ,UAAU;AACjB,YAAM,OAAO,MAAM,CAAC;AACpB,YAAM,QAAQ,MAAM,CAAC;AACrB,cAAQ,MAAM;AAAA,QACZ,KAAK;AACH,iBAAO,eAAe,IAAI;AAC1B;AAAA,QACF,KAAK;AACH,iBAAO,eAAe,IAAI;AAC1B;AAAA,QACF,KAAK;AACH,iBAAO,eAAe,IAAI;AAC1B;AAAA,QACF,KAAK;AACH,iBAAO,OAAO,OAAO,KAAK;AAC1B;AAAA,QACF,KAAK;AACH,iBAAO,YAAY;AACnB;AAAA,QACF,KAAK;AACH,iBAAO,OAAO;AACd;AAAA,QACF,KAAK;AACH,iBAAO,iBAAiB;AACxB;AAAA,QACF,KAAK;AACH,iBAAO,WAAW;AAClB;AAAA,QACF,KAAK;AACH,iBAAO,UAAU;AACjB;AAAA,QACF,KAAK;AACH,iBAAO,aAAa;AACpB;AAAA,QACF,KAAK;AACH,iBAAO,aAAa;AACpB;AAAA,QACF;AACE,iBAAO,OAAO,QAAQ,OAAO,MAAM,KAAK,CAAC;AACzC;AAAA,MACJ;AACA,aAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,gBAAgB,CAAC;AAAA,IACnB;AAAA,EACF;AACF;AAEA,IAAO,gBAAQ,EAAE,MAAM,QAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var table_exports = {};
30
+ __export(table_exports, {
31
+ TYPE: () => TYPE,
32
+ default: () => table_default,
33
+ process: () => process
34
+ });
35
+ module.exports = __toCommonJS(table_exports);
36
+ var import_common = __toESM(require("./common"), 1);
37
+ const TYPE = "TABLE";
38
+ const process = (tuples) => {
39
+ return tuples.reduce(
40
+ (entity, tuple) => {
41
+ const code = tuple[0];
42
+ const value = tuple[1];
43
+ switch (code) {
44
+ case 90:
45
+ entity.rows = value;
46
+ break;
47
+ case 91:
48
+ entity.columns = value;
49
+ break;
50
+ case 1:
51
+ entity.cellText ?? (entity.cellText = []);
52
+ entity.cellText.push(String(value));
53
+ break;
54
+ default:
55
+ Object.assign(entity, (0, import_common.default)(code, value));
56
+ break;
57
+ }
58
+ return entity;
59
+ },
60
+ {
61
+ type: TYPE
62
+ }
63
+ );
64
+ };
65
+ var table_default = { TYPE, process };
66
+ // Annotate the CommonJS export names for ESM import in node:
67
+ 0 && (module.exports = {
68
+ TYPE,
69
+ process
70
+ });
71
+ //# sourceMappingURL=table.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/handlers/entity/table.ts"],
4
+ "sourcesContent": ["import type { DXFTuple } from '../../types'\n\nimport common from './common'\n\nexport const TYPE = 'TABLE'\n\ninterface TableEntity {\n type: typeof TYPE\n\n rows?: number\n columns?: number\n cellText?: string[]\n\n [key: string]: unknown\n}\n\nexport const process = (tuples: DXFTuple[]): TableEntity => {\n return tuples.reduce(\n (entity, tuple) => {\n const code = tuple[0]\n const value = tuple[1]\n\n switch (code) {\n case 90:\n entity.rows = value as number\n break\n case 91:\n entity.columns = value as number\n break\n\n case 1:\n entity.cellText ??= []\n entity.cellText.push(String(value))\n break\n\n default:\n Object.assign(entity, common(code, value))\n break\n }\n\n return entity\n },\n {\n type: TYPE,\n } as TableEntity,\n )\n}\n\nexport default { TYPE, process }\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAAmB;AAEZ,MAAM,OAAO;AAYb,MAAM,UAAU,CAAC,WAAoC;AAC1D,SAAO,OAAO;AAAA,IACZ,CAAC,QAAQ,UAAU;AACjB,YAAM,OAAO,MAAM,CAAC;AACpB,YAAM,QAAQ,MAAM,CAAC;AAErB,cAAQ,MAAM;AAAA,QACZ,KAAK;AACH,iBAAO,OAAO;AACd;AAAA,QACF,KAAK;AACH,iBAAO,UAAU;AACjB;AAAA,QAEF,KAAK;AACH,iBAAO,aAAP,OAAO,WAAa,CAAC;AACrB,iBAAO,SAAS,KAAK,OAAO,KAAK,CAAC;AAClC;AAAA,QAEF;AACE,iBAAO,OAAO,YAAQ,cAAAA,SAAO,MAAM,KAAK,CAAC;AACzC;AAAA,MACJ;AAEA,aAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAM;AAAA,IACR;AAAA,EACF;AACF;AAEA,IAAO,gBAAQ,EAAE,MAAM,QAAQ;",
6
+ "names": ["common"]
7
+ }
@@ -0,0 +1,36 @@
1
+ import common from "./common";
2
+ const TYPE = "TABLE";
3
+ const process = (tuples) => {
4
+ return tuples.reduce(
5
+ (entity, tuple) => {
6
+ const code = tuple[0];
7
+ const value = tuple[1];
8
+ switch (code) {
9
+ case 90:
10
+ entity.rows = value;
11
+ break;
12
+ case 91:
13
+ entity.columns = value;
14
+ break;
15
+ case 1:
16
+ entity.cellText ?? (entity.cellText = []);
17
+ entity.cellText.push(String(value));
18
+ break;
19
+ default:
20
+ Object.assign(entity, common(code, value));
21
+ break;
22
+ }
23
+ return entity;
24
+ },
25
+ {
26
+ type: TYPE
27
+ }
28
+ );
29
+ };
30
+ var table_default = { TYPE, process };
31
+ export {
32
+ TYPE,
33
+ table_default as default,
34
+ process
35
+ };
36
+ //# sourceMappingURL=table.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/handlers/entity/table.ts"],
4
+ "sourcesContent": ["import type { DXFTuple } from '../../types'\n\nimport common from './common'\n\nexport const TYPE = 'TABLE'\n\ninterface TableEntity {\n type: typeof TYPE\n\n rows?: number\n columns?: number\n cellText?: string[]\n\n [key: string]: unknown\n}\n\nexport const process = (tuples: DXFTuple[]): TableEntity => {\n return tuples.reduce(\n (entity, tuple) => {\n const code = tuple[0]\n const value = tuple[1]\n\n switch (code) {\n case 90:\n entity.rows = value as number\n break\n case 91:\n entity.columns = value as number\n break\n\n case 1:\n entity.cellText ??= []\n entity.cellText.push(String(value))\n break\n\n default:\n Object.assign(entity, common(code, value))\n break\n }\n\n return entity\n },\n {\n type: TYPE,\n } as TableEntity,\n )\n}\n\nexport default { TYPE, process }\n"],
5
+ "mappings": "AAEA,OAAO,YAAY;AAEZ,MAAM,OAAO;AAYb,MAAM,UAAU,CAAC,WAAoC;AAC1D,SAAO,OAAO;AAAA,IACZ,CAAC,QAAQ,UAAU;AACjB,YAAM,OAAO,MAAM,CAAC;AACpB,YAAM,QAAQ,MAAM,CAAC;AAErB,cAAQ,MAAM;AAAA,QACZ,KAAK;AACH,iBAAO,OAAO;AACd;AAAA,QACF,KAAK;AACH,iBAAO,UAAU;AACjB;AAAA,QAEF,KAAK;AACH,iBAAO,aAAP,OAAO,WAAa,CAAC;AACrB,iBAAO,SAAS,KAAK,OAAO,KAAK,CAAC;AAClC;AAAA,QAEF;AACE,iBAAO,OAAO,QAAQ,OAAO,MAAM,KAAK,CAAC;AACzC;AAAA,MACJ;AAEA,aAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAM;AAAA,IACR;AAAA,EACF;AACF;AAEA,IAAO,gBAAQ,EAAE,MAAM,QAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var tolerance_exports = {};
30
+ __export(tolerance_exports, {
31
+ TYPE: () => TYPE,
32
+ default: () => tolerance_default,
33
+ process: () => process
34
+ });
35
+ module.exports = __toCommonJS(tolerance_exports);
36
+ var import_common = __toESM(require("./common"), 1);
37
+ const TYPE = "TOLERANCE";
38
+ function ensureVector3(entity, key) {
39
+ entity[key] ?? (entity[key] = { x: 0, y: 0, z: 0 });
40
+ return entity[key];
41
+ }
42
+ const process = (tuples) => {
43
+ return tuples.reduce(
44
+ (entity, tuple) => {
45
+ const code = tuple[0];
46
+ const value = tuple[1];
47
+ switch (code) {
48
+ case 3:
49
+ entity.dimensionStyleName = String(value);
50
+ break;
51
+ case 10:
52
+ ensureVector3(entity, "insertionPoint").x = value;
53
+ break;
54
+ case 20:
55
+ ensureVector3(entity, "insertionPoint").y = value;
56
+ break;
57
+ case 30:
58
+ ensureVector3(entity, "insertionPoint").z = value;
59
+ break;
60
+ case 1:
61
+ entity.text = String(value);
62
+ break;
63
+ case 11:
64
+ ensureVector3(entity, "xAxisDirection").x = value;
65
+ break;
66
+ case 21:
67
+ ensureVector3(entity, "xAxisDirection").y = value;
68
+ break;
69
+ case 31:
70
+ ensureVector3(entity, "xAxisDirection").z = value;
71
+ break;
72
+ default:
73
+ Object.assign(entity, (0, import_common.default)(code, value));
74
+ break;
75
+ }
76
+ return entity;
77
+ },
78
+ {
79
+ type: TYPE,
80
+ insertionPoint: { x: 0, y: 0, z: 0 }
81
+ }
82
+ );
83
+ };
84
+ var tolerance_default = { TYPE, process };
85
+ // Annotate the CommonJS export names for ESM import in node:
86
+ 0 && (module.exports = {
87
+ TYPE,
88
+ process
89
+ });
90
+ //# sourceMappingURL=tolerance.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/handlers/entity/tolerance.ts"],
4
+ "sourcesContent": ["import type { DXFTuple } from '../../types'\n\nimport common from './common'\n\nexport const TYPE = 'TOLERANCE'\n\ninterface ToleranceEntity {\n type: typeof TYPE\n\n insertionPoint: { x: number; y: number; z: number }\n text?: string\n dimensionStyleName?: string\n xAxisDirection?: { x: number; y: number; z: number }\n\n [key: string]: unknown\n}\n\nfunction ensureVector3(\n entity: ToleranceEntity,\n key: 'insertionPoint' | 'xAxisDirection',\n): { x: number; y: number; z: number } {\n entity[key] ??= { x: 0, y: 0, z: 0 }\n return entity[key] as { x: number; y: number; z: number }\n}\n\nexport const process = (tuples: DXFTuple[]): ToleranceEntity => {\n return tuples.reduce(\n (entity, tuple) => {\n const code = tuple[0]\n const value = tuple[1]\n\n switch (code) {\n case 3:\n entity.dimensionStyleName = String(value)\n break\n\n case 10:\n ensureVector3(entity, 'insertionPoint').x = value as number\n break\n case 20:\n ensureVector3(entity, 'insertionPoint').y = value as number\n break\n case 30:\n ensureVector3(entity, 'insertionPoint').z = value as number\n break\n\n case 1:\n entity.text = String(value)\n break\n\n case 11:\n ensureVector3(entity, 'xAxisDirection').x = value as number\n break\n case 21:\n ensureVector3(entity, 'xAxisDirection').y = value as number\n break\n case 31:\n ensureVector3(entity, 'xAxisDirection').z = value as number\n break\n\n default:\n Object.assign(entity, common(code, value))\n break\n }\n\n return entity\n },\n {\n type: TYPE,\n insertionPoint: { x: 0, y: 0, z: 0 },\n } as ToleranceEntity,\n )\n}\n\nexport default { TYPE, process }\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAAmB;AAEZ,MAAM,OAAO;AAapB,SAAS,cACP,QACA,KACqC;AACrC,gCAAgB,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE;AACnC,SAAO,OAAO,GAAG;AACnB;AAEO,MAAM,UAAU,CAAC,WAAwC;AAC9D,SAAO,OAAO;AAAA,IACZ,CAAC,QAAQ,UAAU;AACjB,YAAM,OAAO,MAAM,CAAC;AACpB,YAAM,QAAQ,MAAM,CAAC;AAErB,cAAQ,MAAM;AAAA,QACZ,KAAK;AACH,iBAAO,qBAAqB,OAAO,KAAK;AACxC;AAAA,QAEF,KAAK;AACH,wBAAc,QAAQ,gBAAgB,EAAE,IAAI;AAC5C;AAAA,QACF,KAAK;AACH,wBAAc,QAAQ,gBAAgB,EAAE,IAAI;AAC5C;AAAA,QACF,KAAK;AACH,wBAAc,QAAQ,gBAAgB,EAAE,IAAI;AAC5C;AAAA,QAEF,KAAK;AACH,iBAAO,OAAO,OAAO,KAAK;AAC1B;AAAA,QAEF,KAAK;AACH,wBAAc,QAAQ,gBAAgB,EAAE,IAAI;AAC5C;AAAA,QACF,KAAK;AACH,wBAAc,QAAQ,gBAAgB,EAAE,IAAI;AAC5C;AAAA,QACF,KAAK;AACH,wBAAc,QAAQ,gBAAgB,EAAE,IAAI;AAC5C;AAAA,QAEF;AACE,iBAAO,OAAO,YAAQ,cAAAA,SAAO,MAAM,KAAK,CAAC;AACzC;AAAA,MACJ;AAEA,aAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,gBAAgB,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE;AAAA,IACrC;AAAA,EACF;AACF;AAEA,IAAO,oBAAQ,EAAE,MAAM,QAAQ;",
6
+ "names": ["common"]
7
+ }
@@ -0,0 +1,55 @@
1
+ import common from "./common";
2
+ const TYPE = "TOLERANCE";
3
+ function ensureVector3(entity, key) {
4
+ entity[key] ?? (entity[key] = { x: 0, y: 0, z: 0 });
5
+ return entity[key];
6
+ }
7
+ const process = (tuples) => {
8
+ return tuples.reduce(
9
+ (entity, tuple) => {
10
+ const code = tuple[0];
11
+ const value = tuple[1];
12
+ switch (code) {
13
+ case 3:
14
+ entity.dimensionStyleName = String(value);
15
+ break;
16
+ case 10:
17
+ ensureVector3(entity, "insertionPoint").x = value;
18
+ break;
19
+ case 20:
20
+ ensureVector3(entity, "insertionPoint").y = value;
21
+ break;
22
+ case 30:
23
+ ensureVector3(entity, "insertionPoint").z = value;
24
+ break;
25
+ case 1:
26
+ entity.text = String(value);
27
+ break;
28
+ case 11:
29
+ ensureVector3(entity, "xAxisDirection").x = value;
30
+ break;
31
+ case 21:
32
+ ensureVector3(entity, "xAxisDirection").y = value;
33
+ break;
34
+ case 31:
35
+ ensureVector3(entity, "xAxisDirection").z = value;
36
+ break;
37
+ default:
38
+ Object.assign(entity, common(code, value));
39
+ break;
40
+ }
41
+ return entity;
42
+ },
43
+ {
44
+ type: TYPE,
45
+ insertionPoint: { x: 0, y: 0, z: 0 }
46
+ }
47
+ );
48
+ };
49
+ var tolerance_default = { TYPE, process };
50
+ export {
51
+ TYPE,
52
+ tolerance_default as default,
53
+ process
54
+ };
55
+ //# sourceMappingURL=tolerance.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/handlers/entity/tolerance.ts"],
4
+ "sourcesContent": ["import type { DXFTuple } from '../../types'\n\nimport common from './common'\n\nexport const TYPE = 'TOLERANCE'\n\ninterface ToleranceEntity {\n type: typeof TYPE\n\n insertionPoint: { x: number; y: number; z: number }\n text?: string\n dimensionStyleName?: string\n xAxisDirection?: { x: number; y: number; z: number }\n\n [key: string]: unknown\n}\n\nfunction ensureVector3(\n entity: ToleranceEntity,\n key: 'insertionPoint' | 'xAxisDirection',\n): { x: number; y: number; z: number } {\n entity[key] ??= { x: 0, y: 0, z: 0 }\n return entity[key] as { x: number; y: number; z: number }\n}\n\nexport const process = (tuples: DXFTuple[]): ToleranceEntity => {\n return tuples.reduce(\n (entity, tuple) => {\n const code = tuple[0]\n const value = tuple[1]\n\n switch (code) {\n case 3:\n entity.dimensionStyleName = String(value)\n break\n\n case 10:\n ensureVector3(entity, 'insertionPoint').x = value as number\n break\n case 20:\n ensureVector3(entity, 'insertionPoint').y = value as number\n break\n case 30:\n ensureVector3(entity, 'insertionPoint').z = value as number\n break\n\n case 1:\n entity.text = String(value)\n break\n\n case 11:\n ensureVector3(entity, 'xAxisDirection').x = value as number\n break\n case 21:\n ensureVector3(entity, 'xAxisDirection').y = value as number\n break\n case 31:\n ensureVector3(entity, 'xAxisDirection').z = value as number\n break\n\n default:\n Object.assign(entity, common(code, value))\n break\n }\n\n return entity\n },\n {\n type: TYPE,\n insertionPoint: { x: 0, y: 0, z: 0 },\n } as ToleranceEntity,\n )\n}\n\nexport default { TYPE, process }\n"],
5
+ "mappings": "AAEA,OAAO,YAAY;AAEZ,MAAM,OAAO;AAapB,SAAS,cACP,QACA,KACqC;AACrC,gCAAgB,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE;AACnC,SAAO,OAAO,GAAG;AACnB;AAEO,MAAM,UAAU,CAAC,WAAwC;AAC9D,SAAO,OAAO;AAAA,IACZ,CAAC,QAAQ,UAAU;AACjB,YAAM,OAAO,MAAM,CAAC;AACpB,YAAM,QAAQ,MAAM,CAAC;AAErB,cAAQ,MAAM;AAAA,QACZ,KAAK;AACH,iBAAO,qBAAqB,OAAO,KAAK;AACxC;AAAA,QAEF,KAAK;AACH,wBAAc,QAAQ,gBAAgB,EAAE,IAAI;AAC5C;AAAA,QACF,KAAK;AACH,wBAAc,QAAQ,gBAAgB,EAAE,IAAI;AAC5C;AAAA,QACF,KAAK;AACH,wBAAc,QAAQ,gBAAgB,EAAE,IAAI;AAC5C;AAAA,QAEF,KAAK;AACH,iBAAO,OAAO,OAAO,KAAK;AAC1B;AAAA,QAEF,KAAK;AACH,wBAAc,QAAQ,gBAAgB,EAAE,IAAI;AAC5C;AAAA,QACF,KAAK;AACH,wBAAc,QAAQ,gBAAgB,EAAE,IAAI;AAC5C;AAAA,QACF,KAAK;AACH,wBAAc,QAAQ,gBAAgB,EAAE,IAAI;AAC5C;AAAA,QAEF;AACE,iBAAO,OAAO,QAAQ,OAAO,MAAM,KAAK,CAAC;AACzC;AAAA,MACJ;AAEA,aAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,gBAAgB,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE;AAAA,IACrC;AAAA,EACF;AACF;AAEA,IAAO,oBAAQ,EAAE,MAAM,QAAQ;",
6
+ "names": []
7
+ }