@bytecodealliance/jco 1.17.7 → 1.17.8
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/obj/js-component-bindgen-component.core.wasm +0 -0
- package/obj/js-component-bindgen-component.d.ts +2 -0
- package/obj/js-component-bindgen-component.js +88 -73
- package/obj/wasm-tools.js +0 -1
- package/package.json +1 -1
- package/src/cmd/transpile.d.ts +2 -0
- package/src/cmd/transpile.js +3 -3
- package/src/cmd/types.d.ts +2 -0
- package/src/cmd/types.js +1 -0
- package/src/jco.js +4 -1
|
Binary file
|
|
@@ -49,6 +49,7 @@ export interface GenerateOptions {
|
|
|
49
49
|
guest?: boolean,
|
|
50
50
|
multiMemory?: boolean,
|
|
51
51
|
asyncMode?: AsyncMode,
|
|
52
|
+
strict?: boolean,
|
|
52
53
|
}
|
|
53
54
|
export type Wit = WitSource | WitBinary | WitPath;
|
|
54
55
|
export interface WitSource {
|
|
@@ -80,6 +81,7 @@ export interface TypeGenerationOptions {
|
|
|
80
81
|
features?: EnabledFeatureSet,
|
|
81
82
|
guest?: boolean,
|
|
82
83
|
asyncMode?: AsyncMode,
|
|
84
|
+
strict?: boolean,
|
|
83
85
|
}
|
|
84
86
|
/**
|
|
85
87
|
* # Variants
|
|
@@ -3649,7 +3649,6 @@ class ComponentAsyncState {
|
|
|
3649
3649
|
if (!table) { throw new Error(`missing/invalid table [${tableIdx}] while getting future end`); }
|
|
3650
3650
|
futureEnd = table.get(futureEndHandle);
|
|
3651
3651
|
} else {
|
|
3652
|
-
console.log("args?", args);
|
|
3653
3652
|
throw new TypeError("must specify either waitable idx or handle to retrieve future");
|
|
3654
3653
|
}
|
|
3655
3654
|
|
|
@@ -9063,7 +9062,7 @@ let exports1Generate;
|
|
|
9063
9062
|
|
|
9064
9063
|
function generate(arg0, arg1) {
|
|
9065
9064
|
if (!_initialized) throwUninitialized();
|
|
9066
|
-
var ptr0 = realloc1(0, 0, 4,
|
|
9065
|
+
var ptr0 = realloc1(0, 0, 4, 88);
|
|
9067
9066
|
var val1 = arg0;
|
|
9068
9067
|
var len1 = Array.isArray(val1) ? val1.length : val1.byteLength;
|
|
9069
9068
|
var ptr1 = realloc1(0, 0, 1, len1 * 1);
|
|
@@ -9088,7 +9087,7 @@ function generate(arg0, arg1) {
|
|
|
9088
9087
|
|
|
9089
9088
|
dataView(memory0).setUint32(ptr0 + 4, len1, true);
|
|
9090
9089
|
dataView(memory0).setUint32(ptr0 + 0, ptr1, true);
|
|
9091
|
-
var {name: v2_0, noTypescript: v2_1, instantiation: v2_2, importBindings: v2_3, map: v2_4, compat: v2_5, noNodejsCompat: v2_6, base64Cutoff: v2_7, tlaCompat: v2_8, validLiftingOptimization: v2_9, tracing: v2_10, noNamespacedExports: v2_11, guest: v2_12, multiMemory: v2_13, asyncMode: v2_14 } = arg1;
|
|
9090
|
+
var {name: v2_0, noTypescript: v2_1, instantiation: v2_2, importBindings: v2_3, map: v2_4, compat: v2_5, noNodejsCompat: v2_6, base64Cutoff: v2_7, tlaCompat: v2_8, validLiftingOptimization: v2_9, tracing: v2_10, noNamespacedExports: v2_11, guest: v2_12, multiMemory: v2_13, asyncMode: v2_14, strict: v2_15 } = arg1;
|
|
9092
9091
|
|
|
9093
9092
|
var encodeRes = _utf8AllocateAndEncode(v2_0, realloc1, memory0);
|
|
9094
9093
|
var ptr3= encodeRes.ptr;
|
|
@@ -9309,6 +9308,14 @@ function generate(arg0, arg1) {
|
|
|
9309
9308
|
}
|
|
9310
9309
|
}
|
|
9311
9310
|
}
|
|
9311
|
+
var variant30 = v2_15;
|
|
9312
|
+
if (variant30 === null || variant30=== undefined) {
|
|
9313
|
+
dataView(memory0).setInt8(ptr0 + 84, 0, true);
|
|
9314
|
+
} else {
|
|
9315
|
+
const e = variant30;
|
|
9316
|
+
dataView(memory0).setInt8(ptr0 + 84, 1, true);
|
|
9317
|
+
dataView(memory0).setInt8(ptr0 + 85, e ? 1 : 0, true);
|
|
9318
|
+
}
|
|
9312
9319
|
_debugLog('[iface="generate", function="generate"][Instruction::CallWasm] enter', {
|
|
9313
9320
|
funcName: 'generate',
|
|
9314
9321
|
paramCount: 1,
|
|
@@ -9337,73 +9344,73 @@ function generate(arg0, arg1) {
|
|
|
9337
9344
|
fn: () => exports1Generate(ptr0),
|
|
9338
9345
|
});
|
|
9339
9346
|
|
|
9340
|
-
let
|
|
9347
|
+
let variant40;
|
|
9341
9348
|
switch (dataView(memory0).getUint8(ret + 0, true)) {
|
|
9342
9349
|
case 0: {
|
|
9343
|
-
var
|
|
9344
|
-
var
|
|
9345
|
-
var
|
|
9346
|
-
for (let i = 0; i <
|
|
9347
|
-
const base =
|
|
9348
|
-
var
|
|
9349
|
-
var
|
|
9350
|
-
var
|
|
9351
|
-
var
|
|
9352
|
-
var
|
|
9353
|
-
var
|
|
9354
|
-
|
|
9355
|
-
}
|
|
9356
|
-
var
|
|
9357
|
-
var
|
|
9358
|
-
var
|
|
9359
|
-
for (let i = 0; i <
|
|
9360
|
-
const base =
|
|
9361
|
-
var
|
|
9362
|
-
var
|
|
9363
|
-
var
|
|
9364
|
-
|
|
9365
|
-
}
|
|
9366
|
-
var
|
|
9367
|
-
var
|
|
9368
|
-
var
|
|
9369
|
-
for (let i = 0; i <
|
|
9370
|
-
const base =
|
|
9371
|
-
var
|
|
9372
|
-
var
|
|
9373
|
-
var
|
|
9374
|
-
let
|
|
9350
|
+
var len33 = dataView(memory0).getUint32(ret + 8, true);
|
|
9351
|
+
var base33 = dataView(memory0).getUint32(ret + 4, true);
|
|
9352
|
+
var result33 = [];
|
|
9353
|
+
for (let i = 0; i < len33; i++) {
|
|
9354
|
+
const base = base33 + i * 16;
|
|
9355
|
+
var ptr31 = dataView(memory0).getUint32(base + 0, true);
|
|
9356
|
+
var len31 = dataView(memory0).getUint32(base + 4, true);
|
|
9357
|
+
var result31 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr31, len31));
|
|
9358
|
+
var ptr32 = dataView(memory0).getUint32(base + 8, true);
|
|
9359
|
+
var len32 = dataView(memory0).getUint32(base + 12, true);
|
|
9360
|
+
var result32 = new Uint8Array(memory0.buffer.slice(ptr32, ptr32 + len32 * 1));
|
|
9361
|
+
result33.push([result31, result32]);
|
|
9362
|
+
}
|
|
9363
|
+
var len35 = dataView(memory0).getUint32(ret + 16, true);
|
|
9364
|
+
var base35 = dataView(memory0).getUint32(ret + 12, true);
|
|
9365
|
+
var result35 = [];
|
|
9366
|
+
for (let i = 0; i < len35; i++) {
|
|
9367
|
+
const base = base35 + i * 8;
|
|
9368
|
+
var ptr34 = dataView(memory0).getUint32(base + 0, true);
|
|
9369
|
+
var len34 = dataView(memory0).getUint32(base + 4, true);
|
|
9370
|
+
var result34 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr34, len34));
|
|
9371
|
+
result35.push(result34);
|
|
9372
|
+
}
|
|
9373
|
+
var len38 = dataView(memory0).getUint32(ret + 24, true);
|
|
9374
|
+
var base38 = dataView(memory0).getUint32(ret + 20, true);
|
|
9375
|
+
var result38 = [];
|
|
9376
|
+
for (let i = 0; i < len38; i++) {
|
|
9377
|
+
const base = base38 + i * 12;
|
|
9378
|
+
var ptr36 = dataView(memory0).getUint32(base + 0, true);
|
|
9379
|
+
var len36 = dataView(memory0).getUint32(base + 4, true);
|
|
9380
|
+
var result36 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr36, len36));
|
|
9381
|
+
let enum37;
|
|
9375
9382
|
switch (dataView(memory0).getUint8(base + 8, true)) {
|
|
9376
9383
|
case 0: {
|
|
9377
|
-
|
|
9384
|
+
enum37 = 'function';
|
|
9378
9385
|
break;
|
|
9379
9386
|
}
|
|
9380
9387
|
case 1: {
|
|
9381
|
-
|
|
9388
|
+
enum37 = 'instance';
|
|
9382
9389
|
break;
|
|
9383
9390
|
}
|
|
9384
9391
|
default: {
|
|
9385
9392
|
throw new TypeError('invalid discriminant specified for ExportType');
|
|
9386
9393
|
}
|
|
9387
9394
|
}
|
|
9388
|
-
|
|
9395
|
+
result38.push([result36, enum37]);
|
|
9389
9396
|
}
|
|
9390
|
-
|
|
9397
|
+
variant40= {
|
|
9391
9398
|
tag: 'ok',
|
|
9392
9399
|
val: {
|
|
9393
|
-
files:
|
|
9394
|
-
imports:
|
|
9395
|
-
exports:
|
|
9400
|
+
files: result33,
|
|
9401
|
+
imports: result35,
|
|
9402
|
+
exports: result38,
|
|
9396
9403
|
}
|
|
9397
9404
|
};
|
|
9398
9405
|
break;
|
|
9399
9406
|
}
|
|
9400
9407
|
case 1: {
|
|
9401
|
-
var
|
|
9402
|
-
var
|
|
9403
|
-
var
|
|
9404
|
-
|
|
9408
|
+
var ptr39 = dataView(memory0).getUint32(ret + 4, true);
|
|
9409
|
+
var len39 = dataView(memory0).getUint32(ret + 8, true);
|
|
9410
|
+
var result39 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr39, len39));
|
|
9411
|
+
variant40= {
|
|
9405
9412
|
tag: 'err',
|
|
9406
|
-
val:
|
|
9413
|
+
val: result39
|
|
9407
9414
|
};
|
|
9408
9415
|
break;
|
|
9409
9416
|
}
|
|
@@ -9417,7 +9424,7 @@ function generate(arg0, arg1) {
|
|
|
9417
9424
|
async: false,
|
|
9418
9425
|
postReturn: true
|
|
9419
9426
|
});
|
|
9420
|
-
const retCopy =
|
|
9427
|
+
const retCopy = variant40;
|
|
9421
9428
|
task.resolve([retCopy.val]);
|
|
9422
9429
|
|
|
9423
9430
|
let cstate = getOrCreateAsyncState(0);
|
|
@@ -9438,7 +9445,7 @@ let exports1GenerateTypes;
|
|
|
9438
9445
|
|
|
9439
9446
|
function generateTypes(arg0, arg1) {
|
|
9440
9447
|
if (!_initialized) throwUninitialized();
|
|
9441
|
-
var ptr0 = realloc1(0, 0, 4,
|
|
9448
|
+
var ptr0 = realloc1(0, 0, 4, 96);
|
|
9442
9449
|
|
|
9443
9450
|
var encodeRes = _utf8AllocateAndEncode(arg0, realloc1, memory0);
|
|
9444
9451
|
var ptr1= encodeRes.ptr;
|
|
@@ -9446,7 +9453,7 @@ function generateTypes(arg0, arg1) {
|
|
|
9446
9453
|
|
|
9447
9454
|
dataView(memory0).setUint32(ptr0 + 4, len1, true);
|
|
9448
9455
|
dataView(memory0).setUint32(ptr0 + 0, ptr1, true);
|
|
9449
|
-
var {wit: v2_0, world: v2_1, tlaCompat: v2_2, instantiation: v2_3, map: v2_4, features: v2_5, guest: v2_6, asyncMode: v2_7 } = arg1;
|
|
9456
|
+
var {wit: v2_0, world: v2_1, tlaCompat: v2_2, instantiation: v2_3, map: v2_4, features: v2_5, guest: v2_6, asyncMode: v2_7, strict: v2_8 } = arg1;
|
|
9450
9457
|
var variant6 = v2_0;
|
|
9451
9458
|
switch (variant6.tag) {
|
|
9452
9459
|
case 'source': {
|
|
@@ -9677,6 +9684,14 @@ function generateTypes(arg0, arg1) {
|
|
|
9677
9684
|
}
|
|
9678
9685
|
}
|
|
9679
9686
|
}
|
|
9687
|
+
var variant29 = v2_8;
|
|
9688
|
+
if (variant29 === null || variant29=== undefined) {
|
|
9689
|
+
dataView(memory0).setInt8(ptr0 + 92, 0, true);
|
|
9690
|
+
} else {
|
|
9691
|
+
const e = variant29;
|
|
9692
|
+
dataView(memory0).setInt8(ptr0 + 92, 1, true);
|
|
9693
|
+
dataView(memory0).setInt8(ptr0 + 93, e ? 1 : 0, true);
|
|
9694
|
+
}
|
|
9680
9695
|
_debugLog('[iface="generate-types", function="generate-types"][Instruction::CallWasm] enter', {
|
|
9681
9696
|
funcName: 'generate-types',
|
|
9682
9697
|
paramCount: 1,
|
|
@@ -9705,35 +9720,35 @@ function generateTypes(arg0, arg1) {
|
|
|
9705
9720
|
fn: () => exports1GenerateTypes(ptr0),
|
|
9706
9721
|
});
|
|
9707
9722
|
|
|
9708
|
-
let
|
|
9723
|
+
let variant34;
|
|
9709
9724
|
switch (dataView(memory0).getUint8(ret + 0, true)) {
|
|
9710
9725
|
case 0: {
|
|
9711
|
-
var
|
|
9712
|
-
var
|
|
9713
|
-
var
|
|
9714
|
-
for (let i = 0; i <
|
|
9715
|
-
const base =
|
|
9716
|
-
var
|
|
9717
|
-
var
|
|
9718
|
-
var
|
|
9719
|
-
var
|
|
9720
|
-
var
|
|
9721
|
-
var
|
|
9722
|
-
|
|
9723
|
-
}
|
|
9724
|
-
|
|
9726
|
+
var len32 = dataView(memory0).getUint32(ret + 8, true);
|
|
9727
|
+
var base32 = dataView(memory0).getUint32(ret + 4, true);
|
|
9728
|
+
var result32 = [];
|
|
9729
|
+
for (let i = 0; i < len32; i++) {
|
|
9730
|
+
const base = base32 + i * 16;
|
|
9731
|
+
var ptr30 = dataView(memory0).getUint32(base + 0, true);
|
|
9732
|
+
var len30 = dataView(memory0).getUint32(base + 4, true);
|
|
9733
|
+
var result30 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr30, len30));
|
|
9734
|
+
var ptr31 = dataView(memory0).getUint32(base + 8, true);
|
|
9735
|
+
var len31 = dataView(memory0).getUint32(base + 12, true);
|
|
9736
|
+
var result31 = new Uint8Array(memory0.buffer.slice(ptr31, ptr31 + len31 * 1));
|
|
9737
|
+
result32.push([result30, result31]);
|
|
9738
|
+
}
|
|
9739
|
+
variant34= {
|
|
9725
9740
|
tag: 'ok',
|
|
9726
|
-
val:
|
|
9741
|
+
val: result32
|
|
9727
9742
|
};
|
|
9728
9743
|
break;
|
|
9729
9744
|
}
|
|
9730
9745
|
case 1: {
|
|
9731
|
-
var
|
|
9732
|
-
var
|
|
9733
|
-
var
|
|
9734
|
-
|
|
9746
|
+
var ptr33 = dataView(memory0).getUint32(ret + 4, true);
|
|
9747
|
+
var len33 = dataView(memory0).getUint32(ret + 8, true);
|
|
9748
|
+
var result33 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr33, len33));
|
|
9749
|
+
variant34= {
|
|
9735
9750
|
tag: 'err',
|
|
9736
|
-
val:
|
|
9751
|
+
val: result33
|
|
9737
9752
|
};
|
|
9738
9753
|
break;
|
|
9739
9754
|
}
|
|
@@ -9747,7 +9762,7 @@ function generateTypes(arg0, arg1) {
|
|
|
9747
9762
|
async: false,
|
|
9748
9763
|
postReturn: true
|
|
9749
9764
|
});
|
|
9750
|
-
const retCopy =
|
|
9765
|
+
const retCopy = variant34;
|
|
9751
9766
|
task.resolve([retCopy.val]);
|
|
9752
9767
|
|
|
9753
9768
|
let cstate = getOrCreateAsyncState(0);
|
package/obj/wasm-tools.js
CHANGED
|
@@ -3649,7 +3649,6 @@ class ComponentAsyncState {
|
|
|
3649
3649
|
if (!table) { throw new Error(`missing/invalid table [${tableIdx}] while getting future end`); }
|
|
3650
3650
|
futureEnd = table.get(futureEndHandle);
|
|
3651
3651
|
} else {
|
|
3652
|
-
console.log("args?", args);
|
|
3653
3652
|
throw new TypeError("must specify either waitable idx or handle to retrieve future");
|
|
3654
3653
|
}
|
|
3655
3654
|
|
package/package.json
CHANGED
package/src/cmd/transpile.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export function guestTypes(witPath: any, opts: any): Promise<void>;
|
|
|
17
17
|
* outDir?: string,
|
|
18
18
|
* features?: string[] | 'all',
|
|
19
19
|
* guest?: bool,
|
|
20
|
+
* strict?: bool,
|
|
20
21
|
* }} opts
|
|
21
22
|
* @returns {Promise<{ [filename: string]: Uint8Array }>}
|
|
22
23
|
*/
|
|
@@ -33,6 +34,7 @@ export function typesComponent(
|
|
|
33
34
|
outDir?: string;
|
|
34
35
|
features?: string[] | "all";
|
|
35
36
|
guest?: boolean;
|
|
37
|
+
strict?: boolean;
|
|
36
38
|
},
|
|
37
39
|
): Promise<{
|
|
38
40
|
[filename: string]: Uint8Array;
|
package/src/cmd/transpile.js
CHANGED
|
@@ -153,9 +153,8 @@ export async function transpileComponent(component, opts = {}) {
|
|
|
153
153
|
// Let's define `instantiation` from `--instantiation` if it's present.
|
|
154
154
|
if (opts.instantiation) {
|
|
155
155
|
instantiation = { tag: opts.instantiation };
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
else if (opts.js) {
|
|
156
|
+
} else if (opts.js) {
|
|
157
|
+
// Otherwise, if `--js` is present, an `instantiate` function is required.
|
|
159
158
|
instantiation = { tag: "async" };
|
|
160
159
|
}
|
|
161
160
|
|
|
@@ -200,6 +199,7 @@ export async function transpileComponent(component, opts = {}) {
|
|
|
200
199
|
noNamespacedExports: opts.namespacedExports === false,
|
|
201
200
|
multiMemory: opts.multiMemory === true,
|
|
202
201
|
idlImports: opts.experimentalIdlImports === true,
|
|
202
|
+
strict: opts.strict === true,
|
|
203
203
|
});
|
|
204
204
|
|
|
205
205
|
let outDir = (opts.outDir ?? "").replace(/\\/g, "/");
|
package/src/cmd/types.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ export function guestTypes(witPath: any, opts: any): Promise<void>;
|
|
|
13
13
|
* outDir?: string,
|
|
14
14
|
* features?: string[] | 'all',
|
|
15
15
|
* guest?: bool,
|
|
16
|
+
* strict?: bool,
|
|
16
17
|
* }} opts
|
|
17
18
|
* @returns {Promise<{ [filename: string]: Uint8Array }>}
|
|
18
19
|
*/
|
|
@@ -29,6 +30,7 @@ export function typesComponent(
|
|
|
29
30
|
outDir?: string;
|
|
30
31
|
features?: string[] | "all";
|
|
31
32
|
guest?: boolean;
|
|
33
|
+
strict?: boolean;
|
|
32
34
|
},
|
|
33
35
|
): Promise<{
|
|
34
36
|
[filename: string]: Uint8Array;
|
package/src/cmd/types.js
CHANGED
|
@@ -140,6 +140,7 @@ export async function typesComponent(witPath, opts) {
|
|
|
140
140
|
world: opts.worldName,
|
|
141
141
|
features,
|
|
142
142
|
guest: opts.guest ?? false,
|
|
143
|
+
strict: opts.strict === true,
|
|
143
144
|
asyncMode: asyncModeObj,
|
|
144
145
|
}).map(([name, file]) => [`${outDir}${name}`, file]);
|
|
145
146
|
} catch (err) {
|
package/src/jco.js
CHANGED
|
@@ -25,7 +25,7 @@ program
|
|
|
25
25
|
)
|
|
26
26
|
.usage("<command> [options]")
|
|
27
27
|
.enablePositionalOptions()
|
|
28
|
-
.version("1.
|
|
28
|
+
.version("1.17.8");
|
|
29
29
|
|
|
30
30
|
function myParseInt(value) {
|
|
31
31
|
return parseInt(value, 10);
|
|
@@ -128,6 +128,7 @@ program
|
|
|
128
128
|
.option("-q, --quiet", "disable output summary")
|
|
129
129
|
.option("--no-namespaced-exports", "disable namespaced exports for typescript compatibility")
|
|
130
130
|
.option("--multi-memory", "optimized output for Wasm multi-memory")
|
|
131
|
+
.option("--strict", "generate bindings with strict type checking")
|
|
131
132
|
.allowExcessArguments(true)
|
|
132
133
|
.action(asyncAction(transpile));
|
|
133
134
|
|
|
@@ -164,6 +165,7 @@ program
|
|
|
164
165
|
.option("--feature <feature>", "enable one specific WIT feature (repeatable)", collectOptions, [])
|
|
165
166
|
.option("--all-features", "enable all features")
|
|
166
167
|
.option("--wasm-opt-bin <path-to-wasm-opt>', 'wasm-opt binary path (default: 'binaryen/bin/wasm-opt')")
|
|
168
|
+
.option("--strict", "generate bindings with strict type checking")
|
|
167
169
|
.action(asyncAction(types));
|
|
168
170
|
|
|
169
171
|
program
|
|
@@ -186,6 +188,7 @@ program
|
|
|
186
188
|
.choices(["sync", "jspi"])
|
|
187
189
|
.preset("sync"),
|
|
188
190
|
)
|
|
191
|
+
.option("--strict", "generate bindings with strict type checking")
|
|
189
192
|
.action(asyncAction(guestTypes));
|
|
190
193
|
|
|
191
194
|
program
|