ezjww 0.3.4 → 0.6.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/README.md CHANGED
@@ -1,8 +1,12 @@
1
1
  # ezjww for TypeScript
2
2
 
3
- Read JWW and supported JWC drawings, inspect source records, and export DXF
3
+ Read JWW and supported JWC drawings, create new JWW drawings, and export DXF
4
4
  with a Rust parser compiled to WebAssembly.
5
5
 
6
+ This checkout prepares **0.5.0**, adding SXF color/line tables, solids, ellipses,
7
+ dimensions, blocks and convenience APIs to the writer introduced in 0.4.0.
8
+ Build from source until 0.5.0 is published.
9
+
6
10
  ## Installation
7
11
 
8
12
  Node.js 18 or later:
@@ -47,12 +51,49 @@ A matching signature does not validate the complete file.
47
51
  | Read JWW only | `isJwwFile`, `readHeader`, `readDocument` |
48
52
  | Read JWC only | `isJwcFile`, `readJwcHeader`, `readJwcDocument` |
49
53
  | Convert either format | `readDxfDocument`, `readDxfString` (`toDxfString` alias) |
54
+ | Create a new JWW | `newJwwDocument`, `toJwwBytes` |
50
55
 
51
56
  `DxfOptions` accepts `targetVersion` (`"AC1015"` by default or `"AC1024"`) for
52
57
  string output, `explodeInserts` (default `false`), `maxBlockNesting` (default `32`,
53
58
  minimum `1`), and `jwcCoordinates` (`"paper_millimeters"` by default or
54
59
  `"model_millimeters"`). The JWC coordinate option does not change JWW conversion.
55
60
 
