@canmi/seam-engine 0.4.4 → 0.4.10

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 ADDED
@@ -0,0 +1,35 @@
1
+ # @canmi/seam-engine
2
+
3
+ Node.js/Bun WASM bridge for the Rust engine. All functions delegate to the [engine/wasm](../wasm/) binary compiled from [engine/rust](../rust/).
4
+
5
+ ## Structure
6
+
7
+ - `src/wasm-bridge.ts` — Synchronous WASM initialization and typed wrappers
8
+ - `src/escape.ts` — `escapeHtml` (pure JS, HTML entity escaping)
9
+ - `src/index.ts` — Barrel exports
10
+ - `pkg/` — WASM artifacts (built by `build-wasm.sh`)
11
+
12
+ ## Key Exports
13
+
14
+ | Export | Source | Purpose |
15
+ | ------------------ | ------- | ------------------------------------------ |
16
+ | `renderPage` | WASM | Page assembly: slots + data script + meta |
17
+ | `parseBuildOutput` | WASM | Parse route-manifest.json into definitions |
18
+ | `parseI18nConfig` | WASM | Extract i18n config from manifest |
19
+ | `parseRpcHashMap` | WASM | Reverse lookup from RPC hash map |
20
+ | `asciiEscapeJson` | WASM | Escape non-ASCII in JSON strings |
21
+ | `i18nQuery` | WASM | Look up i18n translation keys |
22
+ | `inject` | WASM | Template injection with data script |
23
+ | `injectNoScript` | WASM | Template injection without data script |
24
+ | `escapeHtml` | Pure JS | HTML entity escaping |
25
+
26
+ ## Development
27
+
28
+ - Build WASM: `bash src/server/engine/build-wasm.sh`
29
+ - Build JS: `bun run --filter '@canmi/seam-engine' build`
30
+ - Test: `bun run --filter '@canmi/seam-engine' test`
31
+
32
+ ## Notes
33
+
34
+ - WASM imports use `eslint-disable` + `@ts-expect-error` — no `.d.ts` for wasm-bindgen output
35
+ - Rebuild `pkg/` when Rust engine source changes
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  //#region src/wasm-bridge.d.ts
2
2
  interface InjectOptions {
3
3
  skipDataScript?: boolean;
4
+ dataId?: string;
4
5
  }
5
6
  declare function renderPage(template: string, loaderDataJson: string, configJson: string, i18nOptsJson?: string): string;
6
7
  declare function parseBuildOutput(manifestJson: string): string;
