@mirascript/wasm 0.1.6 → 0.1.9
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/loader/web.d.ts.map +1 -1
- package/dist/loader/web.js +24 -12
- package/dist/loader/web.js.map +1 -1
- package/lib/wasm.d.ts +4 -4
- package/lib/wasm.js +29 -29
- package/lib/wasm_bg.wasm +0 -0
- package/package.json +5 -4
- package/src/loader/wasm.d.ts +4 -0
- package/src/loader/web.ts +25 -12
package/dist/loader/web.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/loader/web.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/loader/web.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AA8BnD,eAAO,MAAM,MAAM,EAAE,OAAO,CAAC,SAAS,CAYlC,CAAC"}
|
package/dist/loader/web.js
CHANGED
|
@@ -5,23 +5,35 @@ async function loadFallback() {
|
|
|
5
5
|
: (document.currentScript?.href?.baseVal ?? '')) || document.location.href;
|
|
6
6
|
return await fetch(new URL('../../lib/wasm_bg.wasm', fallbackUrl));
|
|
7
7
|
}
|
|
8
|
-
/**
|
|
9
|
-
async function
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
/** 加载模块 */
|
|
9
|
+
async function loadMod(mod) {
|
|
10
|
+
if (mod && typeof mod == 'object' && 'default' in mod) {
|
|
11
|
+
return loadMod(mod.default);
|
|
12
|
+
}
|
|
13
|
+
if (typeof mod == 'string' && mod.startsWith('data:')) {
|
|
14
|
+
return fetch(mod);
|
|
15
|
+
}
|
|
16
|
+
if (mod instanceof Response ||
|
|
17
|
+
ArrayBuffer.isView(mod) ||
|
|
18
|
+
mod instanceof ArrayBuffer ||
|
|
19
|
+
mod instanceof WebAssembly.Module) {
|
|
20
|
+
return mod;
|
|
21
|
+
}
|
|
22
|
+
throw new Error('Failed to load wasm module');
|
|
15
23
|
}
|
|
16
24
|
export const module = /* @__PURE__ */ (async () => {
|
|
17
|
-
if (!import.meta.url) {
|
|
18
|
-
return await loadFallback();
|
|
19
|
-
}
|
|
20
25
|
try {
|
|
21
|
-
|
|
26
|
+
// use ?url to force vite to load as bytes
|
|
27
|
+
// https://github.com/vitejs/vite/issues/12366
|
|
28
|
+
return await loadMod(await import('../../lib/wasm_bg.wasm?url', { with: { type: 'bytes' } }));
|
|
22
29
|
}
|
|
23
30
|
catch {
|
|
24
|
-
|
|
31
|
+
if (!import.meta.url) {
|
|
32
|
+
return await loadFallback();
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
return await fetch(new URL('../../lib/wasm_bg.wasm?url', import.meta.url));
|
|
36
|
+
}
|
|
25
37
|
}
|
|
26
38
|
})();
|
|
27
39
|
//# sourceMappingURL=web.js.map
|
package/dist/loader/web.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/loader/web.ts"],"names":[],"mappings":"AAEA,WAAW;AACX,KAAK,UAAU,YAAY;IACvB,MAAM,WAAW,GACb,CAAC,QAAQ,EAAE,aAAa,YAAY,iBAAiB;QACjD,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG;QAC5B,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;IACnF,OAAO,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,wBAAwB,EAAE,WAAW,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/loader/web.ts"],"names":[],"mappings":"AAEA,WAAW;AACX,KAAK,UAAU,YAAY;IACvB,MAAM,WAAW,GACb,CAAC,QAAQ,EAAE,aAAa,YAAY,iBAAiB;QACjD,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG;QAC5B,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;IACnF,OAAO,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,wBAAwB,EAAE,WAAW,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,WAAW;AACX,KAAK,UAAU,OAAO,CAAC,GAAY;IAC/B,IAAI,GAAG,IAAI,OAAO,GAAG,IAAI,QAAQ,IAAI,SAAS,IAAI,GAAG,EAAE,CAAC;QACpD,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,OAAO,GAAG,IAAI,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,IACI,GAAG,YAAY,QAAQ;QACvB,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC;QACvB,GAAG,YAAY,WAAW;QAC1B,GAAG,YAAY,WAAW,CAAC,MAAM,EACnC,CAAC;QACC,OAAO,GAAG,CAAC;IACf,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAuB,eAAe,CAAC,CAAC,KAAK,IAAI,EAAE;IAClE,IAAI,CAAC;QACD,0CAA0C;QAC1C,8CAA8C;QAC9C,OAAO,MAAM,OAAO,CAAC,MAAM,MAAM,CAAC,4BAA4B,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAClG,CAAC;IAAC,MAAM,CAAC;QACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACnB,OAAO,MAAM,YAAY,EAAE,CAAC;QAChC,CAAC;aAAM,CAAC;YACJ,OAAO,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,4BAA4B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/E,CAAC;IACL,CAAC;AACL,CAAC,CAAC,EAAE,CAAC"}
|
package/lib/wasm.d.ts
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
export function main(): void;
|
|
4
4
|
export function compile_buffer(script: Uint8Array, config: Config): CompileResult;
|
|
5
5
|
export function compile(script: string, config: Config): CompileResult;
|
|
6
|
-
export function
|
|
6
|
+
export function get_diagnostic_message(code: DiagnosticCode): string | undefined;
|
|
7
7
|
export function numeric_keywords(): string[];
|
|
8
|
-
export function reserved_keywords(): string[];
|
|
9
|
-
export function control_keywords(): string[];
|
|
10
8
|
export function keywords(): string[];
|
|
11
|
-
export function
|
|
9
|
+
export function constant_keywords(): string[];
|
|
10
|
+
export function control_keywords(): string[];
|
|
11
|
+
export function reserved_keywords(): string[];
|
|
12
12
|
export enum DiagnosticCode {
|
|
13
13
|
ErrorStart = 1000,
|
|
14
14
|
InternalError = 1001,
|
package/lib/wasm.js
CHANGED
|
@@ -183,32 +183,36 @@ export function compile(script, config) {
|
|
|
183
183
|
return CompileResult.__wrap(ret);
|
|
184
184
|
}
|
|
185
185
|
|
|
186
|
-
function getArrayJsValueFromWasm0(ptr, len) {
|
|
187
|
-
ptr = ptr >>> 0;
|
|
188
|
-
const mem = getDataViewMemory0();
|
|
189
|
-
const result = [];
|
|
190
|
-
for (let i = ptr; i < ptr + 4 * len; i += 4) {
|
|
191
|
-
result.push(takeObject(mem.getUint32(i, true)));
|
|
192
|
-
}
|
|
193
|
-
return result;
|
|
194
|
-
}
|
|
195
186
|
/**
|
|
196
|
-
* @
|
|
187
|
+
* @param {DiagnosticCode} code
|
|
188
|
+
* @returns {string | undefined}
|
|
197
189
|
*/
|
|
198
|
-
export function
|
|
190
|
+
export function get_diagnostic_message(code) {
|
|
199
191
|
try {
|
|
200
192
|
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
201
|
-
wasm.
|
|
193
|
+
wasm.get_diagnostic_message(retptr, code);
|
|
202
194
|
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
203
195
|
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
204
|
-
|
|
205
|
-
|
|
196
|
+
let v1;
|
|
197
|
+
if (r0 !== 0) {
|
|
198
|
+
v1 = getStringFromWasm0(r0, r1).slice();
|
|
199
|
+
wasm.__wbindgen_export(r0, r1 * 1, 1);
|
|
200
|
+
}
|
|
206
201
|
return v1;
|
|
207
202
|
} finally {
|
|
208
203
|
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
209
204
|
}
|
|
210
205
|
}
|
|
211
206
|
|
|
207
|
+
function getArrayJsValueFromWasm0(ptr, len) {
|
|
208
|
+
ptr = ptr >>> 0;
|
|
209
|
+
const mem = getDataViewMemory0();
|
|
210
|
+
const result = [];
|
|
211
|
+
for (let i = ptr; i < ptr + 4 * len; i += 4) {
|
|
212
|
+
result.push(takeObject(mem.getUint32(i, true)));
|
|
213
|
+
}
|
|
214
|
+
return result;
|
|
215
|
+
}
|
|
212
216
|
/**
|
|
213
217
|
* @returns {string[]}
|
|
214
218
|
*/
|
|
@@ -229,10 +233,10 @@ export function numeric_keywords() {
|
|
|
229
233
|
/**
|
|
230
234
|
* @returns {string[]}
|
|
231
235
|
*/
|
|
232
|
-
export function
|
|
236
|
+
export function keywords() {
|
|
233
237
|
try {
|
|
234
238
|
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
235
|
-
wasm.
|
|
239
|
+
wasm.keywords(retptr);
|
|
236
240
|
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
237
241
|
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
238
242
|
var v1 = getArrayJsValueFromWasm0(r0, r1).slice();
|
|
@@ -246,10 +250,10 @@ export function reserved_keywords() {
|
|
|
246
250
|
/**
|
|
247
251
|
* @returns {string[]}
|
|
248
252
|
*/
|
|
249
|
-
export function
|
|
253
|
+
export function constant_keywords() {
|
|
250
254
|
try {
|
|
251
255
|
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
252
|
-
wasm.
|
|
256
|
+
wasm.constant_keywords(retptr);
|
|
253
257
|
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
254
258
|
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
255
259
|
var v1 = getArrayJsValueFromWasm0(r0, r1).slice();
|
|
@@ -263,10 +267,10 @@ export function control_keywords() {
|
|
|
263
267
|
/**
|
|
264
268
|
* @returns {string[]}
|
|
265
269
|
*/
|
|
266
|
-
export function
|
|
270
|
+
export function control_keywords() {
|
|
267
271
|
try {
|
|
268
272
|
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
269
|
-
wasm.
|
|
273
|
+
wasm.control_keywords(retptr);
|
|
270
274
|
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
271
275
|
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
272
276
|
var v1 = getArrayJsValueFromWasm0(r0, r1).slice();
|
|
@@ -278,20 +282,16 @@ export function keywords() {
|
|
|
278
282
|
}
|
|
279
283
|
|
|
280
284
|
/**
|
|
281
|
-
* @
|
|
282
|
-
* @returns {string | undefined}
|
|
285
|
+
* @returns {string[]}
|
|
283
286
|
*/
|
|
284
|
-
export function
|
|
287
|
+
export function reserved_keywords() {
|
|
285
288
|
try {
|
|
286
289
|
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
287
|
-
wasm.
|
|
290
|
+
wasm.reserved_keywords(retptr);
|
|
288
291
|
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
289
292
|
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
v1 = getStringFromWasm0(r0, r1).slice();
|
|
293
|
-
wasm.__wbindgen_export(r0, r1 * 1, 1);
|
|
294
|
-
}
|
|
293
|
+
var v1 = getArrayJsValueFromWasm0(r0, r1).slice();
|
|
294
|
+
wasm.__wbindgen_export(r0, r1 * 4, 4);
|
|
295
295
|
return v1;
|
|
296
296
|
} finally {
|
|
297
297
|
wasm.__wbindgen_add_to_stack_pointer(16);
|
package/lib/wasm_bg.wasm
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mirascript/wasm",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"
|
|
3
|
+
"version": "0.1.9",
|
|
4
|
+
"author": "CloudPSS",
|
|
5
|
+
"license": "MIT",
|
|
5
6
|
"description": "MiraScript compiler for WebAssembly",
|
|
7
|
+
"type": "module",
|
|
6
8
|
"main": "dist/index.js",
|
|
7
9
|
"types": "dist/index.d.ts",
|
|
8
10
|
"exports": {
|
|
@@ -11,8 +13,7 @@
|
|
|
11
13
|
"./loader": {
|
|
12
14
|
"node": "./dist/loader/node.js",
|
|
13
15
|
"default": "./dist/loader/web.js"
|
|
14
|
-
}
|
|
15
|
-
"./wasm_bg.wasm": "./lib/wasm_bg.wasm"
|
|
16
|
+
}
|
|
16
17
|
},
|
|
17
18
|
"devDependencies": {
|
|
18
19
|
"@types/node": "^24.10.0",
|
package/src/loader/web.ts
CHANGED
|
@@ -9,22 +9,35 @@ async function loadFallback() {
|
|
|
9
9
|
return await fetch(new URL('../../lib/wasm_bg.wasm', fallbackUrl));
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
/**
|
|
13
|
-
async function
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
/** 加载模块 */
|
|
13
|
+
async function loadMod(mod: unknown): Promise<InitInput> {
|
|
14
|
+
if (mod && typeof mod == 'object' && 'default' in mod) {
|
|
15
|
+
return loadMod(mod.default);
|
|
16
|
+
}
|
|
17
|
+
if (typeof mod == 'string' && mod.startsWith('data:')) {
|
|
18
|
+
return fetch(mod);
|
|
19
|
+
}
|
|
20
|
+
if (
|
|
21
|
+
mod instanceof Response ||
|
|
22
|
+
ArrayBuffer.isView(mod) ||
|
|
23
|
+
mod instanceof ArrayBuffer ||
|
|
24
|
+
mod instanceof WebAssembly.Module
|
|
25
|
+
) {
|
|
26
|
+
return mod;
|
|
27
|
+
}
|
|
28
|
+
throw new Error('Failed to load wasm module');
|
|
19
29
|
}
|
|
20
30
|
|
|
21
31
|
export const module: Promise<InitInput> = /* @__PURE__ */ (async () => {
|
|
22
|
-
if (!import.meta.url) {
|
|
23
|
-
return await loadFallback();
|
|
24
|
-
}
|
|
25
32
|
try {
|
|
26
|
-
|
|
33
|
+
// use ?url to force vite to load as bytes
|
|
34
|
+
// https://github.com/vitejs/vite/issues/12366
|
|
35
|
+
return await loadMod(await import('../../lib/wasm_bg.wasm?url', { with: { type: 'bytes' } }));
|
|
27
36
|
} catch {
|
|
28
|
-
|
|
37
|
+
if (!import.meta.url) {
|
|
38
|
+
return await loadFallback();
|
|
39
|
+
} else {
|
|
40
|
+
return await fetch(new URL('../../lib/wasm_bg.wasm?url', import.meta.url));
|
|
41
|
+
}
|
|
29
42
|
}
|
|
30
43
|
})();
|