@jscad/dxf-deserializer 3.0.2-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 +8 -0
- package/dist/jscad-dxf-deserializer.es.js +2 -7
- package/dist/jscad-dxf-deserializer.min.js +2 -7
- package/package.json +10 -11
- package/rollup.config.js +8 -4
- package/src/DxfReader.js +4 -4
- package/src/index.js +4 -4
- package/tests/test-2d-entities.js +3 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jscad/dxf-deserializer",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.4-alpha.0",
|
|
4
4
|
"description": "DXF Deserializer for JSCAD",
|
|
5
5
|
"homepage": "https://openjscad.xyz/",
|
|
6
6
|
"repository": "https://github.com/jscad/OpenJSCAD.org",
|
|
@@ -33,17 +33,16 @@
|
|
|
33
33
|
],
|
|
34
34
|
"license": "MIT",
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@jscad/io-utils": "3.0.
|
|
37
|
-
"@jscad/modeling": "3.0.
|
|
36
|
+
"@jscad/io-utils": "3.0.4-alpha.0",
|
|
37
|
+
"@jscad/modeling": "3.0.4-alpha.0"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
|
-
"@rollup/plugin-node-resolve": "^15.2.
|
|
41
|
-
"@rollup/plugin-terser": "^0.4.
|
|
42
|
-
"ava": "^
|
|
43
|
-
"c8": "^
|
|
44
|
-
"rollup": "^
|
|
45
|
-
"rollup-plugin-
|
|
46
|
-
"rollup-plugin-version-injector": "^1.3.3"
|
|
40
|
+
"@rollup/plugin-node-resolve": "^15.2.0",
|
|
41
|
+
"@rollup/plugin-terser": "^0.4.0",
|
|
42
|
+
"ava": "^6.3.0",
|
|
43
|
+
"c8": "^10.1.0",
|
|
44
|
+
"rollup": "^4.52.0",
|
|
45
|
+
"rollup-plugin-version-injector": "^1.3.0"
|
|
47
46
|
},
|
|
48
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "1de52a2b7b6bd31134fd0b72a2842f31ecf8f237"
|
|
49
48
|
}
|
package/rollup.config.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as fs from 'fs'
|
|
2
|
+
|
|
2
3
|
import { nodeResolve } from '@rollup/plugin-node-resolve'
|
|
3
4
|
import versionInjector from 'rollup-plugin-version-injector'
|
|
4
5
|
import terser from '@rollup/plugin-terser'
|
|
5
6
|
|
|
7
|
+
const {name, version, license} = JSON.parse(fs.readFileSync('package.json'))
|
|
8
|
+
|
|
6
9
|
export default {
|
|
7
10
|
input: 'src/index.js',
|
|
8
11
|
|
|
@@ -10,17 +13,18 @@ export default {
|
|
|
10
13
|
{
|
|
11
14
|
file: 'dist/jscad-dxf-deserializer.min.js',
|
|
12
15
|
format: 'umd',
|
|
13
|
-
name: 'jscadDxfDeserializer'
|
|
16
|
+
name: 'jscadDxfDeserializer',
|
|
17
|
+
banner: `/*! ${name} V${version} (${license}) */`
|
|
14
18
|
},
|
|
15
19
|
{
|
|
16
20
|
file: 'dist/jscad-dxf-deserializer.es.js',
|
|
17
|
-
format: 'es'
|
|
21
|
+
format: 'es',
|
|
22
|
+
banner: `/*! ${name} V${version} (${license}) */`
|
|
18
23
|
}
|
|
19
24
|
],
|
|
20
25
|
|
|
21
26
|
plugins: [
|
|
22
27
|
nodeResolve(),
|
|
23
|
-
banner('<%= pkg.description %>\n@module <%= pkg.name %>\n@version <%= pkg.version %>\n@license <%= pkg.license %>'),
|
|
24
28
|
versionInjector({ injectInComments: { fileRegexp: /\.(html)$/ }, logLevel: 'warn' }),
|
|
25
29
|
terser({ compress: { module: true }, mangle: false, format: { comments: 'some' } })
|
|
26
30
|
]
|
package/src/DxfReader.js
CHANGED
|
@@ -6,7 +6,7 @@ const STATES = [
|
|
|
6
6
|
'error'
|
|
7
7
|
]
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
/*
|
|
10
10
|
* Class DxfReader
|
|
11
11
|
* A class to hold state while reading DXF formatted data.
|
|
12
12
|
* @param {Object} [options] - options for parsing
|
|
@@ -177,7 +177,7 @@ const parse = (reader, data) => {
|
|
|
177
177
|
return reader
|
|
178
178
|
}
|
|
179
179
|
|
|
180
|
-
|
|
180
|
+
/*
|
|
181
181
|
* Parse the given line in the context of the given reader, emitting group value pairs
|
|
182
182
|
* @param reader {DxfReader} - context DxfReader to use
|
|
183
183
|
* @param line {String} - line to parse
|
|
@@ -200,7 +200,7 @@ const parseLine = (reader, line) => {
|
|
|
200
200
|
}
|
|
201
201
|
}
|
|
202
202
|
|
|
203
|
-
|
|
203
|
+
/*
|
|
204
204
|
* Parse the given line in the context of the given reader, and update the group
|
|
205
205
|
* @param reader {DxfReader} - context DxfReader to use
|
|
206
206
|
* @param line {String} - line to parse
|
|
@@ -216,7 +216,7 @@ const setDxfGroup = (reader, line) => {
|
|
|
216
216
|
}
|
|
217
217
|
}
|
|
218
218
|
|
|
219
|
-
|
|
219
|
+
/*
|
|
220
220
|
* Parse the given line in the context of the given reader, and update the (group) value
|
|
221
221
|
* @param reader {DxfReader} - context DxfReader to use
|
|
222
222
|
* @param line {String} - line to parse
|
package/src/index.js
CHANGED
|
@@ -18,7 +18,7 @@ const version = '[VI]{version}[/VI]' // version is injected by rollup
|
|
|
18
18
|
* Deserializer of DXF data to JSCAD geometries.
|
|
19
19
|
* @module io/dxf-deserializer
|
|
20
20
|
* @example
|
|
21
|
-
*
|
|
21
|
+
* import { deserialize, mimeType } from '@jscad/dxf-deserializer'
|
|
22
22
|
*/
|
|
23
23
|
|
|
24
24
|
const handleError = (reader, error) => {
|
|
@@ -571,6 +571,7 @@ const translate = (src, options) => {
|
|
|
571
571
|
|
|
572
572
|
/**
|
|
573
573
|
* Deserialize the given DXF source into either a script or an array of geometry
|
|
574
|
+
*
|
|
574
575
|
* @param {Object} options - options used during deserializing, REQUIRED
|
|
575
576
|
* @param {string} [options.filename='dxf'] - filename of original DXF data stream
|
|
576
577
|
* @param {String} [options.version] - version added to the script metadata, default is package version
|
|
@@ -578,8 +579,7 @@ const translate = (src, options) => {
|
|
|
578
579
|
* @param {boolean} [options.strict=true] - obey strict DXF specifications
|
|
579
580
|
* @param {array} [options.colorindex=[]] - list of colors (256) for use during rendering
|
|
580
581
|
* @param {string} src - DXF data stream
|
|
581
|
-
* @
|
|
582
|
-
* @alias module:io/dxf-deserializer.deserialize
|
|
582
|
+
* @returns {(Array|String)} either an array of objects (geometry) or a string (script)
|
|
583
583
|
*/
|
|
584
584
|
const deserialize = (options, src) => {
|
|
585
585
|
const defaults = {
|
|
@@ -596,7 +596,7 @@ const deserialize = (options, src) => {
|
|
|
596
596
|
}
|
|
597
597
|
options = Object.assign({}, defaults, options)
|
|
598
598
|
|
|
599
|
-
src = ensureString(src)
|
|
599
|
+
src = ensureString(src)
|
|
600
600
|
return options.output === 'script' ? translate(src, options) : instantiate(src, options)
|
|
601
601
|
}
|
|
602
602
|
|
|
@@ -110,11 +110,11 @@ test('ASCII DXF 2D Donuts from Autocad 2017 to Object Conversion', (t) => {
|
|
|
110
110
|
t.is(objs.length, 23)
|
|
111
111
|
// NOTE: the extra ojbects are from the page layout
|
|
112
112
|
t.true(path2.isA(objs[20]))
|
|
113
|
-
t.is(path2.toPoints(objs[20]).length,
|
|
113
|
+
t.is(path2.toPoints(objs[20]).length, 16) // line
|
|
114
114
|
t.true(path2.isA(objs[21]))
|
|
115
|
-
t.is(path2.toPoints(objs[21]).length,
|
|
115
|
+
t.is(path2.toPoints(objs[21]).length, 16) // line
|
|
116
116
|
t.true(path2.isA(objs[22]))
|
|
117
|
-
t.is(path2.toPoints(objs[22]).length,
|
|
117
|
+
t.is(path2.toPoints(objs[22]).length, 16) // arc
|
|
118
118
|
})
|
|
119
119
|
|
|
120
120
|
test('ASCII DXF 2D Ellipses from Autocad 2017 to Object Conversion', (t) => {
|