@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.
- package/.eslintignore +17 -0
- package/.eslintrc.json +61 -0
- package/.gitattributes +4 -0
- package/.github/instructions/project-en_US.instructions.md +352 -0
- package/.github/workflows/release.yml +110 -0
- package/.husky/commit-msg +4 -0
- package/.husky/pre-commit +1 -0
- package/.prettierignore +1 -0
- package/.prettierrc.json +6 -0
- package/.releaserc.json +76 -0
- package/.travis.yml +6 -0
- package/.yarn/install-state.gz +0 -0
- package/.yarnrc.yml +1 -0
- package/CHANGELOG.md +134 -0
- package/CONTRIBUTING.md +271 -0
- package/LICENSE +21 -0
- package/PLAN.md +517 -0
- package/README.md +306 -0
- package/build.mjs +66 -0
- package/commitlint.config.js +25 -0
- package/dist/dxf.js +7234 -0
- package/docs/CODE_PATTERNS.md +182 -0
- package/docs/DIMENSION_SUMMARY.md +248 -0
- package/docs/DIMENSION_SUMMARY.pt-BR.md +248 -0
- package/docs/IMPLEMENTED-2D-ENTITIES.md +54 -0
- package/docs/IMPLEMENTED-2D-ENTITIES.pt-BR.md +54 -0
- package/docs/TEXT-MTEXT-DIMENSION-SUPPORT.md +241 -0
- package/docs/TEXT-MTEXT-DIMENSION-SUPPORT.pt-BR.md +169 -0
- package/docs/autocad_2012_pdf_dxf-reference_enu.md +8272 -0
- package/examples/dxf.html +36 -0
- package/examples/example.es5.js +30 -0
- package/examples/example.es6.js +30 -0
- package/examples/text-dimension-viewer.html +133 -0
- package/lib/Helper.cjs +89 -0
- package/lib/Helper.cjs.map +7 -0
- package/lib/Helper.js +59 -0
- package/lib/Helper.js.map +7 -0
- package/lib/applyTransforms.cjs +59 -0
- package/lib/applyTransforms.cjs.map +7 -0
- package/lib/applyTransforms.js +39 -0
- package/lib/applyTransforms.js.map +7 -0
- package/lib/cli.cjs +53 -0
- package/lib/cli.cjs.map +7 -0
- package/lib/cli.js +29 -0
- package/lib/cli.js.map +7 -0
- package/lib/config.cjs +30 -0
- package/lib/config.cjs.map +7 -0
- package/lib/config.js +10 -0
- package/lib/config.js.map +7 -0
- package/lib/constants.cjs +39 -0
- package/lib/constants.cjs.map +7 -0
- package/lib/constants.js +15 -0
- package/lib/constants.js.map +7 -0
- package/lib/denormalise.cjs +148 -0
- package/lib/denormalise.cjs.map +7 -0
- package/lib/denormalise.js +118 -0
- package/lib/denormalise.js.map +7 -0
- package/lib/dimensionToSVG.cjs +307 -0
- package/lib/dimensionToSVG.cjs.map +7 -0
- package/lib/dimensionToSVG.js +273 -0
- package/lib/dimensionToSVG.js.map +7 -0
- package/lib/entityToPolyline.cjs +248 -0
- package/lib/entityToPolyline.cjs.map +7 -0
- package/lib/entityToPolyline.js +213 -0
- package/lib/entityToPolyline.js.map +7 -0
- package/lib/getRGBForEntity.cjs +53 -0
- package/lib/getRGBForEntity.cjs.map +7 -0
- package/lib/getRGBForEntity.js +23 -0
- package/lib/getRGBForEntity.js.map +7 -0
- package/lib/groupEntitiesByLayer.cjs +34 -0
- package/lib/groupEntitiesByLayer.cjs.map +7 -0
- package/lib/groupEntitiesByLayer.js +14 -0
- package/lib/groupEntitiesByLayer.js.map +7 -0
- package/lib/handlers/blocks.cjs +93 -0
- package/lib/handlers/blocks.cjs.map +7 -0
- package/lib/handlers/blocks.js +63 -0
- package/lib/handlers/blocks.js.map +7 -0
- package/lib/handlers/entities.cjs +118 -0
- package/lib/handlers/entities.cjs.map +7 -0
- package/lib/handlers/entities.js +88 -0
- package/lib/handlers/entities.js.map +7 -0
- package/lib/handlers/entity/arc.cjs +82 -0
- package/lib/handlers/entity/arc.cjs.map +7 -0
- package/lib/handlers/entity/arc.js +47 -0
- package/lib/handlers/entity/arc.js.map +7 -0
- package/lib/handlers/entity/attdef.cjs +318 -0
- package/lib/handlers/entity/attdef.cjs.map +7 -0
- package/lib/handlers/entity/attdef.js +282 -0
- package/lib/handlers/entity/attdef.js.map +7 -0
- package/lib/handlers/entity/attrib.cjs +52 -0
- package/lib/handlers/entity/attrib.cjs.map +7 -0
- package/lib/handlers/entity/attrib.js +27 -0
- package/lib/handlers/entity/attrib.js.map +7 -0
- package/lib/handlers/entity/circle.cjs +73 -0
- package/lib/handlers/entity/circle.cjs.map +7 -0
- package/lib/handlers/entity/circle.js +38 -0
- package/lib/handlers/entity/circle.js.map +7 -0
- package/lib/handlers/entity/common.cjs +83 -0
- package/lib/handlers/entity/common.cjs.map +7 -0
- package/lib/handlers/entity/common.js +63 -0
- package/lib/handlers/entity/common.js.map +7 -0
- package/lib/handlers/entity/dimension.cjs +203 -0
- package/lib/handlers/entity/dimension.cjs.map +7 -0
- package/lib/handlers/entity/dimension.js +168 -0
- package/lib/handlers/entity/dimension.js.map +7 -0
- package/lib/handlers/entity/ellipse.cjs +88 -0
- package/lib/handlers/entity/ellipse.cjs.map +7 -0
- package/lib/handlers/entity/ellipse.js +53 -0
- package/lib/handlers/entity/ellipse.js.map +7 -0
- package/lib/handlers/entity/hatch.cjs +470 -0
- package/lib/handlers/entity/hatch.cjs.map +7 -0
- package/lib/handlers/entity/hatch.js +435 -0
- package/lib/handlers/entity/hatch.js.map +7 -0
- package/lib/handlers/entity/insert.cjs +106 -0
- package/lib/handlers/entity/insert.cjs.map +7 -0
- package/lib/handlers/entity/insert.js +71 -0
- package/lib/handlers/entity/insert.js.map +7 -0
- package/lib/handlers/entity/line.cjs +84 -0
- package/lib/handlers/entity/line.cjs.map +7 -0
- package/lib/handlers/entity/line.js +49 -0
- package/lib/handlers/entity/line.js.map +7 -0
- package/lib/handlers/entity/lwpolyline.cjs +82 -0
- package/lib/handlers/entity/lwpolyline.cjs.map +7 -0
- package/lib/handlers/entity/lwpolyline.js +47 -0
- package/lib/handlers/entity/lwpolyline.js.map +7 -0
- package/lib/handlers/entity/mtext.cjs +121 -0
- package/lib/handlers/entity/mtext.cjs.map +7 -0
- package/lib/handlers/entity/mtext.js +85 -0
- package/lib/handlers/entity/mtext.js.map +7 -0
- package/lib/handlers/entity/ole2Frame.cjs +98 -0
- package/lib/handlers/entity/ole2Frame.cjs.map +7 -0
- package/lib/handlers/entity/ole2Frame.js +63 -0
- package/lib/handlers/entity/ole2Frame.js.map +7 -0
- package/lib/handlers/entity/point.cjs +73 -0
- package/lib/handlers/entity/point.cjs.map +7 -0
- package/lib/handlers/entity/point.js +38 -0
- package/lib/handlers/entity/point.js.map +7 -0
- package/lib/handlers/entity/polyline.cjs +70 -0
- package/lib/handlers/entity/polyline.cjs.map +7 -0
- package/lib/handlers/entity/polyline.js +35 -0
- package/lib/handlers/entity/polyline.js.map +7 -0
- package/lib/handlers/entity/solid.cjs +101 -0
- package/lib/handlers/entity/solid.cjs.map +7 -0
- package/lib/handlers/entity/solid.js +66 -0
- package/lib/handlers/entity/solid.js.map +7 -0
- package/lib/handlers/entity/spline.cjs +109 -0
- package/lib/handlers/entity/spline.cjs.map +7 -0
- package/lib/handlers/entity/spline.js +74 -0
- package/lib/handlers/entity/spline.js.map +7 -0
- package/lib/handlers/entity/text.cjs +85 -0
- package/lib/handlers/entity/text.cjs.map +7 -0
- package/lib/handlers/entity/text.js +49 -0
- package/lib/handlers/entity/text.js.map +7 -0
- package/lib/handlers/entity/threeDFace.cjs +98 -0
- package/lib/handlers/entity/threeDFace.cjs.map +7 -0
- package/lib/handlers/entity/threeDFace.js +63 -0
- package/lib/handlers/entity/threeDFace.js.map +7 -0
- package/lib/handlers/entity/vertex.cjs +78 -0
- package/lib/handlers/entity/vertex.cjs.map +7 -0
- package/lib/handlers/entity/vertex.js +53 -0
- package/lib/handlers/entity/vertex.js.map +7 -0
- package/lib/handlers/entity/viewport.cjs +153 -0
- package/lib/handlers/entity/viewport.cjs.map +7 -0
- package/lib/handlers/entity/viewport.js +118 -0
- package/lib/handlers/entity/viewport.js.map +7 -0
- package/lib/handlers/header.cjs +92 -0
- package/lib/handlers/header.cjs.map +7 -0
- package/lib/handlers/header.js +72 -0
- package/lib/handlers/header.js.map +7 -0
- package/lib/handlers/objects.cjs +170 -0
- package/lib/handlers/objects.cjs.map +7 -0
- package/lib/handlers/objects.js +150 -0
- package/lib/handlers/objects.js.map +7 -0
- package/lib/handlers/tables.cjs +587 -0
- package/lib/handlers/tables.cjs.map +7 -0
- package/lib/handlers/tables.js +557 -0
- package/lib/handlers/tables.js.map +7 -0
- package/lib/index.cjs +60 -0
- package/lib/index.cjs.map +7 -0
- package/lib/index.js +19 -0
- package/lib/index.js.map +7 -0
- package/lib/parseString.cjs +118 -0
- package/lib/parseString.cjs.map +7 -0
- package/lib/parseString.js +88 -0
- package/lib/parseString.js.map +7 -0
- package/lib/toPolylines.cjs +69 -0
- package/lib/toPolylines.cjs.map +7 -0
- package/lib/toPolylines.js +39 -0
- package/lib/toPolylines.js.map +7 -0
- package/lib/toSVG.cjs +395 -0
- package/lib/toSVG.cjs.map +7 -0
- package/lib/toSVG.js +361 -0
- package/lib/toSVG.js.map +7 -0
- package/lib/types/arc-entity.cjs +17 -0
- package/lib/types/arc-entity.cjs.map +7 -0
- package/lib/types/arc-entity.js +1 -0
- package/lib/types/arc-entity.js.map +7 -0
- package/lib/types/base-entity.cjs +17 -0
- package/lib/types/base-entity.cjs.map +7 -0
- package/lib/types/base-entity.js +1 -0
- package/lib/types/base-entity.js.map +7 -0
- package/lib/types/circle-entity.cjs +17 -0
- package/lib/types/circle-entity.cjs.map +7 -0
- package/lib/types/circle-entity.js +1 -0
- package/lib/types/circle-entity.js.map +7 -0
- package/lib/types/common.cjs +17 -0
- package/lib/types/common.cjs.map +7 -0
- package/lib/types/common.js +1 -0
- package/lib/types/common.js.map +7 -0
- package/lib/types/dimension-entity.cjs +17 -0
- package/lib/types/dimension-entity.cjs.map +7 -0
- package/lib/types/dimension-entity.js +1 -0
- package/lib/types/dimension-entity.js.map +7 -0
- package/lib/types/dxf.cjs +17 -0
- package/lib/types/dxf.cjs.map +7 -0
- package/lib/types/dxf.js +1 -0
- package/lib/types/dxf.js.map +7 -0
- package/lib/types/ellipse-entity.cjs +17 -0
- package/lib/types/ellipse-entity.cjs.map +7 -0
- package/lib/types/ellipse-entity.js +1 -0
- package/lib/types/ellipse-entity.js.map +7 -0
- package/lib/types/entity.cjs +17 -0
- package/lib/types/entity.cjs.map +7 -0
- package/lib/types/entity.js +1 -0
- package/lib/types/entity.js.map +7 -0
- package/lib/types/handler-internal.cjs +17 -0
- package/lib/types/handler-internal.cjs.map +7 -0
- package/lib/types/handler-internal.js +1 -0
- package/lib/types/handler-internal.js.map +7 -0
- package/lib/types/handler.cjs +17 -0
- package/lib/types/handler.cjs.map +7 -0
- package/lib/types/handler.js +1 -0
- package/lib/types/handler.js.map +7 -0
- package/lib/types/hatch-entity.cjs +17 -0
- package/lib/types/hatch-entity.cjs.map +7 -0
- package/lib/types/hatch-entity.js +1 -0
- package/lib/types/hatch-entity.js.map +7 -0
- package/lib/types/helper.cjs +17 -0
- package/lib/types/helper.cjs.map +7 -0
- package/lib/types/helper.js +1 -0
- package/lib/types/helper.js.map +7 -0
- package/lib/types/index.cjs +77 -0
- package/lib/types/index.cjs.map +7 -0
- package/lib/types/index.js +29 -0
- package/lib/types/index.js.map +7 -0
- package/lib/types/insert-entity.cjs +17 -0
- package/lib/types/insert-entity.cjs.map +7 -0
- package/lib/types/insert-entity.js +1 -0
- package/lib/types/insert-entity.js.map +7 -0
- package/lib/types/layer-groups.cjs +17 -0
- package/lib/types/layer-groups.cjs.map +7 -0
- package/lib/types/layer-groups.js +1 -0
- package/lib/types/layer-groups.js.map +7 -0
- package/lib/types/line-entity.cjs +17 -0
- package/lib/types/line-entity.cjs.map +7 -0
- package/lib/types/line-entity.js +1 -0
- package/lib/types/line-entity.js.map +7 -0
- package/lib/types/mtext-entity.cjs +17 -0
- package/lib/types/mtext-entity.cjs.map +7 -0
- package/lib/types/mtext-entity.js +1 -0
- package/lib/types/mtext-entity.js.map +7 -0
- package/lib/types/ole2frame-entity.cjs +17 -0
- package/lib/types/ole2frame-entity.cjs.map +7 -0
- package/lib/types/ole2frame-entity.js +1 -0
- package/lib/types/ole2frame-entity.js.map +7 -0
- package/lib/types/options.cjs +17 -0
- package/lib/types/options.cjs.map +7 -0
- package/lib/types/options.js +1 -0
- package/lib/types/options.js.map +7 -0
- package/lib/types/point-entity.cjs +17 -0
- package/lib/types/point-entity.cjs.map +7 -0
- package/lib/types/point-entity.js +1 -0
- package/lib/types/point-entity.js.map +7 -0
- package/lib/types/polyline-entity.cjs +17 -0
- package/lib/types/polyline-entity.cjs.map +7 -0
- package/lib/types/polyline-entity.js +1 -0
- package/lib/types/polyline-entity.js.map +7 -0
- package/lib/types/polylines.cjs +17 -0
- package/lib/types/polylines.cjs.map +7 -0
- package/lib/types/polylines.js +1 -0
- package/lib/types/polylines.js.map +7 -0
- package/lib/types/solid-entity.cjs +17 -0
- package/lib/types/solid-entity.cjs.map +7 -0
- package/lib/types/solid-entity.js +1 -0
- package/lib/types/solid-entity.js.map +7 -0
- package/lib/types/spline-entity.cjs +17 -0
- package/lib/types/spline-entity.cjs.map +7 -0
- package/lib/types/spline-entity.js +1 -0
- package/lib/types/spline-entity.js.map +7 -0
- package/lib/types/svg.cjs +17 -0
- package/lib/types/svg.cjs.map +7 -0
- package/lib/types/svg.js +1 -0
- package/lib/types/svg.js.map +7 -0
- package/lib/types/tables.cjs +17 -0
- package/lib/types/tables.cjs.map +7 -0
- package/lib/types/tables.js +1 -0
- package/lib/types/tables.js.map +7 -0
- package/lib/types/text-entity.cjs +17 -0
- package/lib/types/text-entity.cjs.map +7 -0
- package/lib/types/text-entity.js +1 -0
- package/lib/types/text-entity.js.map +7 -0
- package/lib/types/util-types.cjs +17 -0
- package/lib/types/util-types.cjs.map +7 -0
- package/lib/types/util-types.js +1 -0
- package/lib/types/util-types.js.map +7 -0
- package/lib/types/vecks.d.cjs +2 -0
- package/lib/types/vecks.d.cjs.map +7 -0
- package/lib/types/vecks.d.js +1 -0
- package/lib/types/vecks.d.js.map +7 -0
- package/lib/types/viewport-entity.cjs +17 -0
- package/lib/types/viewport-entity.cjs.map +7 -0
- package/lib/types/viewport-entity.js +1 -0
- package/lib/types/viewport-entity.js.map +7 -0
- package/lib/types.cjs +23 -0
- package/lib/types.cjs.map +7 -0
- package/lib/types.js +2 -0
- package/lib/types.js.map +7 -0
- package/lib/util/bSpline.cjs +95 -0
- package/lib/util/bSpline.cjs.map +7 -0
- package/lib/util/bSpline.js +65 -0
- package/lib/util/bSpline.js.map +7 -0
- package/lib/util/colors.cjs +283 -0
- package/lib/util/colors.cjs.map +7 -0
- package/lib/util/colors.js +263 -0
- package/lib/util/colors.js.map +7 -0
- package/lib/util/createArcForLWPolyline.cjs +84 -0
- package/lib/util/createArcForLWPolyline.cjs.map +7 -0
- package/lib/util/createArcForLWPolyline.js +64 -0
- package/lib/util/createArcForLWPolyline.js.map +7 -0
- package/lib/util/dxfColorToRGB.cjs +115 -0
- package/lib/util/dxfColorToRGB.cjs.map +7 -0
- package/lib/util/dxfColorToRGB.js +90 -0
- package/lib/util/dxfColorToRGB.js.map +7 -0
- package/lib/util/insertKnot.cjs +77 -0
- package/lib/util/insertKnot.cjs.map +7 -0
- package/lib/util/insertKnot.js +57 -0
- package/lib/util/insertKnot.js.map +7 -0
- package/lib/util/logger.cjs +53 -0
- package/lib/util/logger.cjs.map +7 -0
- package/lib/util/logger.js +23 -0
- package/lib/util/logger.js.map +7 -0
- package/lib/util/rgbToColorAttribute.cjs +32 -0
- package/lib/util/rgbToColorAttribute.cjs.map +7 -0
- package/lib/util/rgbToColorAttribute.js +12 -0
- package/lib/util/rgbToColorAttribute.js.map +7 -0
- package/lib/util/rotate.cjs +30 -0
- package/lib/util/rotate.cjs.map +7 -0
- package/lib/util/rotate.js +10 -0
- package/lib/util/rotate.js.map +7 -0
- package/lib/util/round10.cjs +38 -0
- package/lib/util/round10.cjs.map +7 -0
- package/lib/util/round10.js +18 -0
- package/lib/util/round10.js.map +7 -0
- package/lib/util/toPiecewiseBezier.cjs +90 -0
- package/lib/util/toPiecewiseBezier.cjs.map +7 -0
- package/lib/util/toPiecewiseBezier.js +54 -0
- package/lib/util/toPiecewiseBezier.js.map +7 -0
- package/lib/util/transformBoundingBoxAndElement.cjs +80 -0
- package/lib/util/transformBoundingBoxAndElement.cjs.map +7 -0
- package/lib/util/transformBoundingBoxAndElement.js +60 -0
- package/lib/util/transformBoundingBoxAndElement.js.map +7 -0
- package/package.json +127 -0
- package/src/Helper.ts +71 -0
- package/src/applyTransforms.ts +54 -0
- package/src/cli.ts +41 -0
- package/src/config.ts +10 -0
- package/src/constants.ts +14 -0
- package/src/denormalise.ts +153 -0
- package/src/dimensionToSVG.ts +427 -0
- package/src/entityToPolyline.ts +338 -0
- package/src/getRGBForEntity.ts +28 -0
- package/src/groupEntitiesByLayer.ts +14 -0
- package/src/handlers/blocks.ts +65 -0
- package/src/handlers/entities.ts +111 -0
- package/src/handlers/entity/arc.ts +61 -0
- package/src/handlers/entity/attdef.ts +284 -0
- package/src/handlers/entity/attrib.ts +29 -0
- package/src/handlers/entity/circle.ts +47 -0
- package/src/handlers/entity/common.ts +79 -0
- package/src/handlers/entity/dimension.ts +217 -0
- package/src/handlers/entity/ellipse.ts +55 -0
- package/src/handlers/entity/hatch.ts +471 -0
- package/src/handlers/entity/insert.ts +73 -0
- package/src/handlers/entity/line.ts +56 -0
- package/src/handlers/entity/lwpolyline.ts +54 -0
- package/src/handlers/entity/mtext.ts +150 -0
- package/src/handlers/entity/ole2Frame.ts +64 -0
- package/src/handlers/entity/point.ts +47 -0
- package/src/handlers/entity/polyline.ts +49 -0
- package/src/handlers/entity/solid.ts +73 -0
- package/src/handlers/entity/spline.ts +103 -0
- package/src/handlers/entity/text.ts +83 -0
- package/src/handlers/entity/threeDFace.ts +69 -0
- package/src/handlers/entity/vertex.ts +55 -0
- package/src/handlers/entity/viewport.ts +119 -0
- package/src/handlers/header.ts +73 -0
- package/src/handlers/objects.ts +152 -0
- package/src/handlers/tables.ts +581 -0
- package/src/index.ts +19 -0
- package/src/parseString.ts +97 -0
- package/src/toPolylines.ts +47 -0
- package/src/toSVG.ts +518 -0
- package/src/types/README.md +91 -0
- package/src/types/arc-entity.ts +10 -0
- package/src/types/base-entity.ts +25 -0
- package/src/types/circle-entity.ts +8 -0
- package/src/types/common.ts +37 -0
- package/src/types/dimension-entity.ts +23 -0
- package/src/types/dxf.ts +64 -0
- package/src/types/ellipse-entity.ts +13 -0
- package/src/types/entity.ts +32 -0
- package/src/types/handler-internal.ts +51 -0
- package/src/types/handler.ts +10 -0
- package/src/types/hatch-entity.ts +127 -0
- package/src/types/helper.ts +12 -0
- package/src/types/index.ts +53 -0
- package/src/types/insert-entity.ts +19 -0
- package/src/types/layer-groups.ts +8 -0
- package/src/types/line-entity.ts +10 -0
- package/src/types/mtext-entity.ts +35 -0
- package/src/types/ole2frame-entity.ts +35 -0
- package/src/types/options.ts +17 -0
- package/src/types/point-entity.ts +7 -0
- package/src/types/polyline-entity.ts +20 -0
- package/src/types/polylines.ts +22 -0
- package/src/types/solid-entity.ts +9 -0
- package/src/types/spline-entity.ts +12 -0
- package/src/types/svg.ts +31 -0
- package/src/types/tables.ts +414 -0
- package/src/types/text-entity.ts +23 -0
- package/src/types/util-types.ts +27 -0
- package/src/types/vecks.d.ts +29 -0
- package/src/types/viewport-entity.ts +81 -0
- package/src/types.ts +5 -0
- package/src/util/bSpline.ts +97 -0
- package/src/util/colors.ts +266 -0
- package/src/util/createArcForLWPolyline.ts +93 -0
- package/src/util/diagram.png +0 -0
- package/src/util/dxfColorToRGB.ts +106 -0
- package/src/util/insertKnot.ts +69 -0
- package/src/util/logger.ts +23 -0
- package/src/util/rgbToColorAttribute.ts +14 -0
- package/src/util/rotate.ts +14 -0
- package/src/util/round10.ts +24 -0
- package/src/util/toPiecewiseBezier.ts +70 -0
- package/src/util/transformBoundingBoxAndElement.ts +74 -0
- package/tsconfig.json +34 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
|
+
|
|
5
|
+
### [5.3.1](https://github.com/skymakerolof/dxf/compare/v5.3.0...v5.3.1) (2025-09-01)
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
* properly flip LWPolyline when extrusionZ < 0 in toSVG ([#148](https://github.com/skymakerolof/dxf/issues/148)) ([5be9279](https://github.com/skymakerolof/dxf/commit/5be927947d1bdce828e31b75c45835fb94180903))
|
|
10
|
+
|
|
11
|
+
## [5.3.0](https://github.com/skymakerolof/dxf/compare/v5.2.0...v5.3.0) (2025-09-01)
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
* ole2frame entity ([#150](https://github.com/skymakerolof/dxf/issues/150)) ([4a00841](https://github.com/skymakerolof/dxf/commit/4a008417b5bc49a39c841f5845db4c80a980cc1d))
|
|
16
|
+
|
|
17
|
+
## [5.2.0](https://github.com/skymakerolof/dxf/compare/v5.1.1...v5.2.0) (2024-11-04)
|
|
18
|
+
|
|
19
|
+
### [5.1.1](https://github.com/skymakerolof/dxf/compare/v5.1.0...v5.1.1) (2024-08-30)
|
|
20
|
+
|
|
21
|
+
### Bug Fixes
|
|
22
|
+
|
|
23
|
+
* ignoring colorNumber when layer is not found ([#140](https://github.com/skymakerolof/dxf/issues/140)) ([a930aa1](https://github.com/skymakerolof/dxf/commit/a930aa1fed526e2557f343775fefaecff5c1f782)), closes [#139](https://github.com/skymakerolof/dxf/issues/139)
|
|
24
|
+
|
|
25
|
+
## [5.1.0](https://github.com/skymakerolof/dxf/compare/v5.0.1...v5.1.0) (2023-08-08)
|
|
26
|
+
|
|
27
|
+
### Features
|
|
28
|
+
|
|
29
|
+
* add support for polyfaceMesh outline rendering ([#138](https://github.com/skymakerolof/dxf/issues/138)) ([38fd3a6](https://github.com/skymakerolof/dxf/commit/38fd3a695644f1b142789d1d3e3828ee8a458d1f))
|
|
30
|
+
|
|
31
|
+
### Bug Fixes
|
|
32
|
+
|
|
33
|
+
* spline boundary path data ([#134](https://github.com/skymakerolof/dxf/issues/134)) ([4ea2312](https://github.com/skymakerolof/dxf/commit/4ea2312892ef73eed3690fc772ec0f2f8619beef))
|
|
34
|
+
|
|
35
|
+
### [5.0.1](https://github.com/skymakerolof/dxf/compare/v5.0.0...v5.0.1) (2023-06-08)
|
|
36
|
+
|
|
37
|
+
### Bug Fixes
|
|
38
|
+
|
|
39
|
+
* hatch with polyline points only returning y coordinate ([#132](https://github.com/skymakerolof/dxf/issues/132)) ([948dbbc](https://github.com/skymakerolof/dxf/commit/948dbbcd5e03ac064020b9c1d0b231dced895e7a)), closes [#130](https://github.com/skymakerolof/dxf/issues/130)
|
|
40
|
+
|
|
41
|
+
## [5.0.0](https://github.com/skymakerolof/dxf/compare/v4.7.0...v5.0.0) (2022-12-05)
|
|
42
|
+
|
|
43
|
+
### ⚠ BREAKING CHANGES
|
|
44
|
+
|
|
45
|
+
* **Hatch:** Renamed hatch split property points to controlPoints
|
|
46
|
+
* **Hatch:** Renamed polyline "has bulge flag" from bulge to hasBulge
|
|
47
|
+
|
|
48
|
+
### Features
|
|
49
|
+
|
|
50
|
+
* **Hatch:** rename hatch->spline points to controlPoints ([#117](https://github.com/skymakerolof/dxf/issues/117)) ([70e9a5d](https://github.com/skymakerolof/dxf/commit/70e9a5d46906f2f1984366df24adf80fd97c454b))
|
|
51
|
+
* LTYPE table parsing ([#121](https://github.com/skymakerolof/dxf/issues/121)) ([6178746](https://github.com/skymakerolof/dxf/commit/6178746ee887eb1fbacb060cfc952d07d5264173))
|
|
52
|
+
|
|
53
|
+
### Bug Fixes
|
|
54
|
+
|
|
55
|
+
* **Hatch:** bulge value for each point instead of only writing it in the loop level ([#122](https://github.com/skymakerolof/dxf/issues/122)) ([879808c](https://github.com/skymakerolof/dxf/commit/879808cde1d369b36c731b85ac4596f7ed032efe))
|
|
56
|
+
* **Hatch:** rename bulge to hasBulge ([#118](https://github.com/skymakerolof/dxf/issues/118)) ([3cf60c6](https://github.com/skymakerolof/dxf/commit/3cf60c6a1f5cc1711a315222a87a75fc5677041a))
|
|
57
|
+
|
|
58
|
+
## [4.7.0](https://github.com/skymakerolof/dxf/compare/v4.6.3...v4.7.0) (2022-09-22)
|
|
59
|
+
|
|
60
|
+
### Features
|
|
61
|
+
|
|
62
|
+
* add hatch entity to parser ([#107](https://github.com/skymakerolof/dxf/issues/107)) ([362e23a](https://github.com/skymakerolof/dxf/commit/362e23a2cc9e34ecfd1345d576a2138c375fcecb))
|
|
63
|
+
* add layout & paper space to parser ([#106](https://github.com/skymakerolof/dxf/issues/106)) ([d0a6d19](https://github.com/skymakerolof/dxf/commit/d0a6d19e34645aad208642105d381a76f97c5902))
|
|
64
|
+
* attrib & attdef parsing ([#109](https://github.com/skymakerolof/dxf/issues/109)) ([7a10e4b](https://github.com/skymakerolof/dxf/commit/7a10e4bd7a752a6adbd72f3a0b0e5e5ec7110f3d))
|
|
65
|
+
* viewport & vport parsing ([#108](https://github.com/skymakerolof/dxf/issues/108)) ([f26642e](https://github.com/skymakerolof/dxf/commit/f26642e8e338c4e85cbc1ab135e0c7f0f68029f6))
|
|
66
|
+
|
|
67
|
+
### Bug Fixes
|
|
68
|
+
|
|
69
|
+
* handle color value 256 ([#104](https://github.com/skymakerolof/dxf/issues/104)) ([80e9fa1](https://github.com/skymakerolof/dxf/commit/80e9fa119afaf5b3e5f4dcd73583c4a63b0876a8))
|
|
70
|
+
|
|
71
|
+
## 4.6.3
|
|
72
|
+
|
|
73
|
+
* Remove dependency on pretty-data (#85)
|
|
74
|
+
|
|
75
|
+
## 4.6.2
|
|
76
|
+
|
|
77
|
+
* Remove import of unused parts of lodash
|
|
78
|
+
|
|
79
|
+
## 4.4.4
|
|
80
|
+
|
|
81
|
+
* Fix typo in README
|
|
82
|
+
|
|
83
|
+
## 4.3.0
|
|
84
|
+
|
|
85
|
+
* #51 Fix bug when transforming empty bounding box
|
|
86
|
+
|
|
87
|
+
## 4.2.4
|
|
88
|
+
|
|
89
|
+
* #50 Fix knot piecewise beziers
|
|
90
|
+
|
|
91
|
+
## 4.2.3
|
|
92
|
+
|
|
93
|
+
* More accurate bounding boxes for arcs and ellipses (#48)
|
|
94
|
+
|
|
95
|
+
## 4.2.2
|
|
96
|
+
|
|
97
|
+
* Bump eslint-utils from 1.3.1 to 1.4.2
|
|
98
|
+
* Add HATCH to unsupported SVG entities in README
|
|
99
|
+
|
|
100
|
+
## 4.2.1
|
|
101
|
+
|
|
102
|
+
* Use main lodash package due to security issue(s)
|
|
103
|
+
|
|
104
|
+
## 4.2.0
|
|
105
|
+
|
|
106
|
+
* README updates
|
|
107
|
+
|
|
108
|
+
## 4.1.1
|
|
109
|
+
|
|
110
|
+
* #issue42 support entities that have extrusionZ === -1 defined on the entity itself (as opposed to the transform).
|
|
111
|
+
|
|
112
|
+
## 4.1.0
|
|
113
|
+
|
|
114
|
+
* CIRCLE DXF entities now produce native <circle /> SVG elements.
|
|
115
|
+
* ELLIPSE DXF entities now produce native <path d="A..."/> or <ellipse /> SVG elements.
|
|
116
|
+
* ARC DXF entities now produce native <path d="A..."/> or <ellipse /> SVG elements.
|
|
117
|
+
|
|
118
|
+
## 4.0.1
|
|
119
|
+
|
|
120
|
+
* Browser example uses Helper
|
|
121
|
+
|
|
122
|
+
## 4.0.0
|
|
123
|
+
|
|
124
|
+
* Use ES6 string interpolation in SVG generation.
|
|
125
|
+
* Use native SVG <circle /> elements for CIRCLE entities.
|
|
126
|
+
* Use SVG <g/> elements with a transform attribute for native and interpolated entities.
|
|
127
|
+
* Add a Helper object to simplify the workflow.
|
|
128
|
+
* The SVG output uses a root transform to flip the Y coordinates.
|
|
129
|
+
|
|
130
|
+
## 3.6.0
|
|
131
|
+
|
|
132
|
+
* NPM audit fixes.
|
|
133
|
+
* Remove support for Node v6 in Travis.
|
|
134
|
+
* Node engine is now >= 8.9.0.
|
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
# Guia de Contribuição
|
|
2
|
+
|
|
3
|
+
Obrigado por considerar contribuir para este projeto! Este documento fornece diretrizes para facilitar o processo de contribuição.
|
|
4
|
+
|
|
5
|
+
## 📋 Índice
|
|
6
|
+
|
|
7
|
+
* [Código de Conduta](#código-de-conduta)
|
|
8
|
+
* [Como Contribuir](#como-contribuir)
|
|
9
|
+
* [Padrão de Commits](#padrão-de-commits)
|
|
10
|
+
* [Processo de Release](#processo-de-release)
|
|
11
|
+
* [Desenvolvimento](#desenvolvimento)
|
|
12
|
+
|
|
13
|
+
## Código de Conduta
|
|
14
|
+
|
|
15
|
+
Este projeto segue um código de conduta. Ao participar, você concorda em manter um ambiente respeitoso e acolhedor para todos.
|
|
16
|
+
|
|
17
|
+
## Como Contribuir
|
|
18
|
+
|
|
19
|
+
### Reportar Bugs
|
|
20
|
+
|
|
21
|
+
Antes de reportar um bug, verifique se já existe uma issue aberta sobre o problema. Se não existir:
|
|
22
|
+
|
|
23
|
+
1. Crie uma nova issue
|
|
24
|
+
2. Use um título claro e descritivo
|
|
25
|
+
3. Descreva os passos para reproduzir o problema
|
|
26
|
+
4. Inclua exemplos de código quando possível
|
|
27
|
+
5. Descreva o comportamento esperado e o comportamento atual
|
|
28
|
+
|
|
29
|
+
### Sugerir Melhorias
|
|
30
|
+
|
|
31
|
+
1. Verifique se já existe uma issue sobre a melhoria
|
|
32
|
+
2. Crie uma nova issue com o prefixo `[Feature]`
|
|
33
|
+
3. Descreva a melhoria em detalhes
|
|
34
|
+
4. Explique por que essa melhoria seria útil
|
|
35
|
+
|
|
36
|
+
### Pull Requests
|
|
37
|
+
|
|
38
|
+
1. Fork o repositório
|
|
39
|
+
2. Crie uma branch a partir de `develop`:
|
|
40
|
+
```bash
|
|
41
|
+
git checkout develop
|
|
42
|
+
git checkout -b feature/sua-feature
|
|
43
|
+
```
|
|
44
|
+
3. Faça suas mudanças seguindo o [Padrão de Commits](#padrão-de-commits)
|
|
45
|
+
4. Execute os testes: `yarn test`
|
|
46
|
+
5. Execute o linter: `yarn lint`
|
|
47
|
+
6. Execute a build: `yarn build`
|
|
48
|
+
7. Commit suas mudanças (o commitlint validará automaticamente)
|
|
49
|
+
8. Push para sua branch
|
|
50
|
+
9. Abra um Pull Request para `develop`
|
|
51
|
+
|
|
52
|
+
## Padrão de Commits
|
|
53
|
+
|
|
54
|
+
Este projeto utiliza [Conventional Commits](https://www.conventionalcommits.org/pt-br/) para automatizar o versionamento e geração de changelogs.
|
|
55
|
+
|
|
56
|
+
### Formato
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
<type>(<scope>): <subject>
|
|
60
|
+
|
|
61
|
+
[optional body]
|
|
62
|
+
|
|
63
|
+
[optional footer(s)]
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Types
|
|
67
|
+
|
|
68
|
+
* **feat**: Nova funcionalidade (gera MINOR release)
|
|
69
|
+
* **fix**: Correção de bug (gera PATCH release)
|
|
70
|
+
* **docs**: Documentation only
|
|
71
|
+
* **style**: Formatting changes (spaces, semicolons, etc)
|
|
72
|
+
* **refactor**: Code refactoring (without adding features or fixing bugs)
|
|
73
|
+
* **perf**: Performance improvement (generates PATCH release)
|
|
74
|
+
* **test**: Adding or correcting tests
|
|
75
|
+
* **build**: Changes to build system or dependencies
|
|
76
|
+
* **ci**: Changes to CI/CD files
|
|
77
|
+
* **chore**: Other changes that don't modify src or test
|
|
78
|
+
* **revert**: Reverts a previous commit
|
|
79
|
+
|
|
80
|
+
### Breaking Changes
|
|
81
|
+
|
|
82
|
+
To indicate a breaking change (generates MAJOR release):
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
feat: allow provided config object to extend other configs
|
|
86
|
+
|
|
87
|
+
BREAKING CHANGE: `extends` key in config file is now used
|
|
88
|
+
to extend other config files
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Or use `!` after the type:
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
feat!: remove support for Node 6
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Examples
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
# New feature
|
|
101
|
+
feat(dimension): add DIMSTYLE color support
|
|
102
|
+
|
|
103
|
+
# Bug fix
|
|
104
|
+
fix(parser): correct POLYLINE bulge parsing
|
|
105
|
+
|
|
106
|
+
# Documentation
|
|
107
|
+
docs: update README with usage examples
|
|
108
|
+
|
|
109
|
+
# Performance
|
|
110
|
+
perf(svg): optimize spline rendering
|
|
111
|
+
|
|
112
|
+
# Breaking change
|
|
113
|
+
feat!: migrate to pure ESM
|
|
114
|
+
|
|
115
|
+
BREAKING CHANGE: CommonJS is no longer supported. Use import/export.
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Using Commitizen
|
|
119
|
+
|
|
120
|
+
To make it easier, use Commitizen:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
yarn commit
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Or with git-cz:
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
git add .
|
|
130
|
+
yarn commit
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
This will open an interactive prompt to create the commit in the correct format.
|
|
134
|
+
|
|
135
|
+
## Processo de Release
|
|
136
|
+
|
|
137
|
+
### Automático (Recomendado)
|
|
138
|
+
|
|
139
|
+
O projeto usa [semantic-release](https://semantic-release.gitbook.io/) para releases automáticos:
|
|
140
|
+
|
|
141
|
+
1. Faça commits seguindo o padrão Conventional Commits
|
|
142
|
+
2. Faça merge do PR para `main`, `develop` ou `beta`
|
|
143
|
+
3. O GitHub Actions automaticamente:
|
|
144
|
+
* Analisa os commits desde o último release
|
|
145
|
+
* Determina o novo número de versão (MAJOR.MINOR.PATCH)
|
|
146
|
+
* Gera o CHANGELOG.md
|
|
147
|
+
* Cria uma tag Git
|
|
148
|
+
* Cria um GitHub Release
|
|
149
|
+
* Atualiza package.json
|
|
150
|
+
|
|
151
|
+
### Branches
|
|
152
|
+
|
|
153
|
+
* **main**: Releases estáveis de produção
|
|
154
|
+
* **develop**: Pre-releases (versões beta)
|
|
155
|
+
* **beta**: Pre-releases específicas para testes
|
|
156
|
+
|
|
157
|
+
### Versionamento
|
|
158
|
+
|
|
159
|
+
Seguimos [Semantic Versioning](https://semver.org/lang/pt-BR/):
|
|
160
|
+
|
|
161
|
+
* **MAJOR** (1.0.0 → 2.0.0): Breaking changes
|
|
162
|
+
* **MINOR** (1.0.0 → 1.1.0): Novas features compatíveis
|
|
163
|
+
* **PATCH** (1.0.0 → 1.0.1): Bug fixes compatíveis
|
|
164
|
+
|
|
165
|
+
## Desenvolvimento
|
|
166
|
+
|
|
167
|
+
### Requisitos
|
|
168
|
+
|
|
169
|
+
* Node.js >= 18.x
|
|
170
|
+
* Yarn >= 4.x
|
|
171
|
+
|
|
172
|
+
### Setup
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
# Clone o repositório
|
|
176
|
+
git clone https://github.com/seu-usuario/dxf.git
|
|
177
|
+
cd dxf
|
|
178
|
+
|
|
179
|
+
# Instale as dependências
|
|
180
|
+
yarn install
|
|
181
|
+
|
|
182
|
+
# Execute os testes
|
|
183
|
+
yarn test
|
|
184
|
+
|
|
185
|
+
# Execute o linter
|
|
186
|
+
yarn lint
|
|
187
|
+
|
|
188
|
+
# Build do projeto
|
|
189
|
+
yarn build
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### Scripts Disponíveis
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
# Desenvolvimento
|
|
196
|
+
yarn watch # Watch mode para TypeScript
|
|
197
|
+
yarn test:unit:watch # Watch mode para testes
|
|
198
|
+
|
|
199
|
+
# Build
|
|
200
|
+
yarn build # Build completo (TypeScript → ESM + CJS)
|
|
201
|
+
yarn compile # Apenas compilação TypeScript
|
|
202
|
+
yarn dist # Build do bundle para browser
|
|
203
|
+
|
|
204
|
+
# Testes
|
|
205
|
+
yarn test # Executar todos os testes
|
|
206
|
+
yarn test:unit # Executar apenas testes unitários
|
|
207
|
+
yarn test:functional # Executar testes funcionais
|
|
208
|
+
|
|
209
|
+
# Qualidade
|
|
210
|
+
yarn lint # Executar linter
|
|
211
|
+
yarn prettier # Formatar código
|
|
212
|
+
yarn type-check # Verificar tipos TypeScript
|
|
213
|
+
|
|
214
|
+
# Commits
|
|
215
|
+
yarn commit # Commit interativo com Commitizen
|
|
216
|
+
|
|
217
|
+
# Release (não use manualmente, é automático via CI)
|
|
218
|
+
yarn semantic-release # Executar semantic-release
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### Estrutura do Projeto
|
|
222
|
+
|
|
223
|
+
```
|
|
224
|
+
dxf/
|
|
225
|
+
├── src/ # Código-fonte TypeScript
|
|
226
|
+
│ ├── handlers/ # Parsers de entidades e tabelas
|
|
227
|
+
│ ├── types/ # Definições de tipos TypeScript
|
|
228
|
+
│ └── util/ # Utilitários
|
|
229
|
+
├── lib/ # Código compilado (ESM + CJS)
|
|
230
|
+
├── test/ # Testes
|
|
231
|
+
│ ├── unit/ # Testes unitários
|
|
232
|
+
│ └── functional/ # Testes funcionais
|
|
233
|
+
├── docs/ # Documentação
|
|
234
|
+
└── .github/
|
|
235
|
+
└── workflows/ # GitHub Actions
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
### Workflow de Desenvolvimento
|
|
239
|
+
|
|
240
|
+
1. **Crie uma issue** descrevendo o que você vai fazer
|
|
241
|
+
2. **Crie uma branch** a partir de `develop`:
|
|
242
|
+
```bash
|
|
243
|
+
git checkout develop
|
|
244
|
+
git pull origin develop
|
|
245
|
+
git checkout -b feat/minha-feature
|
|
246
|
+
```
|
|
247
|
+
3. **Faça suas mudanças** com commits seguindo o padrão
|
|
248
|
+
4. **Execute os testes** localmente
|
|
249
|
+
5. **Push e crie um PR** para `develop`
|
|
250
|
+
6. **Aguarde a revisão** e responda aos comentários
|
|
251
|
+
7. **Após merge**, o release será feito automaticamente
|
|
252
|
+
|
|
253
|
+
### Dicas
|
|
254
|
+
|
|
255
|
+
* Execute `yarn test` antes de fazer push
|
|
256
|
+
* Use `yarn commit` para garantir commits no formato correto
|
|
257
|
+
* Mantenha PRs focados em uma única feature/fix
|
|
258
|
+
* Adicione testes para novas features
|
|
259
|
+
* Atualize a documentação quando necessário
|
|
260
|
+
* Use TypeScript strict mode
|
|
261
|
+
* Siga os padrões de código existentes
|
|
262
|
+
|
|
263
|
+
## Precisa de Ajuda?
|
|
264
|
+
|
|
265
|
+
* Abra uma issue com a tag `question`
|
|
266
|
+
* Consulte a [documentação](./docs/)
|
|
267
|
+
* Veja issues existentes com a tag `good first issue`
|
|
268
|
+
|
|
269
|
+
## Licença
|
|
270
|
+
|
|
271
|
+
Ao contribuir, você concorda que suas contribuições serão licenciadas sob a mesma licença MIT do projeto.
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2014-2018 Ben Nortier
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|