@mlightcad/libredwg-web 0.0.2 → 0.0.4
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/dist/libredwg-web.mjs +2103 -2103
- package/dist/libredwg-web.umd.js +16 -16
- package/lib/libredwg.d.ts +3 -1
- package/lib/libredwg.js +5 -3
- package/lib/utils.d.ts +1 -1
- package/lib/utils.js +1 -3
- package/package.json +13 -14
- package/dist/libredwg-web.wasm +0 -0
package/lib/libredwg.d.ts
CHANGED
|
@@ -29,7 +29,9 @@ export interface Dwg_Field_Value {
|
|
|
29
29
|
message?: string;
|
|
30
30
|
data?: string | number | Dwg_Array_Ptr | Dwg_Point_2D | Dwg_Point_3D;
|
|
31
31
|
}
|
|
32
|
+
export type LibreDwgEx = LibreDwg & MainModule;
|
|
32
33
|
export declare class LibreDwg {
|
|
34
|
+
static instance: LibreDwgEx;
|
|
33
35
|
private wasmInstance;
|
|
34
36
|
private constructor();
|
|
35
37
|
dwg_read_data(fileContent: string | ArrayBuffer, fileType: number): any;
|
|
@@ -68,6 +70,6 @@ export declare class LibreDwg {
|
|
|
68
70
|
dwg_ptr_to_point3d_array(ptr: Dwg_Array_Ptr, size: number): Dwg_Point_3D[];
|
|
69
71
|
dwg_ptr_to_ltype_dash_array(ptr: Dwg_Array_Ptr, size: number): Dwg_LTYPE_Dash[];
|
|
70
72
|
dwg_dynapi_entity_value(obj: number, field: string): Dwg_Field_Value;
|
|
71
|
-
static create(): Promise<
|
|
73
|
+
static create(wasmInstance: MainModule | undefined): Promise<LibreDwgEx>;
|
|
72
74
|
}
|
|
73
75
|
//# sourceMappingURL=libredwg.d.ts.map
|
package/lib/libredwg.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createModule, Dwg_File_Type, Dwg_Object_Type } from './utils';
|
|
2
2
|
export class LibreDwg {
|
|
3
|
+
static instance;
|
|
3
4
|
wasmInstance;
|
|
4
5
|
constructor(wasmInstance) {
|
|
5
6
|
this.wasmInstance = wasmInstance;
|
|
@@ -173,9 +174,10 @@ export class LibreDwg {
|
|
|
173
174
|
dwg_dynapi_entity_value(obj, field) {
|
|
174
175
|
return this.wasmInstance.dwg_dynapi_entity_value(obj, field);
|
|
175
176
|
}
|
|
176
|
-
static async create() {
|
|
177
|
-
|
|
178
|
-
|
|
177
|
+
static async create(wasmInstance) {
|
|
178
|
+
if (wasmInstance == null)
|
|
179
|
+
wasmInstance = await createModule();
|
|
180
|
+
return this.instance == null ? new LibreDwg(wasmInstance) : this.instance;
|
|
179
181
|
}
|
|
180
182
|
}
|
|
181
183
|
//# sourceMappingURL=libredwg.js.map
|
package/lib/utils.d.ts
CHANGED
package/lib/utils.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
// Vite doesn't bundle 'libredwg-web.wasm' file into the js bundle.
|
|
3
|
-
import createModule from "./libredwg-web.js";
|
|
1
|
+
import createModule from '../wasm/libredwg-web.js';
|
|
4
2
|
export { createModule };
|
|
5
3
|
export const Dwg_Object_Supertype = Object.freeze({
|
|
6
4
|
DWG_SUPERTYPE_ENTITY: 0,
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"description": "a webassembly version of libredwg, which can read/write DXF files (in both formats, ascii and binary form) and read DWG files from AutoCAD R14 to AutoCAD 2020.",
|
|
4
4
|
"license": "GPL-2.0-only",
|
|
5
5
|
"private": false,
|
|
6
|
-
"version": "0.0.
|
|
6
|
+
"version": "0.0.4",
|
|
7
7
|
"author": "MLight Lee <mlight.lee@outlook.com>",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|
|
@@ -23,18 +23,6 @@
|
|
|
23
23
|
"wasm",
|
|
24
24
|
"webassembly"
|
|
25
25
|
],
|
|
26
|
-
"scripts": {
|
|
27
|
-
"demo": "vite",
|
|
28
|
-
"build": "tsc && vite build && cp -f wasm/libredwg-web.wasm dist/ && cp -f wasm/libredwg-web.wasm test/ && cp -f dist/libredwg-web.mjs test/",
|
|
29
|
-
"build:prepare": "mkdir -p ../../build-wasm && cd ../../build-wasm && emconfigure ../configure CFLAGS=\"-O2 -sUSE_ZLIB=1\" CC=emcc --enable-release --disable-docs --disable-write --disable-bindings --disable-shared --disable-json --disable-dxf",
|
|
30
|
-
"build:obj": "cd ../../build-wasm && emmake make",
|
|
31
|
-
"build:wasm": "cd ../../build-wasm && emcc ../src/binding.cpp ../src/binding_enum.cpp ../src/binding_dynapi.cpp ../src/binding_func.cpp src/*.o -O2 -s LINKABLE=1 -lembind -std=c++11 -Isrc -I../include -o libredwg-web.js -s ALLOW_MEMORY_GROWTH=1 -s EXPORT_ES6=1 -s MODULARIZE=1 -s EXPORT_NAME=\"createModule\" -sEXPORTED_RUNTIME_METHODS=FS,ENV,ccall,cwrap,UTF8ToString,stringToNewUTF8,setValue",
|
|
32
|
-
"clean": "rm -rf ../../build-wasm",
|
|
33
|
-
"copy": "cp -f ../../build-wasm/libredwg-web.js ../../build-wasm/libredwg-web.wasm wasm/ && cp -f ../../build-wasm/libredwg-web.js src/",
|
|
34
|
-
"install:emsdk": "cd $EMSDK && ./emsdk install latest && ./emsdk activate latest",
|
|
35
|
-
"link": "node script/create-symlink.js ./wasm/libredwg-web.js ./src/libredwg-web.js",
|
|
36
|
-
"publish": "pnpm publish --access public --no-git-checks"
|
|
37
|
-
},
|
|
38
26
|
"files": [
|
|
39
27
|
"dist",
|
|
40
28
|
"lib/*.js",
|
|
@@ -65,5 +53,16 @@
|
|
|
65
53
|
"typescript": "^5.5.2",
|
|
66
54
|
"typescript-eslint": "^8.4.0",
|
|
67
55
|
"vite": "^5.2.10"
|
|
56
|
+
},
|
|
57
|
+
"scripts": {
|
|
58
|
+
"demo": "vite",
|
|
59
|
+
"build": "tsc && vite build && cp -f dist/libredwg-web.mjs test/",
|
|
60
|
+
"build:prepare": "mkdir -p ../../build-wasm && cd ../../build-wasm && emconfigure ../configure CFLAGS=\"-O2 -sUSE_ZLIB=1\" CC=emcc --enable-release --disable-docs --disable-write --disable-bindings --disable-shared --disable-json --disable-dxf",
|
|
61
|
+
"build:obj": "cd ../../build-wasm && emmake make",
|
|
62
|
+
"build:wasm": "cd ../../build-wasm && emcc ../bindings/javascript/embind/*.cpp src/*.o -O2 -s LINKABLE=1 -lembind -std=c++11 -Isrc -I../src -I../include -o libredwg-web.js -s ALLOW_MEMORY_GROWTH=1 -s EXPORT_ES6=1 -s MODULARIZE=1 -s EXPORT_NAME=\"createModule\" -sEXPORTED_RUNTIME_METHODS=FS,ENV,ccall,cwrap,UTF8ToString,stringToNewUTF8,setValue",
|
|
63
|
+
"clean": "rm -rf ../../build-wasm",
|
|
64
|
+
"copy": "cp -f ../../build-wasm/libredwg-web.js ../../build-wasm/libredwg-web.wasm wasm/ && cp -f ../../build-wasm/libredwg-web.js src/",
|
|
65
|
+
"install:emsdk": "cd $EMSDK && ./emsdk install latest && ./emsdk activate latest",
|
|
66
|
+
"link": "node script/create-symlink.js ./wasm/libredwg-web.js ./src/libredwg-web.js"
|
|
68
67
|
}
|
|
69
|
-
}
|
|
68
|
+
}
|
package/dist/libredwg-web.wasm
DELETED
|
Binary file
|