@linkiez/dxf-renew 7.0.0 → 7.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +1 -16
- package/.github/instructions/code-patterns.instructions.md +1 -1
- package/.github/instructions/exdxf.instruction.md +161 -0
- package/.github/instructions/tdd.instructions.md +271 -0
- package/.yarn/install-state.gz +0 -0
- package/ARCHITECTURE.md +163 -0
- package/CHANGELOG.md +39 -0
- package/CONTRIBUTING.md +16 -14
- package/README.md +113 -16
- package/{PLAN.md → ROADMAP.md} +244 -102
- package/dist/dxf.js +2212 -454
- package/docs/EZDXF_REFERENCE_SITEMAP.md +55 -0
- package/docs/FIXTURE_VALIDATION_EZDXF.md +62 -0
- package/lib/Helper.cjs +6 -2
- package/lib/Helper.cjs.map +3 -3
- package/lib/Helper.js +6 -2
- package/lib/Helper.js.map +2 -2
- package/lib/denormalise.cjs +131 -91
- package/lib/denormalise.cjs.map +2 -2
- package/lib/denormalise.js +131 -91
- package/lib/denormalise.js.map +2 -2
- package/lib/dimensionToSVG.cjs +318 -53
- package/lib/dimensionToSVG.cjs.map +3 -3
- package/lib/dimensionToSVG.js +316 -52
- package/lib/dimensionToSVG.js.map +2 -2
- package/lib/entityToPolyline.cjs +95 -0
- package/lib/entityToPolyline.cjs.map +3 -3
- package/lib/entityToPolyline.js +95 -0
- package/lib/entityToPolyline.js.map +2 -2
- package/lib/handlers/entities.cjs +111 -27
- package/lib/handlers/entities.cjs.map +3 -3
- package/lib/handlers/entities.js +111 -27
- package/lib/handlers/entities.js.map +3 -3
- package/lib/handlers/entity/dgnUnderlay.cjs +106 -0
- package/lib/handlers/entity/dgnUnderlay.cjs.map +7 -0
- package/lib/handlers/entity/dgnUnderlay.js +71 -0
- package/lib/handlers/entity/dgnUnderlay.js.map +7 -0
- package/lib/handlers/entity/dimension.cjs +24 -0
- package/lib/handlers/entity/dimension.cjs.map +2 -2
- package/lib/handlers/entity/dimension.js +24 -0
- package/lib/handlers/entity/dimension.js.map +2 -2
- package/lib/handlers/entity/dwfUnderlay.cjs +106 -0
- package/lib/handlers/entity/dwfUnderlay.cjs.map +7 -0
- package/lib/handlers/entity/dwfUnderlay.js +71 -0
- package/lib/handlers/entity/dwfUnderlay.js.map +7 -0
- package/lib/handlers/entity/image.cjs +123 -0
- package/lib/handlers/entity/image.cjs.map +7 -0
- package/lib/handlers/entity/image.js +88 -0
- package/lib/handlers/entity/image.js.map +7 -0
- package/lib/handlers/entity/leader.cjs +148 -0
- package/lib/handlers/entity/leader.cjs.map +7 -0
- package/lib/handlers/entity/leader.js +113 -0
- package/lib/handlers/entity/leader.js.map +7 -0
- package/lib/handlers/entity/mleader.cjs +69 -0
- package/lib/handlers/entity/mleader.cjs.map +7 -0
- package/lib/handlers/entity/mleader.js +34 -0
- package/lib/handlers/entity/mleader.js.map +7 -0
- package/lib/handlers/entity/mline.cjs +91 -0
- package/lib/handlers/entity/mline.cjs.map +7 -0
- package/lib/handlers/entity/mline.js +56 -0
- package/lib/handlers/entity/mline.js.map +7 -0
- package/lib/handlers/entity/oleframe.cjs +98 -0
- package/lib/handlers/entity/oleframe.cjs.map +7 -0
- package/lib/handlers/entity/oleframe.js +63 -0
- package/lib/handlers/entity/oleframe.js.map +7 -0
- package/lib/handlers/entity/pdfUnderlay.cjs +106 -0
- package/lib/handlers/entity/pdfUnderlay.cjs.map +7 -0
- package/lib/handlers/entity/pdfUnderlay.js +71 -0
- package/lib/handlers/entity/pdfUnderlay.js.map +7 -0
- package/lib/handlers/entity/ray.cjs +81 -0
- package/lib/handlers/entity/ray.cjs.map +7 -0
- package/lib/handlers/entity/ray.js +46 -0
- package/lib/handlers/entity/ray.js.map +7 -0
- package/lib/handlers/entity/region.cjs +67 -0
- package/lib/handlers/entity/region.cjs.map +7 -0
- package/lib/handlers/entity/region.js +32 -0
- package/lib/handlers/entity/region.js.map +7 -0
- package/lib/handlers/entity/shape.cjs +95 -0
- package/lib/handlers/entity/shape.cjs.map +7 -0
- package/lib/handlers/entity/shape.js +60 -0
- package/lib/handlers/entity/shape.js.map +7 -0
- package/lib/handlers/entity/table.cjs +71 -0
- package/lib/handlers/entity/table.cjs.map +7 -0
- package/lib/handlers/entity/table.js +36 -0
- package/lib/handlers/entity/table.js.map +7 -0
- package/lib/handlers/entity/tolerance.cjs +90 -0
- package/lib/handlers/entity/tolerance.cjs.map +7 -0
- package/lib/handlers/entity/tolerance.js +55 -0
- package/lib/handlers/entity/tolerance.js.map +7 -0
- package/lib/handlers/entity/trace.cjs +101 -0
- package/lib/handlers/entity/trace.cjs.map +7 -0
- package/lib/handlers/entity/trace.js +66 -0
- package/lib/handlers/entity/trace.js.map +7 -0
- package/lib/handlers/entity/wipeout.cjs +122 -0
- package/lib/handlers/entity/wipeout.cjs.map +7 -0
- package/lib/handlers/entity/wipeout.js +87 -0
- package/lib/handlers/entity/wipeout.js.map +7 -0
- package/lib/handlers/entity/xline.cjs +81 -0
- package/lib/handlers/entity/xline.cjs.map +7 -0
- package/lib/handlers/entity/xline.js +46 -0
- package/lib/handlers/entity/xline.js.map +7 -0
- package/lib/handlers/objects.cjs +299 -136
- package/lib/handlers/objects.cjs.map +2 -2
- package/lib/handlers/objects.js +299 -136
- package/lib/handlers/objects.js.map +2 -2
- package/lib/handlers/tables.cjs +96 -17
- package/lib/handlers/tables.cjs.map +2 -2
- package/lib/handlers/tables.js +96 -17
- package/lib/handlers/tables.js.map +2 -2
- package/lib/index.cjs +5 -2
- package/lib/index.cjs.map +3 -3
- package/lib/index.js +18 -16
- package/lib/index.js.map +3 -3
- package/lib/toJson.cjs +29 -0
- package/lib/toJson.cjs.map +7 -0
- package/lib/toJson.js +9 -0
- package/lib/toJson.js.map +7 -0
- package/lib/toSVG.cjs +105 -11
- package/lib/toSVG.cjs.map +3 -3
- package/lib/toSVG.js +106 -12
- package/lib/toSVG.js.map +2 -2
- package/lib/types/dimension-entity.cjs.map +1 -1
- package/lib/types/entity.cjs.map +1 -1
- package/lib/types/helper.cjs.map +1 -1
- package/lib/types/image-entity.cjs +17 -0
- package/lib/types/image-entity.cjs.map +7 -0
- package/lib/types/image-entity.js +1 -0
- package/lib/types/image-entity.js.map +7 -0
- package/lib/types/index.cjs +28 -0
- package/lib/types/index.cjs.map +2 -2
- package/lib/types/index.js +14 -0
- package/lib/types/index.js.map +2 -2
- package/lib/types/leader-entity.cjs +17 -0
- package/lib/types/leader-entity.cjs.map +7 -0
- package/lib/types/leader-entity.js +1 -0
- package/lib/types/leader-entity.js.map +7 -0
- package/lib/types/mleader-entity.cjs +17 -0
- package/lib/types/mleader-entity.cjs.map +7 -0
- package/lib/types/mleader-entity.js +1 -0
- package/lib/types/mleader-entity.js.map +7 -0
- package/lib/types/mline-entity.cjs +17 -0
- package/lib/types/mline-entity.cjs.map +7 -0
- package/lib/types/mline-entity.js +1 -0
- package/lib/types/mline-entity.js.map +7 -0
- package/lib/types/oleframe-entity.cjs +17 -0
- package/lib/types/oleframe-entity.cjs.map +7 -0
- package/lib/types/oleframe-entity.js +1 -0
- package/lib/types/oleframe-entity.js.map +7 -0
- package/lib/types/options.cjs.map +1 -1
- package/lib/types/ray-entity.cjs +17 -0
- package/lib/types/ray-entity.cjs.map +7 -0
- package/lib/types/ray-entity.js +1 -0
- package/lib/types/ray-entity.js.map +7 -0
- package/lib/types/region-entity.cjs +17 -0
- package/lib/types/region-entity.cjs.map +7 -0
- package/lib/types/region-entity.js +1 -0
- package/lib/types/region-entity.js.map +7 -0
- package/lib/types/shape-entity.cjs +17 -0
- package/lib/types/shape-entity.cjs.map +7 -0
- package/lib/types/shape-entity.js +1 -0
- package/lib/types/shape-entity.js.map +7 -0
- package/lib/types/table-entity.cjs +17 -0
- package/lib/types/table-entity.cjs.map +7 -0
- package/lib/types/table-entity.js +1 -0
- package/lib/types/table-entity.js.map +7 -0
- package/lib/types/tables.cjs.map +1 -1
- package/lib/types/tolerance-entity.cjs +17 -0
- package/lib/types/tolerance-entity.cjs.map +7 -0
- package/lib/types/tolerance-entity.js +1 -0
- package/lib/types/tolerance-entity.js.map +7 -0
- package/lib/types/trace-entity.cjs +17 -0
- package/lib/types/trace-entity.cjs.map +7 -0
- package/lib/types/trace-entity.js +1 -0
- package/lib/types/trace-entity.js.map +7 -0
- package/lib/types/underlay-entity.cjs +17 -0
- package/lib/types/underlay-entity.cjs.map +7 -0
- package/lib/types/underlay-entity.js +1 -0
- package/lib/types/underlay-entity.js.map +7 -0
- package/lib/types/wipeout-entity.cjs +17 -0
- package/lib/types/wipeout-entity.cjs.map +7 -0
- package/lib/types/wipeout-entity.js +1 -0
- package/lib/types/wipeout-entity.js.map +7 -0
- package/lib/types/xline-entity.cjs +17 -0
- package/lib/types/xline-entity.cjs.map +7 -0
- package/lib/types/xline-entity.js +1 -0
- package/lib/types/xline-entity.js.map +7 -0
- package/lib/util/escapeXmlText.cjs +27 -0
- package/lib/util/escapeXmlText.cjs.map +7 -0
- package/lib/util/escapeXmlText.js +7 -0
- package/lib/util/escapeXmlText.js.map +7 -0
- package/package.json +9 -18
- package/playwright.config.cjs +20 -0
- package/src/Helper.ts +8 -3
- package/src/denormalise.ts +182 -116
- package/src/dimensionToSVG.ts +466 -54
- package/src/entityToPolyline.ts +124 -2
- package/src/handlers/entities.ts +129 -34
- package/src/handlers/entity/dgnUnderlay.ts +94 -0
- package/src/handlers/entity/dimension.ts +27 -1
- package/src/handlers/entity/dwfUnderlay.ts +94 -0
- package/src/handlers/entity/image.ts +118 -0
- package/src/handlers/entity/leader.ts +153 -0
- package/src/handlers/entity/mleader.ts +46 -0
- package/src/handlers/entity/mline.ts +74 -0
- package/src/handlers/entity/oleframe.ts +62 -0
- package/src/handlers/entity/pdfUnderlay.ts +94 -0
- package/src/handlers/entity/ray.ts +52 -0
- package/src/handlers/entity/region.ts +42 -0
- package/src/handlers/entity/shape.ts +73 -0
- package/src/handlers/entity/table.ts +49 -0
- package/src/handlers/entity/tolerance.ts +75 -0
- package/src/handlers/entity/trace.ts +72 -0
- package/src/handlers/entity/wipeout.ts +114 -0
- package/src/handlers/entity/xline.ts +52 -0
- package/src/handlers/objects.ts +379 -139
- package/src/handlers/tables.ts +134 -21
- package/src/index.ts +9 -18
- package/src/toJson.ts +8 -0
- package/src/toSVG.ts +143 -10
- package/src/types/dimension-entity.ts +11 -0
- package/src/types/entity.ts +30 -0
- package/src/types/helper.ts +2 -1
- package/src/types/image-entity.ts +35 -0
- package/src/types/index.ts +14 -0
- package/src/types/leader-entity.ts +40 -0
- package/src/types/mleader-entity.ts +8 -0
- package/src/types/mline-entity.ts +12 -0
- package/src/types/oleframe-entity.ts +40 -0
- package/src/types/options.ts +48 -0
- package/src/types/ray-entity.ts +12 -0
- package/src/types/region-entity.ts +11 -0
- package/src/types/shape-entity.ts +19 -0
- package/src/types/table-entity.ts +14 -0
- package/src/types/tables.ts +160 -0
- package/src/types/tolerance-entity.ts +20 -0
- package/src/types/trace-entity.ts +14 -0
- package/src/types/underlay-entity.ts +35 -0
- package/src/types/wipeout-entity.ts +20 -0
- package/src/types/xline-entity.ts +12 -0
- package/src/util/escapeXmlText.ts +10 -0
- package/tools/browser_test_server.cjs +87 -0
- package/tools/ezdxf_generate_dimensions_all_types.py +246 -0
- package/tools/ezdxf_generate_dimensions_angular_3p.py +59 -0
- package/tools/ezdxf_generate_dimensions_large_scale.py +87 -0
- package/tools/ezdxf_regenerate_problem_fixtures.py +184 -0
- package/tools/ezdxf_validate_fixtures.py +165 -0
- package/docs/DIMENSION_SUMMARY.md +0 -248
- package/docs/DIMENSION_SUMMARY.pt-BR.md +0 -248
- package/docs/IMPLEMENTED-2D-ENTITIES.md +0 -54
- package/docs/IMPLEMENTED-2D-ENTITIES.pt-BR.md +0 -54
- package/docs/TEXT-MTEXT-DIMENSION-SUPPORT.md +0 -241
- package/docs/TEXT-MTEXT-DIMENSION-SUPPORT.pt-BR.md +0 -169
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/handlers/tables.ts"],
|
|
4
|
-
"sourcesContent": ["import type { DXFTuple, DimStyleInternal, LTypeElement, LTypeInternal, LayerInternal, StyleInternal, VPortInternal } from '../types'\n\nimport logger from '../util/logger'\n\nconst ltypeHandler = (tuples: DXFTuple[]): LTypeInternal => {\n let element: LTypeElement | undefined\n let offset: { x: string | number; y: string | number } | undefined\n return tuples.reduce(\n (layer, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n // https://documentation.help/AutoCAD-DXF/WS1a9193826455f5ff18cb41610ec0a2e719-7a4f.htm\n switch (type) {\n case 2:\n layer.name = value\n break\n case 3:\n layer.description = value\n break\n case 70:\n // Standard flag values (bit-coded values):\n // 16 = If set, table entry is externally dependent on an xref\n // 32 = If both this bit and bit 16 are set, the externally dependent xref has been successfully resolved\n // 64 = If set, the table entry was referenced by at least one entity in the drawing the last time the drawing was edited. (This flag is for the benefit of AutoCAD commands. It can be ignored by most programs that read DXF files and need not be set by programs that write DXF files)\n layer.flag = value\n break\n case 72:\n // Alignment code (value is always 65, the ASCII code for A):\n layer.alignment = value\n break\n case 73:\n layer.elementCount = Number.parseInt(String(value))\n break\n case 40:\n layer.patternLength = value\n break\n case 49:\n element = { length: value }\n layer.pattern.push(element)\n break\n case 74:\n // Complex linetype element type (one per element). Default is 0 (no embedded shape/text) (bit-coded values)\n // 1 = If set, code 50 specifies an absolute rotation; if not set, code 50 specifies a relative rotation\n // 2 = Embedded element is a text string\n // 4 = Embedded element is a shape\n if (element) {\n element.shape = value\n }\n break\n case 75:\n if (element) {\n element.shapeNumber = value\n }\n break\n case 340:\n if (element) {\n element.styleHandle = value\n }\n break\n case 46:\n if (element) {\n element.scales ??= []\n element.scales.push(value)\n }\n break\n case 50:\n if (element) {\n element.rotation = value\n }\n break\n case 44:\n offset = { x: value, y: 0 }\n if (element) {\n element.offset ??= []\n element.offset.push(offset)\n }\n break\n case 45:\n if (offset) {\n offset.y = value\n }\n break\n case 9:\n if (element) {\n element.text = value\n }\n break\n default:\n }\n return layer\n },\n { type: 'LTYPE', pattern: [] } as LTypeInternal,\n )\n}\n\nconst layerHandler = (tuples: DXFTuple[]): LayerInternal => {\n return tuples.reduce(\n (layer, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n // https://www.autodesk.com/techpubs/autocad/acad2000/dxf/layer_dxf_04.htm\n switch (type) {\n case 2:\n layer.name = value\n break\n case 6:\n layer.lineTypeName = value\n break\n case 62:\n layer.colorNumber = value\n break\n case 70:\n layer.flags = value\n break\n case 290:\n layer.plot = Number.parseInt(String(value)) !== 0\n break\n case 370:\n layer.lineWeightEnum = value\n break\n default:\n }\n return layer\n },\n { type: 'LAYER' } as LayerInternal,\n )\n}\n\nconst styleHandler = (tuples: DXFTuple[]): StyleInternal => {\n return tuples.reduce(\n (style, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n switch (type) {\n case 2:\n style.name = value\n break\n case 6:\n style.lineTypeName = value\n break\n case 40:\n style.fixedTextHeight = value\n break\n case 41:\n style.widthFactor = value\n break\n case 50:\n style.obliqueAngle = value\n break\n case 71:\n style.flags = value\n break\n case 42:\n style.lastHeightUsed = value\n break\n case 3:\n style.primaryFontFileName = value\n break\n case 4:\n style.bigFontFileName = value\n break\n default:\n }\n return style\n },\n { type: 'STYLE' } as StyleInternal,\n )\n}\n\nconst vPortHandler = (tuples: DXFTuple[]): VPortInternal => {\n return tuples.reduce(\n (vport, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n switch (type) {\n case 2:\n vport.name = value\n break\n case 5:\n vport.handle = value\n break\n case 70:\n vport.flags = value\n break\n case 10:\n vport.lowerLeft.x = Number.parseFloat(String(value))\n break\n case 20:\n vport.lowerLeft.y = Number.parseFloat(String(value))\n break\n case 11:\n vport.upperRight.x = Number.parseFloat(String(value))\n break\n case 21:\n vport.upperRight.y = Number.parseFloat(String(value))\n break\n case 12:\n vport.center.x = Number.parseFloat(String(value))\n break\n case 22:\n vport.center.y = Number.parseFloat(String(value))\n break\n case 14:\n vport.snapSpacing.x = Number.parseFloat(String(value))\n break\n case 24:\n vport.snapSpacing.y = Number.parseFloat(String(value))\n break\n case 15:\n vport.gridSpacing.x = Number.parseFloat(String(value))\n break\n case 25:\n vport.gridSpacing.y = Number.parseFloat(String(value))\n break\n case 16:\n vport.direction.x = Number.parseFloat(String(value))\n break\n case 26:\n vport.direction.y = Number.parseFloat(String(value))\n break\n case 36:\n vport.direction.z = Number.parseFloat(String(value))\n break\n case 17:\n vport.target.x = Number.parseFloat(String(value))\n break\n case 27:\n vport.target.y = Number.parseFloat(String(value))\n break\n case 37:\n vport.target.z = Number.parseFloat(String(value))\n break\n case 45:\n vport.height = Number.parseFloat(String(value))\n break\n case 50:\n vport.snapAngle = Number.parseFloat(String(value))\n break\n case 51:\n vport.angle = Number.parseFloat(String(value))\n break\n case 110:\n vport.x = Number.parseFloat(String(value))\n break\n case 120:\n vport.y = Number.parseFloat(String(value))\n break\n case 130:\n vport.z = Number.parseFloat(String(value))\n break\n case 111:\n vport.xAxisX = Number.parseFloat(String(value))\n break\n case 121:\n vport.xAxisY = Number.parseFloat(String(value))\n break\n case 131:\n vport.xAxisZ = Number.parseFloat(String(value))\n break\n case 112:\n vport.xAxisX = Number.parseFloat(String(value))\n break\n case 122:\n vport.xAxisY = Number.parseFloat(String(value))\n break\n case 132:\n vport.xAxisZ = Number.parseFloat(String(value))\n break\n case 146:\n vport.elevation = Number.parseFloat(String(value))\n break\n default:\n }\n return vport\n },\n {\n type: 'VPORT',\n center: {},\n lowerLeft: {},\n upperRight: {},\n snap: {},\n snapSpacing: {},\n gridSpacing: {},\n direction: {},\n target: {},\n } as VPortInternal,\n )\n}\n\nconst dimStyleHandler = (tuples: DXFTuple[]): DimStyleInternal => {\n return tuples.reduce(\n (dimStyle, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n switch (type) {\n case 2:\n dimStyle.name = value\n break\n case 70:\n dimStyle.flags = value\n break\n case 3:\n dimStyle.dimPost = value\n break\n case 4:\n dimStyle.dimAPost = value\n break\n case 40:\n dimStyle.dimScale = Number.parseFloat(String(value))\n break\n case 41:\n dimStyle.dimAsz = Number.parseFloat(String(value))\n break\n case 42:\n dimStyle.dimExo = Number.parseFloat(String(value))\n break\n case 43:\n dimStyle.dimDli = Number.parseFloat(String(value))\n break\n case 44:\n dimStyle.dimExe = Number.parseFloat(String(value))\n break\n case 45:\n dimStyle.dimRnd = Number.parseFloat(String(value))\n break\n case 46:\n dimStyle.dimDle = Number.parseFloat(String(value))\n break\n case 47:\n dimStyle.dimTp = Number.parseFloat(String(value))\n break\n case 48:\n dimStyle.dimTm = Number.parseFloat(String(value))\n break\n case 140:\n dimStyle.dimTxt = Number.parseFloat(String(value))\n break\n case 141:\n dimStyle.dimCen = Number.parseFloat(String(value))\n break\n case 142:\n dimStyle.dimTsz = Number.parseFloat(String(value))\n break\n case 143:\n dimStyle.dimAltf = Number.parseFloat(String(value))\n break\n case 144:\n dimStyle.dimLfac = Number.parseFloat(String(value))\n break\n case 145:\n dimStyle.dimTvp = Number.parseFloat(String(value))\n break\n case 146:\n dimStyle.dimTfac = Number.parseFloat(String(value))\n break\n case 147:\n dimStyle.dimGap = Number.parseFloat(String(value))\n break\n case 148:\n dimStyle.dimAltRnd = Number.parseFloat(String(value))\n break\n case 71:\n dimStyle.dimTol = Number.parseInt(String(value))\n break\n case 72:\n dimStyle.dimLim = Number.parseInt(String(value))\n break\n case 73:\n dimStyle.dimTih = Number.parseInt(String(value))\n break\n case 74:\n dimStyle.dimToh = Number.parseInt(String(value))\n break\n case 75:\n dimStyle.dimSe1 = Number.parseInt(String(value))\n break\n case 76:\n dimStyle.dimSe2 = Number.parseInt(String(value))\n break\n case 77:\n dimStyle.dimTad = Number.parseInt(String(value))\n break\n case 78:\n dimStyle.dimZin = Number.parseInt(String(value))\n break\n case 79:\n dimStyle.dimAzin = Number.parseInt(String(value))\n break\n case 170:\n dimStyle.dimAlt = Number.parseInt(String(value))\n break\n case 171:\n dimStyle.dimAltd = Number.parseInt(String(value))\n break\n case 172:\n dimStyle.dimTofl = Number.parseInt(String(value))\n break\n case 173:\n dimStyle.dimSah = Number.parseInt(String(value))\n break\n case 174:\n dimStyle.dimTix = Number.parseInt(String(value))\n break\n case 175:\n dimStyle.dimSoxd = Number.parseInt(String(value))\n break\n case 176:\n dimStyle.dimClrd = Number.parseInt(String(value))\n break\n case 177:\n dimStyle.dimClre = Number.parseInt(String(value))\n break\n case 178:\n dimStyle.dimClrt = Number.parseInt(String(value))\n break\n case 179:\n dimStyle.dimAdec = Number.parseInt(String(value))\n break\n case 270:\n dimStyle.dimUnit = Number.parseInt(String(value))\n break\n case 271:\n dimStyle.dimDec = Number.parseInt(String(value))\n break\n case 272:\n dimStyle.dimTdec = Number.parseInt(String(value))\n break\n case 273:\n dimStyle.dimAltu = Number.parseInt(String(value))\n break\n case 274:\n dimStyle.dimAlttd = Number.parseInt(String(value))\n break\n case 275:\n dimStyle.dimAunit = Number.parseInt(String(value))\n break\n case 276:\n dimStyle.dimFrac = Number.parseInt(String(value))\n break\n case 277:\n dimStyle.dimLunit = Number.parseInt(String(value))\n break\n case 278:\n dimStyle.dimDsep = Number.parseInt(String(value))\n break\n case 279:\n dimStyle.dimTmove = Number.parseInt(String(value))\n break\n case 280:\n dimStyle.dimJust = Number.parseInt(String(value))\n break\n case 281:\n dimStyle.dimSd1 = Number.parseInt(String(value))\n break\n case 282:\n dimStyle.dimSd2 = Number.parseInt(String(value))\n break\n case 283:\n dimStyle.dimTolj = Number.parseInt(String(value))\n break\n case 284:\n dimStyle.dimTzin = Number.parseInt(String(value))\n break\n case 285:\n dimStyle.dimAltz = Number.parseInt(String(value))\n break\n case 286:\n dimStyle.dimAlttz = Number.parseInt(String(value))\n break\n case 287:\n dimStyle.dimFit = Number.parseInt(String(value))\n break\n case 288:\n dimStyle.dimUpt = Number.parseInt(String(value))\n break\n case 289:\n dimStyle.dimAtfit = Number.parseInt(String(value))\n break\n case 340:\n dimStyle.dimTxsty = value\n break\n case 341:\n dimStyle.dimLdrblk = value\n break\n case 342:\n dimStyle.dimBlk = value\n break\n case 343:\n dimStyle.dimBlk1 = value\n break\n case 344:\n dimStyle.dimBlk2 = value\n break\n case 371:\n dimStyle.dimLwd = Number.parseInt(String(value))\n break\n case 372:\n dimStyle.dimLwe = Number.parseInt(String(value))\n break\n default:\n }\n return dimStyle\n },\n { type: 'DIMSTYLE' } as DimStyleInternal,\n )\n}\n\nconst tableHandler = (\n tuples: DXFTuple[],\n tableType: string,\n handler: (tuples: DXFTuple[]) => LTypeInternal | LayerInternal | StyleInternal | VPortInternal | DimStyleInternal,\n): Record<string, any> => {\n const tableRowsTuples: DXFTuple[][] = []\n\n let tableRowTuples: DXFTuple[] | undefined\n for (const tuple of tuples) {\n const type = tuple[0]\n const value = tuple[1]\n if ((type === 0 || type === 2) && value === tableType) {\n tableRowTuples = []\n tableRowsTuples.push(tableRowTuples)\n } else if (tableRowTuples) {\n tableRowTuples.push(tuple)\n }\n }\n\n return tableRowsTuples.reduce((acc, rowTuples) => {\n const tableRow = handler(rowTuples)\n if (tableRow.name) {\n acc[String(tableRow.name)] = tableRow\n } else {\n logger.warn('table row without name:', tableRow)\n }\n return acc\n }, {} as Record<string, any>)\n}\n\nexport default function parseTables(tuples: DXFTuple[]) {\n const tableGroups: DXFTuple[][] = []\n let tableTuples: DXFTuple[] | undefined\n for (const tuple of tuples) {\n const value = tuple[1]\n if (value === 'TABLE') {\n tableTuples = []\n tableGroups.push(tableTuples)\n } else if (value === 'ENDTAB') {\n if (tableTuples) {\n tableGroups.push(tableTuples)\n }\n } else if (tableTuples) {\n tableTuples.push(tuple)\n }\n }\n\n let stylesTuples: DXFTuple[] = []\n let layersTuples: DXFTuple[] = []\n let vPortTuples: DXFTuple[] = []\n let ltypeTuples: DXFTuple[] = []\n let dimStyleTuples: DXFTuple[] = []\n for (const group of tableGroups) {\n if (group[0]?.[1] === 'STYLE') {\n stylesTuples = group\n } else if (group[0]?.[1] === 'LTYPE') {\n ltypeTuples = group\n } else if (group[0]?.[1] === 'LAYER') {\n layersTuples = group\n } else if (group[0]?.[1] === 'VPORT') {\n vPortTuples = group\n } else if (group[0]?.[1] === 'DIMSTYLE') {\n dimStyleTuples = group\n }\n }\n\n return {\n layers: tableHandler(layersTuples, 'LAYER', layerHandler),\n styles: tableHandler(stylesTuples, 'STYLE', styleHandler),\n vports: tableHandler(vPortTuples, 'VPORT', vPortHandler),\n ltypes: tableHandler(ltypeTuples, 'LTYPE', ltypeHandler),\n dimStyles: tableHandler(dimStyleTuples, 'DIMSTYLE', dimStyleHandler),\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import type {\n AppIdInternal,\n BlockRecordInternal,\n DXFTuple,\n DimStyleInternal,\n LTypeElement,\n LTypeInternal,\n LayerInternal,\n StyleInternal,\n UcsInternal,\n VPortInternal,\n ViewInternal,\n} from '../types'\n\nimport logger from '../util/logger'\n\nconst ltypeHandler = (tuples: DXFTuple[]): LTypeInternal => {\n let element: LTypeElement | undefined\n let offset: { x: string | number; y: string | number } | undefined\n return tuples.reduce(\n (layer, tuple) => { // NOSONAR\n const type = tuple[0]\n const value = tuple[1]\n // https://documentation.help/AutoCAD-DXF/WS1a9193826455f5ff18cb41610ec0a2e719-7a4f.htm\n switch (type) {\n case 2:\n layer.name = value\n break\n case 3:\n layer.description = value\n break\n case 70:\n // Standard flag values (bit-coded values):\n // 16 = If set, table entry is externally dependent on an xref\n // 32 = If both this bit and bit 16 are set, the externally dependent xref has been successfully resolved\n // 64 = If set, the table entry was referenced by at least one entity in the drawing the last time the drawing was edited. (This flag is for the benefit of AutoCAD commands. It can be ignored by most programs that read DXF files and need not be set by programs that write DXF files)\n layer.flag = value\n break\n case 72:\n // Alignment code (value is always 65, the ASCII code for A):\n layer.alignment = value\n break\n case 73:\n layer.elementCount = Number.parseInt(String(value))\n break\n case 40:\n layer.patternLength = value\n break\n case 49:\n element = { length: value }\n layer.pattern.push(element)\n break\n case 74:\n // Complex linetype element type (one per element). Default is 0 (no embedded shape/text) (bit-coded values)\n // 1 = If set, code 50 specifies an absolute rotation; if not set, code 50 specifies a relative rotation\n // 2 = Embedded element is a text string\n // 4 = Embedded element is a shape\n if (element) {\n element.shape = value\n }\n break\n case 75:\n if (element) {\n element.shapeNumber = value\n }\n break\n case 340:\n if (element) {\n element.styleHandle = value\n }\n break\n case 46:\n if (element) {\n element.scales ??= []\n element.scales.push(value)\n }\n break\n case 50:\n if (element) {\n element.rotation = value\n }\n break\n case 44:\n offset = { x: value, y: 0 }\n if (element) {\n element.offset ??= []\n element.offset.push(offset)\n }\n break\n case 45:\n if (offset) {\n offset.y = value\n }\n break\n case 9:\n if (element) {\n element.text = value\n }\n break\n default:\n }\n return layer\n },\n { type: 'LTYPE', pattern: [] } as LTypeInternal,\n )\n}\n\nconst layerHandler = (tuples: DXFTuple[]): LayerInternal => {\n return tuples.reduce(\n (layer, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n // https://www.autodesk.com/techpubs/autocad/acad2000/dxf/layer_dxf_04.htm\n switch (type) {\n case 2:\n layer.name = value\n break\n case 6:\n layer.lineTypeName = value\n break\n case 62:\n layer.colorNumber = value\n break\n case 70:\n layer.flags = value\n break\n case 290:\n layer.plot = Number.parseInt(String(value)) !== 0\n break\n case 370:\n layer.lineWeightEnum = value\n break\n default:\n }\n return layer\n },\n { type: 'LAYER' } as LayerInternal,\n )\n}\n\nconst styleHandler = (tuples: DXFTuple[]): StyleInternal => {\n return tuples.reduce(\n (style, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n switch (type) {\n case 2:\n style.name = value\n break\n case 6:\n style.lineTypeName = value\n break\n case 40:\n style.fixedTextHeight = value\n break\n case 41:\n style.widthFactor = value\n break\n case 50:\n style.obliqueAngle = value\n break\n case 71:\n style.flags = value\n break\n case 42:\n style.lastHeightUsed = value\n break\n case 3:\n style.primaryFontFileName = value\n break\n case 4:\n style.bigFontFileName = value\n break\n default:\n }\n return style\n },\n { type: 'STYLE' } as StyleInternal,\n )\n}\n\nconst vPortHandler = (tuples: DXFTuple[]): VPortInternal => {\n return tuples.reduce(\n (vport, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n switch (type) { // NOSONAR\n case 2:\n vport.name = value\n break\n case 5:\n vport.handle = value\n break\n case 70:\n vport.flags = value\n break\n case 10:\n vport.lowerLeft.x = Number.parseFloat(String(value))\n break\n case 20:\n vport.lowerLeft.y = Number.parseFloat(String(value))\n break\n case 11:\n vport.upperRight.x = Number.parseFloat(String(value))\n break\n case 21:\n vport.upperRight.y = Number.parseFloat(String(value))\n break\n case 12:\n vport.center.x = Number.parseFloat(String(value))\n break\n case 22:\n vport.center.y = Number.parseFloat(String(value))\n break\n case 14:\n vport.snapSpacing.x = Number.parseFloat(String(value))\n break\n case 24:\n vport.snapSpacing.y = Number.parseFloat(String(value))\n break\n case 15:\n vport.gridSpacing.x = Number.parseFloat(String(value))\n break\n case 25:\n vport.gridSpacing.y = Number.parseFloat(String(value))\n break\n case 16:\n vport.direction.x = Number.parseFloat(String(value))\n break\n case 26:\n vport.direction.y = Number.parseFloat(String(value))\n break\n case 36:\n vport.direction.z = Number.parseFloat(String(value))\n break\n case 17:\n vport.target.x = Number.parseFloat(String(value))\n break\n case 27:\n vport.target.y = Number.parseFloat(String(value))\n break\n case 37:\n vport.target.z = Number.parseFloat(String(value))\n break\n case 45:\n vport.height = Number.parseFloat(String(value))\n break\n case 50:\n vport.snapAngle = Number.parseFloat(String(value))\n break\n case 51:\n vport.angle = Number.parseFloat(String(value))\n break\n case 110:\n vport.x = Number.parseFloat(String(value))\n break\n case 120:\n vport.y = Number.parseFloat(String(value))\n break\n case 130:\n vport.z = Number.parseFloat(String(value))\n break\n case 111:\n vport.xAxisX = Number.parseFloat(String(value))\n break\n case 121:\n vport.xAxisY = Number.parseFloat(String(value))\n break\n case 131:\n vport.xAxisZ = Number.parseFloat(String(value))\n break\n case 112:\n vport.xAxisX = Number.parseFloat(String(value))\n break\n case 122:\n vport.xAxisY = Number.parseFloat(String(value))\n break\n case 132:\n vport.xAxisZ = Number.parseFloat(String(value))\n break\n case 146:\n vport.elevation = Number.parseFloat(String(value))\n break\n default:\n }\n return vport\n },\n {\n type: 'VPORT',\n center: {},\n lowerLeft: {},\n upperRight: {},\n snap: {},\n snapSpacing: {},\n gridSpacing: {},\n direction: {},\n target: {},\n } as VPortInternal,\n )\n}\n\nconst appIdHandler = (tuples: DXFTuple[]): AppIdInternal => {\n return tuples.reduce(\n (appId, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n\n switch (type) {\n case 2:\n appId.name = value\n break\n case 70:\n appId.flags = value\n break\n default:\n }\n\n return appId\n },\n { type: 'APPID' } as AppIdInternal,\n )\n}\n\nconst blockRecordHandler = (tuples: DXFTuple[]): BlockRecordInternal => {\n return tuples.reduce(\n (blockRecord, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n\n switch (type) {\n case 2:\n blockRecord.name = value\n break\n case 70:\n blockRecord.flags = value\n break\n default:\n }\n\n return blockRecord\n },\n { type: 'BLOCK_RECORD' } as BlockRecordInternal,\n )\n}\n\nconst ucsHandler = (tuples: DXFTuple[]): UcsInternal => {\n return tuples.reduce(\n (ucs, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n\n switch (type) {\n case 2:\n ucs.name = value\n break\n case 70:\n ucs.flags = value\n break\n default:\n }\n\n return ucs\n },\n { type: 'UCS' } as UcsInternal,\n )\n}\n\nconst viewHandler = (tuples: DXFTuple[]): ViewInternal => {\n return tuples.reduce(\n (view, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n\n switch (type) {\n case 2:\n view.name = value\n break\n case 70:\n view.flags = value\n break\n default:\n }\n\n return view\n },\n { type: 'VIEW' } as ViewInternal,\n )\n}\n\nconst dimStyleHandler = (tuples: DXFTuple[]): DimStyleInternal => {\n return tuples.reduce(\n (dimStyle, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n switch (type) { // NOSONAR\n case 2:\n dimStyle.name = value\n break\n case 70:\n dimStyle.flags = value\n break\n case 3:\n dimStyle.dimPost = value\n break\n case 4:\n dimStyle.dimAPost = value\n break\n case 40:\n dimStyle.dimScale = Number.parseFloat(String(value))\n break\n case 41:\n dimStyle.dimAsz = Number.parseFloat(String(value))\n break\n case 42:\n dimStyle.dimExo = Number.parseFloat(String(value))\n break\n case 43:\n dimStyle.dimDli = Number.parseFloat(String(value))\n break\n case 44:\n dimStyle.dimExe = Number.parseFloat(String(value))\n break\n case 45:\n dimStyle.dimRnd = Number.parseFloat(String(value))\n break\n case 46:\n dimStyle.dimDle = Number.parseFloat(String(value))\n break\n case 47:\n dimStyle.dimTp = Number.parseFloat(String(value))\n break\n case 48:\n dimStyle.dimTm = Number.parseFloat(String(value))\n break\n case 140:\n dimStyle.dimTxt = Number.parseFloat(String(value))\n break\n case 141:\n dimStyle.dimCen = Number.parseFloat(String(value))\n break\n case 142:\n dimStyle.dimTsz = Number.parseFloat(String(value))\n break\n case 143:\n dimStyle.dimAltf = Number.parseFloat(String(value))\n break\n case 144:\n dimStyle.dimLfac = Number.parseFloat(String(value))\n break\n case 145:\n dimStyle.dimTvp = Number.parseFloat(String(value))\n break\n case 146:\n dimStyle.dimTfac = Number.parseFloat(String(value))\n break\n case 147:\n dimStyle.dimGap = Number.parseFloat(String(value))\n break\n case 148:\n dimStyle.dimAltRnd = Number.parseFloat(String(value))\n break\n case 71:\n dimStyle.dimTol = Number.parseInt(String(value))\n break\n case 72:\n dimStyle.dimLim = Number.parseInt(String(value))\n break\n case 73:\n dimStyle.dimTih = Number.parseInt(String(value))\n break\n case 74:\n dimStyle.dimToh = Number.parseInt(String(value))\n break\n case 75:\n dimStyle.dimSe1 = Number.parseInt(String(value))\n break\n case 76:\n dimStyle.dimSe2 = Number.parseInt(String(value))\n break\n case 77:\n dimStyle.dimTad = Number.parseInt(String(value))\n break\n case 78:\n dimStyle.dimZin = Number.parseInt(String(value))\n break\n case 79:\n dimStyle.dimAzin = Number.parseInt(String(value))\n break\n case 170:\n dimStyle.dimAlt = Number.parseInt(String(value))\n break\n case 171:\n dimStyle.dimAltd = Number.parseInt(String(value))\n break\n case 172:\n dimStyle.dimTofl = Number.parseInt(String(value))\n break\n case 173:\n dimStyle.dimSah = Number.parseInt(String(value))\n break\n case 174:\n dimStyle.dimTix = Number.parseInt(String(value))\n break\n case 175:\n dimStyle.dimSoxd = Number.parseInt(String(value))\n break\n case 176:\n dimStyle.dimClrd = Number.parseInt(String(value))\n break\n case 177:\n dimStyle.dimClre = Number.parseInt(String(value))\n break\n case 178:\n dimStyle.dimClrt = Number.parseInt(String(value))\n break\n case 179:\n dimStyle.dimAdec = Number.parseInt(String(value))\n break\n case 270:\n dimStyle.dimUnit = Number.parseInt(String(value))\n break\n case 271:\n dimStyle.dimDec = Number.parseInt(String(value))\n break\n case 272:\n dimStyle.dimTdec = Number.parseInt(String(value))\n break\n case 273:\n dimStyle.dimAltu = Number.parseInt(String(value))\n break\n case 274:\n dimStyle.dimAlttd = Number.parseInt(String(value))\n break\n case 275:\n dimStyle.dimAunit = Number.parseInt(String(value))\n break\n case 276:\n dimStyle.dimFrac = Number.parseInt(String(value))\n break\n case 277:\n dimStyle.dimLunit = Number.parseInt(String(value))\n break\n case 278:\n dimStyle.dimDsep = Number.parseInt(String(value))\n break\n case 279:\n dimStyle.dimTmove = Number.parseInt(String(value))\n break\n case 280:\n dimStyle.dimJust = Number.parseInt(String(value))\n break\n case 281:\n dimStyle.dimSd1 = Number.parseInt(String(value))\n break\n case 282:\n dimStyle.dimSd2 = Number.parseInt(String(value))\n break\n case 283:\n dimStyle.dimTolj = Number.parseInt(String(value))\n break\n case 284:\n dimStyle.dimTzin = Number.parseInt(String(value))\n break\n case 285:\n dimStyle.dimAltz = Number.parseInt(String(value))\n break\n case 286:\n dimStyle.dimAlttz = Number.parseInt(String(value))\n break\n case 287:\n dimStyle.dimFit = Number.parseInt(String(value))\n break\n case 288:\n dimStyle.dimUpt = Number.parseInt(String(value))\n break\n case 289:\n dimStyle.dimAtfit = Number.parseInt(String(value))\n break\n case 340:\n dimStyle.dimTxsty = value\n break\n case 341:\n dimStyle.dimLdrblk = value\n break\n case 342:\n dimStyle.dimBlk = value\n break\n case 343:\n dimStyle.dimBlk1 = value\n break\n case 344:\n dimStyle.dimBlk2 = value\n break\n case 371:\n dimStyle.dimLwd = Number.parseInt(String(value))\n break\n case 372:\n dimStyle.dimLwe = Number.parseInt(String(value))\n break\n default:\n }\n return dimStyle\n },\n { type: 'DIMSTYLE' } as DimStyleInternal,\n )\n}\n\nconst tableHandler = (\n tuples: DXFTuple[],\n tableType: string,\n handler: (\n tuples: DXFTuple[],\n ) =>\n | LTypeInternal\n | LayerInternal\n | StyleInternal\n | VPortInternal\n | DimStyleInternal\n | AppIdInternal\n | BlockRecordInternal\n | UcsInternal\n | ViewInternal,\n): Record<string, any> => {\n const tableRowsTuples: DXFTuple[][] = []\n\n let tableRowTuples: DXFTuple[] | undefined\n for (const tuple of tuples) {\n const type = tuple[0]\n const value = tuple[1]\n if ((type === 0 || type === 2) && value === tableType) {\n tableRowTuples = []\n tableRowsTuples.push(tableRowTuples)\n } else if (tableRowTuples) {\n tableRowTuples.push(tuple)\n }\n }\n\n return tableRowsTuples.reduce((acc, rowTuples) => {\n const tableRow = handler(rowTuples)\n if (tableRow.name) {\n acc[String(tableRow.name)] = tableRow\n } else {\n logger.warn('table row without name:', tableRow)\n }\n return acc\n }, {} as Record<string, any>)\n}\n\nexport default function parseTables(tuples: DXFTuple[]) {\n const tableGroups: DXFTuple[][] = []\n let tableTuples: DXFTuple[] | undefined\n for (const tuple of tuples) {\n const value = tuple[1]\n if (value === 'TABLE') {\n tableTuples = []\n tableGroups.push(tableTuples)\n } else if (value === 'ENDTAB') {\n if (tableTuples) {\n tableGroups.push(tableTuples)\n }\n } else if (tableTuples) {\n tableTuples.push(tuple)\n }\n }\n\n const groupsByName: Record<string, DXFTuple[]> = {}\n for (const group of tableGroups) {\n const name = String(group[0]?.[1] ?? '')\n if (!name) continue\n groupsByName[name] = group\n }\n\n const stylesTuples = groupsByName.STYLE ?? []\n const layersTuples = groupsByName.LAYER ?? []\n const vPortTuples = groupsByName.VPORT ?? []\n const ltypeTuples = groupsByName.LTYPE ?? []\n const dimStyleTuples = groupsByName.DIMSTYLE ?? []\n const appIdTuples = groupsByName.APPID ?? []\n const blockRecordTuples = groupsByName.BLOCK_RECORD ?? []\n const ucsTuples = groupsByName.UCS ?? []\n const viewTuples = groupsByName.VIEW ?? []\n\n return {\n layers: tableHandler(layersTuples, 'LAYER', layerHandler),\n styles: tableHandler(stylesTuples, 'STYLE', styleHandler),\n vports: tableHandler(vPortTuples, 'VPORT', vPortHandler),\n ltypes: tableHandler(ltypeTuples, 'LTYPE', ltypeHandler),\n dimStyles: tableHandler(dimStyleTuples, 'DIMSTYLE', dimStyleHandler),\n appids: tableHandler(appIdTuples, 'APPID', appIdHandler),\n blockRecords: tableHandler(blockRecordTuples, 'BLOCK_RECORD', blockRecordHandler),\n ucs: tableHandler(ucsTuples, 'UCS', ucsHandler),\n views: tableHandler(viewTuples, 'VIEW', viewHandler),\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["logger"]
|
|
7
7
|
}
|
package/lib/handlers/tables.js
CHANGED
|
@@ -156,6 +156,7 @@ const vPortHandler = (tuples) => {
|
|
|
156
156
|
const type = tuple[0];
|
|
157
157
|
const value = tuple[1];
|
|
158
158
|
switch (type) {
|
|
159
|
+
// NOSONAR
|
|
159
160
|
case 2:
|
|
160
161
|
vport.name = value;
|
|
161
162
|
break;
|
|
@@ -269,12 +270,89 @@ const vPortHandler = (tuples) => {
|
|
|
269
270
|
}
|
|
270
271
|
);
|
|
271
272
|
};
|
|
273
|
+
const appIdHandler = (tuples) => {
|
|
274
|
+
return tuples.reduce(
|
|
275
|
+
(appId, tuple) => {
|
|
276
|
+
const type = tuple[0];
|
|
277
|
+
const value = tuple[1];
|
|
278
|
+
switch (type) {
|
|
279
|
+
case 2:
|
|
280
|
+
appId.name = value;
|
|
281
|
+
break;
|
|
282
|
+
case 70:
|
|
283
|
+
appId.flags = value;
|
|
284
|
+
break;
|
|
285
|
+
default:
|
|
286
|
+
}
|
|
287
|
+
return appId;
|
|
288
|
+
},
|
|
289
|
+
{ type: "APPID" }
|
|
290
|
+
);
|
|
291
|
+
};
|
|
292
|
+
const blockRecordHandler = (tuples) => {
|
|
293
|
+
return tuples.reduce(
|
|
294
|
+
(blockRecord, tuple) => {
|
|
295
|
+
const type = tuple[0];
|
|
296
|
+
const value = tuple[1];
|
|
297
|
+
switch (type) {
|
|
298
|
+
case 2:
|
|
299
|
+
blockRecord.name = value;
|
|
300
|
+
break;
|
|
301
|
+
case 70:
|
|
302
|
+
blockRecord.flags = value;
|
|
303
|
+
break;
|
|
304
|
+
default:
|
|
305
|
+
}
|
|
306
|
+
return blockRecord;
|
|
307
|
+
},
|
|
308
|
+
{ type: "BLOCK_RECORD" }
|
|
309
|
+
);
|
|
310
|
+
};
|
|
311
|
+
const ucsHandler = (tuples) => {
|
|
312
|
+
return tuples.reduce(
|
|
313
|
+
(ucs, tuple) => {
|
|
314
|
+
const type = tuple[0];
|
|
315
|
+
const value = tuple[1];
|
|
316
|
+
switch (type) {
|
|
317
|
+
case 2:
|
|
318
|
+
ucs.name = value;
|
|
319
|
+
break;
|
|
320
|
+
case 70:
|
|
321
|
+
ucs.flags = value;
|
|
322
|
+
break;
|
|
323
|
+
default:
|
|
324
|
+
}
|
|
325
|
+
return ucs;
|
|
326
|
+
},
|
|
327
|
+
{ type: "UCS" }
|
|
328
|
+
);
|
|
329
|
+
};
|
|
330
|
+
const viewHandler = (tuples) => {
|
|
331
|
+
return tuples.reduce(
|
|
332
|
+
(view, tuple) => {
|
|
333
|
+
const type = tuple[0];
|
|
334
|
+
const value = tuple[1];
|
|
335
|
+
switch (type) {
|
|
336
|
+
case 2:
|
|
337
|
+
view.name = value;
|
|
338
|
+
break;
|
|
339
|
+
case 70:
|
|
340
|
+
view.flags = value;
|
|
341
|
+
break;
|
|
342
|
+
default:
|
|
343
|
+
}
|
|
344
|
+
return view;
|
|
345
|
+
},
|
|
346
|
+
{ type: "VIEW" }
|
|
347
|
+
);
|
|
348
|
+
};
|
|
272
349
|
const dimStyleHandler = (tuples) => {
|
|
273
350
|
return tuples.reduce(
|
|
274
351
|
(dimStyle, tuple) => {
|
|
275
352
|
const type = tuple[0];
|
|
276
353
|
const value = tuple[1];
|
|
277
354
|
switch (type) {
|
|
355
|
+
// NOSONAR
|
|
278
356
|
case 2:
|
|
279
357
|
dimStyle.name = value;
|
|
280
358
|
break;
|
|
@@ -525,30 +603,31 @@ function parseTables(tuples) {
|
|
|
525
603
|
tableTuples.push(tuple);
|
|
526
604
|
}
|
|
527
605
|
}
|
|
528
|
-
|
|
529
|
-
let layersTuples = [];
|
|
530
|
-
let vPortTuples = [];
|
|
531
|
-
let ltypeTuples = [];
|
|
532
|
-
let dimStyleTuples = [];
|
|
606
|
+
const groupsByName = {};
|
|
533
607
|
for (const group of tableGroups) {
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
ltypeTuples = group;
|
|
538
|
-
} else if (group[0]?.[1] === "LAYER") {
|
|
539
|
-
layersTuples = group;
|
|
540
|
-
} else if (group[0]?.[1] === "VPORT") {
|
|
541
|
-
vPortTuples = group;
|
|
542
|
-
} else if (group[0]?.[1] === "DIMSTYLE") {
|
|
543
|
-
dimStyleTuples = group;
|
|
544
|
-
}
|
|
608
|
+
const name = String(group[0]?.[1] ?? "");
|
|
609
|
+
if (!name) continue;
|
|
610
|
+
groupsByName[name] = group;
|
|
545
611
|
}
|
|
612
|
+
const stylesTuples = groupsByName.STYLE ?? [];
|
|
613
|
+
const layersTuples = groupsByName.LAYER ?? [];
|
|
614
|
+
const vPortTuples = groupsByName.VPORT ?? [];
|
|
615
|
+
const ltypeTuples = groupsByName.LTYPE ?? [];
|
|
616
|
+
const dimStyleTuples = groupsByName.DIMSTYLE ?? [];
|
|
617
|
+
const appIdTuples = groupsByName.APPID ?? [];
|
|
618
|
+
const blockRecordTuples = groupsByName.BLOCK_RECORD ?? [];
|
|
619
|
+
const ucsTuples = groupsByName.UCS ?? [];
|
|
620
|
+
const viewTuples = groupsByName.VIEW ?? [];
|
|
546
621
|
return {
|
|
547
622
|
layers: tableHandler(layersTuples, "LAYER", layerHandler),
|
|
548
623
|
styles: tableHandler(stylesTuples, "STYLE", styleHandler),
|
|
549
624
|
vports: tableHandler(vPortTuples, "VPORT", vPortHandler),
|
|
550
625
|
ltypes: tableHandler(ltypeTuples, "LTYPE", ltypeHandler),
|
|
551
|
-
dimStyles: tableHandler(dimStyleTuples, "DIMSTYLE", dimStyleHandler)
|
|
626
|
+
dimStyles: tableHandler(dimStyleTuples, "DIMSTYLE", dimStyleHandler),
|
|
627
|
+
appids: tableHandler(appIdTuples, "APPID", appIdHandler),
|
|
628
|
+
blockRecords: tableHandler(blockRecordTuples, "BLOCK_RECORD", blockRecordHandler),
|
|
629
|
+
ucs: tableHandler(ucsTuples, "UCS", ucsHandler),
|
|
630
|
+
views: tableHandler(viewTuples, "VIEW", viewHandler)
|
|
552
631
|
};
|
|
553
632
|
}
|
|
554
633
|
export {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/handlers/tables.ts"],
|
|
4
|
-
"sourcesContent": ["import type { DXFTuple, DimStyleInternal, LTypeElement, LTypeInternal, LayerInternal, StyleInternal, VPortInternal } from '../types'\n\nimport logger from '../util/logger'\n\nconst ltypeHandler = (tuples: DXFTuple[]): LTypeInternal => {\n let element: LTypeElement | undefined\n let offset: { x: string | number; y: string | number } | undefined\n return tuples.reduce(\n (layer, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n // https://documentation.help/AutoCAD-DXF/WS1a9193826455f5ff18cb41610ec0a2e719-7a4f.htm\n switch (type) {\n case 2:\n layer.name = value\n break\n case 3:\n layer.description = value\n break\n case 70:\n // Standard flag values (bit-coded values):\n // 16 = If set, table entry is externally dependent on an xref\n // 32 = If both this bit and bit 16 are set, the externally dependent xref has been successfully resolved\n // 64 = If set, the table entry was referenced by at least one entity in the drawing the last time the drawing was edited. (This flag is for the benefit of AutoCAD commands. It can be ignored by most programs that read DXF files and need not be set by programs that write DXF files)\n layer.flag = value\n break\n case 72:\n // Alignment code (value is always 65, the ASCII code for A):\n layer.alignment = value\n break\n case 73:\n layer.elementCount = Number.parseInt(String(value))\n break\n case 40:\n layer.patternLength = value\n break\n case 49:\n element = { length: value }\n layer.pattern.push(element)\n break\n case 74:\n // Complex linetype element type (one per element). Default is 0 (no embedded shape/text) (bit-coded values)\n // 1 = If set, code 50 specifies an absolute rotation; if not set, code 50 specifies a relative rotation\n // 2 = Embedded element is a text string\n // 4 = Embedded element is a shape\n if (element) {\n element.shape = value\n }\n break\n case 75:\n if (element) {\n element.shapeNumber = value\n }\n break\n case 340:\n if (element) {\n element.styleHandle = value\n }\n break\n case 46:\n if (element) {\n element.scales ??= []\n element.scales.push(value)\n }\n break\n case 50:\n if (element) {\n element.rotation = value\n }\n break\n case 44:\n offset = { x: value, y: 0 }\n if (element) {\n element.offset ??= []\n element.offset.push(offset)\n }\n break\n case 45:\n if (offset) {\n offset.y = value\n }\n break\n case 9:\n if (element) {\n element.text = value\n }\n break\n default:\n }\n return layer\n },\n { type: 'LTYPE', pattern: [] } as LTypeInternal,\n )\n}\n\nconst layerHandler = (tuples: DXFTuple[]): LayerInternal => {\n return tuples.reduce(\n (layer, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n // https://www.autodesk.com/techpubs/autocad/acad2000/dxf/layer_dxf_04.htm\n switch (type) {\n case 2:\n layer.name = value\n break\n case 6:\n layer.lineTypeName = value\n break\n case 62:\n layer.colorNumber = value\n break\n case 70:\n layer.flags = value\n break\n case 290:\n layer.plot = Number.parseInt(String(value)) !== 0\n break\n case 370:\n layer.lineWeightEnum = value\n break\n default:\n }\n return layer\n },\n { type: 'LAYER' } as LayerInternal,\n )\n}\n\nconst styleHandler = (tuples: DXFTuple[]): StyleInternal => {\n return tuples.reduce(\n (style, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n switch (type) {\n case 2:\n style.name = value\n break\n case 6:\n style.lineTypeName = value\n break\n case 40:\n style.fixedTextHeight = value\n break\n case 41:\n style.widthFactor = value\n break\n case 50:\n style.obliqueAngle = value\n break\n case 71:\n style.flags = value\n break\n case 42:\n style.lastHeightUsed = value\n break\n case 3:\n style.primaryFontFileName = value\n break\n case 4:\n style.bigFontFileName = value\n break\n default:\n }\n return style\n },\n { type: 'STYLE' } as StyleInternal,\n )\n}\n\nconst vPortHandler = (tuples: DXFTuple[]): VPortInternal => {\n return tuples.reduce(\n (vport, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n switch (type) {\n case 2:\n vport.name = value\n break\n case 5:\n vport.handle = value\n break\n case 70:\n vport.flags = value\n break\n case 10:\n vport.lowerLeft.x = Number.parseFloat(String(value))\n break\n case 20:\n vport.lowerLeft.y = Number.parseFloat(String(value))\n break\n case 11:\n vport.upperRight.x = Number.parseFloat(String(value))\n break\n case 21:\n vport.upperRight.y = Number.parseFloat(String(value))\n break\n case 12:\n vport.center.x = Number.parseFloat(String(value))\n break\n case 22:\n vport.center.y = Number.parseFloat(String(value))\n break\n case 14:\n vport.snapSpacing.x = Number.parseFloat(String(value))\n break\n case 24:\n vport.snapSpacing.y = Number.parseFloat(String(value))\n break\n case 15:\n vport.gridSpacing.x = Number.parseFloat(String(value))\n break\n case 25:\n vport.gridSpacing.y = Number.parseFloat(String(value))\n break\n case 16:\n vport.direction.x = Number.parseFloat(String(value))\n break\n case 26:\n vport.direction.y = Number.parseFloat(String(value))\n break\n case 36:\n vport.direction.z = Number.parseFloat(String(value))\n break\n case 17:\n vport.target.x = Number.parseFloat(String(value))\n break\n case 27:\n vport.target.y = Number.parseFloat(String(value))\n break\n case 37:\n vport.target.z = Number.parseFloat(String(value))\n break\n case 45:\n vport.height = Number.parseFloat(String(value))\n break\n case 50:\n vport.snapAngle = Number.parseFloat(String(value))\n break\n case 51:\n vport.angle = Number.parseFloat(String(value))\n break\n case 110:\n vport.x = Number.parseFloat(String(value))\n break\n case 120:\n vport.y = Number.parseFloat(String(value))\n break\n case 130:\n vport.z = Number.parseFloat(String(value))\n break\n case 111:\n vport.xAxisX = Number.parseFloat(String(value))\n break\n case 121:\n vport.xAxisY = Number.parseFloat(String(value))\n break\n case 131:\n vport.xAxisZ = Number.parseFloat(String(value))\n break\n case 112:\n vport.xAxisX = Number.parseFloat(String(value))\n break\n case 122:\n vport.xAxisY = Number.parseFloat(String(value))\n break\n case 132:\n vport.xAxisZ = Number.parseFloat(String(value))\n break\n case 146:\n vport.elevation = Number.parseFloat(String(value))\n break\n default:\n }\n return vport\n },\n {\n type: 'VPORT',\n center: {},\n lowerLeft: {},\n upperRight: {},\n snap: {},\n snapSpacing: {},\n gridSpacing: {},\n direction: {},\n target: {},\n } as VPortInternal,\n )\n}\n\nconst dimStyleHandler = (tuples: DXFTuple[]): DimStyleInternal => {\n return tuples.reduce(\n (dimStyle, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n switch (type) {\n case 2:\n dimStyle.name = value\n break\n case 70:\n dimStyle.flags = value\n break\n case 3:\n dimStyle.dimPost = value\n break\n case 4:\n dimStyle.dimAPost = value\n break\n case 40:\n dimStyle.dimScale = Number.parseFloat(String(value))\n break\n case 41:\n dimStyle.dimAsz = Number.parseFloat(String(value))\n break\n case 42:\n dimStyle.dimExo = Number.parseFloat(String(value))\n break\n case 43:\n dimStyle.dimDli = Number.parseFloat(String(value))\n break\n case 44:\n dimStyle.dimExe = Number.parseFloat(String(value))\n break\n case 45:\n dimStyle.dimRnd = Number.parseFloat(String(value))\n break\n case 46:\n dimStyle.dimDle = Number.parseFloat(String(value))\n break\n case 47:\n dimStyle.dimTp = Number.parseFloat(String(value))\n break\n case 48:\n dimStyle.dimTm = Number.parseFloat(String(value))\n break\n case 140:\n dimStyle.dimTxt = Number.parseFloat(String(value))\n break\n case 141:\n dimStyle.dimCen = Number.parseFloat(String(value))\n break\n case 142:\n dimStyle.dimTsz = Number.parseFloat(String(value))\n break\n case 143:\n dimStyle.dimAltf = Number.parseFloat(String(value))\n break\n case 144:\n dimStyle.dimLfac = Number.parseFloat(String(value))\n break\n case 145:\n dimStyle.dimTvp = Number.parseFloat(String(value))\n break\n case 146:\n dimStyle.dimTfac = Number.parseFloat(String(value))\n break\n case 147:\n dimStyle.dimGap = Number.parseFloat(String(value))\n break\n case 148:\n dimStyle.dimAltRnd = Number.parseFloat(String(value))\n break\n case 71:\n dimStyle.dimTol = Number.parseInt(String(value))\n break\n case 72:\n dimStyle.dimLim = Number.parseInt(String(value))\n break\n case 73:\n dimStyle.dimTih = Number.parseInt(String(value))\n break\n case 74:\n dimStyle.dimToh = Number.parseInt(String(value))\n break\n case 75:\n dimStyle.dimSe1 = Number.parseInt(String(value))\n break\n case 76:\n dimStyle.dimSe2 = Number.parseInt(String(value))\n break\n case 77:\n dimStyle.dimTad = Number.parseInt(String(value))\n break\n case 78:\n dimStyle.dimZin = Number.parseInt(String(value))\n break\n case 79:\n dimStyle.dimAzin = Number.parseInt(String(value))\n break\n case 170:\n dimStyle.dimAlt = Number.parseInt(String(value))\n break\n case 171:\n dimStyle.dimAltd = Number.parseInt(String(value))\n break\n case 172:\n dimStyle.dimTofl = Number.parseInt(String(value))\n break\n case 173:\n dimStyle.dimSah = Number.parseInt(String(value))\n break\n case 174:\n dimStyle.dimTix = Number.parseInt(String(value))\n break\n case 175:\n dimStyle.dimSoxd = Number.parseInt(String(value))\n break\n case 176:\n dimStyle.dimClrd = Number.parseInt(String(value))\n break\n case 177:\n dimStyle.dimClre = Number.parseInt(String(value))\n break\n case 178:\n dimStyle.dimClrt = Number.parseInt(String(value))\n break\n case 179:\n dimStyle.dimAdec = Number.parseInt(String(value))\n break\n case 270:\n dimStyle.dimUnit = Number.parseInt(String(value))\n break\n case 271:\n dimStyle.dimDec = Number.parseInt(String(value))\n break\n case 272:\n dimStyle.dimTdec = Number.parseInt(String(value))\n break\n case 273:\n dimStyle.dimAltu = Number.parseInt(String(value))\n break\n case 274:\n dimStyle.dimAlttd = Number.parseInt(String(value))\n break\n case 275:\n dimStyle.dimAunit = Number.parseInt(String(value))\n break\n case 276:\n dimStyle.dimFrac = Number.parseInt(String(value))\n break\n case 277:\n dimStyle.dimLunit = Number.parseInt(String(value))\n break\n case 278:\n dimStyle.dimDsep = Number.parseInt(String(value))\n break\n case 279:\n dimStyle.dimTmove = Number.parseInt(String(value))\n break\n case 280:\n dimStyle.dimJust = Number.parseInt(String(value))\n break\n case 281:\n dimStyle.dimSd1 = Number.parseInt(String(value))\n break\n case 282:\n dimStyle.dimSd2 = Number.parseInt(String(value))\n break\n case 283:\n dimStyle.dimTolj = Number.parseInt(String(value))\n break\n case 284:\n dimStyle.dimTzin = Number.parseInt(String(value))\n break\n case 285:\n dimStyle.dimAltz = Number.parseInt(String(value))\n break\n case 286:\n dimStyle.dimAlttz = Number.parseInt(String(value))\n break\n case 287:\n dimStyle.dimFit = Number.parseInt(String(value))\n break\n case 288:\n dimStyle.dimUpt = Number.parseInt(String(value))\n break\n case 289:\n dimStyle.dimAtfit = Number.parseInt(String(value))\n break\n case 340:\n dimStyle.dimTxsty = value\n break\n case 341:\n dimStyle.dimLdrblk = value\n break\n case 342:\n dimStyle.dimBlk = value\n break\n case 343:\n dimStyle.dimBlk1 = value\n break\n case 344:\n dimStyle.dimBlk2 = value\n break\n case 371:\n dimStyle.dimLwd = Number.parseInt(String(value))\n break\n case 372:\n dimStyle.dimLwe = Number.parseInt(String(value))\n break\n default:\n }\n return dimStyle\n },\n { type: 'DIMSTYLE' } as DimStyleInternal,\n )\n}\n\nconst tableHandler = (\n tuples: DXFTuple[],\n tableType: string,\n handler: (tuples: DXFTuple[]) => LTypeInternal | LayerInternal | StyleInternal | VPortInternal | DimStyleInternal,\n): Record<string, any> => {\n const tableRowsTuples: DXFTuple[][] = []\n\n let tableRowTuples: DXFTuple[] | undefined\n for (const tuple of tuples) {\n const type = tuple[0]\n const value = tuple[1]\n if ((type === 0 || type === 2) && value === tableType) {\n tableRowTuples = []\n tableRowsTuples.push(tableRowTuples)\n } else if (tableRowTuples) {\n tableRowTuples.push(tuple)\n }\n }\n\n return tableRowsTuples.reduce((acc, rowTuples) => {\n const tableRow = handler(rowTuples)\n if (tableRow.name) {\n acc[String(tableRow.name)] = tableRow\n } else {\n logger.warn('table row without name:', tableRow)\n }\n return acc\n }, {} as Record<string, any>)\n}\n\nexport default function parseTables(tuples: DXFTuple[]) {\n const tableGroups: DXFTuple[][] = []\n let tableTuples: DXFTuple[] | undefined\n for (const tuple of tuples) {\n const value = tuple[1]\n if (value === 'TABLE') {\n tableTuples = []\n tableGroups.push(tableTuples)\n } else if (value === 'ENDTAB') {\n if (tableTuples) {\n tableGroups.push(tableTuples)\n }\n } else if (tableTuples) {\n tableTuples.push(tuple)\n }\n }\n\n let stylesTuples: DXFTuple[] = []\n let layersTuples: DXFTuple[] = []\n let vPortTuples: DXFTuple[] = []\n let ltypeTuples: DXFTuple[] = []\n let dimStyleTuples: DXFTuple[] = []\n for (const group of tableGroups) {\n if (group[0]?.[1] === 'STYLE') {\n stylesTuples = group\n } else if (group[0]?.[1] === 'LTYPE') {\n ltypeTuples = group\n } else if (group[0]?.[1] === 'LAYER') {\n layersTuples = group\n } else if (group[0]?.[1] === 'VPORT') {\n vPortTuples = group\n } else if (group[0]?.[1] === 'DIMSTYLE') {\n dimStyleTuples = group\n }\n }\n\n return {\n layers: tableHandler(layersTuples, 'LAYER', layerHandler),\n styles: tableHandler(stylesTuples, 'STYLE', styleHandler),\n vports: tableHandler(vPortTuples, 'VPORT', vPortHandler),\n ltypes: tableHandler(ltypeTuples, 'LTYPE', ltypeHandler),\n dimStyles: tableHandler(dimStyleTuples, 'DIMSTYLE', dimStyleHandler),\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import type {\n AppIdInternal,\n BlockRecordInternal,\n DXFTuple,\n DimStyleInternal,\n LTypeElement,\n LTypeInternal,\n LayerInternal,\n StyleInternal,\n UcsInternal,\n VPortInternal,\n ViewInternal,\n} from '../types'\n\nimport logger from '../util/logger'\n\nconst ltypeHandler = (tuples: DXFTuple[]): LTypeInternal => {\n let element: LTypeElement | undefined\n let offset: { x: string | number; y: string | number } | undefined\n return tuples.reduce(\n (layer, tuple) => { // NOSONAR\n const type = tuple[0]\n const value = tuple[1]\n // https://documentation.help/AutoCAD-DXF/WS1a9193826455f5ff18cb41610ec0a2e719-7a4f.htm\n switch (type) {\n case 2:\n layer.name = value\n break\n case 3:\n layer.description = value\n break\n case 70:\n // Standard flag values (bit-coded values):\n // 16 = If set, table entry is externally dependent on an xref\n // 32 = If both this bit and bit 16 are set, the externally dependent xref has been successfully resolved\n // 64 = If set, the table entry was referenced by at least one entity in the drawing the last time the drawing was edited. (This flag is for the benefit of AutoCAD commands. It can be ignored by most programs that read DXF files and need not be set by programs that write DXF files)\n layer.flag = value\n break\n case 72:\n // Alignment code (value is always 65, the ASCII code for A):\n layer.alignment = value\n break\n case 73:\n layer.elementCount = Number.parseInt(String(value))\n break\n case 40:\n layer.patternLength = value\n break\n case 49:\n element = { length: value }\n layer.pattern.push(element)\n break\n case 74:\n // Complex linetype element type (one per element). Default is 0 (no embedded shape/text) (bit-coded values)\n // 1 = If set, code 50 specifies an absolute rotation; if not set, code 50 specifies a relative rotation\n // 2 = Embedded element is a text string\n // 4 = Embedded element is a shape\n if (element) {\n element.shape = value\n }\n break\n case 75:\n if (element) {\n element.shapeNumber = value\n }\n break\n case 340:\n if (element) {\n element.styleHandle = value\n }\n break\n case 46:\n if (element) {\n element.scales ??= []\n element.scales.push(value)\n }\n break\n case 50:\n if (element) {\n element.rotation = value\n }\n break\n case 44:\n offset = { x: value, y: 0 }\n if (element) {\n element.offset ??= []\n element.offset.push(offset)\n }\n break\n case 45:\n if (offset) {\n offset.y = value\n }\n break\n case 9:\n if (element) {\n element.text = value\n }\n break\n default:\n }\n return layer\n },\n { type: 'LTYPE', pattern: [] } as LTypeInternal,\n )\n}\n\nconst layerHandler = (tuples: DXFTuple[]): LayerInternal => {\n return tuples.reduce(\n (layer, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n // https://www.autodesk.com/techpubs/autocad/acad2000/dxf/layer_dxf_04.htm\n switch (type) {\n case 2:\n layer.name = value\n break\n case 6:\n layer.lineTypeName = value\n break\n case 62:\n layer.colorNumber = value\n break\n case 70:\n layer.flags = value\n break\n case 290:\n layer.plot = Number.parseInt(String(value)) !== 0\n break\n case 370:\n layer.lineWeightEnum = value\n break\n default:\n }\n return layer\n },\n { type: 'LAYER' } as LayerInternal,\n )\n}\n\nconst styleHandler = (tuples: DXFTuple[]): StyleInternal => {\n return tuples.reduce(\n (style, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n switch (type) {\n case 2:\n style.name = value\n break\n case 6:\n style.lineTypeName = value\n break\n case 40:\n style.fixedTextHeight = value\n break\n case 41:\n style.widthFactor = value\n break\n case 50:\n style.obliqueAngle = value\n break\n case 71:\n style.flags = value\n break\n case 42:\n style.lastHeightUsed = value\n break\n case 3:\n style.primaryFontFileName = value\n break\n case 4:\n style.bigFontFileName = value\n break\n default:\n }\n return style\n },\n { type: 'STYLE' } as StyleInternal,\n )\n}\n\nconst vPortHandler = (tuples: DXFTuple[]): VPortInternal => {\n return tuples.reduce(\n (vport, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n switch (type) { // NOSONAR\n case 2:\n vport.name = value\n break\n case 5:\n vport.handle = value\n break\n case 70:\n vport.flags = value\n break\n case 10:\n vport.lowerLeft.x = Number.parseFloat(String(value))\n break\n case 20:\n vport.lowerLeft.y = Number.parseFloat(String(value))\n break\n case 11:\n vport.upperRight.x = Number.parseFloat(String(value))\n break\n case 21:\n vport.upperRight.y = Number.parseFloat(String(value))\n break\n case 12:\n vport.center.x = Number.parseFloat(String(value))\n break\n case 22:\n vport.center.y = Number.parseFloat(String(value))\n break\n case 14:\n vport.snapSpacing.x = Number.parseFloat(String(value))\n break\n case 24:\n vport.snapSpacing.y = Number.parseFloat(String(value))\n break\n case 15:\n vport.gridSpacing.x = Number.parseFloat(String(value))\n break\n case 25:\n vport.gridSpacing.y = Number.parseFloat(String(value))\n break\n case 16:\n vport.direction.x = Number.parseFloat(String(value))\n break\n case 26:\n vport.direction.y = Number.parseFloat(String(value))\n break\n case 36:\n vport.direction.z = Number.parseFloat(String(value))\n break\n case 17:\n vport.target.x = Number.parseFloat(String(value))\n break\n case 27:\n vport.target.y = Number.parseFloat(String(value))\n break\n case 37:\n vport.target.z = Number.parseFloat(String(value))\n break\n case 45:\n vport.height = Number.parseFloat(String(value))\n break\n case 50:\n vport.snapAngle = Number.parseFloat(String(value))\n break\n case 51:\n vport.angle = Number.parseFloat(String(value))\n break\n case 110:\n vport.x = Number.parseFloat(String(value))\n break\n case 120:\n vport.y = Number.parseFloat(String(value))\n break\n case 130:\n vport.z = Number.parseFloat(String(value))\n break\n case 111:\n vport.xAxisX = Number.parseFloat(String(value))\n break\n case 121:\n vport.xAxisY = Number.parseFloat(String(value))\n break\n case 131:\n vport.xAxisZ = Number.parseFloat(String(value))\n break\n case 112:\n vport.xAxisX = Number.parseFloat(String(value))\n break\n case 122:\n vport.xAxisY = Number.parseFloat(String(value))\n break\n case 132:\n vport.xAxisZ = Number.parseFloat(String(value))\n break\n case 146:\n vport.elevation = Number.parseFloat(String(value))\n break\n default:\n }\n return vport\n },\n {\n type: 'VPORT',\n center: {},\n lowerLeft: {},\n upperRight: {},\n snap: {},\n snapSpacing: {},\n gridSpacing: {},\n direction: {},\n target: {},\n } as VPortInternal,\n )\n}\n\nconst appIdHandler = (tuples: DXFTuple[]): AppIdInternal => {\n return tuples.reduce(\n (appId, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n\n switch (type) {\n case 2:\n appId.name = value\n break\n case 70:\n appId.flags = value\n break\n default:\n }\n\n return appId\n },\n { type: 'APPID' } as AppIdInternal,\n )\n}\n\nconst blockRecordHandler = (tuples: DXFTuple[]): BlockRecordInternal => {\n return tuples.reduce(\n (blockRecord, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n\n switch (type) {\n case 2:\n blockRecord.name = value\n break\n case 70:\n blockRecord.flags = value\n break\n default:\n }\n\n return blockRecord\n },\n { type: 'BLOCK_RECORD' } as BlockRecordInternal,\n )\n}\n\nconst ucsHandler = (tuples: DXFTuple[]): UcsInternal => {\n return tuples.reduce(\n (ucs, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n\n switch (type) {\n case 2:\n ucs.name = value\n break\n case 70:\n ucs.flags = value\n break\n default:\n }\n\n return ucs\n },\n { type: 'UCS' } as UcsInternal,\n )\n}\n\nconst viewHandler = (tuples: DXFTuple[]): ViewInternal => {\n return tuples.reduce(\n (view, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n\n switch (type) {\n case 2:\n view.name = value\n break\n case 70:\n view.flags = value\n break\n default:\n }\n\n return view\n },\n { type: 'VIEW' } as ViewInternal,\n )\n}\n\nconst dimStyleHandler = (tuples: DXFTuple[]): DimStyleInternal => {\n return tuples.reduce(\n (dimStyle, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n switch (type) { // NOSONAR\n case 2:\n dimStyle.name = value\n break\n case 70:\n dimStyle.flags = value\n break\n case 3:\n dimStyle.dimPost = value\n break\n case 4:\n dimStyle.dimAPost = value\n break\n case 40:\n dimStyle.dimScale = Number.parseFloat(String(value))\n break\n case 41:\n dimStyle.dimAsz = Number.parseFloat(String(value))\n break\n case 42:\n dimStyle.dimExo = Number.parseFloat(String(value))\n break\n case 43:\n dimStyle.dimDli = Number.parseFloat(String(value))\n break\n case 44:\n dimStyle.dimExe = Number.parseFloat(String(value))\n break\n case 45:\n dimStyle.dimRnd = Number.parseFloat(String(value))\n break\n case 46:\n dimStyle.dimDle = Number.parseFloat(String(value))\n break\n case 47:\n dimStyle.dimTp = Number.parseFloat(String(value))\n break\n case 48:\n dimStyle.dimTm = Number.parseFloat(String(value))\n break\n case 140:\n dimStyle.dimTxt = Number.parseFloat(String(value))\n break\n case 141:\n dimStyle.dimCen = Number.parseFloat(String(value))\n break\n case 142:\n dimStyle.dimTsz = Number.parseFloat(String(value))\n break\n case 143:\n dimStyle.dimAltf = Number.parseFloat(String(value))\n break\n case 144:\n dimStyle.dimLfac = Number.parseFloat(String(value))\n break\n case 145:\n dimStyle.dimTvp = Number.parseFloat(String(value))\n break\n case 146:\n dimStyle.dimTfac = Number.parseFloat(String(value))\n break\n case 147:\n dimStyle.dimGap = Number.parseFloat(String(value))\n break\n case 148:\n dimStyle.dimAltRnd = Number.parseFloat(String(value))\n break\n case 71:\n dimStyle.dimTol = Number.parseInt(String(value))\n break\n case 72:\n dimStyle.dimLim = Number.parseInt(String(value))\n break\n case 73:\n dimStyle.dimTih = Number.parseInt(String(value))\n break\n case 74:\n dimStyle.dimToh = Number.parseInt(String(value))\n break\n case 75:\n dimStyle.dimSe1 = Number.parseInt(String(value))\n break\n case 76:\n dimStyle.dimSe2 = Number.parseInt(String(value))\n break\n case 77:\n dimStyle.dimTad = Number.parseInt(String(value))\n break\n case 78:\n dimStyle.dimZin = Number.parseInt(String(value))\n break\n case 79:\n dimStyle.dimAzin = Number.parseInt(String(value))\n break\n case 170:\n dimStyle.dimAlt = Number.parseInt(String(value))\n break\n case 171:\n dimStyle.dimAltd = Number.parseInt(String(value))\n break\n case 172:\n dimStyle.dimTofl = Number.parseInt(String(value))\n break\n case 173:\n dimStyle.dimSah = Number.parseInt(String(value))\n break\n case 174:\n dimStyle.dimTix = Number.parseInt(String(value))\n break\n case 175:\n dimStyle.dimSoxd = Number.parseInt(String(value))\n break\n case 176:\n dimStyle.dimClrd = Number.parseInt(String(value))\n break\n case 177:\n dimStyle.dimClre = Number.parseInt(String(value))\n break\n case 178:\n dimStyle.dimClrt = Number.parseInt(String(value))\n break\n case 179:\n dimStyle.dimAdec = Number.parseInt(String(value))\n break\n case 270:\n dimStyle.dimUnit = Number.parseInt(String(value))\n break\n case 271:\n dimStyle.dimDec = Number.parseInt(String(value))\n break\n case 272:\n dimStyle.dimTdec = Number.parseInt(String(value))\n break\n case 273:\n dimStyle.dimAltu = Number.parseInt(String(value))\n break\n case 274:\n dimStyle.dimAlttd = Number.parseInt(String(value))\n break\n case 275:\n dimStyle.dimAunit = Number.parseInt(String(value))\n break\n case 276:\n dimStyle.dimFrac = Number.parseInt(String(value))\n break\n case 277:\n dimStyle.dimLunit = Number.parseInt(String(value))\n break\n case 278:\n dimStyle.dimDsep = Number.parseInt(String(value))\n break\n case 279:\n dimStyle.dimTmove = Number.parseInt(String(value))\n break\n case 280:\n dimStyle.dimJust = Number.parseInt(String(value))\n break\n case 281:\n dimStyle.dimSd1 = Number.parseInt(String(value))\n break\n case 282:\n dimStyle.dimSd2 = Number.parseInt(String(value))\n break\n case 283:\n dimStyle.dimTolj = Number.parseInt(String(value))\n break\n case 284:\n dimStyle.dimTzin = Number.parseInt(String(value))\n break\n case 285:\n dimStyle.dimAltz = Number.parseInt(String(value))\n break\n case 286:\n dimStyle.dimAlttz = Number.parseInt(String(value))\n break\n case 287:\n dimStyle.dimFit = Number.parseInt(String(value))\n break\n case 288:\n dimStyle.dimUpt = Number.parseInt(String(value))\n break\n case 289:\n dimStyle.dimAtfit = Number.parseInt(String(value))\n break\n case 340:\n dimStyle.dimTxsty = value\n break\n case 341:\n dimStyle.dimLdrblk = value\n break\n case 342:\n dimStyle.dimBlk = value\n break\n case 343:\n dimStyle.dimBlk1 = value\n break\n case 344:\n dimStyle.dimBlk2 = value\n break\n case 371:\n dimStyle.dimLwd = Number.parseInt(String(value))\n break\n case 372:\n dimStyle.dimLwe = Number.parseInt(String(value))\n break\n default:\n }\n return dimStyle\n },\n { type: 'DIMSTYLE' } as DimStyleInternal,\n )\n}\n\nconst tableHandler = (\n tuples: DXFTuple[],\n tableType: string,\n handler: (\n tuples: DXFTuple[],\n ) =>\n | LTypeInternal\n | LayerInternal\n | StyleInternal\n | VPortInternal\n | DimStyleInternal\n | AppIdInternal\n | BlockRecordInternal\n | UcsInternal\n | ViewInternal,\n): Record<string, any> => {\n const tableRowsTuples: DXFTuple[][] = []\n\n let tableRowTuples: DXFTuple[] | undefined\n for (const tuple of tuples) {\n const type = tuple[0]\n const value = tuple[1]\n if ((type === 0 || type === 2) && value === tableType) {\n tableRowTuples = []\n tableRowsTuples.push(tableRowTuples)\n } else if (tableRowTuples) {\n tableRowTuples.push(tuple)\n }\n }\n\n return tableRowsTuples.reduce((acc, rowTuples) => {\n const tableRow = handler(rowTuples)\n if (tableRow.name) {\n acc[String(tableRow.name)] = tableRow\n } else {\n logger.warn('table row without name:', tableRow)\n }\n return acc\n }, {} as Record<string, any>)\n}\n\nexport default function parseTables(tuples: DXFTuple[]) {\n const tableGroups: DXFTuple[][] = []\n let tableTuples: DXFTuple[] | undefined\n for (const tuple of tuples) {\n const value = tuple[1]\n if (value === 'TABLE') {\n tableTuples = []\n tableGroups.push(tableTuples)\n } else if (value === 'ENDTAB') {\n if (tableTuples) {\n tableGroups.push(tableTuples)\n }\n } else if (tableTuples) {\n tableTuples.push(tuple)\n }\n }\n\n const groupsByName: Record<string, DXFTuple[]> = {}\n for (const group of tableGroups) {\n const name = String(group[0]?.[1] ?? '')\n if (!name) continue\n groupsByName[name] = group\n }\n\n const stylesTuples = groupsByName.STYLE ?? []\n const layersTuples = groupsByName.LAYER ?? []\n const vPortTuples = groupsByName.VPORT ?? []\n const ltypeTuples = groupsByName.LTYPE ?? []\n const dimStyleTuples = groupsByName.DIMSTYLE ?? []\n const appIdTuples = groupsByName.APPID ?? []\n const blockRecordTuples = groupsByName.BLOCK_RECORD ?? []\n const ucsTuples = groupsByName.UCS ?? []\n const viewTuples = groupsByName.VIEW ?? []\n\n return {\n layers: tableHandler(layersTuples, 'LAYER', layerHandler),\n styles: tableHandler(stylesTuples, 'STYLE', styleHandler),\n vports: tableHandler(vPortTuples, 'VPORT', vPortHandler),\n ltypes: tableHandler(ltypeTuples, 'LTYPE', ltypeHandler),\n dimStyles: tableHandler(dimStyleTuples, 'DIMSTYLE', dimStyleHandler),\n appids: tableHandler(appIdTuples, 'APPID', appIdHandler),\n blockRecords: tableHandler(blockRecordTuples, 'BLOCK_RECORD', blockRecordHandler),\n ucs: tableHandler(ucsTuples, 'UCS', ucsHandler),\n views: tableHandler(viewTuples, 'VIEW', viewHandler),\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/lib/index.cjs
CHANGED
|
@@ -34,18 +34,20 @@ __export(index_exports, {
|
|
|
34
34
|
denormalise: () => import_denormalise.default,
|
|
35
35
|
groupEntitiesByLayer: () => import_groupEntitiesByLayer.default,
|
|
36
36
|
parseString: () => import_parseString.default,
|
|
37
|
+
toJson: () => import_toJson.default,
|
|
37
38
|
toPolylines: () => import_toPolylines.default,
|
|
38
39
|
toSVG: () => import_toSVG.default
|
|
39
40
|
});
|
|
40
41
|
module.exports = __toCommonJS(index_exports);
|
|
41
42
|
var import_config = __toESM(require("./config"), 1);
|
|
42
|
-
var import_parseString = __toESM(require("./parseString"), 1);
|
|
43
43
|
var import_denormalise = __toESM(require("./denormalise"), 1);
|
|
44
44
|
var import_groupEntitiesByLayer = __toESM(require("./groupEntitiesByLayer"), 1);
|
|
45
|
+
var import_Helper = __toESM(require("./Helper"), 1);
|
|
46
|
+
var import_parseString = __toESM(require("./parseString"), 1);
|
|
47
|
+
var import_toJson = __toESM(require("./toJson"), 1);
|
|
45
48
|
var import_toPolylines = __toESM(require("./toPolylines"), 1);
|
|
46
49
|
var import_toSVG = __toESM(require("./toSVG"), 1);
|
|
47
50
|
var import_colors = __toESM(require("./util/colors"), 1);
|
|
48
|
-
var import_Helper = __toESM(require("./Helper"), 1);
|
|
49
51
|
// Annotate the CommonJS export names for ESM import in node:
|
|
50
52
|
0 && (module.exports = {
|
|
51
53
|
Helper,
|
|
@@ -54,6 +56,7 @@ var import_Helper = __toESM(require("./Helper"), 1);
|
|
|
54
56
|
denormalise,
|
|
55
57
|
groupEntitiesByLayer,
|
|
56
58
|
parseString,
|
|
59
|
+
toJson,
|
|
57
60
|
toPolylines,
|
|
58
61
|
toSVG
|
|
59
62
|
});
|
package/lib/index.cjs.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/index.ts"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA
|
|
6
|
-
"names": [
|
|
4
|
+
"sourcesContent": ["export { default as config } from './config'\nexport { default as denormalise } from './denormalise'\nexport { default as groupEntitiesByLayer } from './groupEntitiesByLayer'\nexport { default as Helper } from './Helper'\nexport { default as parseString } from './parseString'\nexport { default as toJson } from './toJson'\nexport { default as toPolylines } from './toPolylines'\nexport { default as toSVG } from './toSVG'\nexport { default as colors } from './util/colors'\n\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAkC;AAClC,yBAAuC;AACvC,kCAAgD;AAChD,oBAAkC;AAClC,yBAAuC;AACvC,oBAAkC;AAClC,yBAAuC;AACvC,mBAAiC;AACjC,oBAAkC;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
package/lib/index.js
CHANGED
|
@@ -1,19 +1,21 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
1
|
+
import { default as default2 } from "./config";
|
|
2
|
+
import { default as default3 } from "./denormalise";
|
|
3
|
+
import { default as default4 } from "./groupEntitiesByLayer";
|
|
4
|
+
import { default as default5 } from "./Helper";
|
|
5
|
+
import { default as default6 } from "./parseString";
|
|
6
|
+
import { default as default7 } from "./toJson";
|
|
7
|
+
import { default as default8 } from "./toPolylines";
|
|
8
|
+
import { default as default9 } from "./toSVG";
|
|
9
|
+
import { default as default10 } from "./util/colors";
|
|
9
10
|
export {
|
|
10
|
-
Helper,
|
|
11
|
-
colors,
|
|
12
|
-
config,
|
|
13
|
-
denormalise,
|
|
14
|
-
groupEntitiesByLayer,
|
|
15
|
-
parseString,
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
default5 as Helper,
|
|
12
|
+
default10 as colors,
|
|
13
|
+
default2 as config,
|
|
14
|
+
default3 as denormalise,
|
|
15
|
+
default4 as groupEntitiesByLayer,
|
|
16
|
+
default6 as parseString,
|
|
17
|
+
default7 as toJson,
|
|
18
|
+
default8 as toPolylines,
|
|
19
|
+
default9 as toSVG
|
|
18
20
|
};
|
|
19
21
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/index.ts"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": "AAAA,
|
|
6
|
-
"names": []
|
|
4
|
+
"sourcesContent": ["export { default as config } from './config'\nexport { default as denormalise } from './denormalise'\nexport { default as groupEntitiesByLayer } from './groupEntitiesByLayer'\nexport { default as Helper } from './Helper'\nexport { default as parseString } from './parseString'\nexport { default as toJson } from './toJson'\nexport { default as toPolylines } from './toPolylines'\nexport { default as toSVG } from './toSVG'\nexport { default as colors } from './util/colors'\n\n"],
|
|
5
|
+
"mappings": "AAAA,SAAoB,WAAXA,gBAAyB;AAClC,SAAoB,WAAXA,gBAA8B;AACvC,SAAoB,WAAXA,gBAAuC;AAChD,SAAoB,WAAXA,gBAAyB;AAClC,SAAoB,WAAXA,gBAA8B;AACvC,SAAoB,WAAXA,gBAAyB;AAClC,SAAoB,WAAXA,gBAA8B;AACvC,SAAoB,WAAXA,gBAAwB;AACjC,SAAoB,WAAXA,iBAAyB;",
|
|
6
|
+
"names": ["default"]
|
|
7
7
|
}
|
package/lib/toJson.cjs
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
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 toJson_exports = {};
|
|
20
|
+
__export(toJson_exports, {
|
|
21
|
+
default: () => toJson
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(toJson_exports);
|
|
24
|
+
function toJson(parsed, options = {}) {
|
|
25
|
+
const shouldPrettyPrint = options.pretty === true;
|
|
26
|
+
const indentation = shouldPrettyPrint ? options.space ?? 2 : void 0;
|
|
27
|
+
return JSON.stringify(parsed, null, indentation);
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=toJson.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/toJson.ts"],
|
|
4
|
+
"sourcesContent": ["import type { ParsedDXF, ToJsonOptions } from './types'\n\nexport default function toJson(parsed: ParsedDXF, options: ToJsonOptions = {}): string {\n const shouldPrettyPrint = options.pretty === true\n const indentation = shouldPrettyPrint ? (options.space ?? 2) : undefined\n\n return JSON.stringify(parsed, null, indentation)\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEe,SAAR,OAAwB,QAAmB,UAAyB,CAAC,GAAW;AACrF,QAAM,oBAAoB,QAAQ,WAAW;AAC7C,QAAM,cAAc,oBAAqB,QAAQ,SAAS,IAAK;AAE/D,SAAO,KAAK,UAAU,QAAQ,MAAM,WAAW;AACjD;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/lib/toJson.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
function toJson(parsed, options = {}) {
|
|
2
|
+
const shouldPrettyPrint = options.pretty === true;
|
|
3
|
+
const indentation = shouldPrettyPrint ? options.space ?? 2 : void 0;
|
|
4
|
+
return JSON.stringify(parsed, null, indentation);
|
|
5
|
+
}
|
|
6
|
+
export {
|
|
7
|
+
toJson as default
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=toJson.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/toJson.ts"],
|
|
4
|
+
"sourcesContent": ["import type { ParsedDXF, ToJsonOptions } from './types'\n\nexport default function toJson(parsed: ParsedDXF, options: ToJsonOptions = {}): string {\n const shouldPrettyPrint = options.pretty === true\n const indentation = shouldPrettyPrint ? (options.space ?? 2) : undefined\n\n return JSON.stringify(parsed, null, indentation)\n}\n"],
|
|
5
|
+
"mappings": "AAEe,SAAR,OAAwB,QAAmB,UAAyB,CAAC,GAAW;AACrF,QAAM,oBAAoB,QAAQ,WAAW;AAC7C,QAAM,cAAc,oBAAqB,QAAQ,SAAS,IAAK;AAE/D,SAAO,KAAK,UAAU,QAAQ,MAAM,WAAW;AACjD;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|