@jscad/dxf-serializer 3.0.3-alpha.0 → 3.0.4-alpha.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/CHANGELOG.md +4 -0
- package/dist/jscad-dxf-serializer.es.js +4 -19
- package/dist/jscad-dxf-serializer.min.js +4 -19
- package/package.json +9 -10
- package/rollup.config.js +8 -4
- package/src/index.js +4 -3
- package/tests/path2ToDxf.test.js +13 -9
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jscad/dxf-serializer",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.4-alpha.0",
|
|
4
4
|
"description": "DXF Serializer for JSCAD",
|
|
5
5
|
"homepage": "https://openjscad.xyz/",
|
|
6
6
|
"repository": "https://github.com/jscad/OpenJSCAD.org",
|
|
@@ -37,16 +37,15 @@
|
|
|
37
37
|
],
|
|
38
38
|
"license": "MIT",
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@jscad/array-utils": "3.0.
|
|
41
|
-
"@jscad/modeling": "3.0.
|
|
40
|
+
"@jscad/array-utils": "3.0.2-alpha.0",
|
|
41
|
+
"@jscad/modeling": "3.0.4-alpha.0"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
|
-
"@rollup/plugin-node-resolve": "^15.0.
|
|
45
|
-
"@rollup/plugin-terser": "^0.4.
|
|
46
|
-
"ava": "^
|
|
47
|
-
"c8": "^
|
|
48
|
-
"rollup": "^
|
|
49
|
-
"rollup-plugin-banner": "^0.2.1"
|
|
44
|
+
"@rollup/plugin-node-resolve": "^15.0.0",
|
|
45
|
+
"@rollup/plugin-terser": "^0.4.0",
|
|
46
|
+
"ava": "^6.3.0",
|
|
47
|
+
"c8": "^10.1.0",
|
|
48
|
+
"rollup": "^4.52.0"
|
|
50
49
|
},
|
|
51
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "1de52a2b7b6bd31134fd0b72a2842f31ecf8f237"
|
|
52
51
|
}
|
package/rollup.config.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as fs from 'fs'
|
|
2
|
+
|
|
2
3
|
import { nodeResolve } from '@rollup/plugin-node-resolve'
|
|
3
4
|
import terser from '@rollup/plugin-terser'
|
|
4
5
|
|
|
6
|
+
const {name, version, license} = JSON.parse(fs.readFileSync('package.json'))
|
|
7
|
+
|
|
5
8
|
export default {
|
|
6
9
|
input: 'src/index.js',
|
|
7
10
|
|
|
@@ -9,17 +12,18 @@ export default {
|
|
|
9
12
|
{
|
|
10
13
|
file: 'dist/jscad-dxf-serializer.min.js',
|
|
11
14
|
format: 'umd',
|
|
12
|
-
name: 'jscadDxfSerializer'
|
|
15
|
+
name: 'jscadDxfSerializer',
|
|
16
|
+
banner: `/*! ${name} V${version} (${license}) */`
|
|
13
17
|
},
|
|
14
18
|
{
|
|
15
19
|
file: 'dist/jscad-dxf-serializer.es.js',
|
|
16
|
-
format: 'es'
|
|
20
|
+
format: 'es',
|
|
21
|
+
banner: `/*! ${name} V${version} (${license}) */`
|
|
17
22
|
}
|
|
18
23
|
],
|
|
19
24
|
|
|
20
25
|
plugins: [
|
|
21
26
|
nodeResolve(),
|
|
22
|
-
banner('<%= pkg.description %>\n@module <%= pkg.name %>\n@version <%= pkg.version %>\n@license <%= pkg.license %>'),
|
|
23
27
|
terser({ compress: { module: true }, mangle: false, format: { comments: 'some' } })
|
|
24
28
|
]
|
|
25
29
|
}
|
package/src/index.js
CHANGED
|
@@ -8,19 +8,20 @@ const mimeType = 'image/vnd.dxf'
|
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Serializer of JSCAD geometries to DXF entities.
|
|
11
|
+
*
|
|
11
12
|
* @module io/dxf-serializer
|
|
12
13
|
* @example
|
|
13
|
-
*
|
|
14
|
+
* import { serializer, mimeType } from '@jscad/dxf-serializer'
|
|
14
15
|
*/
|
|
15
16
|
|
|
16
17
|
/**
|
|
17
18
|
* Serialize the give objects to AutoCad DXF format.
|
|
19
|
+
*
|
|
18
20
|
* @param {Object} options - options for serialization, REQUIRED
|
|
19
21
|
* @param {String} [options.geom2To='lypolyline'] - target entity for 2D geometries, 'lwpolyline' or 'polyline'
|
|
20
22
|
* @param {String} [options.geom3To='3dface'] - target entity for 3D geometries, '3dface' or 'polyline'
|
|
21
23
|
* @param {Object|Array} objects - objects to serialize as DXF
|
|
22
24
|
* @returns {Array} serialized contents, DXF format
|
|
23
|
-
* @alias module:io/dxf-serializer.serialize
|
|
24
25
|
* @example
|
|
25
26
|
* const geometry = primitives.cube()
|
|
26
27
|
* const dxfData = serializer({geom3To: '3dface'}, geometry)
|
|
@@ -60,7 +61,7 @@ EOF
|
|
|
60
61
|
return [dxfContent]
|
|
61
62
|
}
|
|
62
63
|
|
|
63
|
-
|
|
64
|
+
/*
|
|
64
65
|
* Serialize the given objects as a DXF entity section
|
|
65
66
|
* @param {Array} objects - objects to serialize as DXF
|
|
66
67
|
* @param {Object} options - options for serialization
|
package/tests/path2ToDxf.test.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import test from 'ava'
|
|
2
2
|
|
|
3
|
-
import { arc, path2 } from '@jscad/modeling'
|
|
3
|
+
import { arc, path2, TAU } from '@jscad/modeling'
|
|
4
4
|
|
|
5
5
|
import { serialize } from '../src/index.js'
|
|
6
6
|
import { dxfHeaders, dxfClasses, dxfTables, dxfBlocks, dxfObjects } from '../src/autocad_AC2017.js'
|
|
@@ -12,7 +12,7 @@ test('2D Path to DXF LWPOLYLINE', (t) => {
|
|
|
12
12
|
const exp1 = [empty]
|
|
13
13
|
t.deepEqual(obs1, exp1)
|
|
14
14
|
|
|
15
|
-
const p2 = arc({ center: [5, 5], endAngle:
|
|
15
|
+
const p2 = arc({ center: [5, 5], endAngle: TAU / 4, segments: 16 })
|
|
16
16
|
|
|
17
17
|
const obs2 = serialize({}, p2)
|
|
18
18
|
const exp2 = [lwpolyline0]
|
|
@@ -74,7 +74,7 @@ CAD00001
|
|
|
74
74
|
100
|
|
75
75
|
AcDbPolyline
|
|
76
76
|
90
|
|
77
|
-
|
|
77
|
+
5
|
|
78
78
|
70
|
|
79
79
|
0
|
|
80
80
|
10
|
|
@@ -82,17 +82,21 @@ AcDbPolyline
|
|
|
82
82
|
20
|
|
83
83
|
5
|
|
84
84
|
10
|
|
85
|
-
5.
|
|
85
|
+
5.923879532511287
|
|
86
86
|
20
|
|
87
|
-
5.
|
|
87
|
+
5.38268343236509
|
|
88
88
|
10
|
|
89
|
-
5.
|
|
89
|
+
5.707106781186548
|
|
90
90
|
20
|
|
91
|
-
5.
|
|
91
|
+
5.707106781186548
|
|
92
92
|
10
|
|
93
|
-
5.
|
|
93
|
+
5.38268343236509
|
|
94
94
|
20
|
|
95
|
-
5.
|
|
95
|
+
5.923879532511287
|
|
96
|
+
10
|
|
97
|
+
5
|
|
98
|
+
20
|
|
99
|
+
6
|
|
96
100
|
0
|
|
97
101
|
ENDSEC
|
|
98
102
|
${dxfObjects({})}
|