package/dist/index.js CHANGED
@@ -11,14 +11,18 @@ function ascii_escape_json(json) {
11
11
  let deferred2_0;
12
12
  let deferred2_1;
13
13
  try {
14
- const ptr0 = passStringToWasm0(json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
14
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
15
+ const ptr0 = passStringToWasm0(json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
15
16
  const len0 = WASM_VECTOR_LEN;
16
- const ret = wasm.ascii_escape_json(ptr0, len0);
17
- deferred2_0 = ret[0];
18
- deferred2_1 = ret[1];
19
- return getStringFromWasm0(ret[0], ret[1]);
17
+ wasm.ascii_escape_json(retptr, ptr0, len0);
18
+ var r0 = getDataViewMemory0().getInt32(retptr + 0, true);
19
+ var r1 = getDataViewMemory0().getInt32(retptr + 4, true);
20
+ deferred2_0 = r0;
21
+ deferred2_1 = r1;
22
+ return getStringFromWasm0(r0, r1);
20
23
  } finally {
21
- wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
24
+ wasm.__wbindgen_add_to_stack_pointer(16);
25
+ wasm.__wbindgen_export3(deferred2_0, deferred2_1, 1);
22
26
  }
23
27
  }
24
28
  /**
@@ -32,41 +36,52 @@ function i18n_query(keys_json, locale, default_locale, messages_json) {
32
36
  let deferred5_0;
33
37
  let deferred5_1;
34
38
  try {
35
- const ptr0 = passStringToWasm0(keys_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
39
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
40
+ const ptr0 = passStringToWasm0(keys_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
36
41
  const len0 = WASM_VECTOR_LEN;
37
- const ptr1 = passStringToWasm0(locale, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
42
+ const ptr1 = passStringToWasm0(locale, wasm.__wbindgen_export, wasm.__wbindgen_export2);
38
43
  const len1 = WASM_VECTOR_LEN;
39
- const ptr2 = passStringToWasm0(default_locale, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
44
+ const ptr2 = passStringToWasm0(default_locale, wasm.__wbindgen_export, wasm.__wbindgen_export2);
40
45
  const len2 = WASM_VECTOR_LEN;
41
- const ptr3 = passStringToWasm0(messages_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
46
+ const ptr3 = passStringToWasm0(messages_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
42
47
  const len3 = WASM_VECTOR_LEN;
43
- const ret = wasm.i18n_query(ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
44
- deferred5_0 = ret[0];
45
- deferred5_1 = ret[1];
46
- return getStringFromWasm0(ret[0], ret[1]);
48
+ wasm.i18n_query(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
49
+ var r0 = getDataViewMemory0().getInt32(retptr + 0, true);
50
+ var r1 = getDataViewMemory0().getInt32(retptr + 4, true);
51
+ deferred5_0 = r0;
52
+ deferred5_1 = r1;
53
+ return getStringFromWasm0(r0, r1);
47
54
  } finally {
48
- wasm.__wbindgen_free(deferred5_0, deferred5_1, 1);
55
+ wasm.__wbindgen_add_to_stack_pointer(16);
56
+ wasm.__wbindgen_export3(deferred5_0, deferred5_1, 1);
49
57
  }
50
58
  }
51
59
  /**
52
60
  * @param {string} template
53
61
  * @param {string} data_json
62
+ * @param {string} data_id
54
63
  * @returns {string}
55
64
  */
56
- function inject$1(template, data_json) {
57
- let deferred3_0;
58
- let deferred3_1;
65
+ function inject$1(template, data_json, data_id) {
66
+ let deferred4_0;
67
+ let deferred4_1;
59
68
  try {
60
- const ptr0 = passStringToWasm0(template, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
69
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
70
+ const ptr0 = passStringToWasm0(template, wasm.__wbindgen_export, wasm.__wbindgen_export2);
61
71
  const len0 = WASM_VECTOR_LEN;
62
- const ptr1 = passStringToWasm0(data_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
72
+ const ptr1 = passStringToWasm0(data_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
63
73
  const len1 = WASM_VECTOR_LEN;
64
- const ret = wasm.inject(ptr0, len0, ptr1, len1);
65
- deferred3_0 = ret[0];
66
- deferred3_1 = ret[1];
67
- return getStringFromWasm0(ret[0], ret[1]);
74
+ const ptr2 = passStringToWasm0(data_id, wasm.__wbindgen_export, wasm.__wbindgen_export2);
75
+ const len2 = WASM_VECTOR_LEN;
76
+ wasm.inject(retptr, ptr0, len0, ptr1, len1, ptr2, len2);
77
+ var r0 = getDataViewMemory0().getInt32(retptr + 0, true);
78
+ var r1 = getDataViewMemory0().getInt32(retptr + 4, true);
79
+ deferred4_0 = r0;
80
+ deferred4_1 = r1;
81
+ return getStringFromWasm0(r0, r1);
68
82
  } finally {
69
- wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
83
+ wasm.__wbindgen_add_to_stack_pointer(16);
84
+ wasm.__wbindgen_export3(deferred4_0, deferred4_1, 1);
70
85
  }
71
86
  }
72
87
  /**
@@ -78,16 +93,20 @@ function inject_no_script(template, data_json) {
78
93
  let deferred3_0;
79
94
  let deferred3_1;
80
95
  try {
81
- const ptr0 = passStringToWasm0(template, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
96
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
97
+ const ptr0 = passStringToWasm0(template, wasm.__wbindgen_export, wasm.__wbindgen_export2);
82
98
  const len0 = WASM_VECTOR_LEN;
83
- const ptr1 = passStringToWasm0(data_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
99
+ const ptr1 = passStringToWasm0(data_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
84
100
  const len1 = WASM_VECTOR_LEN;
85
- const ret = wasm.inject_no_script(ptr0, len0, ptr1, len1);
86
- deferred3_0 = ret[0];
87
- deferred3_1 = ret[1];
88
- return getStringFromWasm0(ret[0], ret[1]);
101
+ wasm.inject_no_script(retptr, ptr0, len0, ptr1, len1);
102
+ var r0 = getDataViewMemory0().getInt32(retptr + 0, true);
103
+ var r1 = getDataViewMemory0().getInt32(retptr + 4, true);
104
+ deferred3_0 = r0;
105
+ deferred3_1 = r1;
106
+ return getStringFromWasm0(r0, r1);
89
107
  } finally {
90
- wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
108
+ wasm.__wbindgen_add_to_stack_pointer(16);
109
+ wasm.__wbindgen_export3(deferred3_0, deferred3_1, 1);
91
110
  }
92
111
  }
93
112
  /**
@@ -98,14 +117,18 @@ function parse_build_output(manifest_json) {
98
117
  let deferred2_0;
99
118
  let deferred2_1;
100
119
  try {
101
- const ptr0 = passStringToWasm0(manifest_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
120
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
121
+ const ptr0 = passStringToWasm0(manifest_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
102
122
  const len0 = WASM_VECTOR_LEN;
103
- const ret = wasm.parse_build_output(ptr0, len0);
104
- deferred2_0 = ret[0];
105
- deferred2_1 = ret[1];
106
- return getStringFromWasm0(ret[0], ret[1]);
123
+ wasm.parse_build_output(retptr, ptr0, len0);
124
+ var r0 = getDataViewMemory0().getInt32(retptr + 0, true);
125
+ var r1 = getDataViewMemory0().getInt32(retptr + 4, true);
126
+ deferred2_0 = r0;
127
+ deferred2_1 = r1;
128
+ return getStringFromWasm0(r0, r1);
107
129
  } finally {
108
- wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
130
+ wasm.__wbindgen_add_to_stack_pointer(16);
131
+ wasm.__wbindgen_export3(deferred2_0, deferred2_1, 1);
109
132
  }
110
133
  }
111
134
  /**
@@ -116,14 +139,18 @@ function parse_i18n_config(manifest_json) {
116
139
  let deferred2_0;
117
140
  let deferred2_1;
118
141
  try {
119
- const ptr0 = passStringToWasm0(manifest_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
142
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
143
+ const ptr0 = passStringToWasm0(manifest_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
120
144
  const len0 = WASM_VECTOR_LEN;
121
- const ret = wasm.parse_i18n_config(ptr0, len0);
122
- deferred2_0 = ret[0];
123
- deferred2_1 = ret[1];
124
- return getStringFromWasm0(ret[0], ret[1]);
145
+ wasm.parse_i18n_config(retptr, ptr0, len0);
146
+ var r0 = getDataViewMemory0().getInt32(retptr + 0, true);
147
+ var r1 = getDataViewMemory0().getInt32(retptr + 4, true);
148
+ deferred2_0 = r0;
149
+ deferred2_1 = r1;
150
+ return getStringFromWasm0(r0, r1);
125
151
  } finally {
126
- wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
152
+ wasm.__wbindgen_add_to_stack_pointer(16);
153
+ wasm.__wbindgen_export3(deferred2_0, deferred2_1, 1);
127
154
  }
128
155
  }
129
156
  /**
@@ -134,14 +161,18 @@ function parse_rpc_hash_map(hash_map_json) {
134
161
  let deferred2_0;
135
162
  let deferred2_1;
136
163
  try {
137
- const ptr0 = passStringToWasm0(hash_map_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
164
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
165
+ const ptr0 = passStringToWasm0(hash_map_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
138
166
  const len0 = WASM_VECTOR_LEN;
139
- const ret = wasm.parse_rpc_hash_map(ptr0, len0);
140
- deferred2_0 = ret[0];
141
- deferred2_1 = ret[1];
142
- return getStringFromWasm0(ret[0], ret[1]);
167
+ wasm.parse_rpc_hash_map(retptr, ptr0, len0);
168
+ var r0 = getDataViewMemory0().getInt32(retptr + 0, true);
169
+ var r1 = getDataViewMemory0().getInt32(retptr + 4, true);
170
+ deferred2_0 = r0;
171
+ deferred2_1 = r1;
172
+ return getStringFromWasm0(r0, r1);
143
173
  } finally {
144
- wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
174
+ wasm.__wbindgen_add_to_stack_pointer(16);
175
+ wasm.__wbindgen_export3(deferred2_0, deferred2_1, 1);
145
176
  }
146
177
  }
147
178
  /**
@@ -155,30 +186,30 @@ function render_page(template, loader_data_json, config_json, i18n_opts_json) {
155
186
  let deferred5_0;
156
187
  let deferred5_1;
157
188
  try {
158
- const ptr0 = passStringToWasm0(template, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
189
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
190
+ const ptr0 = passStringToWasm0(template, wasm.__wbindgen_export, wasm.__wbindgen_export2);
159
191
  const len0 = WASM_VECTOR_LEN;
160
- const ptr1 = passStringToWasm0(loader_data_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
192
+ const ptr1 = passStringToWasm0(loader_data_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
161
193
  const len1 = WASM_VECTOR_LEN;
162
- const ptr2 = passStringToWasm0(config_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
194
+ const ptr2 = passStringToWasm0(config_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
163
195
  const len2 = WASM_VECTOR_LEN;
164
- const ptr3 = passStringToWasm0(i18n_opts_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
196
+ const ptr3 = passStringToWasm0(i18n_opts_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
165
197
  const len3 = WASM_VECTOR_LEN;
166
- const ret = wasm.render_page(ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
167
- deferred5_0 = ret[0];
168
- deferred5_1 = ret[1];
169
- return getStringFromWasm0(ret[0], ret[1]);
198
+ wasm.render_page(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
199
+ var r0 = getDataViewMemory0().getInt32(retptr + 0, true);
200
+ var r1 = getDataViewMemory0().getInt32(retptr + 4, true);
201
+ deferred5_0 = r0;
202
+ deferred5_1 = r1;
203
+ return getStringFromWasm0(r0, r1);
170
204
  } finally {
171
- wasm.__wbindgen_free(deferred5_0, deferred5_1, 1);
205
+ wasm.__wbindgen_add_to_stack_pointer(16);
206
+ wasm.__wbindgen_export3(deferred5_0, deferred5_1, 1);
172
207
  }
173
208
  }
174
- function __wbindgen_init_externref_table() {
175
- const table = wasm.__wbindgen_externrefs;
176
- const offset = table.grow(4);
177
- table.set(0, void 0);
178
- table.set(offset + 0, void 0);
179
- table.set(offset + 1, null);
180
- table.set(offset + 2, true);
181
- table.set(offset + 3, false);
209
+ let cachedDataViewMemory0 = null;
210
+ function getDataViewMemory0() {
211
+ if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || cachedDataViewMemory0.buffer.detached === void 0 && cachedDataViewMemory0.buffer !== wasm.memory.buffer) cachedDataViewMemory0 = new DataView(wasm.memory.buffer);
212
+ return cachedDataViewMemory0;
182
213
  }
183
214
  function getStringFromWasm0(ptr, len) {
184
215
  ptr = ptr >>> 0;
@@ -255,10 +286,7 @@ function __wbg_set_wasm(val) {
255
286
  //#region src/wasm-bridge.ts
256
287
  const wasmBytes = readFileSync(resolve(dirname(fileURLToPath(import.meta.url)), "../pkg/engine.wasm"));
257
288
  const wasmModule = new WebAssembly.Module(wasmBytes);
258
- const wasmInstance = new WebAssembly.Instance(wasmModule, { "./seam_engine_wasm_bg.js": { __wbindgen_init_externref_table } });
259
- __wbg_set_wasm(wasmInstance.exports);
260
- const start = wasmInstance.exports.__wbindgen_start;
261
- start();
289
+ __wbg_set_wasm(new WebAssembly.Instance(wasmModule).exports);
262
290
  function renderPage(template, loaderDataJson, configJson, i18nOptsJson) {
263
291
  return render_page(template, loaderDataJson, configJson, i18nOptsJson ?? "");
264
292
  }
@@ -280,7 +308,7 @@ function i18nQuery(keysJson, locale, defaultLocale, messagesJson) {
280
308
  function inject(template, data, options) {
281
309
  const json = JSON.stringify(data);
282
310
  if (options?.skipDataScript) return inject_no_script(template, json);
283
- return inject$1(template, json);
311
+ return inject$1(template, json, options?.dataId ?? "__data");
284
312
  }
285
313
  function injectNoScript(template, dataJson) {
286
314
  return inject_no_script(template, dataJson);
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@canmi/seam-engine",
3
- "version": "0.4.4",
3
+ "version": "0.4.10",
4
+ "license": "MIT",
4
5
  "files": [
5
6
  "dist",
6
7
  "pkg"
@@ -17,9 +18,9 @@
17
18
  "test": "vitest run"
18
19
  },
19
20
  "devDependencies": {
20
- "@types/node": "^22.0.0",
21
- "tsdown": "^0.20.0",
22
- "typescript": "^5.7.0",
23
- "vitest": "^3.0.0"
21
+ "@types/node": "^25.3.3",
22
+ "tsdown": "^0.20.3",
23
+ "typescript": "^5.9.3",
24
+ "vitest": "^4.0.18"
24
25
  }
25
26
  }
package/pkg/bridge.d.ts CHANGED
@@ -5,7 +5,7 @@ export function ascii_escape_json(json: string): string;
5
5
 
6
6
  export function i18n_query(keys_json: string, locale: string, default_locale: string, messages_json: string): string;
7
7
 
8
- export function inject(template: string, data_json: string): string;
8
+ export function inject(template: string, data_json: string, data_id: string): string;
9
9
 
10
10
  export function inject_no_script(template: string, data_json: string): string;
11
11
 
package/pkg/bridge.js CHANGED
@@ -3,7 +3,7 @@
3
3
  import * as wasm from "./engine.wasm";
4
4
  import { __wbg_set_wasm } from "./engine.js";
5
5
  __wbg_set_wasm(wasm);
6
- wasm.__wbindgen_start();
6
+
7
7
  export {
8
8
  ascii_escape_json, i18n_query, inject, inject_no_script, parse_build_output, parse_i18n_config, parse_rpc_hash_map, render_page
9
9
  } from "./engine.js";
package/pkg/engine.d.ts CHANGED
@@ -5,7 +5,7 @@ export function ascii_escape_json(json: string): string;
5
5
 
6
6
  export function i18n_query(keys_json: string, locale: string, default_locale: string, messages_json: string): string;
7
7
 
8
- export function inject(template: string, data_json: string): string;
8
+ export function inject(template: string, data_json: string, data_id: string): string;
9
9
 
10
10
  export function inject_no_script(template: string, data_json: string): string;
11
11
 
@@ -16,5 +16,4 @@ export function parse_i18n_config(manifest_json: string): string;
16
16
  export function parse_rpc_hash_map(hash_map_json: string): string;
17
17
 
18
18
  export function render_page(template: string, loader_data_json: string, config_json: string, i18n_opts_json: string): string;
19
- export function __wbindgen_init_externref_table(): void;
20
19
  export function __wbg_set_wasm(val: WebAssembly.Exports): void;
package/pkg/engine.js CHANGED
@@ -6,14 +6,18 @@ export function ascii_escape_json(json) {
6
6
  let deferred2_0;
7
7
  let deferred2_1;
8
8
  try {
9
- const ptr0 = passStringToWasm0(json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
9
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
10
+ const ptr0 = passStringToWasm0(json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
10
11
  const len0 = WASM_VECTOR_LEN;
11
- const ret = wasm.ascii_escape_json(ptr0, len0);
12
- deferred2_0 = ret[0];
13
- deferred2_1 = ret[1];
14
- return getStringFromWasm0(ret[0], ret[1]);
12
+ wasm.ascii_escape_json(retptr, ptr0, len0);
13
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
14
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
15
+ deferred2_0 = r0;
16
+ deferred2_1 = r1;
17
+ return getStringFromWasm0(r0, r1);
15
18
  } finally {
16
- wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
19
+ wasm.__wbindgen_add_to_stack_pointer(16);
20
+ wasm.__wbindgen_export3(deferred2_0, deferred2_1, 1);
17
21
  }
18
22
  }
19
23
 
@@ -28,42 +32,53 @@ export function i18n_query(keys_json, locale, default_locale, messages_json) {
28
32
  let deferred5_0;
29
33
  let deferred5_1;
30
34
  try {
31
- const ptr0 = passStringToWasm0(keys_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
35
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
36
+ const ptr0 = passStringToWasm0(keys_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
32
37
  const len0 = WASM_VECTOR_LEN;
33
- const ptr1 = passStringToWasm0(locale, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
38
+ const ptr1 = passStringToWasm0(locale, wasm.__wbindgen_export, wasm.__wbindgen_export2);
34
39
  const len1 = WASM_VECTOR_LEN;
35
- const ptr2 = passStringToWasm0(default_locale, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
40
+ const ptr2 = passStringToWasm0(default_locale, wasm.__wbindgen_export, wasm.__wbindgen_export2);
36
41
  const len2 = WASM_VECTOR_LEN;
37
- const ptr3 = passStringToWasm0(messages_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
42
+ const ptr3 = passStringToWasm0(messages_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
38
43
  const len3 = WASM_VECTOR_LEN;
39
- const ret = wasm.i18n_query(ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
40
- deferred5_0 = ret[0];
41
- deferred5_1 = ret[1];
42
- return getStringFromWasm0(ret[0], ret[1]);
44
+ wasm.i18n_query(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
45
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
46
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
47
+ deferred5_0 = r0;
48
+ deferred5_1 = r1;
49
+ return getStringFromWasm0(r0, r1);
43
50
  } finally {
44
- wasm.__wbindgen_free(deferred5_0, deferred5_1, 1);
51
+ wasm.__wbindgen_add_to_stack_pointer(16);
52
+ wasm.__wbindgen_export3(deferred5_0, deferred5_1, 1);
45
53
  }
46
54
  }
47
55
 
48
56
  /**
49
57
  * @param {string} template
50
58
  * @param {string} data_json
59
+ * @param {string} data_id
51
60
  * @returns {string}
52
61
  */
53
- export function inject(template, data_json) {
54
- let deferred3_0;
55
- let deferred3_1;
62
+ export function inject(template, data_json, data_id) {
63
+ let deferred4_0;
64
+ let deferred4_1;
56
65
  try {
57
- const ptr0 = passStringToWasm0(template, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
66
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
67
+ const ptr0 = passStringToWasm0(template, wasm.__wbindgen_export, wasm.__wbindgen_export2);
58
68
  const len0 = WASM_VECTOR_LEN;
59
- const ptr1 = passStringToWasm0(data_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
69
+ const ptr1 = passStringToWasm0(data_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
60
70
  const len1 = WASM_VECTOR_LEN;
61
- const ret = wasm.inject(ptr0, len0, ptr1, len1);
62
- deferred3_0 = ret[0];
63
- deferred3_1 = ret[1];
64
- return getStringFromWasm0(ret[0], ret[1]);
71
+ const ptr2 = passStringToWasm0(data_id, wasm.__wbindgen_export, wasm.__wbindgen_export2);
72
+ const len2 = WASM_VECTOR_LEN;
73
+ wasm.inject(retptr, ptr0, len0, ptr1, len1, ptr2, len2);
74
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
75
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
76
+ deferred4_0 = r0;
77
+ deferred4_1 = r1;
78
+ return getStringFromWasm0(r0, r1);
65
79
  } finally {
66
- wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
80
+ wasm.__wbindgen_add_to_stack_pointer(16);
81
+ wasm.__wbindgen_export3(deferred4_0, deferred4_1, 1);
67
82
  }
68
83
  }
69
84
 
@@ -76,16 +91,20 @@ export function inject_no_script(template, data_json) {
76
91
  let deferred3_0;
77
92
  let deferred3_1;
78
93
  try {
79
- const ptr0 = passStringToWasm0(template, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
94
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
95
+ const ptr0 = passStringToWasm0(template, wasm.__wbindgen_export, wasm.__wbindgen_export2);
80
96
  const len0 = WASM_VECTOR_LEN;
81
- const ptr1 = passStringToWasm0(data_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
97
+ const ptr1 = passStringToWasm0(data_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
82
98
  const len1 = WASM_VECTOR_LEN;
83
- const ret = wasm.inject_no_script(ptr0, len0, ptr1, len1);
84
- deferred3_0 = ret[0];
85
- deferred3_1 = ret[1];
86
- return getStringFromWasm0(ret[0], ret[1]);
99
+ wasm.inject_no_script(retptr, ptr0, len0, ptr1, len1);
100
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
101
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
102
+ deferred3_0 = r0;
103
+ deferred3_1 = r1;
104
+ return getStringFromWasm0(r0, r1);
87
105
  } finally {
88
- wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
106
+ wasm.__wbindgen_add_to_stack_pointer(16);
107
+ wasm.__wbindgen_export3(deferred3_0, deferred3_1, 1);
89
108
  }
90
109
  }
91
110
 
@@ -97,14 +116,18 @@ export function parse_build_output(manifest_json) {
97
116
  let deferred2_0;
98
117
  let deferred2_1;
99
118
  try {
100
- const ptr0 = passStringToWasm0(manifest_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
119
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
120
+ const ptr0 = passStringToWasm0(manifest_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
101
121
  const len0 = WASM_VECTOR_LEN;
102
- const ret = wasm.parse_build_output(ptr0, len0);
103
- deferred2_0 = ret[0];
104
- deferred2_1 = ret[1];
105
- return getStringFromWasm0(ret[0], ret[1]);
122
+ wasm.parse_build_output(retptr, ptr0, len0);
123
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
124
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
125
+ deferred2_0 = r0;
126
+ deferred2_1 = r1;
127
+ return getStringFromWasm0(r0, r1);
106
128
  } finally {
107
- wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
129
+ wasm.__wbindgen_add_to_stack_pointer(16);
130
+ wasm.__wbindgen_export3(deferred2_0, deferred2_1, 1);
108
131
  }
109
132
  }
110
133
 
@@ -116,14 +139,18 @@ export function parse_i18n_config(manifest_json) {
116
139
  let deferred2_0;
117
140
  let deferred2_1;
118
141
  try {
119
- const ptr0 = passStringToWasm0(manifest_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
142
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
143
+ const ptr0 = passStringToWasm0(manifest_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
120
144
  const len0 = WASM_VECTOR_LEN;
121
- const ret = wasm.parse_i18n_config(ptr0, len0);
122
- deferred2_0 = ret[0];
123
- deferred2_1 = ret[1];
124
- return getStringFromWasm0(ret[0], ret[1]);
145
+ wasm.parse_i18n_config(retptr, ptr0, len0);
146
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
147
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
148
+ deferred2_0 = r0;
149
+ deferred2_1 = r1;
150
+ return getStringFromWasm0(r0, r1);
125
151
  } finally {
126
- wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
152
+ wasm.__wbindgen_add_to_stack_pointer(16);
153
+ wasm.__wbindgen_export3(deferred2_0, deferred2_1, 1);
127
154
  }
128
155
  }
129
156
 
@@ -135,14 +162,18 @@ export function parse_rpc_hash_map(hash_map_json) {
135
162
  let deferred2_0;
136
163
  let deferred2_1;
137
164
  try {
138
- const ptr0 = passStringToWasm0(hash_map_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
165
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
166
+ const ptr0 = passStringToWasm0(hash_map_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
139
167
  const len0 = WASM_VECTOR_LEN;
140
- const ret = wasm.parse_rpc_hash_map(ptr0, len0);
141
- deferred2_0 = ret[0];
142
- deferred2_1 = ret[1];
143
- return getStringFromWasm0(ret[0], ret[1]);
168
+ wasm.parse_rpc_hash_map(retptr, ptr0, len0);
169
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
170
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
171
+ deferred2_0 = r0;
172
+ deferred2_1 = r1;
173
+ return getStringFromWasm0(r0, r1);
144
174
  } finally {
145
- wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
175
+ wasm.__wbindgen_add_to_stack_pointer(16);
176
+ wasm.__wbindgen_export3(deferred2_0, deferred2_1, 1);
146
177
  }
147
178
  }
148
179
 
@@ -157,31 +188,34 @@ export function render_page(template, loader_data_json, config_json, i18n_opts_j
157
188
  let deferred5_0;
158
189
  let deferred5_1;
159
190
  try {
160
- const ptr0 = passStringToWasm0(template, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
191
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
192
+ const ptr0 = passStringToWasm0(template, wasm.__wbindgen_export, wasm.__wbindgen_export2);
161
193
  const len0 = WASM_VECTOR_LEN;
162
- const ptr1 = passStringToWasm0(loader_data_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
194
+ const ptr1 = passStringToWasm0(loader_data_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
163
195
  const len1 = WASM_VECTOR_LEN;
164
- const ptr2 = passStringToWasm0(config_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
196
+ const ptr2 = passStringToWasm0(config_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
165
197
  const len2 = WASM_VECTOR_LEN;
166
- const ptr3 = passStringToWasm0(i18n_opts_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
198
+ const ptr3 = passStringToWasm0(i18n_opts_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
167
199
  const len3 = WASM_VECTOR_LEN;
168
- const ret = wasm.render_page(ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
169
- deferred5_0 = ret[0];
170
- deferred5_1 = ret[1];
171
- return getStringFromWasm0(ret[0], ret[1]);
200
+ wasm.render_page(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
201
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
202
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
203
+ deferred5_0 = r0;
204
+ deferred5_1 = r1;
205
+ return getStringFromWasm0(r0, r1);
172
206
  } finally {
173
- wasm.__wbindgen_free(deferred5_0, deferred5_1, 1);
207
+ wasm.__wbindgen_add_to_stack_pointer(16);
208
+ wasm.__wbindgen_export3(deferred5_0, deferred5_1, 1);
174
209
  }
175
210
  }
176
- export function __wbindgen_init_externref_table() {
177
- const table = wasm.__wbindgen_externrefs;
178
- const offset = table.grow(4);
179
- table.set(0, undefined);
180
- table.set(offset + 0, undefined);
181
- table.set(offset + 1, null);
182
- table.set(offset + 2, true);
183
- table.set(offset + 3, false);
211
+ let cachedDataViewMemory0 = null;
212
+ function getDataViewMemory0() {
213
+ if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {
214
+ cachedDataViewMemory0 = new DataView(wasm.memory.buffer);
215
+ }
216
+ return cachedDataViewMemory0;
184
217
  }
218
+
185
219
  function getStringFromWasm0(ptr, len) {
186
220
  ptr = ptr >>> 0;
187
221
  return decodeText(ptr, len);
package/pkg/engine.wasm CHANGED
Binary file
@@ -1,16 +1,15 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
3
  export const memory: WebAssembly.Memory;
4
- export const ascii_escape_json: (a: number, b: number) => [number, number];
5
- export const i18n_query: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
6
- export const inject: (a: number, b: number, c: number, d: number) => [number, number];
7
- export const inject_no_script: (a: number, b: number, c: number, d: number) => [number, number];
8
- export const parse_build_output: (a: number, b: number) => [number, number];
9
- export const parse_i18n_config: (a: number, b: number) => [number, number];
10
- export const parse_rpc_hash_map: (a: number, b: number) => [number, number];
11
- export const render_page: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
12
- export const __wbindgen_externrefs: WebAssembly.Table;
13
- export const __wbindgen_malloc: (a: number, b: number) => number;
14
- export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
15
- export const __wbindgen_free: (a: number, b: number, c: number) => void;
16
- export const __wbindgen_start: () => void;
4
+ export const ascii_escape_json: (a: number, b: number, c: number) => void;
5
+ export const i18n_query: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
6
+ export const inject: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
7
+ export const inject_no_script: (a: number, b: number, c: number, d: number, e: number) => void;
8
+ export const parse_build_output: (a: number, b: number, c: number) => void;
9
+ export const parse_i18n_config: (a: number, b: number, c: number) => void;
10
+ export const parse_rpc_hash_map: (a: number, b: number, c: number) => void;
11
+ export const render_page: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
12
+ export const __wbindgen_add_to_stack_pointer: (a: number) => number;
13
+ export const __wbindgen_export: (a: number, b: number) => number;
14
+ export const __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
15
+ export const __wbindgen_export3: (a: number, b: number, c: number) => void;