@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,63 @@
1
+ import common from "./common";
2
+ const TYPE = "OLE2FRAME";
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 70:
10
+ entity.version = value;
11
+ break;
12
+ case 3:
13
+ entity.name = value;
14
+ break;
15
+ case 10:
16
+ entity.upperLeftX = value;
17
+ break;
18
+ case 20:
19
+ entity.upperLeftY = value;
20
+ break;
21
+ case 30:
22
+ entity.upperLeftZ = value;
23
+ break;
24
+ case 11:
25
+ entity.lowerRightX = value;
26
+ break;
27
+ case 21:
28
+ entity.lowerRightY = value;
29
+ break;
30
+ case 31:
31
+ entity.lowerRightZ = value;
32
+ break;
33
+ case 71:
34
+ entity.objectType = value;
35
+ break;
36
+ case 72:
37
+ entity.tile = value;
38
+ break;
39
+ case 90:
40
+ entity.length = value;
41
+ break;
42
+ case 310:
43
+ entity.data += value;
44
+ break;
45
+ default:
46
+ Object.assign(entity, common(type, value));
47
+ break;
48
+ }
49
+ return entity;
50
+ },
51
+ {
52
+ type: TYPE,
53
+ data: ""
54
+ }
55
+ );
56
+ };
57
+ var ole2Frame_default = { TYPE, process };
58
+ export {
59
+ TYPE,
60
+ ole2Frame_default as default,
61
+ process
62
+ };
63
+ //# sourceMappingURL=ole2Frame.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/handlers/entity/ole2Frame.ts"],
4
+ "sourcesContent": ["import type { DXFTuple, Ole2FrameEntity } from '../../types'\n\nimport common from './common'\n\nexport const TYPE = 'OLE2FRAME'\n\nexport const process = (tuples: DXFTuple[]): Ole2FrameEntity => {\n return tuples.reduce(\n (entity, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n switch (type) {\n case 70:\n entity.version = value\n break\n case 3:\n entity.name = value\n break\n case 10:\n entity.upperLeftX = value\n break\n case 20:\n entity.upperLeftY = value\n break\n case 30:\n entity.upperLeftZ = value\n break\n case 11:\n entity.lowerRightX = value\n break\n case 21:\n entity.lowerRightY = value\n break\n case 31:\n entity.lowerRightZ = value\n break\n case 71:\n // 1 = Link; 2 = Embedded; 3 = Static\n entity.objectType = value\n break\n case 72:\n // 0 = Object resides in model space, 1 = Object resides in paper space\n entity.tile = value\n break\n case 90:\n entity.length = value\n break\n case 310:\n entity.data += value\n break\n default:\n Object.assign(entity, common(type, value))\n break\n }\n return entity\n },\n {\n type: TYPE,\n data: '',\n } as Ole2FrameEntity,\n )\n}\n\nexport default { TYPE, process }\n"],
5
+ "mappings": "AAEA,OAAO,YAAY;AAEZ,MAAM,OAAO;AAEb,MAAM,UAAU,CAAC,WAAwC;AAC9D,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,UAAU;AACjB;AAAA,QACF,KAAK;AACH,iBAAO,OAAO;AACd;AAAA,QACF,KAAK;AACH,iBAAO,aAAa;AACpB;AAAA,QACF,KAAK;AACH,iBAAO,aAAa;AACpB;AAAA,QACF,KAAK;AACH,iBAAO,aAAa;AACpB;AAAA,QACF,KAAK;AACH,iBAAO,cAAc;AACrB;AAAA,QACF,KAAK;AACH,iBAAO,cAAc;AACrB;AAAA,QACF,KAAK;AACH,iBAAO,cAAc;AACrB;AAAA,QACF,KAAK;AAEH,iBAAO,aAAa;AACpB;AAAA,QACF,KAAK;AAEH,iBAAO,OAAO;AACd;AAAA,QACF,KAAK;AACH,iBAAO,SAAS;AAChB;AAAA,QACF,KAAK;AACH,iBAAO,QAAQ;AACf;AAAA,QACF;AACE,iBAAO,OAAO,QAAQ,OAAO,MAAM,KAAK,CAAC;AACzC;AAAA,MACJ;AACA,aAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,EACF;AACF;AAEA,IAAO,oBAAQ,EAAE,MAAM,QAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,73 @@
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 point_exports = {};
30
+ __export(point_exports, {
31
+ TYPE: () => TYPE,
32
+ default: () => point_default,
33
+ process: () => process
34
+ });
35
+ module.exports = __toCommonJS(point_exports);
36
+ var import_common = __toESM(require("./common"), 1);
37
+ const TYPE = "POINT";
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.x = value;
46
+ break;
47
+ case 20:
48
+ entity.y = value;
49
+ break;
50
+ case 30:
51
+ entity.z = value;
52
+ break;
53
+ case 39:
54
+ entity.thickness = value;
55
+ break;
56
+ default:
57
+ Object.assign(entity, (0, import_common.default)(type, value));
58
+ break;
59
+ }
60
+ return entity;
61
+ },
62
+ {
63
+ type: TYPE
64
+ }
65
+ );
66
+ };
67
+ var point_default = { TYPE, process };
68
+ // Annotate the CommonJS export names for ESM import in node:
69
+ 0 && (module.exports = {
70
+ TYPE,
71
+ process
72
+ });
73
+ //# sourceMappingURL=point.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/handlers/entity/point.ts"],
4
+ "sourcesContent": ["import type { DXFTuple } from '../../types/dxf'\n\nimport common from './common'\n\nexport const TYPE = 'POINT'\n\n\ninterface PointEntity {\n type: typeof TYPE\n x?: number\n y?: number\n z?: number\n thickness?: number\n [key: string]: unknown\n}\n\nexport const process = (tuples: DXFTuple[]): PointEntity => {\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.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 39:\n entity.thickness = 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 } as PointEntity,\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;AACrB,cAAQ,MAAM;AAAA,QACZ,KAAK;AACH,iBAAO,IAAI;AACX;AAAA,QACF,KAAK;AACH,iBAAO,IAAI;AACX;AAAA,QACF,KAAK;AACH,iBAAO,IAAI;AACX;AAAA,QACF,KAAK;AACH,iBAAO,YAAY;AACnB;AAAA,QACF;AACE,iBAAO,OAAO,YAAQ,cAAAA,SAAO,MAAM,KAAK,CAAC;AACzC;AAAA,MACJ;AACA,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,38 @@
1
+ import common from "./common";
2
+ const TYPE = "POINT";
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.x = value;
11
+ break;
12
+ case 20:
13
+ entity.y = value;
14
+ break;
15
+ case 30:
16
+ entity.z = value;
17
+ break;
18
+ case 39:
19
+ entity.thickness = value;
20
+ break;
21
+ default:
22
+ Object.assign(entity, common(type, value));
23
+ break;
24
+ }
25
+ return entity;
26
+ },
27
+ {
28
+ type: TYPE
29
+ }
30
+ );
31
+ };
32
+ var point_default = { TYPE, process };
33
+ export {
34
+ TYPE,
35
+ point_default as default,
36
+ process
37
+ };
38
+ //# sourceMappingURL=point.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/handlers/entity/point.ts"],
4
+ "sourcesContent": ["import type { DXFTuple } from '../../types/dxf'\n\nimport common from './common'\n\nexport const TYPE = 'POINT'\n\n\ninterface PointEntity {\n type: typeof TYPE\n x?: number\n y?: number\n z?: number\n thickness?: number\n [key: string]: unknown\n}\n\nexport const process = (tuples: DXFTuple[]): PointEntity => {\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.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 39:\n entity.thickness = 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 } as PointEntity,\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;AACrB,cAAQ,MAAM;AAAA,QACZ,KAAK;AACH,iBAAO,IAAI;AACX;AAAA,QACF,KAAK;AACH,iBAAO,IAAI;AACX;AAAA,QACF,KAAK;AACH,iBAAO,IAAI;AACX;AAAA,QACF,KAAK;AACH,iBAAO,YAAY;AACnB;AAAA,QACF;AACE,iBAAO,OAAO,QAAQ,OAAO,MAAM,KAAK,CAAC;AACzC;AAAA,MACJ;AACA,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,70 @@
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 polyline_exports = {};
30
+ __export(polyline_exports, {
31
+ TYPE: () => TYPE,
32
+ default: () => polyline_default,
33
+ process: () => process
34
+ });
35
+ module.exports = __toCommonJS(polyline_exports);
36
+ var import_common = __toESM(require("./common"), 1);
37
+ const TYPE = "POLYLINE";
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 70:
45
+ entity.closed = (value & 1) === 1;
46
+ entity.polygonMesh = (value & 16) === 16;
47
+ entity.polyfaceMesh = (value & 64) === 64;
48
+ break;
49
+ case 39:
50
+ entity.thickness = value;
51
+ break;
52
+ default:
53
+ Object.assign(entity, (0, import_common.default)(type, value));
54
+ break;
55
+ }
56
+ return entity;
57
+ },
58
+ {
59
+ type: TYPE,
60
+ vertices: []
61
+ }
62
+ );
63
+ };
64
+ var polyline_default = { TYPE, process };
65
+ // Annotate the CommonJS export names for ESM import in node:
66
+ 0 && (module.exports = {
67
+ TYPE,
68
+ process
69
+ });
70
+ //# sourceMappingURL=polyline.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/handlers/entity/polyline.ts"],
4
+ "sourcesContent": ["import type { DXFTuple } from '../../types/dxf'\n\nimport common from './common'\n\nexport const TYPE = 'POLYLINE'\n\n\ninterface Vertex {\n [key: string]: unknown\n}\n\ninterface PolylineEntity {\n type: typeof TYPE\n vertices: Vertex[]\n closed?: boolean\n polygonMesh?: boolean\n polyfaceMesh?: boolean\n thickness?: number\n [key: string]: unknown\n}\n\nexport const process = (tuples: DXFTuple[]): PolylineEntity => {\n return tuples.reduce(\n (entity, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n switch (type) {\n case 70:\n entity.closed = ((value as number) & 1) === 1\n entity.polygonMesh = ((value as number) & 16) === 16\n entity.polyfaceMesh = ((value as number) & 64) === 64\n break\n case 39:\n entity.thickness = 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: [],\n } as PolylineEntity,\n )\n}\n\nexport default { TYPE, process }\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAAmB;AAEZ,MAAM,OAAO;AAiBb,MAAM,UAAU,CAAC,WAAuC;AAC7D,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,UAAW,QAAmB,OAAO;AAC5C,iBAAO,eAAgB,QAAmB,QAAQ;AAClD,iBAAO,gBAAiB,QAAmB,QAAQ;AACnD;AAAA,QACF,KAAK;AACH,iBAAO,YAAY;AACnB;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;AAAA,IACb;AAAA,EACF;AACF;AAEA,IAAO,mBAAQ,EAAE,MAAM,QAAQ;",
6
+ "names": ["common"]
7
+ }
@@ -0,0 +1,35 @@
1
+ import common from "./common";
2
+ const TYPE = "POLYLINE";
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 70:
10
+ entity.closed = (value & 1) === 1;
11
+ entity.polygonMesh = (value & 16) === 16;
12
+ entity.polyfaceMesh = (value & 64) === 64;
13
+ break;
14
+ case 39:
15
+ entity.thickness = value;
16
+ break;
17
+ default:
18
+ Object.assign(entity, common(type, value));
19
+ break;
20
+ }
21
+ return entity;
22
+ },
23
+ {
24
+ type: TYPE,
25
+ vertices: []
26
+ }
27
+ );
28
+ };
29
+ var polyline_default = { TYPE, process };
30
+ export {
31
+ TYPE,
32
+ polyline_default as default,
33
+ process
34
+ };
35
+ //# sourceMappingURL=polyline.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/handlers/entity/polyline.ts"],
4
+ "sourcesContent": ["import type { DXFTuple } from '../../types/dxf'\n\nimport common from './common'\n\nexport const TYPE = 'POLYLINE'\n\n\ninterface Vertex {\n [key: string]: unknown\n}\n\ninterface PolylineEntity {\n type: typeof TYPE\n vertices: Vertex[]\n closed?: boolean\n polygonMesh?: boolean\n polyfaceMesh?: boolean\n thickness?: number\n [key: string]: unknown\n}\n\nexport const process = (tuples: DXFTuple[]): PolylineEntity => {\n return tuples.reduce(\n (entity, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n switch (type) {\n case 70:\n entity.closed = ((value as number) & 1) === 1\n entity.polygonMesh = ((value as number) & 16) === 16\n entity.polyfaceMesh = ((value as number) & 64) === 64\n break\n case 39:\n entity.thickness = 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: [],\n } as PolylineEntity,\n )\n}\n\nexport default { TYPE, process }\n"],
5
+ "mappings": "AAEA,OAAO,YAAY;AAEZ,MAAM,OAAO;AAiBb,MAAM,UAAU,CAAC,WAAuC;AAC7D,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,UAAW,QAAmB,OAAO;AAC5C,iBAAO,eAAgB,QAAmB,QAAQ;AAClD,iBAAO,gBAAiB,QAAmB,QAAQ;AACnD;AAAA,QACF,KAAK;AACH,iBAAO,YAAY;AACnB;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;AAAA,IACb;AAAA,EACF;AACF;AAEA,IAAO,mBAAQ,EAAE,MAAM,QAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,101 @@
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 solid_exports = {};
30
+ __export(solid_exports, {
31
+ TYPE: () => TYPE,
32
+ default: () => solid_default,
33
+ process: () => process
34
+ });
35
+ module.exports = __toCommonJS(solid_exports);
36
+ var import_common = __toESM(require("./common"), 1);
37
+ const TYPE = "SOLID";
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.corners[0].x = value;
46
+ break;
47
+ case 20:
48
+ entity.corners[0].y = value;
49
+ break;
50
+ case 30:
51
+ entity.corners[0].z = value;
52
+ break;
53
+ case 11:
54
+ entity.corners[1].x = value;
55
+ break;
56
+ case 21:
57
+ entity.corners[1].y = value;
58
+ break;
59
+ case 31:
60
+ entity.corners[1].z = value;
61
+ break;
62
+ case 12:
63
+ entity.corners[2].x = value;
64
+ break;
65
+ case 22:
66
+ entity.corners[2].y = value;
67
+ break;
68
+ case 32:
69
+ entity.corners[2].z = value;
70
+ break;
71
+ case 13:
72
+ entity.corners[3].x = value;
73
+ break;
74
+ case 23:
75
+ entity.corners[3].y = value;
76
+ break;
77
+ case 33:
78
+ entity.corners[3].z = value;
79
+ break;
80
+ case 39:
81
+ entity.thickness = value;
82
+ break;
83
+ default:
84
+ Object.assign(entity, (0, import_common.default)(type, value));
85
+ break;
86
+ }
87
+ return entity;
88
+ },
89
+ {
90
+ type: TYPE,
91
+ corners: [{}, {}, {}, {}]
92
+ }
93
+ );
94
+ };
95
+ var solid_default = { TYPE, process };
96
+ // Annotate the CommonJS export names for ESM import in node:
97
+ 0 && (module.exports = {
98
+ TYPE,
99
+ process
100
+ });
101
+ //# sourceMappingURL=solid.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/handlers/entity/solid.ts"],
4
+ "sourcesContent": ["import type { DXFTuple } from '../../types/dxf'\n\nimport type { Point3D } from '../../types'\nimport common from './common'\n\n\ninterface SolidEntity {\n type: string\n corners: Point3D[]\n thickness?: number\n}\n\nexport const TYPE = 'SOLID'\n\nexport const process = (tuples: DXFTuple[]): SolidEntity => {\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.corners[0].x = value as number\n break\n case 20:\n entity.corners[0].y = value as number\n break\n case 30:\n entity.corners[0].z = value as number\n break\n case 11:\n entity.corners[1].x = value as number\n break\n case 21:\n entity.corners[1].y = value as number\n break\n case 31:\n entity.corners[1].z = value as number\n break\n case 12:\n entity.corners[2].x = value as number\n break\n case 22:\n entity.corners[2].y = value as number\n break\n case 32:\n entity.corners[2].z = value as number\n break\n case 13:\n entity.corners[3].x = value as number\n break\n case 23:\n entity.corners[3].y = value as number\n break\n case 33:\n entity.corners[3].z = value as number\n break\n case 39:\n entity.thickness = 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 corners: [{} as Point3D, {} as Point3D, {} as Point3D, {} as Point3D],\n } as SolidEntity,\n )\n}\n\nexport default { TYPE, process }\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAAmB;AASZ,MAAM,OAAO;AAEb,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,QAAQ,CAAC,EAAE,IAAI;AACtB;AAAA,QACF,KAAK;AACH,iBAAO,QAAQ,CAAC,EAAE,IAAI;AACtB;AAAA,QACF,KAAK;AACH,iBAAO,QAAQ,CAAC,EAAE,IAAI;AACtB;AAAA,QACF,KAAK;AACH,iBAAO,QAAQ,CAAC,EAAE,IAAI;AACtB;AAAA,QACF,KAAK;AACH,iBAAO,QAAQ,CAAC,EAAE,IAAI;AACtB;AAAA,QACF,KAAK;AACH,iBAAO,QAAQ,CAAC,EAAE,IAAI;AACtB;AAAA,QACF,KAAK;AACH,iBAAO,QAAQ,CAAC,EAAE,IAAI;AACtB;AAAA,QACF,KAAK;AACH,iBAAO,QAAQ,CAAC,EAAE,IAAI;AACtB;AAAA,QACF,KAAK;AACH,iBAAO,QAAQ,CAAC,EAAE,IAAI;AACtB;AAAA,QACF,KAAK;AACH,iBAAO,QAAQ,CAAC,EAAE,IAAI;AACtB;AAAA,QACF,KAAK;AACH,iBAAO,QAAQ,CAAC,EAAE,IAAI;AACtB;AAAA,QACF,KAAK;AACH,iBAAO,QAAQ,CAAC,EAAE,IAAI;AACtB;AAAA,QACF,KAAK;AACH,iBAAO,YAAY;AACnB;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,SAAS,CAAC,CAAC,GAAc,CAAC,GAAc,CAAC,GAAc,CAAC,CAAY;AAAA,IACtE;AAAA,EACF;AACF;AAEA,IAAO,gBAAQ,EAAE,MAAM,QAAQ;",
6
+ "names": ["common"]
7
+ }
@@ -0,0 +1,66 @@
1
+ import common from "./common";
2
+ const TYPE = "SOLID";
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.corners[0].x = value;
11
+ break;
12
+ case 20:
13
+ entity.corners[0].y = value;
14
+ break;
15
+ case 30:
16
+ entity.corners[0].z = value;
17
+ break;
18
+ case 11:
19
+ entity.corners[1].x = value;
20
+ break;
21
+ case 21:
22
+ entity.corners[1].y = value;
23
+ break;
24
+ case 31:
25
+ entity.corners[1].z = value;
26
+ break;
27
+ case 12:
28
+ entity.corners[2].x = value;
29
+ break;
30
+ case 22:
31
+ entity.corners[2].y = value;
32
+ break;
33
+ case 32:
34
+ entity.corners[2].z = value;
35
+ break;
36
+ case 13:
37
+ entity.corners[3].x = value;
38
+ break;
39
+ case 23:
40
+ entity.corners[3].y = value;
41
+ break;
42
+ case 33:
43
+ entity.corners[3].z = value;
44
+ break;
45
+ case 39:
46
+ entity.thickness = value;
47
+ break;
48
+ default:
49
+ Object.assign(entity, common(type, value));
50
+ break;
51
+ }
52
+ return entity;
53
+ },
54
+ {
55
+ type: TYPE,
56
+ corners: [{}, {}, {}, {}]
57
+ }
58
+ );
59
+ };
60
+ var solid_default = { TYPE, process };
61
+ export {
62
+ TYPE,
63
+ solid_default as default,
64
+ process
65
+ };
66
+ //# sourceMappingURL=solid.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/handlers/entity/solid.ts"],
4
+ "sourcesContent": ["import type { DXFTuple } from '../../types/dxf'\n\nimport type { Point3D } from '../../types'\nimport common from './common'\n\n\ninterface SolidEntity {\n type: string\n corners: Point3D[]\n thickness?: number\n}\n\nexport const TYPE = 'SOLID'\n\nexport const process = (tuples: DXFTuple[]): SolidEntity => {\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.corners[0].x = value as number\n break\n case 20:\n entity.corners[0].y = value as number\n break\n case 30:\n entity.corners[0].z = value as number\n break\n case 11:\n entity.corners[1].x = value as number\n break\n case 21:\n entity.corners[1].y = value as number\n break\n case 31:\n entity.corners[1].z = value as number\n break\n case 12:\n entity.corners[2].x = value as number\n break\n case 22:\n entity.corners[2].y = value as number\n break\n case 32:\n entity.corners[2].z = value as number\n break\n case 13:\n entity.corners[3].x = value as number\n break\n case 23:\n entity.corners[3].y = value as number\n break\n case 33:\n entity.corners[3].z = value as number\n break\n case 39:\n entity.thickness = 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 corners: [{} as Point3D, {} as Point3D, {} as Point3D, {} as Point3D],\n } as SolidEntity,\n )\n}\n\nexport default { TYPE, process }\n"],
5
+ "mappings": "AAGA,OAAO,YAAY;AASZ,MAAM,OAAO;AAEb,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,QAAQ,CAAC,EAAE,IAAI;AACtB;AAAA,QACF,KAAK;AACH,iBAAO,QAAQ,CAAC,EAAE,IAAI;AACtB;AAAA,QACF,KAAK;AACH,iBAAO,QAAQ,CAAC,EAAE,IAAI;AACtB;AAAA,QACF,KAAK;AACH,iBAAO,QAAQ,CAAC,EAAE,IAAI;AACtB;AAAA,QACF,KAAK;AACH,iBAAO,QAAQ,CAAC,EAAE,IAAI;AACtB;AAAA,QACF,KAAK;AACH,iBAAO,QAAQ,CAAC,EAAE,IAAI;AACtB;AAAA,QACF,KAAK;AACH,iBAAO,QAAQ,CAAC,EAAE,IAAI;AACtB;AAAA,QACF,KAAK;AACH,iBAAO,QAAQ,CAAC,EAAE,IAAI;AACtB;AAAA,QACF,KAAK;AACH,iBAAO,QAAQ,CAAC,EAAE,IAAI;AACtB;AAAA,QACF,KAAK;AACH,iBAAO,QAAQ,CAAC,EAAE,IAAI;AACtB;AAAA,QACF,KAAK;AACH,iBAAO,QAAQ,CAAC,EAAE,IAAI;AACtB;AAAA,QACF,KAAK;AACH,iBAAO,QAAQ,CAAC,EAAE,IAAI;AACtB;AAAA,QACF,KAAK;AACH,iBAAO,YAAY;AACnB;AAAA,QACF;AACE,iBAAO,OAAO,QAAQ,OAAO,MAAM,KAAK,CAAC;AACzC;AAAA,MACJ;AACA,aAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,SAAS,CAAC,CAAC,GAAc,CAAC,GAAc,CAAC,GAAc,CAAC,CAAY;AAAA,IACtE;AAAA,EACF;AACF;AAEA,IAAO,gBAAQ,EAAE,MAAM,QAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,109 @@
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 spline_exports = {};
30
+ __export(spline_exports, {
31
+ TYPE: () => TYPE,
32
+ default: () => spline_default,
33
+ process: () => process
34
+ });
35
+ module.exports = __toCommonJS(spline_exports);
36
+ var import_common = __toESM(require("./common"), 1);
37
+ const TYPE = "SPLINE";
38
+ const process = (tuples) => {
39
+ let controlPoint;
40
+ return tuples.reduce(
41
+ (entity, tuple) => {
42
+ const type = tuple[0];
43
+ const value = tuple[1];
44
+ switch (type) {
45
+ case 10:
46
+ controlPoint = {
47
+ x: value,
48
+ y: 0
49
+ };
50
+ entity.controlPoints.push(controlPoint);
51
+ break;
52
+ case 20:
53
+ controlPoint.y = value;
54
+ break;
55
+ case 30:
56
+ controlPoint.z = value;
57
+ break;
58
+ case 40:
59
+ entity.knots.push(value);
60
+ break;
61
+ case 41:
62
+ entity.weights ?? (entity.weights = []);
63
+ entity.weights.push(value);
64
+ break;
65
+ case 42:
66
+ entity.knotTolerance = value;
67
+ break;
68
+ case 43:
69
+ entity.controlPointTolerance = value;
70
+ break;
71
+ case 44:
72
+ entity.fitTolerance = value;
73
+ break;
74
+ case 70:
75
+ entity.flag = value;
76
+ entity.closed = (value & 1) === 1;
77
+ break;
78
+ case 71:
79
+ entity.degree = value;
80
+ break;
81
+ case 72:
82
+ entity.numberOfKnots = value;
83
+ break;
84
+ case 73:
85
+ entity.numberOfControlPoints = value;
86
+ break;
87
+ case 74:
88
+ entity.numberOfFitPoints = value;
89
+ break;
90
+ default:
91
+ Object.assign(entity, (0, import_common.default)(type, value));
92
+ break;
93
+ }
94
+ return entity;
95
+ },
96
+ {
97
+ type: TYPE,
98
+ controlPoints: [],
99
+ knots: []
100
+ }
101
+ );
102
+ };
103
+ var spline_default = { TYPE, process };
104
+ // Annotate the CommonJS export names for ESM import in node:
105
+ 0 && (module.exports = {
106
+ TYPE,
107
+ process
108
+ });
109
+ //# sourceMappingURL=spline.cjs.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": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAAmB;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,YAAQ,cAAAA,SAAO,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": ["common"]
7
+ }