@linkiez/dxf-renew 5.3.1

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 (447) hide show
  1. package/.eslintignore +17 -0
  2. package/.eslintrc.json +61 -0
  3. package/.gitattributes +4 -0
  4. package/.github/instructions/project-en_US.instructions.md +352 -0
  5. package/.github/workflows/release.yml +110 -0
  6. package/.husky/commit-msg +4 -0
  7. package/.husky/pre-commit +1 -0
  8. package/.prettierignore +1 -0
  9. package/.prettierrc.json +6 -0
  10. package/.releaserc.json +76 -0
  11. package/.travis.yml +6 -0
  12. package/.yarn/install-state.gz +0 -0
  13. package/.yarnrc.yml +1 -0
  14. package/CHANGELOG.md +134 -0
  15. package/CONTRIBUTING.md +271 -0
  16. package/LICENSE +21 -0
  17. package/PLAN.md +517 -0
  18. package/README.md +306 -0
  19. package/build.mjs +66 -0
  20. package/commitlint.config.js +25 -0
  21. package/dist/dxf.js +7234 -0
  22. package/docs/CODE_PATTERNS.md +182 -0
  23. package/docs/DIMENSION_SUMMARY.md +248 -0
  24. package/docs/DIMENSION_SUMMARY.pt-BR.md +248 -0
  25. package/docs/IMPLEMENTED-2D-ENTITIES.md +54 -0
  26. package/docs/IMPLEMENTED-2D-ENTITIES.pt-BR.md +54 -0
  27. package/docs/TEXT-MTEXT-DIMENSION-SUPPORT.md +241 -0
  28. package/docs/TEXT-MTEXT-DIMENSION-SUPPORT.pt-BR.md +169 -0
  29. package/docs/autocad_2012_pdf_dxf-reference_enu.md +8272 -0
  30. package/examples/dxf.html +36 -0
  31. package/examples/example.es5.js +30 -0
  32. package/examples/example.es6.js +30 -0
  33. package/examples/text-dimension-viewer.html +133 -0
  34. package/lib/Helper.cjs +89 -0
  35. package/lib/Helper.cjs.map +7 -0
  36. package/lib/Helper.js +59 -0
  37. package/lib/Helper.js.map +7 -0
  38. package/lib/applyTransforms.cjs +59 -0
  39. package/lib/applyTransforms.cjs.map +7 -0
  40. package/lib/applyTransforms.js +39 -0
  41. package/lib/applyTransforms.js.map +7 -0
  42. package/lib/cli.cjs +53 -0
  43. package/lib/cli.cjs.map +7 -0
  44. package/lib/cli.js +29 -0
  45. package/lib/cli.js.map +7 -0
  46. package/lib/config.cjs +30 -0
  47. package/lib/config.cjs.map +7 -0
  48. package/lib/config.js +10 -0
  49. package/lib/config.js.map +7 -0
  50. package/lib/constants.cjs +39 -0
  51. package/lib/constants.cjs.map +7 -0
  52. package/lib/constants.js +15 -0
  53. package/lib/constants.js.map +7 -0
  54. package/lib/denormalise.cjs +148 -0
  55. package/lib/denormalise.cjs.map +7 -0
  56. package/lib/denormalise.js +118 -0
  57. package/lib/denormalise.js.map +7 -0
  58. package/lib/dimensionToSVG.cjs +307 -0
  59. package/lib/dimensionToSVG.cjs.map +7 -0
  60. package/lib/dimensionToSVG.js +273 -0
  61. package/lib/dimensionToSVG.js.map +7 -0
  62. package/lib/entityToPolyline.cjs +248 -0
  63. package/lib/entityToPolyline.cjs.map +7 -0
  64. package/lib/entityToPolyline.js +213 -0
  65. package/lib/entityToPolyline.js.map +7 -0
  66. package/lib/getRGBForEntity.cjs +53 -0
  67. package/lib/getRGBForEntity.cjs.map +7 -0
  68. package/lib/getRGBForEntity.js +23 -0
  69. package/lib/getRGBForEntity.js.map +7 -0
  70. package/lib/groupEntitiesByLayer.cjs +34 -0
  71. package/lib/groupEntitiesByLayer.cjs.map +7 -0
  72. package/lib/groupEntitiesByLayer.js +14 -0
  73. package/lib/groupEntitiesByLayer.js.map +7 -0
  74. package/lib/handlers/blocks.cjs +93 -0
  75. package/lib/handlers/blocks.cjs.map +7 -0
  76. package/lib/handlers/blocks.js +63 -0
  77. package/lib/handlers/blocks.js.map +7 -0
  78. package/lib/handlers/entities.cjs +118 -0
  79. package/lib/handlers/entities.cjs.map +7 -0
  80. package/lib/handlers/entities.js +88 -0
  81. package/lib/handlers/entities.js.map +7 -0
  82. package/lib/handlers/entity/arc.cjs +82 -0
  83. package/lib/handlers/entity/arc.cjs.map +7 -0
  84. package/lib/handlers/entity/arc.js +47 -0
  85. package/lib/handlers/entity/arc.js.map +7 -0
  86. package/lib/handlers/entity/attdef.cjs +318 -0
  87. package/lib/handlers/entity/attdef.cjs.map +7 -0
  88. package/lib/handlers/entity/attdef.js +282 -0
  89. package/lib/handlers/entity/attdef.js.map +7 -0
  90. package/lib/handlers/entity/attrib.cjs +52 -0
  91. package/lib/handlers/entity/attrib.cjs.map +7 -0
  92. package/lib/handlers/entity/attrib.js +27 -0
  93. package/lib/handlers/entity/attrib.js.map +7 -0
  94. package/lib/handlers/entity/circle.cjs +73 -0
  95. package/lib/handlers/entity/circle.cjs.map +7 -0
  96. package/lib/handlers/entity/circle.js +38 -0
  97. package/lib/handlers/entity/circle.js.map +7 -0
  98. package/lib/handlers/entity/common.cjs +83 -0
  99. package/lib/handlers/entity/common.cjs.map +7 -0
  100. package/lib/handlers/entity/common.js +63 -0
  101. package/lib/handlers/entity/common.js.map +7 -0
  102. package/lib/handlers/entity/dimension.cjs +203 -0
  103. package/lib/handlers/entity/dimension.cjs.map +7 -0
  104. package/lib/handlers/entity/dimension.js +168 -0
  105. package/lib/handlers/entity/dimension.js.map +7 -0
  106. package/lib/handlers/entity/ellipse.cjs +88 -0
  107. package/lib/handlers/entity/ellipse.cjs.map +7 -0
  108. package/lib/handlers/entity/ellipse.js +53 -0
  109. package/lib/handlers/entity/ellipse.js.map +7 -0
  110. package/lib/handlers/entity/hatch.cjs +470 -0
  111. package/lib/handlers/entity/hatch.cjs.map +7 -0
  112. package/lib/handlers/entity/hatch.js +435 -0
  113. package/lib/handlers/entity/hatch.js.map +7 -0
  114. package/lib/handlers/entity/insert.cjs +106 -0
  115. package/lib/handlers/entity/insert.cjs.map +7 -0
  116. package/lib/handlers/entity/insert.js +71 -0
  117. package/lib/handlers/entity/insert.js.map +7 -0
  118. package/lib/handlers/entity/line.cjs +84 -0
  119. package/lib/handlers/entity/line.cjs.map +7 -0
  120. package/lib/handlers/entity/line.js +49 -0
  121. package/lib/handlers/entity/line.js.map +7 -0
  122. package/lib/handlers/entity/lwpolyline.cjs +82 -0
  123. package/lib/handlers/entity/lwpolyline.cjs.map +7 -0
  124. package/lib/handlers/entity/lwpolyline.js +47 -0
  125. package/lib/handlers/entity/lwpolyline.js.map +7 -0
  126. package/lib/handlers/entity/mtext.cjs +121 -0
  127. package/lib/handlers/entity/mtext.cjs.map +7 -0
  128. package/lib/handlers/entity/mtext.js +85 -0
  129. package/lib/handlers/entity/mtext.js.map +7 -0
  130. package/lib/handlers/entity/ole2Frame.cjs +98 -0
  131. package/lib/handlers/entity/ole2Frame.cjs.map +7 -0
  132. package/lib/handlers/entity/ole2Frame.js +63 -0
  133. package/lib/handlers/entity/ole2Frame.js.map +7 -0
  134. package/lib/handlers/entity/point.cjs +73 -0
  135. package/lib/handlers/entity/point.cjs.map +7 -0
  136. package/lib/handlers/entity/point.js +38 -0
  137. package/lib/handlers/entity/point.js.map +7 -0
  138. package/lib/handlers/entity/polyline.cjs +70 -0
  139. package/lib/handlers/entity/polyline.cjs.map +7 -0
  140. package/lib/handlers/entity/polyline.js +35 -0
  141. package/lib/handlers/entity/polyline.js.map +7 -0
  142. package/lib/handlers/entity/solid.cjs +101 -0
  143. package/lib/handlers/entity/solid.cjs.map +7 -0
  144. package/lib/handlers/entity/solid.js +66 -0
  145. package/lib/handlers/entity/solid.js.map +7 -0
  146. package/lib/handlers/entity/spline.cjs +109 -0
  147. package/lib/handlers/entity/spline.cjs.map +7 -0
  148. package/lib/handlers/entity/spline.js +74 -0
  149. package/lib/handlers/entity/spline.js.map +7 -0
  150. package/lib/handlers/entity/text.cjs +85 -0
  151. package/lib/handlers/entity/text.cjs.map +7 -0
  152. package/lib/handlers/entity/text.js +49 -0
  153. package/lib/handlers/entity/text.js.map +7 -0
  154. package/lib/handlers/entity/threeDFace.cjs +98 -0
  155. package/lib/handlers/entity/threeDFace.cjs.map +7 -0
  156. package/lib/handlers/entity/threeDFace.js +63 -0
  157. package/lib/handlers/entity/threeDFace.js.map +7 -0
  158. package/lib/handlers/entity/vertex.cjs +78 -0
  159. package/lib/handlers/entity/vertex.cjs.map +7 -0
  160. package/lib/handlers/entity/vertex.js +53 -0
  161. package/lib/handlers/entity/vertex.js.map +7 -0
  162. package/lib/handlers/entity/viewport.cjs +153 -0
  163. package/lib/handlers/entity/viewport.cjs.map +7 -0
  164. package/lib/handlers/entity/viewport.js +118 -0
  165. package/lib/handlers/entity/viewport.js.map +7 -0
  166. package/lib/handlers/header.cjs +92 -0
  167. package/lib/handlers/header.cjs.map +7 -0
  168. package/lib/handlers/header.js +72 -0
  169. package/lib/handlers/header.js.map +7 -0
  170. package/lib/handlers/objects.cjs +170 -0
  171. package/lib/handlers/objects.cjs.map +7 -0
  172. package/lib/handlers/objects.js +150 -0
  173. package/lib/handlers/objects.js.map +7 -0
  174. package/lib/handlers/tables.cjs +587 -0
  175. package/lib/handlers/tables.cjs.map +7 -0
  176. package/lib/handlers/tables.js +557 -0
  177. package/lib/handlers/tables.js.map +7 -0
  178. package/lib/index.cjs +60 -0
  179. package/lib/index.cjs.map +7 -0
  180. package/lib/index.js +19 -0
  181. package/lib/index.js.map +7 -0
  182. package/lib/parseString.cjs +118 -0
  183. package/lib/parseString.cjs.map +7 -0
  184. package/lib/parseString.js +88 -0
  185. package/lib/parseString.js.map +7 -0
  186. package/lib/toPolylines.cjs +69 -0
  187. package/lib/toPolylines.cjs.map +7 -0
  188. package/lib/toPolylines.js +39 -0
  189. package/lib/toPolylines.js.map +7 -0
  190. package/lib/toSVG.cjs +395 -0
  191. package/lib/toSVG.cjs.map +7 -0
  192. package/lib/toSVG.js +361 -0
  193. package/lib/toSVG.js.map +7 -0
  194. package/lib/types/arc-entity.cjs +17 -0
  195. package/lib/types/arc-entity.cjs.map +7 -0
  196. package/lib/types/arc-entity.js +1 -0
  197. package/lib/types/arc-entity.js.map +7 -0
  198. package/lib/types/base-entity.cjs +17 -0
  199. package/lib/types/base-entity.cjs.map +7 -0
  200. package/lib/types/base-entity.js +1 -0
  201. package/lib/types/base-entity.js.map +7 -0
  202. package/lib/types/circle-entity.cjs +17 -0
  203. package/lib/types/circle-entity.cjs.map +7 -0
  204. package/lib/types/circle-entity.js +1 -0
  205. package/lib/types/circle-entity.js.map +7 -0
  206. package/lib/types/common.cjs +17 -0
  207. package/lib/types/common.cjs.map +7 -0
  208. package/lib/types/common.js +1 -0
  209. package/lib/types/common.js.map +7 -0
  210. package/lib/types/dimension-entity.cjs +17 -0
  211. package/lib/types/dimension-entity.cjs.map +7 -0
  212. package/lib/types/dimension-entity.js +1 -0
  213. package/lib/types/dimension-entity.js.map +7 -0
  214. package/lib/types/dxf.cjs +17 -0
  215. package/lib/types/dxf.cjs.map +7 -0
  216. package/lib/types/dxf.js +1 -0
  217. package/lib/types/dxf.js.map +7 -0
  218. package/lib/types/ellipse-entity.cjs +17 -0
  219. package/lib/types/ellipse-entity.cjs.map +7 -0
  220. package/lib/types/ellipse-entity.js +1 -0
  221. package/lib/types/ellipse-entity.js.map +7 -0
  222. package/lib/types/entity.cjs +17 -0
  223. package/lib/types/entity.cjs.map +7 -0
  224. package/lib/types/entity.js +1 -0
  225. package/lib/types/entity.js.map +7 -0
  226. package/lib/types/handler-internal.cjs +17 -0
  227. package/lib/types/handler-internal.cjs.map +7 -0
  228. package/lib/types/handler-internal.js +1 -0
  229. package/lib/types/handler-internal.js.map +7 -0
  230. package/lib/types/handler.cjs +17 -0
  231. package/lib/types/handler.cjs.map +7 -0
  232. package/lib/types/handler.js +1 -0
  233. package/lib/types/handler.js.map +7 -0
  234. package/lib/types/hatch-entity.cjs +17 -0
  235. package/lib/types/hatch-entity.cjs.map +7 -0
  236. package/lib/types/hatch-entity.js +1 -0
  237. package/lib/types/hatch-entity.js.map +7 -0
  238. package/lib/types/helper.cjs +17 -0
  239. package/lib/types/helper.cjs.map +7 -0
  240. package/lib/types/helper.js +1 -0
  241. package/lib/types/helper.js.map +7 -0
  242. package/lib/types/index.cjs +77 -0
  243. package/lib/types/index.cjs.map +7 -0
  244. package/lib/types/index.js +29 -0
  245. package/lib/types/index.js.map +7 -0
  246. package/lib/types/insert-entity.cjs +17 -0
  247. package/lib/types/insert-entity.cjs.map +7 -0
  248. package/lib/types/insert-entity.js +1 -0
  249. package/lib/types/insert-entity.js.map +7 -0
  250. package/lib/types/layer-groups.cjs +17 -0
  251. package/lib/types/layer-groups.cjs.map +7 -0
  252. package/lib/types/layer-groups.js +1 -0
  253. package/lib/types/layer-groups.js.map +7 -0
  254. package/lib/types/line-entity.cjs +17 -0
  255. package/lib/types/line-entity.cjs.map +7 -0
  256. package/lib/types/line-entity.js +1 -0
  257. package/lib/types/line-entity.js.map +7 -0
  258. package/lib/types/mtext-entity.cjs +17 -0
  259. package/lib/types/mtext-entity.cjs.map +7 -0
  260. package/lib/types/mtext-entity.js +1 -0
  261. package/lib/types/mtext-entity.js.map +7 -0
  262. package/lib/types/ole2frame-entity.cjs +17 -0
  263. package/lib/types/ole2frame-entity.cjs.map +7 -0
  264. package/lib/types/ole2frame-entity.js +1 -0
  265. package/lib/types/ole2frame-entity.js.map +7 -0
  266. package/lib/types/options.cjs +17 -0
  267. package/lib/types/options.cjs.map +7 -0
  268. package/lib/types/options.js +1 -0
  269. package/lib/types/options.js.map +7 -0
  270. package/lib/types/point-entity.cjs +17 -0
  271. package/lib/types/point-entity.cjs.map +7 -0
  272. package/lib/types/point-entity.js +1 -0
  273. package/lib/types/point-entity.js.map +7 -0
  274. package/lib/types/polyline-entity.cjs +17 -0
  275. package/lib/types/polyline-entity.cjs.map +7 -0
  276. package/lib/types/polyline-entity.js +1 -0
  277. package/lib/types/polyline-entity.js.map +7 -0
  278. package/lib/types/polylines.cjs +17 -0
  279. package/lib/types/polylines.cjs.map +7 -0
  280. package/lib/types/polylines.js +1 -0
  281. package/lib/types/polylines.js.map +7 -0
  282. package/lib/types/solid-entity.cjs +17 -0
  283. package/lib/types/solid-entity.cjs.map +7 -0
  284. package/lib/types/solid-entity.js +1 -0
  285. package/lib/types/solid-entity.js.map +7 -0
  286. package/lib/types/spline-entity.cjs +17 -0
  287. package/lib/types/spline-entity.cjs.map +7 -0
  288. package/lib/types/spline-entity.js +1 -0
  289. package/lib/types/spline-entity.js.map +7 -0
  290. package/lib/types/svg.cjs +17 -0
  291. package/lib/types/svg.cjs.map +7 -0
  292. package/lib/types/svg.js +1 -0
  293. package/lib/types/svg.js.map +7 -0
  294. package/lib/types/tables.cjs +17 -0
  295. package/lib/types/tables.cjs.map +7 -0
  296. package/lib/types/tables.js +1 -0
  297. package/lib/types/tables.js.map +7 -0
  298. package/lib/types/text-entity.cjs +17 -0
  299. package/lib/types/text-entity.cjs.map +7 -0
  300. package/lib/types/text-entity.js +1 -0
  301. package/lib/types/text-entity.js.map +7 -0
  302. package/lib/types/util-types.cjs +17 -0
  303. package/lib/types/util-types.cjs.map +7 -0
  304. package/lib/types/util-types.js +1 -0
  305. package/lib/types/util-types.js.map +7 -0
  306. package/lib/types/vecks.d.cjs +2 -0
  307. package/lib/types/vecks.d.cjs.map +7 -0
  308. package/lib/types/vecks.d.js +1 -0
  309. package/lib/types/vecks.d.js.map +7 -0
  310. package/lib/types/viewport-entity.cjs +17 -0
  311. package/lib/types/viewport-entity.cjs.map +7 -0
  312. package/lib/types/viewport-entity.js +1 -0
  313. package/lib/types/viewport-entity.js.map +7 -0
  314. package/lib/types.cjs +23 -0
  315. package/lib/types.cjs.map +7 -0
  316. package/lib/types.js +2 -0
  317. package/lib/types.js.map +7 -0
  318. package/lib/util/bSpline.cjs +95 -0
  319. package/lib/util/bSpline.cjs.map +7 -0
  320. package/lib/util/bSpline.js +65 -0
  321. package/lib/util/bSpline.js.map +7 -0
  322. package/lib/util/colors.cjs +283 -0
  323. package/lib/util/colors.cjs.map +7 -0
  324. package/lib/util/colors.js +263 -0
  325. package/lib/util/colors.js.map +7 -0
  326. package/lib/util/createArcForLWPolyline.cjs +84 -0
  327. package/lib/util/createArcForLWPolyline.cjs.map +7 -0
  328. package/lib/util/createArcForLWPolyline.js +64 -0
  329. package/lib/util/createArcForLWPolyline.js.map +7 -0
  330. package/lib/util/dxfColorToRGB.cjs +115 -0
  331. package/lib/util/dxfColorToRGB.cjs.map +7 -0
  332. package/lib/util/dxfColorToRGB.js +90 -0
  333. package/lib/util/dxfColorToRGB.js.map +7 -0
  334. package/lib/util/insertKnot.cjs +77 -0
  335. package/lib/util/insertKnot.cjs.map +7 -0
  336. package/lib/util/insertKnot.js +57 -0
  337. package/lib/util/insertKnot.js.map +7 -0
  338. package/lib/util/logger.cjs +53 -0
  339. package/lib/util/logger.cjs.map +7 -0
  340. package/lib/util/logger.js +23 -0
  341. package/lib/util/logger.js.map +7 -0
  342. package/lib/util/rgbToColorAttribute.cjs +32 -0
  343. package/lib/util/rgbToColorAttribute.cjs.map +7 -0
  344. package/lib/util/rgbToColorAttribute.js +12 -0
  345. package/lib/util/rgbToColorAttribute.js.map +7 -0
  346. package/lib/util/rotate.cjs +30 -0
  347. package/lib/util/rotate.cjs.map +7 -0
  348. package/lib/util/rotate.js +10 -0
  349. package/lib/util/rotate.js.map +7 -0
  350. package/lib/util/round10.cjs +38 -0
  351. package/lib/util/round10.cjs.map +7 -0
  352. package/lib/util/round10.js +18 -0
  353. package/lib/util/round10.js.map +7 -0
  354. package/lib/util/toPiecewiseBezier.cjs +90 -0
  355. package/lib/util/toPiecewiseBezier.cjs.map +7 -0
  356. package/lib/util/toPiecewiseBezier.js +54 -0
  357. package/lib/util/toPiecewiseBezier.js.map +7 -0
  358. package/lib/util/transformBoundingBoxAndElement.cjs +80 -0
  359. package/lib/util/transformBoundingBoxAndElement.cjs.map +7 -0
  360. package/lib/util/transformBoundingBoxAndElement.js +60 -0
  361. package/lib/util/transformBoundingBoxAndElement.js.map +7 -0
  362. package/package.json +127 -0
  363. package/src/Helper.ts +71 -0
  364. package/src/applyTransforms.ts +54 -0
  365. package/src/cli.ts +41 -0
  366. package/src/config.ts +10 -0
  367. package/src/constants.ts +14 -0
  368. package/src/denormalise.ts +153 -0
  369. package/src/dimensionToSVG.ts +427 -0
  370. package/src/entityToPolyline.ts +338 -0
  371. package/src/getRGBForEntity.ts +28 -0
  372. package/src/groupEntitiesByLayer.ts +14 -0
  373. package/src/handlers/blocks.ts +65 -0
  374. package/src/handlers/entities.ts +111 -0
  375. package/src/handlers/entity/arc.ts +61 -0
  376. package/src/handlers/entity/attdef.ts +284 -0
  377. package/src/handlers/entity/attrib.ts +29 -0
  378. package/src/handlers/entity/circle.ts +47 -0
  379. package/src/handlers/entity/common.ts +79 -0
  380. package/src/handlers/entity/dimension.ts +217 -0
  381. package/src/handlers/entity/ellipse.ts +55 -0
  382. package/src/handlers/entity/hatch.ts +471 -0
  383. package/src/handlers/entity/insert.ts +73 -0
  384. package/src/handlers/entity/line.ts +56 -0
  385. package/src/handlers/entity/lwpolyline.ts +54 -0
  386. package/src/handlers/entity/mtext.ts +150 -0
  387. package/src/handlers/entity/ole2Frame.ts +64 -0
  388. package/src/handlers/entity/point.ts +47 -0
  389. package/src/handlers/entity/polyline.ts +49 -0
  390. package/src/handlers/entity/solid.ts +73 -0
  391. package/src/handlers/entity/spline.ts +103 -0
  392. package/src/handlers/entity/text.ts +83 -0
  393. package/src/handlers/entity/threeDFace.ts +69 -0
  394. package/src/handlers/entity/vertex.ts +55 -0
  395. package/src/handlers/entity/viewport.ts +119 -0
  396. package/src/handlers/header.ts +73 -0
  397. package/src/handlers/objects.ts +152 -0
  398. package/src/handlers/tables.ts +581 -0
  399. package/src/index.ts +19 -0
  400. package/src/parseString.ts +97 -0
  401. package/src/toPolylines.ts +47 -0
  402. package/src/toSVG.ts +518 -0
  403. package/src/types/README.md +91 -0
  404. package/src/types/arc-entity.ts +10 -0
  405. package/src/types/base-entity.ts +25 -0
  406. package/src/types/circle-entity.ts +8 -0
  407. package/src/types/common.ts +37 -0
  408. package/src/types/dimension-entity.ts +23 -0
  409. package/src/types/dxf.ts +64 -0
  410. package/src/types/ellipse-entity.ts +13 -0
  411. package/src/types/entity.ts +32 -0
  412. package/src/types/handler-internal.ts +51 -0
  413. package/src/types/handler.ts +10 -0
  414. package/src/types/hatch-entity.ts +127 -0
  415. package/src/types/helper.ts +12 -0
  416. package/src/types/index.ts +53 -0
  417. package/src/types/insert-entity.ts +19 -0
  418. package/src/types/layer-groups.ts +8 -0
  419. package/src/types/line-entity.ts +10 -0
  420. package/src/types/mtext-entity.ts +35 -0
  421. package/src/types/ole2frame-entity.ts +35 -0
  422. package/src/types/options.ts +17 -0
  423. package/src/types/point-entity.ts +7 -0
  424. package/src/types/polyline-entity.ts +20 -0
  425. package/src/types/polylines.ts +22 -0
  426. package/src/types/solid-entity.ts +9 -0
  427. package/src/types/spline-entity.ts +12 -0
  428. package/src/types/svg.ts +31 -0
  429. package/src/types/tables.ts +414 -0
  430. package/src/types/text-entity.ts +23 -0
  431. package/src/types/util-types.ts +27 -0
  432. package/src/types/vecks.d.ts +29 -0
  433. package/src/types/viewport-entity.ts +81 -0
  434. package/src/types.ts +5 -0
  435. package/src/util/bSpline.ts +97 -0
  436. package/src/util/colors.ts +266 -0
  437. package/src/util/createArcForLWPolyline.ts +93 -0
  438. package/src/util/diagram.png +0 -0
  439. package/src/util/dxfColorToRGB.ts +106 -0
  440. package/src/util/insertKnot.ts +69 -0
  441. package/src/util/logger.ts +23 -0
  442. package/src/util/rgbToColorAttribute.ts +14 -0
  443. package/src/util/rotate.ts +14 -0
  444. package/src/util/round10.ts +24 -0
  445. package/src/util/toPiecewiseBezier.ts +70 -0
  446. package/src/util/transformBoundingBoxAndElement.ts +74 -0
  447. package/tsconfig.json +34 -0
