@iyulab/declart-web 0.18.0 → 0.19.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iyulab/declart-web",
3
- "version": "0.18.0",
3
+ "version": "0.19.0",
4
4
  "description": "Declarative diagram engine for browsers and bundlers (Vite, webpack, Rollup) — declare what to show, the engine renders SVG",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -21,7 +21,9 @@
21
21
  "index.d.ts",
22
22
  "wasm/declart_wasm.js",
23
23
  "wasm/declart_wasm.d.ts",
24
- "wasm/declart_wasm_bg.wasm"
24
+ "wasm/declart_wasm_bg.js",
25
+ "wasm/declart_wasm_bg.wasm",
26
+ "wasm/declart_wasm_bg.wasm.d.ts"
25
27
  ],
26
28
  "scripts": {
27
29
  "build": "wasm-pack build ../../crates/declart-wasm --target bundler --out-dir ../../packages/declart-web/wasm"
@@ -0,0 +1,262 @@
1
+ /**
2
+ * Returns a comma-separated list of supported diagram kind names.
3
+ * @returns {string}
4
+ */
5
+ export function kinds() {
6
+ let deferred1_0;
7
+ let deferred1_1;
8
+ try {
9
+ const ret = wasm.kinds();
10
+ deferred1_0 = ret[0];
11
+ deferred1_1 = ret[1];
12
+ return getStringFromWasm0(ret[0], ret[1]);
13
+ } finally {
14
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
15
+ }
16
+ }
17
+
18
+ /**
19
+ * Renders a TOML or JSON diagram declaration to SVG.
20
+ *
21
+ * - `input`: TOML or JSON declaration string (auto-detected by leading `{`)
22
+ * - `theme`: `"default"`, `"monochrome"`, `"accessible"`, or `"warm"` (unknown values fall back to `"default"`)
23
+ * - `width`: optional canvas width in pixels (height scales proportionally)
24
+ *
25
+ * Returns the SVG string on success, or a `JsError` with a descriptive message on failure.
26
+ * @param {string} input
27
+ * @param {string} theme
28
+ * @param {number | null} [width]
29
+ * @returns {string}
30
+ */
31
+ export function render(input, theme, width) {
32
+ let deferred4_0;
33
+ let deferred4_1;
34
+ try {
35
+ const ptr0 = passStringToWasm0(input, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
36
+ const len0 = WASM_VECTOR_LEN;
37
+ const ptr1 = passStringToWasm0(theme, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
38
+ const len1 = WASM_VECTOR_LEN;
39
+ const ret = wasm.render(ptr0, len0, ptr1, len1, isLikeNone(width) ? Number.MAX_SAFE_INTEGER : (width) >>> 0);
40
+ var ptr3 = ret[0];
41
+ var len3 = ret[1];
42
+ if (ret[3]) {
43
+ ptr3 = 0; len3 = 0;
44
+ throw takeFromExternrefTable0(ret[2]);
45
+ }
46
+ deferred4_0 = ptr3;
47
+ deferred4_1 = len3;
48
+ return getStringFromWasm0(ptr3, len3);
49
+ } finally {
50
+ wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);
51
+ }
52
+ }
53
+
54
+ /**
55
+ * Renders a JSON diagram declaration to SVG with a named theme.
56
+ *
57
+ * - `input`: JSON declaration string
58
+ * - `theme`: `"default"`, `"monochrome"`, `"accessible"`, or `"warm"`
59
+ * - `width`: optional canvas width in pixels
60
+ *
61
+ * Returns the SVG string on success, or a `JsError` on failure.
62
+ * @param {string} input
63
+ * @param {string} theme
64
+ * @param {number | null} [width]
65
+ * @returns {string}
66
+ */
67
+ export function render_json(input, theme, width) {
68
+ let deferred4_0;
69
+ let deferred4_1;
70
+ try {
71
+ const ptr0 = passStringToWasm0(input, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
72
+ const len0 = WASM_VECTOR_LEN;
73
+ const ptr1 = passStringToWasm0(theme, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
74
+ const len1 = WASM_VECTOR_LEN;
75
+ const ret = wasm.render_json(ptr0, len0, ptr1, len1, isLikeNone(width) ? Number.MAX_SAFE_INTEGER : (width) >>> 0);
76
+ var ptr3 = ret[0];
77
+ var len3 = ret[1];
78
+ if (ret[3]) {
79
+ ptr3 = 0; len3 = 0;
80
+ throw takeFromExternrefTable0(ret[2]);
81
+ }
82
+ deferred4_0 = ptr3;
83
+ deferred4_1 = len3;
84
+ return getStringFromWasm0(ptr3, len3);
85
+ } finally {
86
+ wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);
87
+ }
88
+ }
89
+
90
+ /**
91
+ * Renders a TOML or JSON diagram declaration with a custom theme defined as a TOML string.
92
+ *
93
+ * - `input`: TOML or JSON declaration string (auto-detected)
94
+ * - `theme_toml`: TOML theme string (see [`Theme::from_toml`])
95
+ * - `width`: optional canvas width in pixels
96
+ *
97
+ * Returns the SVG string on success, or a `JsError` on parse/validation failure.
98
+ * @param {string} input
99
+ * @param {string} theme_toml
100
+ * @param {number | null} [width]
101
+ * @returns {string}
102
+ */
103
+ export function render_with_theme_toml(input, theme_toml, width) {
104
+ let deferred4_0;
105
+ let deferred4_1;
106
+ try {
107
+ const ptr0 = passStringToWasm0(input, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
108
+ const len0 = WASM_VECTOR_LEN;
109
+ const ptr1 = passStringToWasm0(theme_toml, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
110
+ const len1 = WASM_VECTOR_LEN;
111
+ const ret = wasm.render_with_theme_toml(ptr0, len0, ptr1, len1, isLikeNone(width) ? Number.MAX_SAFE_INTEGER : (width) >>> 0);
112
+ var ptr3 = ret[0];
113
+ var len3 = ret[1];
114
+ if (ret[3]) {
115
+ ptr3 = 0; len3 = 0;
116
+ throw takeFromExternrefTable0(ret[2]);
117
+ }
118
+ deferred4_0 = ptr3;
119
+ deferred4_1 = len3;
120
+ return getStringFromWasm0(ptr3, len3);
121
+ } finally {
122
+ wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);
123
+ }
124
+ }
125
+
126
+ /**
127
+ * Returns a comma-separated list of supported theme names.
128
+ * @returns {string}
129
+ */
130
+ export function themes() {
131
+ let deferred1_0;
132
+ let deferred1_1;
133
+ try {
134
+ const ret = wasm.themes();
135
+ deferred1_0 = ret[0];
136
+ deferred1_1 = ret[1];
137
+ return getStringFromWasm0(ret[0], ret[1]);
138
+ } finally {
139
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
140
+ }
141
+ }
142
+
143
+ /**
144
+ * Validates a TOML or JSON diagram declaration without rendering.
145
+ *
146
+ * Returns `Ok(())` if valid, or a `JsError` with the parse/validation error message.
147
+ * @param {string} input
148
+ */
149
+ export function validate(input) {
150
+ const ptr0 = passStringToWasm0(input, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
151
+ const len0 = WASM_VECTOR_LEN;
152
+ const ret = wasm.validate(ptr0, len0);
153
+ if (ret[1]) {
154
+ throw takeFromExternrefTable0(ret[0]);
155
+ }
156
+ }
157
+ export function __wbg_Error_bce6d499ff0a4aff(arg0, arg1) {
158
+ const ret = Error(getStringFromWasm0(arg0, arg1));
159
+ return ret;
160
+ }
161
+ export function __wbindgen_init_externref_table() {
162
+ const table = wasm.__wbindgen_externrefs;
163
+ const offset = table.grow(4);
164
+ table.set(0, undefined);
165
+ table.set(offset + 0, undefined);
166
+ table.set(offset + 1, null);
167
+ table.set(offset + 2, true);
168
+ table.set(offset + 3, false);
169
+ }
170
+ function getStringFromWasm0(ptr, len) {
171
+ return decodeText(ptr >>> 0, len);
172
+ }
173
+
174
+ let cachedUint8ArrayMemory0 = null;
175
+ function getUint8ArrayMemory0() {
176
+ if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {
177
+ cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);
178
+ }
179
+ return cachedUint8ArrayMemory0;
180
+ }
181
+
182
+ function isLikeNone(x) {
183
+ return x === undefined || x === null;
184
+ }
185
+
186
+ function passStringToWasm0(arg, malloc, realloc) {
187
+ if (realloc === undefined) {
188
+ const buf = cachedTextEncoder.encode(arg);
189
+ const ptr = malloc(buf.length, 1) >>> 0;
190
+ getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);
191
+ WASM_VECTOR_LEN = buf.length;
192
+ return ptr;
193
+ }
194
+
195
+ let len = arg.length;
196
+ let ptr = malloc(len, 1) >>> 0;
197
+
198
+ const mem = getUint8ArrayMemory0();
199
+
200
+ let offset = 0;
201
+
202
+ for (; offset < len; offset++) {
203
+ const code = arg.charCodeAt(offset);
204
+ if (code > 0x7F) break;
205
+ mem[ptr + offset] = code;
206
+ }
207
+ if (offset !== len) {
208
+ if (offset !== 0) {
209
+ arg = arg.slice(offset);
210
+ }
211
+ ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;
212
+ const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);
213
+ const ret = cachedTextEncoder.encodeInto(arg, view);
214
+
215
+ offset += ret.written;
216
+ ptr = realloc(ptr, len, offset, 1) >>> 0;
217
+ }
218
+
219
+ WASM_VECTOR_LEN = offset;
220
+ return ptr;
221
+ }
222
+
223
+ function takeFromExternrefTable0(idx) {
224
+ const value = wasm.__wbindgen_externrefs.get(idx);
225
+ wasm.__externref_table_dealloc(idx);
226
+ return value;
227
+ }
228
+
229
+ let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
230
+ cachedTextDecoder.decode();
231
+ const MAX_SAFARI_DECODE_BYTES = 2146435072;
232
+ let numBytesDecoded = 0;
233
+ function decodeText(ptr, len) {
234
+ numBytesDecoded += len;
235
+ if (numBytesDecoded >= MAX_SAFARI_DECODE_BYTES) {
236
+ cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
237
+ cachedTextDecoder.decode();
238
+ numBytesDecoded = len;
239
+ }
240
+ return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
241
+ }
242
+
243
+ const cachedTextEncoder = new TextEncoder();
244
+
245
+ if (!('encodeInto' in cachedTextEncoder)) {
246
+ cachedTextEncoder.encodeInto = function (arg, view) {
247
+ const buf = cachedTextEncoder.encode(arg);
248
+ view.set(buf);
249
+ return {
250
+ read: arg.length,
251
+ written: buf.length
252
+ };
253
+ };
254
+ }
255
+
256
+ let WASM_VECTOR_LEN = 0;
257
+
258
+
259
+ let wasm;
260
+ export function __wbg_set_wasm(val) {
261
+ wasm = val;
262
+ }
Binary file
@@ -0,0 +1,15 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ export const memory: WebAssembly.Memory;
4
+ export const kinds: () => [number, number];
5
+ export const render: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
6
+ export const render_json: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
7
+ export const render_with_theme_toml: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
8
+ export const themes: () => [number, number];
9
+ export const validate: (a: number, b: number) => [number, number];
10
+ export const __wbindgen_externrefs: WebAssembly.Table;
11
+ export const __wbindgen_free: (a: number, b: number, c: number) => void;
12
+ export const __wbindgen_malloc: (a: number, b: number) => number;
13
+ export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
14
+ export const __externref_table_dealloc: (a: number) => void;
15
+ export const __wbindgen_start: () => void;