@canmi/seam-engine 0.4.4 → 0.4.11
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 +35 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +100 -72
- package/package.json +6 -5
- package/pkg/bridge.d.ts +1 -1
- package/pkg/bridge.js +1 -1
- package/pkg/engine.d.ts +1 -2
- package/pkg/engine.js +101 -67
- package/pkg/engine.wasm +0 -0
- package/pkg/engine.wasm.d.ts +12 -13
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
|
|
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
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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.
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
46
|
+
const ptr3 = passStringToWasm0(messages_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
|
|
42
47
|
const len3 = WASM_VECTOR_LEN;
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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.
|
|
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
|
|
58
|
-
let
|
|
65
|
+
function inject$1(template, data_json, data_id) {
|
|
66
|
+
let deferred4_0;
|
|
67
|
+
let deferred4_1;
|
|
59
68
|
try {
|
|
60
|
-
const
|
|
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.
|
|
72
|
+
const ptr1 = passStringToWasm0(data_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
|
|
63
73
|
const len1 = WASM_VECTOR_LEN;
|
|
64
|
-
const
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
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.
|
|
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
|
|
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.
|
|
99
|
+
const ptr1 = passStringToWasm0(data_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
|
|
84
100
|
const len1 = WASM_VECTOR_LEN;
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
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.
|
|
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
|
|
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
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
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.
|
|
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
|
|
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
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
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.
|
|
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
|
|
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
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
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.
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
196
|
+
const ptr3 = passStringToWasm0(i18n_opts_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
|
|
165
197
|
const len3 = WASM_VECTOR_LEN;
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
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.
|
|
205
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
206
|
+
wasm.__wbindgen_export3(deferred5_0, deferred5_1, 1);
|
|
172
207
|
}
|
|
173
208
|
}
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
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
|
-
|
|
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.
|
|
3
|
+
"version": "0.4.11",
|
|
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": "^
|
|
21
|
-
"tsdown": "^0.20.
|
|
22
|
-
"typescript": "^5.
|
|
23
|
-
"vitest": "^
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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.
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
42
|
+
const ptr3 = passStringToWasm0(messages_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
|
|
38
43
|
const len3 = WASM_VECTOR_LEN;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
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.
|
|
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
|
|
55
|
-
let
|
|
62
|
+
export function inject(template, data_json, data_id) {
|
|
63
|
+
let deferred4_0;
|
|
64
|
+
let deferred4_1;
|
|
56
65
|
try {
|
|
57
|
-
const
|
|
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.
|
|
69
|
+
const ptr1 = passStringToWasm0(data_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
|
|
60
70
|
const len1 = WASM_VECTOR_LEN;
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
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.
|
|
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
|
|
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.
|
|
97
|
+
const ptr1 = passStringToWasm0(data_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
|
|
82
98
|
const len1 = WASM_VECTOR_LEN;
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
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.
|
|
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
|
|
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
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
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.
|
|
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
|
|
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
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
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.
|
|
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
|
|
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
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
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.
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
198
|
+
const ptr3 = passStringToWasm0(i18n_opts_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
|
|
167
199
|
const len3 = WASM_VECTOR_LEN;
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
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.
|
|
207
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
208
|
+
wasm.__wbindgen_export3(deferred5_0, deferred5_1, 1);
|
|
174
209
|
}
|
|
175
210
|
}
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
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
|
package/pkg/engine.wasm.d.ts
CHANGED
|
@@ -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) =>
|
|
5
|
-
export const i18n_query: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) =>
|
|
6
|
-
export const inject: (a: number, b: number, c: number, d: number
|
|
7
|
-
export const inject_no_script: (a: number, b: number, c: number, d: number) =>
|
|
8
|
-
export const parse_build_output: (a: number, b: number) =>
|
|
9
|
-
export const parse_i18n_config: (a: number, b: number) =>
|
|
10
|
-
export const parse_rpc_hash_map: (a: number, b: number) =>
|
|
11
|
-
export const render_page: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) =>
|
|
12
|
-
export const
|
|
13
|
-
export const
|
|
14
|
-
export const
|
|
15
|
-
export const
|
|
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;
|