@@ -0,0 +1,74 @@
1
+ import common from "./common";
2
+ const TYPE = "SPLINE";
3
+ const process = (tuples) => {
4
+ let controlPoint;
5
+ return tuples.reduce(
6
+ (entity, tuple) => {
7
+ const type = tuple[0];
8
+ const value = tuple[1];
9
+ switch (type) {
10
+ case 10:
11
+ controlPoint = {
12
+ x: value,
13
+ y: 0
14
+ };
15
+ entity.controlPoints.push(controlPoint);
16
+ break;
17
+ case 20:
18
+ controlPoint.y = value;
19
+ break;
20
+ case 30:
21
+ controlPoint.z = value;
22
+ break;
23
+ case 40:
24
+ entity.knots.push(value);
25
+ break;
26
+ case 41:
27
+ entity.weights ?? (entity.weights = []);
28
+ entity.weights.push(value);
29
+ break;
30
+ case 42:
31
+ entity.knotTolerance = value;
32
+ break;
33
+ case 43:
34
+ entity.controlPointTolerance = value;
35
+ break;
36
+ case 44:
37
+ entity.fitTolerance = value;
38
+ break;
39
+ case 70:
40
+ entity.flag = value;
41
+ entity.closed = (value & 1) === 1;
42
+ break;
43
+ case 71:
44
+ entity.degree = value;
45
+ break;
46
+ case 72:
47
+ entity.numberOfKnots = value;
48
+ break;
49
+ case 73:
50
+ entity.numberOfControlPoints = value;
51
+ break;
52
+ case 74:
53
+ entity.numberOfFitPoints = value;
54
+ break;
55
+ default:
56
+ Object.assign(entity, common(type, value));
57
+ break;
58
+ }
59
+ return entity;
60
+ },
61
+ {
62
+ type: TYPE,
63
+ controlPoints: [],
64
+ knots: []
65
+ }
66
+ );
67
+ };
68
+ var spline_default = { TYPE, process };
69
+ export {
70
+ TYPE,
71
+ spline_default as default,
72
+ process
73
+ };
74
+ //# sourceMappingURL=spline.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/handlers/entity/spline.ts"],
4
+ "sourcesContent": ["import type { DXFTuple } from '../../types/dxf'\n\nimport common from './common'\n\nexport const TYPE = 'SPLINE'\n\n\ninterface ControlPoint {\n x: number\n y: number\n z?: number\n}\n\ninterface SplineEntity {\n type: typeof TYPE\n controlPoints: ControlPoint[]\n knots: number[]\n weights?: number[]\n knotTolerance?: number\n controlPointTolerance?: number\n fitTolerance?: number\n flag?: number\n closed?: boolean\n degree?: number\n numberOfKnots?: number\n numberOfControlPoints?: number\n numberOfFitPoints?: number\n [key: string]: unknown\n}\n\nexport const process = (tuples: DXFTuple[]): SplineEntity => {\n let controlPoint: ControlPoint\n return tuples.reduce(\n (entity, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n switch (type) {\n case 10:\n controlPoint = {\n x: value as number,\n y: 0,\n }\n entity.controlPoints.push(controlPoint)\n break\n case 20:\n controlPoint.y = value as number\n break\n case 30:\n controlPoint.z = value as number\n break\n case 40:\n entity.knots.push(value as number)\n break\n case 41:\n // Only create weights if needed\n entity.weights ??= []\n entity.weights.push(value as number)\n break\n case 42:\n entity.knotTolerance = value as number\n break\n case 43:\n entity.controlPointTolerance = value as number\n break\n case 44:\n entity.fitTolerance = value as number\n break\n case 70: // Spline flag (bit coded):\n // 1 = Closed spline\n // 2 = Periodic spline\n // 4 = Rational spline\n // 8 = Planar\n // 16 = Linear (planar bit is also set)\n entity.flag = value as number\n entity.closed = ((value as number) & 1) === 1\n break\n case 71:\n entity.degree = value as number\n break\n case 72:\n entity.numberOfKnots = value as number\n break\n case 73:\n entity.numberOfControlPoints = value as number\n break\n case 74:\n entity.numberOfFitPoints = 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 controlPoints: [],\n knots: [],\n } as SplineEntity,\n )\n}\n\nexport default { TYPE, process }\n"],
5
+ "mappings": "AAEA,OAAO,YAAY;AAEZ,MAAM,OAAO;AA0Bb,MAAM,UAAU,CAAC,WAAqC;AAC3D,MAAI;AACJ,SAAO,OAAO;AAAA,IACZ,CAAC,QAAQ,UAAU;AACjB,YAAM,OAAO,MAAM,CAAC;AACpB,YAAM,QAAQ,MAAM,CAAC;AACrB,cAAQ,MAAM;AAAA,QACZ,KAAK;AACH,yBAAe;AAAA,YACb,GAAG;AAAA,YACH,GAAG;AAAA,UACL;AACA,iBAAO,cAAc,KAAK,YAAY;AACtC;AAAA,QACF,KAAK;AACH,uBAAa,IAAI;AACjB;AAAA,QACF,KAAK;AACH,uBAAa,IAAI;AACjB;AAAA,QACF,KAAK;AACH,iBAAO,MAAM,KAAK,KAAe;AACjC;AAAA,QACF,KAAK;AAEH,iBAAO,YAAP,OAAO,UAAY,CAAC;AACpB,iBAAO,QAAQ,KAAK,KAAe;AACnC;AAAA,QACF,KAAK;AACH,iBAAO,gBAAgB;AACvB;AAAA,QACF,KAAK;AACH,iBAAO,wBAAwB;AAC/B;AAAA,QACF,KAAK;AACH,iBAAO,eAAe;AACtB;AAAA,QACF,KAAK;AAMH,iBAAO,OAAO;AACd,iBAAO,UAAW,QAAmB,OAAO;AAC5C;AAAA,QACF,KAAK;AACH,iBAAO,SAAS;AAChB;AAAA,QACF,KAAK;AACH,iBAAO,gBAAgB;AACvB;AAAA,QACF,KAAK;AACH,iBAAO,wBAAwB;AAC/B;AAAA,QACF,KAAK;AACH,iBAAO,oBAAoB;AAC3B;AAAA,QACF;AACE,iBAAO,OAAO,QAAQ,OAAO,MAAM,KAAK,CAAC;AACzC;AAAA,MACJ;AACA,aAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,eAAe,CAAC;AAAA,MAChB,OAAO,CAAC;AAAA,IACV;AAAA,EACF;AACF;AAEA,IAAO,iBAAQ,EAAE,MAAM,QAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,85 @@
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 text_exports = {};
30
+ __export(text_exports, {
31
+ TYPE: () => TYPE,
32
+ assign: () => assign,
33
+ default: () => text_default,
34
+ process: () => process
35
+ });
36
+ module.exports = __toCommonJS(text_exports);
37
+ var import_common = __toESM(require("./common"), 1);
38
+ const TYPE = "TEXT";
39
+ const simpleCodes = {
40
+ 1: "string",
41
+ 10: "x",
42
+ 20: "y",
43
+ 30: "z",
44
+ 11: "x2",
45
+ 21: "y2",
46
+ 31: "z2",
47
+ 39: "thickness",
48
+ 40: "textHeight",
49
+ 41: "relScaleX",
50
+ 50: "rotation",
51
+ 51: "obliqueAngle",
52
+ 7: "styleName",
53
+ 71: "mirror",
54
+ 72: "hAlign",
55
+ 73: "vAlign"
56
+ };
57
+ const process = (tuples) => {
58
+ return tuples.reduce(
59
+ (entity, tuple) => {
60
+ const type = tuple[0];
61
+ const value = tuple[1];
62
+ assign(entity, type, value);
63
+ return entity;
64
+ },
65
+ {
66
+ type: TYPE,
67
+ string: ""
68
+ }
69
+ );
70
+ };
71
+ const assign = (entity, type, value) => {
72
+ if (type in simpleCodes) {
73
+ entity[simpleCodes[type]] = value;
74
+ } else {
75
+ Object.assign(entity, (0, import_common.default)(type, value));
76
+ }
77
+ };
78
+ var text_default = { TYPE, process, assign };
79
+ // Annotate the CommonJS export names for ESM import in node:
80
+ 0 && (module.exports = {
81
+ TYPE,
82
+ assign,
83
+ process
84
+ });
85
+ //# sourceMappingURL=text.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/handlers/entity/text.ts"],
4
+ "sourcesContent": ["import type { DXFTuple } from '../../types/dxf'\n\nimport common from './common'\n\nexport const TYPE = 'TEXT'\n\n\ninterface SimpleCodes {\n [key: number]: string\n}\n\ninterface TextEntity {\n type: typeof TYPE\n string: string\n x?: number\n y?: number\n z?: number\n x2?: number\n y2?: number\n z2?: number\n thickness?: number\n textHeight?: number\n relScaleX?: number\n rotation?: number\n obliqueAngle?: number\n styleName?: string\n mirror?: number\n hAlign?: number\n vAlign?: number\n [key: string]: unknown\n}\n\nconst simpleCodes: SimpleCodes = {\n 1: 'string',\n 10: 'x',\n 20: 'y',\n 30: 'z',\n 11: 'x2',\n 21: 'y2',\n 31: 'z2',\n 39: 'thickness',\n 40: 'textHeight',\n 41: 'relScaleX',\n 50: 'rotation',\n 51: 'obliqueAngle',\n 7: 'styleName',\n 71: 'mirror',\n 72: 'hAlign',\n 73: 'vAlign',\n}\n\n// const EXCEPTION_STRINGS = ['\\\\A1;', '%%u']\n\nexport const process = (tuples: DXFTuple[]): TextEntity => {\n return tuples.reduce(\n (entity, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n\n assign(entity, type, value)\n\n return entity\n },\n {\n type: TYPE,\n string: '',\n } as TextEntity,\n )\n}\n\nexport const assign = (\n entity: TextEntity,\n type: number,\n value: string | number\n): void => {\n if (type in simpleCodes) {\n entity[simpleCodes[type]] = value\n } else {\n Object.assign(entity, common(type, value))\n }\n}\n\nexport default { TYPE, process, assign }\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAAmB;AAEZ,MAAM,OAAO;AA4BpB,MAAM,cAA2B;AAAA,EAC/B,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAIO,MAAM,UAAU,CAAC,WAAmC;AACzD,SAAO,OAAO;AAAA,IACZ,CAAC,QAAQ,UAAU;AACjB,YAAM,OAAO,MAAM,CAAC;AACpB,YAAM,QAAQ,MAAM,CAAC;AAErB,aAAO,QAAQ,MAAM,KAAK;AAE1B,aAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,QAAQ;AAAA,IACV;AAAA,EACF;AACF;AAEO,MAAM,SAAS,CACpB,QACA,MACA,UACS;AACT,MAAI,QAAQ,aAAa;AACvB,WAAO,YAAY,IAAI,CAAC,IAAI;AAAA,EAC9B,OAAO;AACL,WAAO,OAAO,YAAQ,cAAAA,SAAO,MAAM,KAAK,CAAC;AAAA,EAC3C;AACF;AAEA,IAAO,eAAQ,EAAE,MAAM,SAAS,OAAO;",
6
+ "names": ["common"]
7
+ }
@@ -0,0 +1,49 @@
1
+ import common from "./common";
2
+ const TYPE = "TEXT";
3
+ const simpleCodes = {
4
+ 1: "string",
5
+ 10: "x",
6
+ 20: "y",
7
+ 30: "z",
8
+ 11: "x2",
9
+ 21: "y2",
10
+ 31: "z2",
11
+ 39: "thickness",
12
+ 40: "textHeight",
13
+ 41: "relScaleX",
14
+ 50: "rotation",
15
+ 51: "obliqueAngle",
16
+ 7: "styleName",
17
+ 71: "mirror",
18
+ 72: "hAlign",
19
+ 73: "vAlign"
20
+ };
21
+ const process = (tuples) => {
22
+ return tuples.reduce(
23
+ (entity, tuple) => {
24
+ const type = tuple[0];
25
+ const value = tuple[1];
26
+ assign(entity, type, value);
27
+ return entity;
28
+ },
29
+ {
30
+ type: TYPE,
31
+ string: ""
32
+ }
33
+ );
34
+ };
35
+ const assign = (entity, type, value) => {
36
+ if (type in simpleCodes) {
37
+ entity[simpleCodes[type]] = value;
38
+ } else {
39
+ Object.assign(entity, common(type, value));
40
+ }
41
+ };
42
+ var text_default = { TYPE, process, assign };
43
+ export {
44
+ TYPE,
45
+ assign,
46
+ text_default as default,
47
+ process
48
+ };
49
+ //# sourceMappingURL=text.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/handlers/entity/text.ts"],
4
+ "sourcesContent": ["import type { DXFTuple } from '../../types/dxf'\n\nimport common from './common'\n\nexport const TYPE = 'TEXT'\n\n\ninterface SimpleCodes {\n [key: number]: string\n}\n\ninterface TextEntity {\n type: typeof TYPE\n string: string\n x?: number\n y?: number\n z?: number\n x2?: number\n y2?: number\n z2?: number\n thickness?: number\n textHeight?: number\n relScaleX?: number\n rotation?: number\n obliqueAngle?: number\n styleName?: string\n mirror?: number\n hAlign?: number\n vAlign?: number\n [key: string]: unknown\n}\n\nconst simpleCodes: SimpleCodes = {\n 1: 'string',\n 10: 'x',\n 20: 'y',\n 30: 'z',\n 11: 'x2',\n 21: 'y2',\n 31: 'z2',\n 39: 'thickness',\n 40: 'textHeight',\n 41: 'relScaleX',\n 50: 'rotation',\n 51: 'obliqueAngle',\n 7: 'styleName',\n 71: 'mirror',\n 72: 'hAlign',\n 73: 'vAlign',\n}\n\n// const EXCEPTION_STRINGS = ['\\\\A1;', '%%u']\n\nexport const process = (tuples: DXFTuple[]): TextEntity => {\n return tuples.reduce(\n (entity, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n\n assign(entity, type, value)\n\n return entity\n },\n {\n type: TYPE,\n string: '',\n } as TextEntity,\n )\n}\n\nexport const assign = (\n entity: TextEntity,\n type: number,\n value: string | number\n): void => {\n if (type in simpleCodes) {\n entity[simpleCodes[type]] = value\n } else {\n Object.assign(entity, common(type, value))\n }\n}\n\nexport default { TYPE, process, assign }\n"],
5
+ "mappings": "AAEA,OAAO,YAAY;AAEZ,MAAM,OAAO;AA4BpB,MAAM,cAA2B;AAAA,EAC/B,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAIO,MAAM,UAAU,CAAC,WAAmC;AACzD,SAAO,OAAO;AAAA,IACZ,CAAC,QAAQ,UAAU;AACjB,YAAM,OAAO,MAAM,CAAC;AACpB,YAAM,QAAQ,MAAM,CAAC;AAErB,aAAO,QAAQ,MAAM,KAAK;AAE1B,aAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,QAAQ;AAAA,IACV;AAAA,EACF;AACF;AAEO,MAAM,SAAS,CACpB,QACA,MACA,UACS;AACT,MAAI,QAAQ,aAAa;AACvB,WAAO,YAAY,IAAI,CAAC,IAAI;AAAA,EAC9B,OAAO;AACL,WAAO,OAAO,QAAQ,OAAO,MAAM,KAAK,CAAC;AAAA,EAC3C;AACF;AAEA,IAAO,eAAQ,EAAE,MAAM,SAAS,OAAO;",
6
+ "names": []
7
+ }
@@ -0,0 +1,98 @@
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 threeDFace_exports = {};
30
+ __export(threeDFace_exports, {
31
+ TYPE: () => TYPE,
32
+ default: () => threeDFace_default,
33
+ process: () => process
34
+ });
35
+ module.exports = __toCommonJS(threeDFace_exports);
36
+ var import_common = __toESM(require("./common"), 1);
37
+ const TYPE = "3DFACE";
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.vertices[0].x = value;
46
+ break;
47
+ case 20:
48
+ entity.vertices[0].y = value;
49
+ break;
50
+ case 30:
51
+ entity.vertices[0].z = value;
52
+ break;
53
+ case 11:
54
+ entity.vertices[1].x = value;
55
+ break;
56
+ case 21:
57
+ entity.vertices[1].y = value;
58
+ break;
59
+ case 31:
60
+ entity.vertices[1].z = value;
61
+ break;
62
+ case 12:
63
+ entity.vertices[2].x = value;
64
+ break;
65
+ case 22:
66
+ entity.vertices[2].y = value;
67
+ break;
68
+ case 32:
69
+ entity.vertices[2].z = value;
70
+ break;
71
+ case 13:
72
+ entity.vertices[3].x = value;
73
+ break;
74
+ case 23:
75
+ entity.vertices[3].y = value;
76
+ break;
77
+ case 33:
78
+ entity.vertices[3].z = value;
79
+ break;
80
+ default:
81
+ Object.assign(entity, (0, import_common.default)(type, value));
82
+ break;
83
+ }
84
+ return entity;
85
+ },
86
+ {
87
+ type: TYPE,
88
+ vertices: [{}, {}, {}, {}]
89
+ }
90
+ );
91
+ };
92
+ var threeDFace_default = { TYPE, process };
93
+ // Annotate the CommonJS export names for ESM import in node:
94
+ 0 && (module.exports = {
95
+ TYPE,
96
+ process
97
+ });
98
+ //# sourceMappingURL=threeDFace.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/handlers/entity/threeDFace.ts"],
4
+ "sourcesContent": ["import type { DXFTuple } from '../../types/dxf'\n\nimport type { Point3D } from '../../types'\nimport common from './common'\n\n\ninterface ThreeDFaceEntity {\n type: string\n vertices: Point3D[]\n}\n\nexport const TYPE = '3DFACE'\n\nexport const process = (tuples: DXFTuple[]): ThreeDFaceEntity => {\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.vertices[0].x = value as number\n break\n case 20:\n entity.vertices[0].y = value as number\n break\n case 30:\n entity.vertices[0].z = value as number\n break\n case 11:\n entity.vertices[1].x = value as number\n break\n case 21:\n entity.vertices[1].y = value as number\n break\n case 31:\n entity.vertices[1].z = value as number\n break\n case 12:\n entity.vertices[2].x = value as number\n break\n case 22:\n entity.vertices[2].y = value as number\n break\n case 32:\n entity.vertices[2].z = value as number\n break\n case 13:\n entity.vertices[3].x = value as number\n break\n case 23:\n entity.vertices[3].y = value as number\n break\n case 33:\n entity.vertices[3].z = 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 vertices: [{} as Point3D, {} as Point3D, {} as Point3D, {} as Point3D],\n } as ThreeDFaceEntity,\n )\n}\n\nexport default { TYPE, process }\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAAmB;AAQZ,MAAM,OAAO;AAEb,MAAM,UAAU,CAAC,WAAyC;AAC/D,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,SAAS,CAAC,EAAE,IAAI;AACvB;AAAA,QACF,KAAK;AACH,iBAAO,SAAS,CAAC,EAAE,IAAI;AACvB;AAAA,QACF,KAAK;AACH,iBAAO,SAAS,CAAC,EAAE,IAAI;AACvB;AAAA,QACF,KAAK;AACH,iBAAO,SAAS,CAAC,EAAE,IAAI;AACvB;AAAA,QACF,KAAK;AACH,iBAAO,SAAS,CAAC,EAAE,IAAI;AACvB;AAAA,QACF,KAAK;AACH,iBAAO,SAAS,CAAC,EAAE,IAAI;AACvB;AAAA,QACF,KAAK;AACH,iBAAO,SAAS,CAAC,EAAE,IAAI;AACvB;AAAA,QACF,KAAK;AACH,iBAAO,SAAS,CAAC,EAAE,IAAI;AACvB;AAAA,QACF,KAAK;AACH,iBAAO,SAAS,CAAC,EAAE,IAAI;AACvB;AAAA,QACF,KAAK;AACH,iBAAO,SAAS,CAAC,EAAE,IAAI;AACvB;AAAA,QACF,KAAK;AACH,iBAAO,SAAS,CAAC,EAAE,IAAI;AACvB;AAAA,QACF,KAAK;AACH,iBAAO,SAAS,CAAC,EAAE,IAAI;AACvB;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,UAAU,CAAC,CAAC,GAAc,CAAC,GAAc,CAAC,GAAc,CAAC,CAAY;AAAA,IACvE;AAAA,EACF;AACF;AAEA,IAAO,qBAAQ,EAAE,MAAM,QAAQ;",
6
+ "names": ["common"]
7
+ }
@@ -0,0 +1,63 @@
1
+ import common from "./common";
2
+ const TYPE = "3DFACE";
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.vertices[0].x = value;
11
+ break;
12
+ case 20:
13
+ entity.vertices[0].y = value;
14
+ break;
15
+ case 30:
16
+ entity.vertices[0].z = value;
17
+ break;
18
+ case 11:
19
+ entity.vertices[1].x = value;
20
+ break;
21
+ case 21:
22
+ entity.vertices[1].y = value;
23
+ break;
24
+ case 31:
25
+ entity.vertices[1].z = value;
26
+ break;
27
+ case 12:
28
+ entity.vertices[2].x = value;
29
+ break;
30
+ case 22:
31
+ entity.vertices[2].y = value;
32
+ break;
33
+ case 32:
34
+ entity.vertices[2].z = value;
35
+ break;
36
+ case 13:
37
+ entity.vertices[3].x = value;
38
+ break;
39
+ case 23:
40
+ entity.vertices[3].y = value;
41
+ break;
42
+ case 33:
43
+ entity.vertices[3].z = value;
44
+ break;
45
+ default:
46
+ Object.assign(entity, common(type, value));
47
+ break;
48
+ }
49
+ return entity;
50
+ },
51
+ {
52
+ type: TYPE,
53
+ vertices: [{}, {}, {}, {}]
54
+ }
55
+ );
56
+ };
57
+ var threeDFace_default = { TYPE, process };
58
+ export {
59
+ TYPE,
60
+ threeDFace_default as default,
61
+ process
62
+ };
63
+ //# sourceMappingURL=threeDFace.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/handlers/entity/threeDFace.ts"],
4
+ "sourcesContent": ["import type { DXFTuple } from '../../types/dxf'\n\nimport type { Point3D } from '../../types'\nimport common from './common'\n\n\ninterface ThreeDFaceEntity {\n type: string\n vertices: Point3D[]\n}\n\nexport const TYPE = '3DFACE'\n\nexport const process = (tuples: DXFTuple[]): ThreeDFaceEntity => {\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.vertices[0].x = value as number\n break\n case 20:\n entity.vertices[0].y = value as number\n break\n case 30:\n entity.vertices[0].z = value as number\n break\n case 11:\n entity.vertices[1].x = value as number\n break\n case 21:\n entity.vertices[1].y = value as number\n break\n case 31:\n entity.vertices[1].z = value as number\n break\n case 12:\n entity.vertices[2].x = value as number\n break\n case 22:\n entity.vertices[2].y = value as number\n break\n case 32:\n entity.vertices[2].z = value as number\n break\n case 13:\n entity.vertices[3].x = value as number\n break\n case 23:\n entity.vertices[3].y = value as number\n break\n case 33:\n entity.vertices[3].z = 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 vertices: [{} as Point3D, {} as Point3D, {} as Point3D, {} as Point3D],\n } as ThreeDFaceEntity,\n )\n}\n\nexport default { TYPE, process }\n"],
5
+ "mappings": "AAGA,OAAO,YAAY;AAQZ,MAAM,OAAO;AAEb,MAAM,UAAU,CAAC,WAAyC;AAC/D,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,SAAS,CAAC,EAAE,IAAI;AACvB;AAAA,QACF,KAAK;AACH,iBAAO,SAAS,CAAC,EAAE,IAAI;AACvB;AAAA,QACF,KAAK;AACH,iBAAO,SAAS,CAAC,EAAE,IAAI;AACvB;AAAA,QACF,KAAK;AACH,iBAAO,SAAS,CAAC,EAAE,IAAI;AACvB;AAAA,QACF,KAAK;AACH,iBAAO,SAAS,CAAC,EAAE,IAAI;AACvB;AAAA,QACF,KAAK;AACH,iBAAO,SAAS,CAAC,EAAE,IAAI;AACvB;AAAA,QACF,KAAK;AACH,iBAAO,SAAS,CAAC,EAAE,IAAI;AACvB;AAAA,QACF,KAAK;AACH,iBAAO,SAAS,CAAC,EAAE,IAAI;AACvB;AAAA,QACF,KAAK;AACH,iBAAO,SAAS,CAAC,EAAE,IAAI;AACvB;AAAA,QACF,KAAK;AACH,iBAAO,SAAS,CAAC,EAAE,IAAI;AACvB;AAAA,QACF,KAAK;AACH,iBAAO,SAAS,CAAC,EAAE,IAAI;AACvB;AAAA,QACF,KAAK;AACH,iBAAO,SAAS,CAAC,EAAE,IAAI;AACvB;AAAA,QACF;AACE,iBAAO,OAAO,QAAQ,OAAO,MAAM,KAAK,CAAC;AACzC;AAAA,MACJ;AACA,aAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,UAAU,CAAC,CAAC,GAAc,CAAC,GAAc,CAAC,GAAc,CAAC,CAAY;AAAA,IACvE;AAAA,EACF;AACF;AAEA,IAAO,qBAAQ,EAAE,MAAM,QAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var vertex_exports = {};
20
+ __export(vertex_exports, {
21
+ TYPE: () => TYPE,
22
+ default: () => vertex_default,
23
+ process: () => process
24
+ });
25
+ module.exports = __toCommonJS(vertex_exports);
26
+ const TYPE = "VERTEX";
27
+ const ensureFaces = (entity) => {
28
+ entity.faces = entity.faces || [];
29
+ if ("x" in entity && !entity.x) delete entity.x;
30
+ if ("y" in entity && !entity.y) delete entity.y;
31
+ if ("z" in entity && !entity.z) delete entity.z;
32
+ };
33
+ const process = (tuples) => {
34
+ return tuples.reduce((entity, tuple) => {
35
+ const type = tuple[0];
36
+ const value = tuple[1];
37
+ switch (type) {
38
+ case 10:
39
+ entity.x = value;
40
+ break;
41
+ case 20:
42
+ entity.y = value;
43
+ break;
44
+ case 30:
45
+ entity.z = value;
46
+ break;
47
+ case 42:
48
+ entity.bulge = value;
49
+ break;
50
+ case 71:
51
+ ensureFaces(entity);
52
+ entity.faces[0] = value;
53
+ break;
54
+ case 72:
55
+ ensureFaces(entity);
56
+ entity.faces[1] = value;
57
+ break;
58
+ case 73:
59
+ ensureFaces(entity);
60
+ entity.faces[2] = value;
61
+ break;
62
+ case 74:
63
+ ensureFaces(entity);
64
+ entity.faces[3] = value;
65
+ break;
66
+ default:
67
+ break;
68
+ }
69
+ return entity;
70
+ }, {});
71
+ };
72
+ var vertex_default = { TYPE, process };
73
+ // Annotate the CommonJS export names for ESM import in node:
74
+ 0 && (module.exports = {
75
+ TYPE,
76
+ process
77
+ });
78
+ //# sourceMappingURL=vertex.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/handlers/entity/vertex.ts"],
4
+ "sourcesContent": ["import type { DXFTuple } from '../../types/dxf'\n\nimport type { Vertex } from '../../types'\n\nexport const TYPE = 'VERTEX'\n\n\nconst ensureFaces = (entity: Vertex): void => {\n entity.faces = entity.faces || []\n if ('x' in entity && !entity.x) delete entity.x\n if ('y' in entity && !entity.y) delete entity.y\n if ('z' in entity && !entity.z) delete entity.z\n}\n\nexport const process = (tuples: DXFTuple[]): Vertex => {\n return tuples.reduce((entity, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n switch (type) {\n case 10:\n entity.x = value as number\n break\n case 20:\n entity.y = value as number\n break\n case 30:\n entity.z = value as number\n break\n case 42:\n entity.bulge = value as number\n break\n case 71:\n ensureFaces(entity)\n entity.faces![0] = value as number\n break\n case 72:\n ensureFaces(entity)\n entity.faces![1] = value as number\n break\n case 73:\n ensureFaces(entity)\n entity.faces![2] = value as number\n break\n case 74:\n ensureFaces(entity)\n entity.faces![3] = value as number\n break\n default:\n break\n }\n return entity\n }, {} as Vertex)\n}\n\nexport default { TYPE, process }\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIO,MAAM,OAAO;AAGpB,MAAM,cAAc,CAAC,WAAyB;AAC5C,SAAO,QAAQ,OAAO,SAAS,CAAC;AAChC,MAAI,OAAO,UAAU,CAAC,OAAO,EAAG,QAAO,OAAO;AAC9C,MAAI,OAAO,UAAU,CAAC,OAAO,EAAG,QAAO,OAAO;AAC9C,MAAI,OAAO,UAAU,CAAC,OAAO,EAAG,QAAO,OAAO;AAChD;AAEO,MAAM,UAAU,CAAC,WAA+B;AACrD,SAAO,OAAO,OAAO,CAAC,QAAQ,UAAU;AACtC,UAAM,OAAO,MAAM,CAAC;AACpB,UAAM,QAAQ,MAAM,CAAC;AACrB,YAAQ,MAAM;AAAA,MACZ,KAAK;AACH,eAAO,IAAI;AACX;AAAA,MACF,KAAK;AACH,eAAO,IAAI;AACX;AAAA,MACF,KAAK;AACH,eAAO,IAAI;AACX;AAAA,MACF,KAAK;AACH,eAAO,QAAQ;AACf;AAAA,MACF,KAAK;AACH,oBAAY,MAAM;AAClB,eAAO,MAAO,CAAC,IAAI;AACnB;AAAA,MACF,KAAK;AACH,oBAAY,MAAM;AAClB,eAAO,MAAO,CAAC,IAAI;AACnB;AAAA,MACF,KAAK;AACH,oBAAY,MAAM;AAClB,eAAO,MAAO,CAAC,IAAI;AACnB;AAAA,MACF,KAAK;AACH,oBAAY,MAAM;AAClB,eAAO,MAAO,CAAC,IAAI;AACnB;AAAA,MACF;AACE;AAAA,IACJ;AACA,WAAO;AAAA,EACT,GAAG,CAAC,CAAW;AACjB;AAEA,IAAO,iBAAQ,EAAE,MAAM,QAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,53 @@
1
+ const TYPE = "VERTEX";
2
+ const ensureFaces = (entity) => {
3
+ entity.faces = entity.faces || [];
4
+ if ("x" in entity && !entity.x) delete entity.x;
5
+ if ("y" in entity && !entity.y) delete entity.y;
6
+ if ("z" in entity && !entity.z) delete entity.z;
7
+ };
8
+ const process = (tuples) => {
9
+ return tuples.reduce((entity, tuple) => {
10
+ const type = tuple[0];
11
+ const value = tuple[1];
12
+ switch (type) {
13
+ case 10:
14
+ entity.x = value;
15
+ break;
16
+ case 20:
17
+ entity.y = value;
18
+ break;
19
+ case 30:
20
+ entity.z = value;
21
+ break;
22
+ case 42:
23
+ entity.bulge = value;
24
+ break;
25
+ case 71:
26
+ ensureFaces(entity);
27
+ entity.faces[0] = value;
28
+ break;
29
+ case 72:
30
+ ensureFaces(entity);
31
+ entity.faces[1] = value;
32
+ break;
33
+ case 73:
34
+ ensureFaces(entity);
35
+ entity.faces[2] = value;
36
+ break;
37
+ case 74:
38
+ ensureFaces(entity);
39
+ entity.faces[3] = value;
40
+ break;
41
+ default:
42
+ break;
43
+ }
44
+ return entity;
45
+ }, {});
46
+ };
47
+ var vertex_default = { TYPE, process };
48
+ export {
49
+ TYPE,
50
+ vertex_default as default,
51
+ process
52
+ };
53
+ //# sourceMappingURL=vertex.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/handlers/entity/vertex.ts"],
4
+ "sourcesContent": ["import type { DXFTuple } from '../../types/dxf'\n\nimport type { Vertex } from '../../types'\n\nexport const TYPE = 'VERTEX'\n\n\nconst ensureFaces = (entity: Vertex): void => {\n entity.faces = entity.faces || []\n if ('x' in entity && !entity.x) delete entity.x\n if ('y' in entity && !entity.y) delete entity.y\n if ('z' in entity && !entity.z) delete entity.z\n}\n\nexport const process = (tuples: DXFTuple[]): Vertex => {\n return tuples.reduce((entity, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n switch (type) {\n case 10:\n entity.x = value as number\n break\n case 20:\n entity.y = value as number\n break\n case 30:\n entity.z = value as number\n break\n case 42:\n entity.bulge = value as number\n break\n case 71:\n ensureFaces(entity)\n entity.faces![0] = value as number\n break\n case 72:\n ensureFaces(entity)\n entity.faces![1] = value as number\n break\n case 73:\n ensureFaces(entity)\n entity.faces![2] = value as number\n break\n case 74:\n ensureFaces(entity)\n entity.faces![3] = value as number\n break\n default:\n break\n }\n return entity\n }, {} as Vertex)\n}\n\nexport default { TYPE, process }\n"],
5
+ "mappings": "AAIO,MAAM,OAAO;AAGpB,MAAM,cAAc,CAAC,WAAyB;AAC5C,SAAO,QAAQ,OAAO,SAAS,CAAC;AAChC,MAAI,OAAO,UAAU,CAAC,OAAO,EAAG,QAAO,OAAO;AAC9C,MAAI,OAAO,UAAU,CAAC,OAAO,EAAG,QAAO,OAAO;AAC9C,MAAI,OAAO,UAAU,CAAC,OAAO,EAAG,QAAO,OAAO;AAChD;AAEO,MAAM,UAAU,CAAC,WAA+B;AACrD,SAAO,OAAO,OAAO,CAAC,QAAQ,UAAU;AACtC,UAAM,OAAO,MAAM,CAAC;AACpB,UAAM,QAAQ,MAAM,CAAC;AACrB,YAAQ,MAAM;AAAA,MACZ,KAAK;AACH,eAAO,IAAI;AACX;AAAA,MACF,KAAK;AACH,eAAO,IAAI;AACX;AAAA,MACF,KAAK;AACH,eAAO,IAAI;AACX;AAAA,MACF,KAAK;AACH,eAAO,QAAQ;AACf;AAAA,MACF,KAAK;AACH,oBAAY,MAAM;AAClB,eAAO,MAAO,CAAC,IAAI;AACnB;AAAA,MACF,KAAK;AACH,oBAAY,MAAM;AAClB,eAAO,MAAO,CAAC,IAAI;AACnB;AAAA,MACF,KAAK;AACH,oBAAY,MAAM;AAClB,eAAO,MAAO,CAAC,IAAI;AACnB;AAAA,MACF,KAAK;AACH,oBAAY,MAAM;AAClB,eAAO,MAAO,CAAC,IAAI;AACnB;AAAA,MACF;AACE;AAAA,IACJ;AACA,WAAO;AAAA,EACT,GAAG,CAAC,CAAW;AACjB;AAEA,IAAO,iBAAQ,EAAE,MAAM,QAAQ;",
6
+ "names": []
7
+ }