61
+ ## Create a JWW drawing
62
+
63
+ Build this revision from source with `pnpm install --frozen-lockfile` and
64
+ `pnpm run build` in `packages/ezjww` to use the writer API:
65
+
66
+ ```typescript
67
+ import { writeFileSync } from "node:fs";
68
+ import { newJwwDocument, toJwwBytes } from "ezjww";
69
+
70
+ const drawing = newJwwDocument();
71
+ drawing.options.memo = "平面図\r\n";
72
+ drawing.entities.push({
73
+ type: "LINE",
74
+ base: {
75
+ group: 0, pen_style: 1, pen_color: 1, pen_width: 0,
76
+ layer: 0, layer_group: 0, flag: 0,
77
+ },
78
+ start_x: 0, start_y: 0, end_x: 100, end_y: 0,
79
+ });
80
+ writeFileSync("created.jww", toJwwBytes(drawing));
81
+ ```
82
+
83
+ The editable `JwwWriteDocument` has `options`, `entities` and `block_defs`; parsed
84
+ `JwwDocument` objects cannot be passed to the writer. Output is version 700,
85
+ supporting lines, circles/ellipses, arcs, points, text, solids, dimensions and
86
+ blocks, with editable palette/line/preset tables. `toWriteDocument()` explicitly
87
+ converts a parsed document and reports unsupported values. Coordinates are paper
88
+ mm. Native arc fields use radians;
89
+ text angles use degrees. Each write validates current values and returns an
90
+ independent `Uint8Array` without filesystem I/O. Unknown/missing fields, invalid
91
+ numbers and unsupported features throw errors, including through raw WASM.
92
+
93
+ See the [writer API and limits](https://github.com/monozukuri-ai/ezjww/blob/main/docs/JWW_WRITE.md)
94
+ for all required fields, settings and the browser API. These APIs share the
95
+ Python/Rust writer input contract and deterministic output.
96
+
56
97
  ## JWC support
57
98
 
58
99
  The supported binary document profiles are `fixed2421_basic_v1` and
@@ -94,7 +135,9 @@ pnpm run example:browser:dev
94
135
  ```
95
136
 
96
137
  The app displays layers, source JSON, diagnostics, and previews, and can download
97
- converted DXF. For JWC, it offers paper/model coordinates and conversion notices.
138
+ converted DXF. “JWW作成例” creates a drawing with all five supported entity types;
139
+ “生成JWW保存” downloads that new drawing. For JWC, it offers paper/model coordinates
140
+ and conversion notices.
98
141
  Invisible JWC layers are hidden; fonts are substituted.
99
142
  See the [browser guide](https://github.com/monozukuri-ai/ezjww/blob/main/packages/ezjww/examples/browser/README.md).
100
143
 
package/dist/index.d.ts CHANGED
@@ -40,6 +40,12 @@ export interface JwwLineTypes {
40
40
  double_length: LineTypePattern[];
41
41
  sxf: SxfLineType[] | null;
42
42
  }
43
+ export interface TextPreset {
44
+ size_x: number;
45
+ size_y: number;
46
+ spacing: number;
47
+ pen_color: number;
48
+ }
43
49
  export interface JwwHeader {
44
50
  version: number;
45
51
  memo: string;
@@ -48,6 +54,7 @@ export interface JwwHeader {
48
54
  layer_groups: LayerGroupHeader[];
49
55
  palette: JwwPalette | null;
50
56
  line_types: JwwLineTypes | null;
57
+ text_presets: TextPreset[] | null;
51
58
  }
52
59
  export interface EntityBase {
53
60
  group: number;
@@ -59,12 +66,14 @@ export interface EntityBase {
59
66
  flag: number;
60
67
  }
61
68
  export interface LinePayload {
69
+ base?: EntityBase;
62
70
  start_x: number;
63
71
  start_y: number;
64
72
  end_x: number;
65
73
  end_y: number;
66
74
  }
67
75
  export interface PointPayload {
76
+ base?: EntityBase;
68
77
  x: number;
69
78
  y: number;
70
79
  is_temporary: boolean;
@@ -72,7 +81,22 @@ export interface PointPayload {
72
81
  angle: number;
73
82
  scale: number;
74
83
  }
84
+ /** Parsed `^@BM` image placement: file reference and drawn size in paper mm. */
85
+ export interface ImageReference {
86
+ path: string;
87
+ file_name: string;
88
+ width: number;
89
+ height: number;
90
+ extra: string[];
91
+ }
92
+ /** An image file stored in a version-700 JWW archive; `data` is base64. */
93
+ export interface EmbeddedImage {
94
+ name: string;
95
+ data: string;
96
+ compressed: boolean;
97
+ }
75
98
  export interface TextPayload {
99
+ base?: EntityBase;
76
100
  start_x: number;
77
101
  start_y: number;
78
102
  end_x: number;
@@ -84,6 +108,7 @@ export interface TextPayload {
84
108
  angle: number;
85
109
  font_name: string;
86
110
  content: string;
111
+ image?: ImageReference;
87
112
  }
88
113
  export interface JwwEntity {
89
114
  type: string;
@@ -112,6 +137,7 @@ export interface JwwEntity {
112
137
  spacing?: number;
113
138
  font_name?: string;
114
139
  content?: string;
140
+ image?: ImageReference;
115
141
  point1_x?: number;
116
142
  point1_y?: number;
117
143
  point2_x?: number;
@@ -167,22 +193,142 @@ export interface UnverifiedDiagnosticDetails {
167
193
  count: number;
168
194
  values: string[];
169
195
  }
196
+ export interface ImageListDiagnosticDetails {
197
+ byte_offset: number;
198
+ expected_images: number;
199
+ parsed_images: number;
200
+ error: string;
201
+ }
170
202
  export interface DecodeDiagnostic {
171
203
  code: string;
172
204
  severity: "info" | "warning" | "error";
173
205
  message: string;
174
206
  action: string;
175
- details: DecodeDiagnosticDetails | TruncationDiagnosticDetails | UnverifiedDiagnosticDetails;
207
+ details: DecodeDiagnosticDetails | TruncationDiagnosticDetails | UnverifiedDiagnosticDetails | ImageListDiagnosticDetails;
176
208
  }
177
209
  export interface JwwDocument {
178
210
  header: JwwHeader;
179
211
  entities: JwwEntity[];
180
212
  block_defs: BlockDef[];
213
+ images: EmbeddedImage[];
181
214
  block_def_names: Record<string, string>;
182
215
  entity_counts: Record<string, number>;
183
216
  validation: BlockReferenceValidation;
184
217
  diagnostics: DecodeDiagnostic[];
185
218
  }
219
+ /** Settings for a new version-700 JWW. Each group contains exactly 16 layers. */
220
+ export interface JwwWriteOptions {
221
+ version: number;
222
+ memo: string;
223
+ paper_size: number;
224
+ write_layer_group: number;
225
+ layer_groups: LayerGroupHeader[];
226
+ palette?: JwwPalette | null;
227
+ line_types?: JwwLineTypes | null;
228
+ text_presets?: TextPreset[] | null;
229
+ }
230
+ export interface JwwWriteLine extends LinePayload {
231
+ color?: number;
232
+ type: "LINE";
233
+ base: EntityBase;
234
+ }
235
+ /** Native arc angles are radians; flatness is the minor/major radius ratio (0, 1]. */
236
+ export interface JwwWriteArcGeometry {
237
+ color?: number;
238
+ base: EntityBase;
239
+ center_x: number;
240
+ center_y: number;
241
+ radius: number;
242
+ start_angle: number;
243
+ arc_angle: number;
244
+ tilt_angle: number;
245
+ flatness: number;
246
+ }
247
+ export interface JwwWriteCircle extends JwwWriteArcGeometry {
248
+ type: "CIRCLE";
249
+ is_full_circle: true;
250
+ }
251
+ export interface JwwWriteArc extends JwwWriteArcGeometry {
252
+ type: "ARC";
253
+ is_full_circle: false;
254
+ }
255
+ export interface JwwWritePoint extends PointPayload {
256
+ color?: number;
257
+ type: "POINT";
258
+ base: EntityBase;
259
+ }
260
+ /** Explicit baseline endpoints; text angle is in degrees. */
261
+ export interface JwwWriteText extends TextPayload {
262
+ color?: number;
263
+ type: "TEXT";
264
+ base: EntityBase;
265
+ }
266
+ export interface JwwWriteSolid {
267
+ type: "SOLID";
268
+ base: EntityBase;
269
+ point1_x: number;
270
+ point1_y: number;
271
+ point2_x: number;
272
+ point2_y: number;
273
+ point3_x: number;
274
+ point3_y: number;
275
+ point4_x: number;
276
+ point4_y: number;
277
+ color?: number | null;
278
+ }
279
+ export interface JwwWriteCircleSolid {
280
+ type: "CIRCLE_SOLID";
281
+ base: EntityBase;
282
+ center_x: number;
283
+ center_y: number;
284
+ radius: number;
285
+ flatness: number;
286
+ tilt_angle: number;
287
+ start_angle: number;
288
+ arc_angle: number;
289
+ solid_mode: number;
290
+ color?: number | null;
291
+ }
292
+ export interface JwwWriteBlock {
293
+ type: "BLOCK";
294
+ base: EntityBase;
295
+ ref_x: number;
296
+ ref_y: number;
297
+ scale_x: number;
298
+ scale_y: number;
299
+ rotation: number;
300
+ def_number: number;
301
+ }
302
+ export interface JwwWriteDimension {
303
+ type: "DIMENSION";
304
+ base: EntityBase;
305
+ line: LinePayload;
306
+ text: TextPayload;
307
+ sxf_mode: number;
308
+ aux_lines: LinePayload[];
309
+ aux_points: PointPayload[];
310
+ }
311
+ export interface JwwWriteBlockDef extends Omit<BlockDef, "entities"> {
312
+ entities: JwwWriteEntity[];
313
+ }
314
+ export type JwwWriteEntity = JwwWriteLine | JwwWriteCircle | JwwWriteArc | JwwWritePoint | JwwWriteText | JwwWriteSolid | JwwWriteCircleSolid | JwwWriteBlock | JwwWriteDimension;
315
+ /** Editable new-document input, distinct from a parsed JwwDocument. */
316
+ /** Writer input for an embedded image; `data` is base64, `compressed` must match a `.gz` name. */
317
+ export interface JwwWriteImage {
318
+ name: string;
319
+ data: string;
320
+ compressed?: boolean;
321
+ }
322
+ export interface JwwWriteDocument {
323
+ options: JwwWriteOptions;
324
+ entities: JwwWriteEntity[];
325
+ block_defs?: JwwWriteBlockDef[];
326
+ images?: JwwWriteImage[];
327
+ }
328
+ /** Return independent, mutable Rust writer defaults (A3, version 700). */
329
+ export declare function newJwwDocument(): JwwWriteDocument;
330
+ /** Validate and serialize without filesystem I/O. Returned bytes are owned. */
331
+ export declare function toJwwBytes(document: JwwWriteDocument): Uint8Array;
186
332
  export interface DxfLayer {
187
333
  name: string;
188
334
  color: number;
@@ -256,6 +402,10 @@ export type JwwInput = Uint8Array | ArrayBuffer | ArrayBufferView;
256
402
  export declare function isJwwFile(input: JwwInput): boolean;
257
403
  export declare function readHeader(input: JwwInput): JwwHeader;
258
404
  export declare function readDocument(input: JwwInput): JwwDocument;
405
+ /** Parse a `^@BM` image placement text; null when the text is not one. */
406
+ export declare function imageReference(content: string): ImageReference | null;
407
+ /** Build a `^@BM` image placement text; `extra` defaults to Jw_cad's parameters. */
408
+ export declare function imageReferenceContent(path: string, width: number, height: number, extra?: string[]): string;
259
409
  export type CadInput = JwwInput;
260
410
  export declare function isJwcFile(input: CadInput): boolean;
261
411
  export declare function detectFileFormat(input: CadInput): "jww" | "jwc" | null;
@@ -436,4 +586,16 @@ export interface JwcCadDocument {
436
586
  document: JwcDocument;
437
587
  }
438
588
  export type CadDocument = JwwCadDocument | JwcCadDocument;
589
+ export interface JwwWriteConversion {
590
+ document: JwwWriteDocument | null;
591
+ diagnostics: {
592
+ code: string;
593
+ severity: "info" | "warning" | "error";
594
+ path: string;
595
+ message: string;
596
+ action: string;
597
+ }[];
598
+ }
599
+ /** Explicit bounded conversion; inspect diagnostics even when a document is returned. */
600
+ export declare function toWriteDocument(document: JwwDocument, skipUnsupported?: boolean): JwwWriteConversion;
439
601
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -34,9 +34,13 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.toDxfString = void 0;
37
+ exports.newJwwDocument = newJwwDocument;
38
+ exports.toJwwBytes = toJwwBytes;
37
39
  exports.isJwwFile = isJwwFile;
38
40
  exports.readHeader = readHeader;
39
41
  exports.readDocument = readDocument;
42
+ exports.imageReference = imageReference;
43
+ exports.imageReferenceContent = imageReferenceContent;
40
44
  exports.isJwcFile = isJwcFile;
41
45
  exports.detectFileFormat = detectFileFormat;
42
46
  exports.readJwcHeader = readJwcHeader;
@@ -44,7 +48,16 @@ exports.readJwcDocument = readJwcDocument;
44
48
  exports.readCadDocument = readCadDocument;
45
49
  exports.readDxfDocument = readDxfDocument;
46
50
  exports.readDxfString = readDxfString;
51
+ exports.toWriteDocument = toWriteDocument;
47
52
  const wasm = __importStar(require("../wasm/ezjww_wasm.js"));
53
+ /** Return independent, mutable Rust writer defaults (A3, version 700). */
54
+ function newJwwDocument() {
55
+ return wasm.newJwwDocument();
56
+ }
57
+ /** Validate and serialize without filesystem I/O. Returned bytes are owned. */
58
+ function toJwwBytes(document) {
59
+ return wasm.toJwwBytes(document);
60
+ }
48
61
  function isJwwFile(input) {
49
62
  return wasm.isJwwFile(toUint8Array(input));
50
63
  }
@@ -54,6 +67,14 @@ function readHeader(input) {
54
67
  function readDocument(input) {
55
68
  return wasm.readDocument(toUint8Array(input));
56
69
  }
70
+ /** Parse a `^@BM` image placement text; null when the text is not one. */
71
+ function imageReference(content) {
72
+ return wasm.imageReference(content);
73
+ }
74
+ /** Build a `^@BM` image placement text; `extra` defaults to Jw_cad's parameters. */
75
+ function imageReferenceContent(path, width, height, extra) {
76
+ return wasm.imageReferenceContent(path, width, height, extra ?? null);
77
+ }
57
78
  function isJwcFile(input) {
58
79
  return wasm.isJwcFile(toUint8Array(input));
59
80
  }
@@ -112,3 +133,7 @@ function toUint8Array(input) {
112
133
  }
113
134
  return new Uint8Array(input.buffer, input.byteOffset, input.byteLength);
114
135
  }
136
+ /** Explicit bounded conversion; inspect diagnostics even when a document is returned. */
137
+ function toWriteDocument(document, skipUnsupported = false) {
138
+ return wasm.toWriteDocument(document, skipUnsupported);
139
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ezjww",
3
- "version": "0.3.4",
4
- "description": "JWW/JWC parser and DXF converter for TypeScript, powered by Rust WebAssembly.",
3
+ "version": "0.6.0",
4
+ "description": "JWW/JWC reader, JWW writer and DXF converter for TypeScript, powered by Rust WebAssembly.",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
@@ -20,20 +20,6 @@
20
20
  "dist",
21
21
  "wasm"
22
22
  ],
23
- "scripts": {
24
- "build:wasm": "wasm-pack build ../../crates/ezjww-wasm --target nodejs --out-dir ../../packages/ezjww/wasm --out-name ezjww_wasm --release && node -e \"require('node:fs').rmSync('wasm/.gitignore', { force: true })\"",
25
- "build:ts": "tsc -p tsconfig.json",
26
- "build": "pnpm run build:wasm && pnpm run build:ts",
27
- "example:browser:sample": "node -e \"const fs=require('node:fs'); fs.mkdirSync('examples/browser/public/samples', { recursive: true }); fs.copyFileSync('../../jww_samples/Test1.jww', 'examples/browser/public/samples/Test1.jww')\"",
28
- "example:browser:wasm": "wasm-pack build ../../crates/ezjww-wasm --target web --out-dir ../../packages/ezjww/examples/browser/src/wasm --out-name ezjww_wasm --release && node -e \"require('node:fs').rmSync('examples/browser/src/wasm/.gitignore', { force: true })\"",
29
- "example:browser:build": "pnpm run example:browser:sample && pnpm run example:browser:wasm && tsc -p examples/browser/tsconfig.json && vite build examples/browser",
30
- "example:browser:dev": "pnpm run example:browser:sample && pnpm run example:browser:wasm && vite --host 127.0.0.1 examples/browser",
31
- "example:browser:preview": "vite preview --host 127.0.0.1 examples/browser",
32
- "test": "pnpm run build && vitest run",
33
- "test:parity": "node ../../scripts/check-python-ts-parity.mjs",
34
- "typecheck": "tsc -p tsconfig.json --noEmit && tsc -p tsconfig.tests.json",
35
- "prepack": "pnpm run build"
36
- },
37
23
  "keywords": [
38
24
  "jww",
39
25
  "jw-cad",
@@ -53,5 +39,18 @@
53
39
  "vite": "^8.0.14",
54
40
  "vitest": "^4.1.7",
55
41
  "wasm-pack": "^0.15.0"
42
+ },
43
+ "scripts": {
44
+ "build:wasm": "wasm-pack build ../../crates/ezjww-wasm --target nodejs --out-dir ../../packages/ezjww/wasm --out-name ezjww_wasm --release && node -e \"require('node:fs').rmSync('wasm/.gitignore', { force: true })\"",
45
+ "build:ts": "tsc -p tsconfig.json",
46
+ "build": "pnpm run build:wasm && pnpm run build:ts",
47
+ "example:browser:sample": "node -e \"const fs=require('node:fs'); fs.mkdirSync('examples/browser/public/samples', { recursive: true }); fs.copyFileSync('../../jww_samples/Test1.jww', 'examples/browser/public/samples/Test1.jww')\"",
48
+ "example:browser:wasm": "wasm-pack build ../../crates/ezjww-wasm --target web --out-dir ../../packages/ezjww/examples/browser/src/wasm --out-name ezjww_wasm --release && node -e \"require('node:fs').rmSync('examples/browser/src/wasm/.gitignore', { force: true })\"",
49
+ "example:browser:build": "pnpm run example:browser:sample && pnpm run example:browser:wasm && tsc -p examples/browser/tsconfig.json && vite build examples/browser",
50
+ "example:browser:dev": "pnpm run example:browser:sample && pnpm run example:browser:wasm && vite --host 127.0.0.1 examples/browser",
51
+ "example:browser:preview": "vite preview --host 127.0.0.1 examples/browser",
52
+ "test": "pnpm run build && vitest run",
53
+ "test:parity": "node ../../scripts/check-python-ts-parity.mjs",
54
+ "typecheck": "tsc -p tsconfig.json --noEmit && tsc -p tsconfig.tests.json"
56
55
  }
57
- }
56
+ }
@@ -3,10 +3,22 @@
3
3
 
4
4
  export function detectFileFormat(data: Uint8Array): any;
5
5
 
6
+ /**
7
+ * Parse a `^@BM` image placement text; `null` when the text is not one.
8
+ */
9
+ export function imageReference(content: string): any;
10
+
11
+ /**
12
+ * Build a `^@BM` image placement text; `extra` defaults to Jw_cad's parameters.
13
+ */
14
+ export function imageReferenceContent(path: string, width: number, height: number, extra: any): string;
15
+
6
16
  export function isJwcFile(data: Uint8Array): boolean;
7
17
 
8
18
  export function isJwwFile(data: Uint8Array): boolean;
9
19
 
20
+ export function newJwwDocument(): any;
21
+
10
22
  export function readCadDocument(data: Uint8Array): any;
11
23
 
12
24
  export function readDocument(data: Uint8Array): any;
@@ -20,3 +32,7 @@ export function readHeader(data: Uint8Array): any;
20
32
  export function readJwcDocument(data: Uint8Array): any;
21
33
 
22
34
  export function readJwcHeader(data: Uint8Array): any;
35
+
36
+ export function toJwwBytes(document: any): Uint8Array;
37
+
38
+ export function toWriteDocument(document: any, skip_unsupported?: boolean | null): any;
@@ -15,6 +15,52 @@ function detectFileFormat(data) {
15
15
  }
16
16
  exports.detectFileFormat = detectFileFormat;
17
17
 
18
+ /**
19
+ * Parse a `^@BM` image placement text; `null` when the text is not one.
20
+ * @param {string} content
21
+ * @returns {any}
22
+ */
23
+ function imageReference(content) {
24
+ const ptr0 = passStringToWasm0(content, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
25
+ const len0 = WASM_VECTOR_LEN;
26
+ const ret = wasm.imageReference(ptr0, len0);
27
+ if (ret[2]) {
28
+ throw takeFromExternrefTable0(ret[1]);
29
+ }
30
+ return takeFromExternrefTable0(ret[0]);
31
+ }
32
+ exports.imageReference = imageReference;
33
+
34
+ /**
35
+ * Build a `^@BM` image placement text; `extra` defaults to Jw_cad's parameters.
36
+ * @param {string} path
37
+ * @param {number} width
38
+ * @param {number} height
39
+ * @param {any} extra
40
+ * @returns {string}
41
+ */
42
+ function imageReferenceContent(path, width, height, extra) {
43
+ let deferred3_0;
44
+ let deferred3_1;
45
+ try {
46
+ const ptr0 = passStringToWasm0(path, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
47
+ const len0 = WASM_VECTOR_LEN;
48
+ const ret = wasm.imageReferenceContent(ptr0, len0, width, height, extra);
49
+ var ptr2 = ret[0];
50
+ var len2 = ret[1];
51
+ if (ret[3]) {
52
+ ptr2 = 0; len2 = 0;
53
+ throw takeFromExternrefTable0(ret[2]);
54
+ }
55
+ deferred3_0 = ptr2;
56
+ deferred3_1 = len2;
57
+ return getStringFromWasm0(ptr2, len2);
58
+ } finally {
59
+ wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
60
+ }
61
+ }
62
+ exports.imageReferenceContent = imageReferenceContent;
63
+
18
64
  /**
19
65
  * @param {Uint8Array} data
20
66
  * @returns {boolean}
@@ -39,6 +85,18 @@ function isJwwFile(data) {
39
85
  }
40
86
  exports.isJwwFile = isJwwFile;
41
87
 
88
+ /**
89
+ * @returns {any}
90
+ */
91
+ function newJwwDocument() {
92
+ const ret = wasm.newJwwDocument();
93
+ if (ret[2]) {
94
+ throw takeFromExternrefTable0(ret[1]);
95
+ }
96
+ return takeFromExternrefTable0(ret[0]);
97
+ }
98
+ exports.newJwwDocument = newJwwDocument;
99
+
42
100
  /**
43
101
  * @param {Uint8Array} data
44
102
  * @returns {any}
@@ -169,6 +227,35 @@ function readJwcHeader(data) {
169
227
  return takeFromExternrefTable0(ret[0]);
170
228
  }
171
229
  exports.readJwcHeader = readJwcHeader;
230
+
231
+ /**
232
+ * @param {any} document
233
+ * @returns {Uint8Array}
234
+ */
235
+ function toJwwBytes(document) {
236
+ const ret = wasm.toJwwBytes(document);
237
+ if (ret[3]) {
238
+ throw takeFromExternrefTable0(ret[2]);
239
+ }
240
+ var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
241
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
242
+ return v1;
243
+ }
244
+ exports.toJwwBytes = toJwwBytes;
245
+
246
+ /**
247
+ * @param {any} document
248
+ * @param {boolean | null} [skip_unsupported]
249
+ * @returns {any}
250
+ */
251
+ function toWriteDocument(document, skip_unsupported) {
252
+ const ret = wasm.toWriteDocument(document, isLikeNone(skip_unsupported) ? 0xFFFFFF : skip_unsupported ? 1 : 0);
253
+ if (ret[2]) {
254
+ throw takeFromExternrefTable0(ret[1]);
255
+ }
256
+ return takeFromExternrefTable0(ret[0]);
257
+ }
258
+ exports.toWriteDocument = toWriteDocument;
172
259
  function __wbg_get_imports() {
173
260
  const import0 = {
174
261
  __proto__: null,
@@ -183,13 +270,128 @@ function __wbg_get_imports() {
183
270
  getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
184
271
  getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
185
272
  },
273
+ __wbg___wbindgen_boolean_get_1a45e2c38d4d41b9: function(arg0) {
274
+ const v = arg0;
275
+ const ret = typeof(v) === 'boolean' ? v : undefined;
276
+ return isLikeNone(ret) ? 0xFFFFFF : ret ? 1 : 0;
277
+ },
278
+ __wbg___wbindgen_debug_string_0accd80f45e5faa2: function(arg0, arg1) {
279
+ const ret = debugString(arg1);
280
+ const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
281
+ const len1 = WASM_VECTOR_LEN;
282
+ getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
283
+ getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
284
+ },
285
+ __wbg___wbindgen_is_function_754e9f305ff6029e: function(arg0) {
286
+ const ret = typeof(arg0) === 'function';
287
+ return ret;
288
+ },
289
+ __wbg___wbindgen_is_null_87c3bfe968c6a5ad: function(arg0) {
290
+ const ret = arg0 === null;
291
+ return ret;
292
+ },
293
+ __wbg___wbindgen_is_object_56732c2bc353f41d: function(arg0) {
294
+ const val = arg0;
295
+ const ret = typeof(val) === 'object' && val !== null;
296
+ return ret;
297
+ },
186
298
  __wbg___wbindgen_is_string_c236cabd84a4d769: function(arg0) {
187
299
  const ret = typeof(arg0) === 'string';
188
300
  return ret;
189
301
  },
302
+ __wbg___wbindgen_is_undefined_67b456be8673d3d7: function(arg0) {
303
+ const ret = arg0 === undefined;
304
+ return ret;
305
+ },
306
+ __wbg___wbindgen_jsval_eq_1068e624fa87f6ab: function(arg0, arg1) {
307
+ const ret = arg0 === arg1;
308
+ return ret;
309
+ },
310
+ __wbg___wbindgen_jsval_loose_eq_2c56564c75129511: function(arg0, arg1) {
311
+ const ret = arg0 == arg1;
312
+ return ret;
313
+ },
314
+ __wbg___wbindgen_number_get_9bb1761122181af2: function(arg0, arg1) {
315
+ const obj = arg1;
316
+ const ret = typeof(obj) === 'number' ? obj : undefined;
317
+ getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true);
318
+ getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);
319
+ },
320
+ __wbg___wbindgen_string_get_72bdf95d3ae505b1: function(arg0, arg1) {
321
+ const obj = arg1;
322
+ const ret = typeof(obj) === 'string' ? obj : undefined;
323
+ var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
324
+ var len1 = WASM_VECTOR_LEN;
325
+ getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
326
+ getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
327
+ },
190
328
  __wbg___wbindgen_throw_1506f2235d1bdba0: function(arg0, arg1) {
191
329
  throw new Error(getStringFromWasm0(arg0, arg1));
192
330
  },
331
+ __wbg_call_8a89609d89f6608a: function() { return handleError(function (arg0, arg1) {
332
+ const ret = arg0.call(arg1);
333
+ return ret;
334
+ }, arguments); },
335
+ __wbg_done_60cf307fcc680536: function(arg0) {
336
+ const ret = arg0.done;
337
+ return ret;
338
+ },
339
+ __wbg_get_1f8f054ddbaa7db2: function() { return handleError(function (arg0, arg1) {
340
+ const ret = Reflect.get(arg0, arg1);
341
+ return ret;
342
+ }, arguments); },
343
+ __wbg_get_2b48c7d0d006a781: function(arg0, arg1) {
344
+ const ret = arg0[arg1 >>> 0];
345
+ return ret;
346
+ },
347
+ __wbg_get_de6a0f7d4d18a304: function() { return handleError(function (arg0, arg1) {
348
+ const ret = Reflect.get(arg0, arg1);
349
+ return ret;
350
+ }, arguments); },
351
+ __wbg_get_unchecked_33f6e5c9e2f2d6b2: function(arg0, arg1) {
352
+ const ret = arg0[arg1 >>> 0];
353
+ return ret;
354
+ },
355
+ __wbg_instanceof_ArrayBuffer_8f49811467741499: function(arg0) {
356
+ let result;
357
+ try {
358
+ result = arg0 instanceof ArrayBuffer;
359
+ } catch (_) {
360
+ result = false;
361
+ }
362
+ const ret = result;
363
+ return ret;
364
+ },
365
+ __wbg_instanceof_Uint8Array_86f30649f63ef9c2: function(arg0) {
366
+ let result;
367
+ try {
368
+ result = arg0 instanceof Uint8Array;
369
+ } catch (_) {
370
+ result = false;
371
+ }
372
+ const ret = result;
373
+ return ret;
374
+ },
375
+ __wbg_isArray_67c2c9c4313f4448: function(arg0) {
376
+ const ret = Array.isArray(arg0);
377
+ return ret;
378
+ },
379
+ __wbg_iterator_8732428d309e270e: function() {
380
+ const ret = Symbol.iterator;
381
+ return ret;
382
+ },
383
+ __wbg_length_4a591ecaa01354d9: function(arg0) {
384
+ const ret = arg0.length;
385
+ return ret;
386
+ },
387
+ __wbg_length_66f1a4b2e9026940: function(arg0) {
388
+ const ret = arg0.length;
389
+ return ret;
390
+ },
391
+ __wbg_new_578aeef4b6b94378: function(arg0) {
392
+ const ret = new Uint8Array(arg0);
393
+ return ret;
394
+ },
193
395
  __wbg_new_622fc80556be2e26: function() {
194
396
  const ret = new Map();
195
397
  return ret;
@@ -202,6 +404,21 @@ function __wbg_get_imports() {
202
404
  const ret = new Array();
203
405
  return ret;
204
406
  },
407
+ __wbg_next_9e03acdf51c4960d: function(arg0) {
408
+ const ret = arg0.next;
409
+ return ret;
410
+ },
411
+ __wbg_next_eb8ca7351fa27906: function() { return handleError(function (arg0) {
412
+ const ret = arg0.next();
413
+ return ret;
414
+ }, arguments); },
415
+ __wbg_ownKeys_0587b8fe286a40e6: function() { return handleError(function (arg0) {
416
+ const ret = Reflect.ownKeys(arg0);
417
+ return ret;
418
+ }, arguments); },
419
+ __wbg_prototypesetcall_3249fc62a0fafa30: function(arg0, arg1, arg2) {
420
+ Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), arg2);
421
+ },
205
422
  __wbg_set_52b1e1eb5bed906a: function(arg0, arg1, arg2) {
206
423
  const ret = arg0.set(arg1, arg2);
207
424
  return ret;
@@ -212,17 +429,26 @@ function __wbg_get_imports() {
212
429
  __wbg_set_dca99999bba88a9a: function(arg0, arg1, arg2) {
213
430
  arg0[arg1 >>> 0] = arg2;
214
431
  },
432
+ __wbg_value_f3625092ee4b37f4: function(arg0) {
433
+ const ret = arg0.value;
434
+ return ret;
435
+ },
215
436
  __wbindgen_cast_0000000000000001: function(arg0) {
216
437
  // Cast intrinsic for `F64 -> Externref`.
217
438
  const ret = arg0;
218
439
  return ret;
219
440
  },
220
- __wbindgen_cast_0000000000000002: function(arg0, arg1) {
441
+ __wbindgen_cast_0000000000000002: function(arg0) {
442
+ // Cast intrinsic for `I64 -> Externref`.
443
+ const ret = arg0;
444
+ return ret;
445
+ },
446
+ __wbindgen_cast_0000000000000003: function(arg0, arg1) {
221
447
  // Cast intrinsic for `Ref(String) -> Externref`.
222
448
  const ret = getStringFromWasm0(arg0, arg1);
223
449
  return ret;
224
450
  },
225
- __wbindgen_cast_0000000000000003: function(arg0) {
451
+ __wbindgen_cast_0000000000000004: function(arg0) {
226
452
  // Cast intrinsic for `U64 -> Externref`.
227
453
  const ret = BigInt.asUintN(64, arg0);
228
454
  return ret;
@@ -243,6 +469,82 @@ function __wbg_get_imports() {
243
469
  };
244
470
  }
245
471
 
472
+ function addToExternrefTable0(obj) {
473
+ const idx = wasm.__externref_table_alloc();
474
+ wasm.__wbindgen_externrefs.set(idx, obj);
475
+ return idx;
476
+ }
477
+
478
+ function debugString(val) {
479
+ // primitive types
480
+ const type = typeof val;
481
+ if (type == 'number' || type == 'boolean' || val == null) {
482
+ return `${val}`;
483
+ }
484
+ if (type == 'string') {
485
+ return `"${val}"`;
486
+ }
487
+ if (type == 'symbol') {
488
+ const description = val.description;
489
+ if (description == null) {
490
+ return 'Symbol';
491
+ } else {
492
+ return `Symbol(${description})`;
493
+ }
494
+ }
495
+ if (type == 'function') {
496
+ const name = val.name;
497
+ if (typeof name == 'string' && name.length > 0) {
498
+ return `Function(${name})`;
499
+ } else {
500
+ return 'Function';
501
+ }
502
+ }
503
+ // objects
504
+ if (Array.isArray(val)) {
505
+ const length = val.length;
506
+ let debug = '[';
507
+ if (length > 0) {
508
+ debug += debugString(val[0]);
509
+ }
510
+ for(let i = 1; i < length; i++) {
511
+ debug += ', ' + debugString(val[i]);
512
+ }
513
+ debug += ']';
514
+ return debug;
515
+ }
516
+ // Test for built-in
517
+ const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val));
518
+ let className;
519
+ if (builtInMatches && builtInMatches.length > 1) {
520
+ className = builtInMatches[1];
521
+ } else {
522
+ // Failed to match the standard '[object ClassName]'
523
+ return toString.call(val);
524
+ }
525
+ if (className == 'Object') {
526
+ // we're a user defined class or Object
527
+ // JSON.stringify avoids problems with cycles, and is generally much
528
+ // easier than looping through ownProperties of `val`.
529
+ try {
530
+ return 'Object(' + JSON.stringify(val) + ')';
531
+ } catch (_) {
532
+ return 'Object';
533
+ }
534
+ }
535
+ // errors
536
+ if (val instanceof Error) {
537
+ return `${val.name}: ${val.message}\n${val.stack}`;
538
+ }
539
+ // TODO we could test for more things here, like `Set`s and `Map`s.
540
+ return className;
541
+ }
542
+
543
+ function getArrayU8FromWasm0(ptr, len) {
544
+ ptr = ptr >>> 0;
545
+ return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
546
+ }
547
+
246
548
  let cachedDataViewMemory0 = null;
247
549
  function getDataViewMemory0() {
248
550
  if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {
@@ -263,6 +565,15 @@ function getUint8ArrayMemory0() {
263
565
  return cachedUint8ArrayMemory0;
264
566
  }
265
567
 
568
+ function handleError(f, args) {
569
+ try {
570
+ return f.apply(this, args);
571
+ } catch (e) {
572
+ const idx = addToExternrefTable0(e);
573
+ wasm.__wbindgen_exn_store(idx);
574
+ }
575
+ }
576
+
266
577
  function isLikeNone(x) {
267
578
  return x === undefined || x === null;
268
579
  }
Binary file
@@ -2,6 +2,8 @@
2
2
  /* eslint-disable */
3
3
  export const memory: WebAssembly.Memory;
4
4
  export const detectFileFormat: (a: number, b: number) => [number, number, number];
5
+ export const imageReference: (a: number, b: number) => [number, number, number];
6
+ export const imageReferenceContent: (a: number, b: number, c: number, d: number, e: any) => [number, number, number, number];
5
7
  export const isJwcFile: (a: number, b: number) => number;
6
8
  export const isJwwFile: (a: number, b: number) => number;
7
9
  export const readCadDocument: (a: number, b: number) => [number, number, number];
@@ -11,8 +13,13 @@ export const readDxfString: (a: number, b: number, c: number, d: number, e: numb
11
13
  export const readHeader: (a: number, b: number) => [number, number, number];
12
14
  export const readJwcDocument: (a: number, b: number) => [number, number, number];
13
15
  export const readJwcHeader: (a: number, b: number) => [number, number, number];
16
+ export const newJwwDocument: () => [number, number, number];
17
+ export const toJwwBytes: (a: any) => [number, number, number, number];
18
+ export const toWriteDocument: (a: any, b: number) => [number, number, number];
14
19
  export const __wbindgen_malloc: (a: number, b: number) => number;
15
20
  export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
21
+ export const __wbindgen_exn_store: (a: number) => void;
22
+ export const __externref_table_alloc: () => number;
16
23
  export const __wbindgen_externrefs: WebAssembly.Table;
17
24
  export const __externref_table_dealloc: (a: number) => void;
18
25
  export const __wbindgen_free: (a: number, b: number, c: number) => void;
package/wasm/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ezjww-wasm",
3
3
  "description": "WebAssembly bindings for ezjww.",
4
- "version": "0.2.10",
4
+ "version": "0.6.0",
5
5
  "license": "MIT",
6
6
  "files": [
7
7
  "ezjww_wasm_bg.wasm",