@bytecodealliance/jco 1.0.0 → 1.0.2

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.
@@ -1,5 +1,5 @@
1
1
  export namespace WasiCliStderr {
2
2
  export function getStderr(): OutputStream;
3
3
  }
4
- import type { OutputStream } from '../interfaces/wasi-io-streams.js';
4
+ import type { OutputStream } from './wasi-io-streams.js';
5
5
  export { OutputStream };
@@ -1,5 +1,5 @@
1
1
  export namespace WasiCliStdin {
2
2
  export function getStdin(): InputStream;
3
3
  }
4
- import type { InputStream } from '../interfaces/wasi-io-streams.js';
4
+ import type { InputStream } from './wasi-io-streams.js';
5
5
  export { InputStream };
@@ -1,5 +1,5 @@
1
1
  export namespace WasiCliStdout {
2
2
  export function getStdout(): OutputStream;
3
3
  }
4
- import type { OutputStream } from '../interfaces/wasi-io-streams.js';
4
+ import type { OutputStream } from './wasi-io-streams.js';
5
5
  export { OutputStream };
@@ -1,5 +1,5 @@
1
1
  export namespace WasiCliTerminalStderr {
2
2
  export function getTerminalStderr(): TerminalOutput | undefined;
3
3
  }
4
- import type { TerminalOutput } from '../interfaces/wasi-cli-terminal-output.js';
4
+ import type { TerminalOutput } from './wasi-cli-terminal-output.js';
5
5
  export { TerminalOutput };
@@ -1,5 +1,5 @@
1
1
  export namespace WasiCliTerminalStdin {
2
2
  export function getTerminalStdin(): TerminalInput | undefined;
3
3
  }
4
- import type { TerminalInput } from '../interfaces/wasi-cli-terminal-input.js';
4
+ import type { TerminalInput } from './wasi-cli-terminal-input.js';
5
5
  export { TerminalInput };
@@ -1,5 +1,5 @@
1
1
  export namespace WasiCliTerminalStdout {
2
2
  export function getTerminalStdout(): TerminalOutput | undefined;
3
3
  }
4
- import type { TerminalOutput } from '../interfaces/wasi-cli-terminal-output.js';
4
+ import type { TerminalOutput } from './wasi-cli-terminal-output.js';
5
5
  export { TerminalOutput };
@@ -1,5 +1,5 @@
1
1
  export namespace WasiFilesystemPreopens {
2
2
  export function getDirectories(): [Descriptor, string][];
3
3
  }
4
- import type { Descriptor } from '../interfaces/wasi-filesystem-types.js';
4
+ import type { Descriptor } from './wasi-filesystem-types.js';
5
5
  export { Descriptor };
@@ -4,7 +4,7 @@ export namespace WasiFilesystemTypes {
4
4
  export function filesystemErrorCode(err: Error): ErrorCode | undefined;
5
5
  }
6
6
  export type Filesize = bigint;
7
- import type { InputStream } from '../interfaces/wasi-io-streams.js';
7
+ import type { InputStream } from './wasi-io-streams.js';
8
8
  export { InputStream };
9
9
  /**
10
10
  * # Variants
@@ -84,7 +84,7 @@ export { InputStream };
84
84
  * ## `"cross-device"`
85
85
  */
86
86
  export type ErrorCode = 'access' | 'would-block' | 'already' | 'bad-descriptor' | 'busy' | 'deadlock' | 'quota' | 'exist' | 'file-too-large' | 'illegal-byte-sequence' | 'in-progress' | 'interrupted' | 'invalid' | 'io' | 'is-directory' | 'loop' | 'too-many-links' | 'message-size' | 'name-too-long' | 'no-device' | 'no-entry' | 'no-lock' | 'insufficient-memory' | 'insufficient-space' | 'not-directory' | 'not-empty' | 'not-recoverable' | 'unsupported' | 'no-tty' | 'no-such-device' | 'overflow' | 'not-permitted' | 'pipe' | 'read-only' | 'invalid-seek' | 'text-file-busy' | 'cross-device';
87
- import type { OutputStream } from '../interfaces/wasi-io-streams.js';
87
+ import type { OutputStream } from './wasi-io-streams.js';
88
88
  export { OutputStream };
89
89
  /**
90
90
  * # Variants
@@ -107,7 +107,7 @@ export { OutputStream };
107
107
  */
108
108
  export type DescriptorType = 'unknown' | 'block-device' | 'character-device' | 'directory' | 'fifo' | 'symbolic-link' | 'regular-file' | 'socket';
109
109
  export type LinkCount = bigint;
110
- import type { Datetime } from '../interfaces/wasi-clocks-wall-clock.js';
110
+ import type { Datetime } from './wasi-clocks-wall-clock.js';
111
111
  export { Datetime };
112
112
  export interface DescriptorStat {
113
113
  type: DescriptorType,
@@ -142,7 +142,7 @@ export interface DirectoryEntry {
142
142
  type: DescriptorType,
143
143
  name: string,
144
144
  }
145
- import type { Error } from '../interfaces/wasi-io-streams.js';
145
+ import type { Error } from './wasi-io-streams.js';
146
146
  export { Error };
147
147
 
148
148
  export class Descriptor {
@@ -2,7 +2,7 @@ export namespace WasiIoStreams {
2
2
  export { InputStream };
3
3
  export { OutputStream };
4
4
  }
5
- import type { Error } from '../interfaces/wasi-io-error.js';
5
+ import type { Error } from './wasi-io-error.js';
6
6
  export { Error };
7
7
  export type StreamError = StreamErrorLastOperationFailed | StreamErrorClosed;
8
8
  export interface StreamErrorLastOperationFailed {
@@ -19,6 +19,7 @@ export interface GenerateOptions {
19
19
  validLiftingOptimization?: boolean,
20
20
  tracing?: boolean,
21
21
  noNamespacedExports?: boolean,
22
+ multiMemory?: boolean,
22
23
  }
23
24
  export type Wit = WitSource | WitBinary | WitPath;
24
25
  export interface WitSource {
@@ -2304,7 +2304,7 @@ function trampoline6(handle) {
2304
2304
 
2305
2305
  function generate(arg0, arg1) {
2306
2306
  if (!_initialized) throwUninitialized();
2307
- var ptr0 = realloc1(0, 0, 4, 52);
2307
+ var ptr0 = realloc1(0, 0, 4, 56);
2308
2308
  var val1 = arg0;
2309
2309
  var len1 = val1.byteLength;
2310
2310
  var ptr1 = realloc1(0, 0, 1, len1 * 1);
@@ -2312,7 +2312,7 @@ function generate(arg0, arg1) {
2312
2312
  (new Uint8Array(memory0.buffer, ptr1, len1 * 1)).set(src1);
2313
2313
  dataView(memory0).setInt32(ptr0 + 4, len1, true);
2314
2314
  dataView(memory0).setInt32(ptr0 + 0, ptr1, true);
2315
- var {name: v2_0, noTypescript: v2_1, instantiation: v2_2, map: v2_3, compat: v2_4, noNodejsCompat: v2_5, base64Cutoff: v2_6, tlaCompat: v2_7, validLiftingOptimization: v2_8, tracing: v2_9, noNamespacedExports: v2_10 } = arg1;
2315
+ var {name: v2_0, noTypescript: v2_1, instantiation: v2_2, map: v2_3, compat: v2_4, noNodejsCompat: v2_5, base64Cutoff: v2_6, tlaCompat: v2_7, validLiftingOptimization: v2_8, tracing: v2_9, noNamespacedExports: v2_10, multiMemory: v2_11 } = arg1;
2316
2316
  var ptr3 = utf8Encode(v2_0, realloc1, memory0);
2317
2317
  var len3 = utf8EncodedLen;
2318
2318
  dataView(memory0).setInt32(ptr0 + 12, len3, true);
@@ -2426,74 +2426,82 @@ function generate(arg0, arg1) {
2426
2426
  dataView(memory0).setInt8(ptr0 + 50, 1, true);
2427
2427
  dataView(memory0).setInt8(ptr0 + 51, e ? 1 : 0, true);
2428
2428
  }
2429
+ var variant19 = v2_11;
2430
+ if (variant19 === null || variant19=== undefined) {
2431
+ dataView(memory0).setInt8(ptr0 + 52, 0, true);
2432
+ } else {
2433
+ const e = variant19;
2434
+ dataView(memory0).setInt8(ptr0 + 52, 1, true);
2435
+ dataView(memory0).setInt8(ptr0 + 53, e ? 1 : 0, true);
2436
+ }
2429
2437
  const ret = exports1.generate(ptr0);
2430
- let variant28;
2438
+ let variant29;
2431
2439
  switch (dataView(memory0).getUint8(ret + 0, true)) {
2432
2440
  case 0: {
2433
- var len21 = dataView(memory0).getInt32(ret + 8, true);
2434
- var base21 = dataView(memory0).getInt32(ret + 4, true);
2435
- var result21 = [];
2436
- for (let i = 0; i < len21; i++) {
2437
- const base = base21 + i * 16;
2438
- var ptr19 = dataView(memory0).getInt32(base + 0, true);
2439
- var len19 = dataView(memory0).getInt32(base + 4, true);
2440
- var result19 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr19, len19));
2441
- var ptr20 = dataView(memory0).getInt32(base + 8, true);
2442
- var len20 = dataView(memory0).getInt32(base + 12, true);
2443
- var result20 = new Uint8Array(memory0.buffer.slice(ptr20, ptr20 + len20 * 1));
2444
- result21.push([result19, result20]);
2445
- }
2446
- var len23 = dataView(memory0).getInt32(ret + 16, true);
2447
- var base23 = dataView(memory0).getInt32(ret + 12, true);
2448
- var result23 = [];
2449
- for (let i = 0; i < len23; i++) {
2450
- const base = base23 + i * 8;
2451
- var ptr22 = dataView(memory0).getInt32(base + 0, true);
2452
- var len22 = dataView(memory0).getInt32(base + 4, true);
2453
- var result22 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr22, len22));
2454
- result23.push(result22);
2455
- }
2456
- var len26 = dataView(memory0).getInt32(ret + 24, true);
2457
- var base26 = dataView(memory0).getInt32(ret + 20, true);
2458
- var result26 = [];
2459
- for (let i = 0; i < len26; i++) {
2460
- const base = base26 + i * 12;
2461
- var ptr24 = dataView(memory0).getInt32(base + 0, true);
2462
- var len24 = dataView(memory0).getInt32(base + 4, true);
2463
- var result24 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr24, len24));
2464
- let enum25;
2441
+ var len22 = dataView(memory0).getInt32(ret + 8, true);
2442
+ var base22 = dataView(memory0).getInt32(ret + 4, true);
2443
+ var result22 = [];
2444
+ for (let i = 0; i < len22; i++) {
2445
+ const base = base22 + i * 16;
2446
+ var ptr20 = dataView(memory0).getInt32(base + 0, true);
2447
+ var len20 = dataView(memory0).getInt32(base + 4, true);
2448
+ var result20 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr20, len20));
2449
+ var ptr21 = dataView(memory0).getInt32(base + 8, true);
2450
+ var len21 = dataView(memory0).getInt32(base + 12, true);
2451
+ var result21 = new Uint8Array(memory0.buffer.slice(ptr21, ptr21 + len21 * 1));
2452
+ result22.push([result20, result21]);
2453
+ }
2454
+ var len24 = dataView(memory0).getInt32(ret + 16, true);
2455
+ var base24 = dataView(memory0).getInt32(ret + 12, true);
2456
+ var result24 = [];
2457
+ for (let i = 0; i < len24; i++) {
2458
+ const base = base24 + i * 8;
2459
+ var ptr23 = dataView(memory0).getInt32(base + 0, true);
2460
+ var len23 = dataView(memory0).getInt32(base + 4, true);
2461
+ var result23 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr23, len23));
2462
+ result24.push(result23);
2463
+ }
2464
+ var len27 = dataView(memory0).getInt32(ret + 24, true);
2465
+ var base27 = dataView(memory0).getInt32(ret + 20, true);
2466
+ var result27 = [];
2467
+ for (let i = 0; i < len27; i++) {
2468
+ const base = base27 + i * 12;
2469
+ var ptr25 = dataView(memory0).getInt32(base + 0, true);
2470
+ var len25 = dataView(memory0).getInt32(base + 4, true);
2471
+ var result25 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr25, len25));
2472
+ let enum26;
2465
2473
  switch (dataView(memory0).getUint8(base + 8, true)) {
2466
2474
  case 0: {
2467
- enum25 = 'function';
2475
+ enum26 = 'function';
2468
2476
  break;
2469
2477
  }
2470
2478
  case 1: {
2471
- enum25 = 'instance';
2479
+ enum26 = 'instance';
2472
2480
  break;
2473
2481
  }
2474
2482
  default: {
2475
2483
  throw new TypeError('invalid discriminant specified for ExportType');
2476
2484
  }
2477
2485
  }
2478
- result26.push([result24, enum25]);
2486
+ result27.push([result25, enum26]);
2479
2487
  }
2480
- variant28= {
2488
+ variant29= {
2481
2489
  tag: 'ok',
2482
2490
  val: {
2483
- files: result21,
2484
- imports: result23,
2485
- exports: result26,
2491
+ files: result22,
2492
+ imports: result24,
2493
+ exports: result27,
2486
2494
  }
2487
2495
  };
2488
2496
  break;
2489
2497
  }
2490
2498
  case 1: {
2491
- var ptr27 = dataView(memory0).getInt32(ret + 4, true);
2492
- var len27 = dataView(memory0).getInt32(ret + 8, true);
2493
- var result27 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr27, len27));
2494
- variant28= {
2499
+ var ptr28 = dataView(memory0).getInt32(ret + 4, true);
2500
+ var len28 = dataView(memory0).getInt32(ret + 8, true);
2501
+ var result28 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr28, len28));
2502
+ variant29= {
2495
2503
  tag: 'err',
2496
- val: result27
2504
+ val: result28
2497
2505
  };
2498
2506
  break;
2499
2507
  }
@@ -2502,10 +2510,10 @@ function generate(arg0, arg1) {
2502
2510
  }
2503
2511
  }
2504
2512
  postReturn0(ret);
2505
- if (variant28.tag === 'err') {
2506
- throw new ComponentError(variant28.val);
2513
+ if (variant29.tag === 'err') {
2514
+ throw new ComponentError(variant29.val);
2507
2515
  }
2508
- return variant28.val;
2516
+ return variant29.val;
2509
2517
  }
2510
2518
 
2511
2519
  function generateTypes(arg0, arg1) {
@@ -2696,8 +2704,8 @@ let _initialized = false;
2696
2704
  export const $init = (async() => {
2697
2705
  const module0 = fetchCompile(new URL('./js-component-bindgen-component.core.wasm', import.meta.url));
2698
2706
  const module1 = fetchCompile(new URL('./js-component-bindgen-component.core2.wasm', import.meta.url));
2699
- const module2 = base64Compile('AGFzbQEAAAABUQxgAX8AYAN/fn8AYAJ/fwBgB39/f39/f38AYAR/f39/AGACfn8AYAl/f39/f35+f38Bf2ACf38Bf2AEf39/fwF/YAF/AX9gA39/fwF/YAF/AAMgHwABAQICAgMCAgEBAgQEAgUAAAAABgcHCAgHBwkHCgsEBQFwAR8fB50BIAEwAAABMQABATIAAgEzAAMBNAAEATUABQE2AAYBNwAHATgACAE5AAkCMTAACgIxMQALAjEyAAwCMTMADQIxNAAOAjE1AA8CMTYAEAIxNwARAjE4ABICMTkAEwIyMAAUAjIxABUCMjIAFgIyMwAXAjI0ABgCMjUAGQIyNgAaAjI3ABsCMjgAHAIyOQAdAjMwAB4IJGltcG9ydHMBAAqZAx8JACAAQQARAAALDQAgACABIAJBAREBAAsNACAAIAEgAkECEQEACwsAIAAgAUEDEQIACwsAIAAgAUEEEQIACwsAIAAgAUEFEQIACxUAIAAgASACIAMgBCAFIAZBBhEDAAsLACAAIAFBBxECAAsLACAAIAFBCBECAAsNACAAIAEgAkEJEQEACw0AIAAgASACQQoRAQALCwAgACABQQsRAgALDwAgACABIAIgA0EMEQQACw8AIAAgASACIANBDREEAAsLACAAIAFBDhECAAsLACAAIAFBDxEFAAsJACAAQRARAAALCQAgAEEREQAACwkAIABBEhEAAAsJACAAQRMRAAALGQAgACABIAIgAyAEIAUgBiAHIAhBFBEGAAsLACAAIAFBFREHAAsLACAAIAFBFhEHAAsPACAAIAEgAiADQRcRCAALDwAgACABIAIgA0EYEQgACwsAIAAgAUEZEQcACwsAIAAgAUEaEQcACwkAIABBGxEJAAsLACAAIAFBHBEHAAsNACAAIAEgAkEdEQoACwkAIABBHhELAAsALglwcm9kdWNlcnMBDHByb2Nlc3NlZC1ieQENd2l0LWNvbXBvbmVudAYwLjIwLjAA+g0EbmFtZQATEndpdC1jb21wb25lbnQ6c2hpbQHdDR8AN2luZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS9wcmVvcGVuc0AwLjIuMC1nZXQtZGlyZWN0b3JpZXMBR2luZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS90eXBlc0AwLjIuMC1bbWV0aG9kXWRlc2NyaXB0b3IucmVhZC12aWEtc3RyZWFtAkhpbmRpcmVjdC13YXNpOmZpbGVzeXN0ZW0vdHlwZXNAMC4yLjAtW21ldGhvZF1kZXNjcmlwdG9yLndyaXRlLXZpYS1zdHJlYW0DSWluZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS90eXBlc0AwLjIuMC1bbWV0aG9kXWRlc2NyaXB0b3IuYXBwZW5kLXZpYS1zdHJlYW0EQGluZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS90eXBlc0AwLjIuMC1bbWV0aG9kXWRlc2NyaXB0b3IuZ2V0LXR5cGUFPGluZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS90eXBlc0AwLjIuMC1bbWV0aG9kXWRlc2NyaXB0b3Iuc3RhdAY/aW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL3R5cGVzQDAuMi4wLVttZXRob2RdZGVzY3JpcHRvci5vcGVuLWF0B0VpbmRpcmVjdC13YXNpOmZpbGVzeXN0ZW0vdHlwZXNAMC4yLjAtW21ldGhvZF1kZXNjcmlwdG9yLm1ldGFkYXRhLWhhc2gIOmluZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS90eXBlc0AwLjIuMC1maWxlc3lzdGVtLWVycm9yLWNvZGUJOGluZGlyZWN0LXdhc2k6aW8vc3RyZWFtc0AwLjIuMC1bbWV0aG9kXWlucHV0LXN0cmVhbS5yZWFkCkFpbmRpcmVjdC13YXNpOmlvL3N0cmVhbXNAMC4yLjAtW21ldGhvZF1pbnB1dC1zdHJlYW0uYmxvY2tpbmctcmVhZAtAaW5kaXJlY3Qtd2FzaTppby9zdHJlYW1zQDAuMi4wLVttZXRob2Rdb3V0cHV0LXN0cmVhbS5jaGVjay13cml0ZQw6aW5kaXJlY3Qtd2FzaTppby9zdHJlYW1zQDAuMi4wLVttZXRob2Rdb3V0cHV0LXN0cmVhbS53cml0ZQ1NaW5kaXJlY3Qtd2FzaTppby9zdHJlYW1zQDAuMi4wLVttZXRob2Rdb3V0cHV0LXN0cmVhbS5ibG9ja2luZy13cml0ZS1hbmQtZmx1c2gOQ2luZGlyZWN0LXdhc2k6aW8vc3RyZWFtc0AwLjIuMC1bbWV0aG9kXW91dHB1dC1zdHJlYW0uYmxvY2tpbmctZmx1c2gPMmluZGlyZWN0LXdhc2k6cmFuZG9tL3JhbmRvbUAwLjIuMC1nZXQtcmFuZG9tLWJ5dGVzEDNpbmRpcmVjdC13YXNpOmNsaS9lbnZpcm9ubWVudEAwLjIuMC1nZXQtZW52aXJvbm1lbnQROWluZGlyZWN0LXdhc2k6Y2xpL3Rlcm1pbmFsLXN0ZGluQDAuMi4wLWdldC10ZXJtaW5hbC1zdGRpbhI7aW5kaXJlY3Qtd2FzaTpjbGkvdGVybWluYWwtc3Rkb3V0QDAuMi4wLWdldC10ZXJtaW5hbC1zdGRvdXQTO2luZGlyZWN0LXdhc2k6Y2xpL3Rlcm1pbmFsLXN0ZGVyckAwLjIuMC1nZXQtdGVybWluYWwtc3RkZXJyFCZhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLXBhdGhfb3BlbhUsYWRhcHQtd2FzaV9zbmFwc2hvdF9wcmV2aWV3MS1mZF9maWxlc3RhdF9nZXQWJ2FkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtcmFuZG9tX2dldBckYWRhcHQtd2FzaV9zbmFwc2hvdF9wcmV2aWV3MS1mZF9yZWFkGCVhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLWZkX3dyaXRlGShhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLWVudmlyb25fZ2V0Gi5hZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLWVudmlyb25fc2l6ZXNfZ2V0GyVhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLWZkX2Nsb3NlHCthZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLWZkX3ByZXN0YXRfZ2V0HTBhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLWZkX3ByZXN0YXRfZGlyX25hbWUeJmFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtcHJvY19leGl0');
2700
- const module3 = base64Compile('AGFzbQEAAAABUQxgAX8AYAN/fn8AYAJ/fwBgB39/f39/f38AYAR/f39/AGACfn8AYAl/f39/f35+f38Bf2ACf38Bf2AEf39/fwF/YAF/AX9gA39/fwF/YAF/AALAASAAATAAAAABMQABAAEyAAEAATMAAgABNAACAAE1AAIAATYAAwABNwACAAE4AAIAATkAAQACMTAAAQACMTEAAgACMTIABAACMTMABAACMTQAAgACMTUABQACMTYAAAACMTcAAAACMTgAAAACMTkAAAACMjAABgACMjEABwACMjIABwACMjMACAACMjQACAACMjUABwACMjYABwACMjcACQACMjgABwACMjkACgACMzAACwAIJGltcG9ydHMBcAEfHwklAQBBAAsfAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHgAuCXByb2R1Y2VycwEMcHJvY2Vzc2VkLWJ5AQ13aXQtY29tcG9uZW50BjAuMjAuMAAcBG5hbWUAFRR3aXQtY29tcG9uZW50OmZpeHVwcw');
2707
+ const module2 = base64Compile('AGFzbQEAAAABUQxgAX8AYAN/fn8AYAJ/fwBgB39/f39/f38AYAR/f39/AGACfn8AYAl/f39/f35+f38Bf2ACf38Bf2AEf39/fwF/YAF/AX9gA39/fwF/YAF/AAMgHwABAQICAgMCAgEBAgQEAgUAAAAABgcHCAgHBwkHCgsEBQFwAR8fB50BIAEwAAABMQABATIAAgEzAAMBNAAEATUABQE2AAYBNwAHATgACAE5AAkCMTAACgIxMQALAjEyAAwCMTMADQIxNAAOAjE1AA8CMTYAEAIxNwARAjE4ABICMTkAEwIyMAAUAjIxABUCMjIAFgIyMwAXAjI0ABgCMjUAGQIyNgAaAjI3ABsCMjgAHAIyOQAdAjMwAB4IJGltcG9ydHMBAAqZAx8JACAAQQARAAALDQAgACABIAJBAREBAAsNACAAIAEgAkECEQEACwsAIAAgAUEDEQIACwsAIAAgAUEEEQIACwsAIAAgAUEFEQIACxUAIAAgASACIAMgBCAFIAZBBhEDAAsLACAAIAFBBxECAAsLACAAIAFBCBECAAsNACAAIAEgAkEJEQEACw0AIAAgASACQQoRAQALCwAgACABQQsRAgALDwAgACABIAIgA0EMEQQACw8AIAAgASACIANBDREEAAsLACAAIAFBDhECAAsLACAAIAFBDxEFAAsJACAAQRARAAALCQAgAEEREQAACwkAIABBEhEAAAsJACAAQRMRAAALGQAgACABIAIgAyAEIAUgBiAHIAhBFBEGAAsLACAAIAFBFREHAAsLACAAIAFBFhEHAAsPACAAIAEgAiADQRcRCAALDwAgACABIAIgA0EYEQgACwsAIAAgAUEZEQcACwsAIAAgAUEaEQcACwkAIABBGxEJAAsLACAAIAFBHBEHAAsNACAAIAEgAkEdEQoACwkAIABBHhELAAsALglwcm9kdWNlcnMBDHByb2Nlc3NlZC1ieQENd2l0LWNvbXBvbmVudAYwLjIxLjAA+g0EbmFtZQATEndpdC1jb21wb25lbnQ6c2hpbQHdDR8AN2luZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS9wcmVvcGVuc0AwLjIuMC1nZXQtZGlyZWN0b3JpZXMBR2luZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS90eXBlc0AwLjIuMC1bbWV0aG9kXWRlc2NyaXB0b3IucmVhZC12aWEtc3RyZWFtAkhpbmRpcmVjdC13YXNpOmZpbGVzeXN0ZW0vdHlwZXNAMC4yLjAtW21ldGhvZF1kZXNjcmlwdG9yLndyaXRlLXZpYS1zdHJlYW0DSWluZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS90eXBlc0AwLjIuMC1bbWV0aG9kXWRlc2NyaXB0b3IuYXBwZW5kLXZpYS1zdHJlYW0EQGluZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS90eXBlc0AwLjIuMC1bbWV0aG9kXWRlc2NyaXB0b3IuZ2V0LXR5cGUFPGluZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS90eXBlc0AwLjIuMC1bbWV0aG9kXWRlc2NyaXB0b3Iuc3RhdAY/aW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL3R5cGVzQDAuMi4wLVttZXRob2RdZGVzY3JpcHRvci5vcGVuLWF0B0VpbmRpcmVjdC13YXNpOmZpbGVzeXN0ZW0vdHlwZXNAMC4yLjAtW21ldGhvZF1kZXNjcmlwdG9yLm1ldGFkYXRhLWhhc2gIOmluZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS90eXBlc0AwLjIuMC1maWxlc3lzdGVtLWVycm9yLWNvZGUJOGluZGlyZWN0LXdhc2k6aW8vc3RyZWFtc0AwLjIuMC1bbWV0aG9kXWlucHV0LXN0cmVhbS5yZWFkCkFpbmRpcmVjdC13YXNpOmlvL3N0cmVhbXNAMC4yLjAtW21ldGhvZF1pbnB1dC1zdHJlYW0uYmxvY2tpbmctcmVhZAtAaW5kaXJlY3Qtd2FzaTppby9zdHJlYW1zQDAuMi4wLVttZXRob2Rdb3V0cHV0LXN0cmVhbS5jaGVjay13cml0ZQw6aW5kaXJlY3Qtd2FzaTppby9zdHJlYW1zQDAuMi4wLVttZXRob2Rdb3V0cHV0LXN0cmVhbS53cml0ZQ1NaW5kaXJlY3Qtd2FzaTppby9zdHJlYW1zQDAuMi4wLVttZXRob2Rdb3V0cHV0LXN0cmVhbS5ibG9ja2luZy13cml0ZS1hbmQtZmx1c2gOQ2luZGlyZWN0LXdhc2k6aW8vc3RyZWFtc0AwLjIuMC1bbWV0aG9kXW91dHB1dC1zdHJlYW0uYmxvY2tpbmctZmx1c2gPMmluZGlyZWN0LXdhc2k6cmFuZG9tL3JhbmRvbUAwLjIuMC1nZXQtcmFuZG9tLWJ5dGVzEDNpbmRpcmVjdC13YXNpOmNsaS9lbnZpcm9ubWVudEAwLjIuMC1nZXQtZW52aXJvbm1lbnQROWluZGlyZWN0LXdhc2k6Y2xpL3Rlcm1pbmFsLXN0ZGluQDAuMi4wLWdldC10ZXJtaW5hbC1zdGRpbhI7aW5kaXJlY3Qtd2FzaTpjbGkvdGVybWluYWwtc3Rkb3V0QDAuMi4wLWdldC10ZXJtaW5hbC1zdGRvdXQTO2luZGlyZWN0LXdhc2k6Y2xpL3Rlcm1pbmFsLXN0ZGVyckAwLjIuMC1nZXQtdGVybWluYWwtc3RkZXJyFCZhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLXBhdGhfb3BlbhUsYWRhcHQtd2FzaV9zbmFwc2hvdF9wcmV2aWV3MS1mZF9maWxlc3RhdF9nZXQWJ2FkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtcmFuZG9tX2dldBckYWRhcHQtd2FzaV9zbmFwc2hvdF9wcmV2aWV3MS1mZF9yZWFkGCVhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLWZkX3dyaXRlGShhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLWVudmlyb25fZ2V0Gi5hZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLWVudmlyb25fc2l6ZXNfZ2V0GyVhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLWZkX2Nsb3NlHCthZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLWZkX3ByZXN0YXRfZ2V0HTBhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLWZkX3ByZXN0YXRfZGlyX25hbWUeJmFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtcHJvY19leGl0');
2708
+ const module3 = base64Compile('AGFzbQEAAAABUQxgAX8AYAN/fn8AYAJ/fwBgB39/f39/f38AYAR/f39/AGACfn8AYAl/f39/f35+f38Bf2ACf38Bf2AEf39/fwF/YAF/AX9gA39/fwF/YAF/AALAASAAATAAAAABMQABAAEyAAEAATMAAgABNAACAAE1AAIAATYAAwABNwACAAE4AAIAATkAAQACMTAAAQACMTEAAgACMTIABAACMTMABAACMTQAAgACMTUABQACMTYAAAACMTcAAAACMTgAAAACMTkAAAACMjAABgACMjEABwACMjIABwACMjMACAACMjQACAACMjUABwACMjYABwACMjcACQACMjgABwACMjkACgACMzAACwAIJGltcG9ydHMBcAEfHwklAQBBAAsfAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHgAuCXByb2R1Y2VycwEMcHJvY2Vzc2VkLWJ5AQ13aXQtY29tcG9uZW50BjAuMjEuMAAcBG5hbWUAFRR3aXQtY29tcG9uZW50OmZpeHVwcw');
2701
2709
  ({ exports: exports0 } = await instantiateCore(await module2));
2702
2710
  ({ exports: exports1 } = await instantiateCore(await module0, {
2703
2711
  wasi_snapshot_preview1: {
Binary file
Binary file
package/obj/wasm-tools.js CHANGED
@@ -3760,24 +3760,24 @@ let _initialized = false;
3760
3760
  export const $init = (async() => {
3761
3761
  const module0 = fetchCompile(new URL('./wasm-tools.core.wasm', import.meta.url));
3762
3762
  const module1 = fetchCompile(new URL('./wasm-tools.core2.wasm', import.meta.url));
3763
- const module2 = base64Compile('AGFzbQEAAAABaw9gAX8AYAN/fn8AYAJ/fwBgBX9/f39/AGAHf39/f39/fwBgBH9/f38AYAJ+fwBgCX9/f39/fn5/fwF/YAJ/fwF/YAV/f39+fwF/YAV/f39/fwF/YAR/f39/AX9gAX8Bf2ADf39/AX9gAX8AAyYlAAEBAgICAgMEAgMCAgEBAgUFAgYAAAAABwgJCggLCwgIDAgNDgQFAXABJSUHuwEmATAAAAExAAEBMgACATMAAwE0AAQBNQAFATYABgE3AAcBOAAIATkACQIxMAAKAjExAAsCMTIADAIxMwANAjE0AA4CMTUADwIxNgAQAjE3ABECMTgAEgIxOQATAjIwABQCMjEAFQIyMgAWAjIzABcCMjQAGAIyNQAZAjI2ABoCMjcAGwIyOAAcAjI5AB0CMzAAHgIzMQAfAjMyACACMzMAIQIzNAAiAjM1ACMCMzYAJAgkaW1wb3J0cwEACvkDJQkAIABBABEAAAsNACAAIAEgAkEBEQEACw0AIAAgASACQQIRAQALCwAgACABQQMRAgALCwAgACABQQQRAgALCwAgACABQQURAgALCwAgACABQQYRAgALEQAgACABIAIgAyAEQQcRAwALFQAgACABIAIgAyAEIAUgBkEIEQQACwsAIAAgAUEJEQIACxEAIAAgASACIAMgBEEKEQMACwsAIAAgAUELEQIACwsAIAAgAUEMEQIACw0AIAAgASACQQ0RAQALDQAgACABIAJBDhEBAAsLACAAIAFBDxECAAsPACAAIAEgAiADQRARBQALDwAgACABIAIgA0EREQUACwsAIAAgAUESEQIACwsAIAAgAUETEQYACwkAIABBFBEAAAsJACAAQRURAAALCQAgAEEWEQAACwkAIABBFxEAAAsZACAAIAEgAiADIAQgBSAGIAcgCEEYEQcACwsAIAAgAUEZEQgACxEAIAAgASACIAMgBEEaEQkACxEAIAAgASACIAMgBEEbEQoACwsAIAAgAUEcEQgACw8AIAAgASACIANBHRELAAsPACAAIAEgAiADQR4RCwALCwAgACABQR8RCAALCwAgACABQSARCAALCQAgAEEhEQwACwsAIAAgAUEiEQgACw0AIAAgASACQSMRDQALCQAgAEEkEQ4ACwAuCXByb2R1Y2VycwEMcHJvY2Vzc2VkLWJ5AQ13aXQtY29tcG9uZW50BjAuMjAuMACAEQRuYW1lABMSd2l0LWNvbXBvbmVudDpzaGltAeMQJQA3aW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL3ByZW9wZW5zQDAuMi4wLWdldC1kaXJlY3RvcmllcwFHaW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL3R5cGVzQDAuMi4wLVttZXRob2RdZGVzY3JpcHRvci5yZWFkLXZpYS1zdHJlYW0CSGluZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS90eXBlc0AwLjIuMC1bbWV0aG9kXWRlc2NyaXB0b3Iud3JpdGUtdmlhLXN0cmVhbQNJaW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL3R5cGVzQDAuMi4wLVttZXRob2RdZGVzY3JpcHRvci5hcHBlbmQtdmlhLXN0cmVhbQRAaW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL3R5cGVzQDAuMi4wLVttZXRob2RdZGVzY3JpcHRvci5nZXQtdHlwZQVGaW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL3R5cGVzQDAuMi4wLVttZXRob2RdZGVzY3JpcHRvci5yZWFkLWRpcmVjdG9yeQY8aW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL3R5cGVzQDAuMi4wLVttZXRob2RdZGVzY3JpcHRvci5zdGF0Bz9pbmRpcmVjdC13YXNpOmZpbGVzeXN0ZW0vdHlwZXNAMC4yLjAtW21ldGhvZF1kZXNjcmlwdG9yLnN0YXQtYXQIP2luZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS90eXBlc0AwLjIuMC1bbWV0aG9kXWRlc2NyaXB0b3Iub3Blbi1hdAlFaW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL3R5cGVzQDAuMi4wLVttZXRob2RdZGVzY3JpcHRvci5tZXRhZGF0YS1oYXNoCkhpbmRpcmVjdC13YXNpOmZpbGVzeXN0ZW0vdHlwZXNAMC4yLjAtW21ldGhvZF1kZXNjcmlwdG9yLm1ldGFkYXRhLWhhc2gtYXQLWGluZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS90eXBlc0AwLjIuMC1bbWV0aG9kXWRpcmVjdG9yeS1lbnRyeS1zdHJlYW0ucmVhZC1kaXJlY3RvcnktZW50cnkMOmluZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS90eXBlc0AwLjIuMC1maWxlc3lzdGVtLWVycm9yLWNvZGUNOGluZGlyZWN0LXdhc2k6aW8vc3RyZWFtc0AwLjIuMC1bbWV0aG9kXWlucHV0LXN0cmVhbS5yZWFkDkFpbmRpcmVjdC13YXNpOmlvL3N0cmVhbXNAMC4yLjAtW21ldGhvZF1pbnB1dC1zdHJlYW0uYmxvY2tpbmctcmVhZA9AaW5kaXJlY3Qtd2FzaTppby9zdHJlYW1zQDAuMi4wLVttZXRob2Rdb3V0cHV0LXN0cmVhbS5jaGVjay13cml0ZRA6aW5kaXJlY3Qtd2FzaTppby9zdHJlYW1zQDAuMi4wLVttZXRob2Rdb3V0cHV0LXN0cmVhbS53cml0ZRFNaW5kaXJlY3Qtd2FzaTppby9zdHJlYW1zQDAuMi4wLVttZXRob2Rdb3V0cHV0LXN0cmVhbS5ibG9ja2luZy13cml0ZS1hbmQtZmx1c2gSQ2luZGlyZWN0LXdhc2k6aW8vc3RyZWFtc0AwLjIuMC1bbWV0aG9kXW91dHB1dC1zdHJlYW0uYmxvY2tpbmctZmx1c2gTMmluZGlyZWN0LXdhc2k6cmFuZG9tL3JhbmRvbUAwLjIuMC1nZXQtcmFuZG9tLWJ5dGVzFDNpbmRpcmVjdC13YXNpOmNsaS9lbnZpcm9ubWVudEAwLjIuMC1nZXQtZW52aXJvbm1lbnQVOWluZGlyZWN0LXdhc2k6Y2xpL3Rlcm1pbmFsLXN0ZGluQDAuMi4wLWdldC10ZXJtaW5hbC1zdGRpbhY7aW5kaXJlY3Qtd2FzaTpjbGkvdGVybWluYWwtc3Rkb3V0QDAuMi4wLWdldC10ZXJtaW5hbC1zdGRvdXQXO2luZGlyZWN0LXdhc2k6Y2xpL3Rlcm1pbmFsLXN0ZGVyckAwLjIuMC1nZXQtdGVybWluYWwtc3RkZXJyGCZhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLXBhdGhfb3BlbhksYWRhcHQtd2FzaV9zbmFwc2hvdF9wcmV2aWV3MS1mZF9maWxlc3RhdF9nZXQaJ2FkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfcmVhZGRpchsuYWRhcHQtd2FzaV9zbmFwc2hvdF9wcmV2aWV3MS1wYXRoX2ZpbGVzdGF0X2dldBwnYWRhcHQtd2FzaV9zbmFwc2hvdF9wcmV2aWV3MS1yYW5kb21fZ2V0HSRhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLWZkX3JlYWQeJWFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfd3JpdGUfKGFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZW52aXJvbl9nZXQgLmFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZW52aXJvbl9zaXplc19nZXQhJWFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfY2xvc2UiK2FkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfcHJlc3RhdF9nZXQjMGFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfcHJlc3RhdF9kaXJfbmFtZSQmYWRhcHQtd2FzaV9zbmFwc2hvdF9wcmV2aWV3MS1wcm9jX2V4aXQ');
3764
- const module3 = base64Compile('AGFzbQEAAAABaw9gAX8AYAN/fn8AYAJ/fwBgBX9/f39/AGAHf39/f39/fwBgBH9/f38AYAJ+fwBgCX9/f39/fn5/fwF/YAJ/fwF/YAV/f39+fwF/YAV/f39/fwF/YAR/f39/AX9gAX8Bf2ADf39/AX9gAX8AAuQBJgABMAAAAAExAAEAATIAAQABMwACAAE0AAIAATUAAgABNgACAAE3AAMAATgABAABOQACAAIxMAADAAIxMQACAAIxMgACAAIxMwABAAIxNAABAAIxNQACAAIxNgAFAAIxNwAFAAIxOAACAAIxOQAGAAIyMAAAAAIyMQAAAAIyMgAAAAIyMwAAAAIyNAAHAAIyNQAIAAIyNgAJAAIyNwAKAAIyOAAIAAIyOQALAAIzMAALAAIzMQAIAAIzMgAIAAIzMwAMAAIzNAAIAAIzNQANAAIzNgAOAAgkaW1wb3J0cwFwASUlCSsBAEEACyUAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkAC4JcHJvZHVjZXJzAQxwcm9jZXNzZWQtYnkBDXdpdC1jb21wb25lbnQGMC4yMC4wABwEbmFtZQAVFHdpdC1jb21wb25lbnQ6Zml4dXBz');
3763
+ const module2 = base64Compile('AGFzbQEAAAABaw9gAX8AYAN/fn8AYAJ/fwBgBX9/f39/AGAHf39/f39/fwBgBH9/f38AYAJ+fwBgCX9/f39/fn5/fwF/YAV/f39+fwF/YAV/f39/fwF/YAJ/fwF/YAR/f39/AX9gAX8Bf2ADf39/AX9gAX8AAyYlAAEBAgICAgMEAgMCAgEBAgUFAgYAAAAABwgJCgoLCwoKDAoNDgQFAXABJSUHuwEmATAAAAExAAEBMgACATMAAwE0AAQBNQAFATYABgE3AAcBOAAIATkACQIxMAAKAjExAAsCMTIADAIxMwANAjE0AA4CMTUADwIxNgAQAjE3ABECMTgAEgIxOQATAjIwABQCMjEAFQIyMgAWAjIzABcCMjQAGAIyNQAZAjI2ABoCMjcAGwIyOAAcAjI5AB0CMzAAHgIzMQAfAjMyACACMzMAIQIzNAAiAjM1ACMCMzYAJAgkaW1wb3J0cwEACvkDJQkAIABBABEAAAsNACAAIAEgAkEBEQEACw0AIAAgASACQQIRAQALCwAgACABQQMRAgALCwAgACABQQQRAgALCwAgACABQQURAgALCwAgACABQQYRAgALEQAgACABIAIgAyAEQQcRAwALFQAgACABIAIgAyAEIAUgBkEIEQQACwsAIAAgAUEJEQIACxEAIAAgASACIAMgBEEKEQMACwsAIAAgAUELEQIACwsAIAAgAUEMEQIACw0AIAAgASACQQ0RAQALDQAgACABIAJBDhEBAAsLACAAIAFBDxECAAsPACAAIAEgAiADQRARBQALDwAgACABIAIgA0EREQUACwsAIAAgAUESEQIACwsAIAAgAUETEQYACwkAIABBFBEAAAsJACAAQRURAAALCQAgAEEWEQAACwkAIABBFxEAAAsZACAAIAEgAiADIAQgBSAGIAcgCEEYEQcACxEAIAAgASACIAMgBEEZEQgACxEAIAAgASACIAMgBEEaEQkACwsAIAAgAUEbEQoACwsAIAAgAUEcEQoACw8AIAAgASACIANBHRELAAsPACAAIAEgAiADQR4RCwALCwAgACABQR8RCgALCwAgACABQSARCgALCQAgAEEhEQwACwsAIAAgAUEiEQoACw0AIAAgASACQSMRDQALCQAgAEEkEQ4ACwAuCXByb2R1Y2VycwEMcHJvY2Vzc2VkLWJ5AQ13aXQtY29tcG9uZW50BjAuMjEuMACAEQRuYW1lABMSd2l0LWNvbXBvbmVudDpzaGltAeMQJQA3aW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL3ByZW9wZW5zQDAuMi4wLWdldC1kaXJlY3RvcmllcwFHaW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL3R5cGVzQDAuMi4wLVttZXRob2RdZGVzY3JpcHRvci5yZWFkLXZpYS1zdHJlYW0CSGluZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS90eXBlc0AwLjIuMC1bbWV0aG9kXWRlc2NyaXB0b3Iud3JpdGUtdmlhLXN0cmVhbQNJaW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL3R5cGVzQDAuMi4wLVttZXRob2RdZGVzY3JpcHRvci5hcHBlbmQtdmlhLXN0cmVhbQRAaW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL3R5cGVzQDAuMi4wLVttZXRob2RdZGVzY3JpcHRvci5nZXQtdHlwZQVGaW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL3R5cGVzQDAuMi4wLVttZXRob2RdZGVzY3JpcHRvci5yZWFkLWRpcmVjdG9yeQY8aW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL3R5cGVzQDAuMi4wLVttZXRob2RdZGVzY3JpcHRvci5zdGF0Bz9pbmRpcmVjdC13YXNpOmZpbGVzeXN0ZW0vdHlwZXNAMC4yLjAtW21ldGhvZF1kZXNjcmlwdG9yLnN0YXQtYXQIP2luZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS90eXBlc0AwLjIuMC1bbWV0aG9kXWRlc2NyaXB0b3Iub3Blbi1hdAlFaW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL3R5cGVzQDAuMi4wLVttZXRob2RdZGVzY3JpcHRvci5tZXRhZGF0YS1oYXNoCkhpbmRpcmVjdC13YXNpOmZpbGVzeXN0ZW0vdHlwZXNAMC4yLjAtW21ldGhvZF1kZXNjcmlwdG9yLm1ldGFkYXRhLWhhc2gtYXQLWGluZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS90eXBlc0AwLjIuMC1bbWV0aG9kXWRpcmVjdG9yeS1lbnRyeS1zdHJlYW0ucmVhZC1kaXJlY3RvcnktZW50cnkMOmluZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS90eXBlc0AwLjIuMC1maWxlc3lzdGVtLWVycm9yLWNvZGUNOGluZGlyZWN0LXdhc2k6aW8vc3RyZWFtc0AwLjIuMC1bbWV0aG9kXWlucHV0LXN0cmVhbS5yZWFkDkFpbmRpcmVjdC13YXNpOmlvL3N0cmVhbXNAMC4yLjAtW21ldGhvZF1pbnB1dC1zdHJlYW0uYmxvY2tpbmctcmVhZA9AaW5kaXJlY3Qtd2FzaTppby9zdHJlYW1zQDAuMi4wLVttZXRob2Rdb3V0cHV0LXN0cmVhbS5jaGVjay13cml0ZRA6aW5kaXJlY3Qtd2FzaTppby9zdHJlYW1zQDAuMi4wLVttZXRob2Rdb3V0cHV0LXN0cmVhbS53cml0ZRFNaW5kaXJlY3Qtd2FzaTppby9zdHJlYW1zQDAuMi4wLVttZXRob2Rdb3V0cHV0LXN0cmVhbS5ibG9ja2luZy13cml0ZS1hbmQtZmx1c2gSQ2luZGlyZWN0LXdhc2k6aW8vc3RyZWFtc0AwLjIuMC1bbWV0aG9kXW91dHB1dC1zdHJlYW0uYmxvY2tpbmctZmx1c2gTMmluZGlyZWN0LXdhc2k6cmFuZG9tL3JhbmRvbUAwLjIuMC1nZXQtcmFuZG9tLWJ5dGVzFDNpbmRpcmVjdC13YXNpOmNsaS9lbnZpcm9ubWVudEAwLjIuMC1nZXQtZW52aXJvbm1lbnQVOWluZGlyZWN0LXdhc2k6Y2xpL3Rlcm1pbmFsLXN0ZGluQDAuMi4wLWdldC10ZXJtaW5hbC1zdGRpbhY7aW5kaXJlY3Qtd2FzaTpjbGkvdGVybWluYWwtc3Rkb3V0QDAuMi4wLWdldC10ZXJtaW5hbC1zdGRvdXQXO2luZGlyZWN0LXdhc2k6Y2xpL3Rlcm1pbmFsLXN0ZGVyckAwLjIuMC1nZXQtdGVybWluYWwtc3RkZXJyGCZhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLXBhdGhfb3BlbhknYWRhcHQtd2FzaV9zbmFwc2hvdF9wcmV2aWV3MS1mZF9yZWFkZGlyGi5hZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLXBhdGhfZmlsZXN0YXRfZ2V0GydhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLXJhbmRvbV9nZXQcLGFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfZmlsZXN0YXRfZ2V0HSRhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLWZkX3JlYWQeJWFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfd3JpdGUfKGFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZW52aXJvbl9nZXQgLmFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZW52aXJvbl9zaXplc19nZXQhJWFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfY2xvc2UiK2FkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfcHJlc3RhdF9nZXQjMGFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfcHJlc3RhdF9kaXJfbmFtZSQmYWRhcHQtd2FzaV9zbmFwc2hvdF9wcmV2aWV3MS1wcm9jX2V4aXQ');
3764
+ const module3 = base64Compile('AGFzbQEAAAABaw9gAX8AYAN/fn8AYAJ/fwBgBX9/f39/AGAHf39/f39/fwBgBH9/f38AYAJ+fwBgCX9/f39/fn5/fwF/YAV/f39+fwF/YAV/f39/fwF/YAJ/fwF/YAR/f39/AX9gAX8Bf2ADf39/AX9gAX8AAuQBJgABMAAAAAExAAEAATIAAQABMwACAAE0AAIAATUAAgABNgACAAE3AAMAATgABAABOQACAAIxMAADAAIxMQACAAIxMgACAAIxMwABAAIxNAABAAIxNQACAAIxNgAFAAIxNwAFAAIxOAACAAIxOQAGAAIyMAAAAAIyMQAAAAIyMgAAAAIyMwAAAAIyNAAHAAIyNQAIAAIyNgAJAAIyNwAKAAIyOAAKAAIyOQALAAIzMAALAAIzMQAKAAIzMgAKAAIzMwAMAAIzNAAKAAIzNQANAAIzNgAOAAgkaW1wb3J0cwFwASUlCSsBAEEACyUAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkAC4JcHJvZHVjZXJzAQxwcm9jZXNzZWQtYnkBDXdpdC1jb21wb25lbnQGMC4yMS4wABwEbmFtZQAVFHdpdC1jb21wb25lbnQ6Zml4dXBz');
3765
3765
  ({ exports: exports0 } = await instantiateCore(await module2));
3766
3766
  ({ exports: exports1 } = await instantiateCore(await module0, {
3767
3767
  wasi_snapshot_preview1: {
3768
3768
  environ_get: exports0['31'],
3769
3769
  environ_sizes_get: exports0['32'],
3770
3770
  fd_close: exports0['33'],
3771
- fd_filestat_get: exports0['25'],
3771
+ fd_filestat_get: exports0['28'],
3772
3772
  fd_prestat_dir_name: exports0['35'],
3773
3773
  fd_prestat_get: exports0['34'],
3774
3774
  fd_read: exports0['29'],
3775
- fd_readdir: exports0['26'],
3775
+ fd_readdir: exports0['25'],
3776
3776
  fd_write: exports0['30'],
3777
- path_filestat_get: exports0['27'],
3777
+ path_filestat_get: exports0['26'],
3778
3778
  path_open: exports0['24'],
3779
3779
  proc_exit: exports0['36'],
3780
- random_get: exports0['28'],
3780
+ random_get: exports0['27'],
3781
3781
  },
3782
3782
  }));
3783
3783
  ({ exports: exports2 } = await instantiateCore(await module1, {
@@ -3876,10 +3876,10 @@ export const $init = (async() => {
3876
3876
  '22': trampoline33,
3877
3877
  '23': trampoline34,
3878
3878
  '24': exports2.path_open,
3879
- '25': exports2.fd_filestat_get,
3880
- '26': exports2.fd_readdir,
3881
- '27': exports2.path_filestat_get,
3882
- '28': exports2.random_get,
3879
+ '25': exports2.fd_readdir,
3880
+ '26': exports2.path_filestat_get,
3881
+ '27': exports2.random_get,
3882
+ '28': exports2.fd_filestat_get,
3883
3883
  '29': exports2.fd_read,
3884
3884
  '3': trampoline14,
3885
3885
  '30': exports2.fd_write,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bytecodealliance/jco",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "JavaScript tooling for working with WebAssembly Components",
5
5
  "author": "Guy Bedford",
6
6
  "bin": {
@@ -27,7 +27,7 @@
27
27
  "terser": "^5.16.1"
28
28
  },
29
29
  "devDependencies": {
30
- "@bytecodealliance/componentize-js": "^0.6.0",
30
+ "@bytecodealliance/componentize-js": "^0.7.0",
31
31
  "@types/node": "^18.11.17",
32
32
  "@typescript-eslint/eslint-plugin": "^5.41.0",
33
33
  "@typescript-eslint/parser": "^5.41.0",
@@ -55,7 +55,8 @@
55
55
  "build:release": "cargo xtask build release",
56
56
  "build:types:preview2-shim": "cargo xtask generate wasi-types",
57
57
  "lint": "eslint -c eslintrc.cjs lib/**/*.js packages/*/lib/**/*.js",
58
- "test": "mocha -u tdd test/test.js --timeout 120000",
58
+ "test:lts": "mocha -u tdd test/test.js --timeout 30000",
59
+ "test": "node --experimental-wasm-multi-memory node_modules/mocha/bin/mocha.js -u tdd test/test.js --timeout 30000",
59
60
  "prepublishOnly": "cargo xtask build release && npm run test"
60
61
  },
61
62
  "files": [
@@ -90,6 +90,7 @@ async function wasm2Js (source) {
90
90
  * minify?: bool,
91
91
  * optimize?: bool,
92
92
  * namespacedExports?: bool,
93
+ * multiMemory?: bool,
93
94
  * optArgs?: string[],
94
95
  * }} opts
95
96
  * @returns {Promise<{ files: { [filename: string]: Uint8Array }, imports: string[], exports: [string, 'function' | 'instance'][] }>}
@@ -139,6 +140,7 @@ export async function transpileComponent (component, opts = {}) {
139
140
  tlaCompat: opts.tlaCompat ?? false,
140
141
  base64Cutoff: opts.js ? 0 : opts.base64Cutoff ?? 5000,
141
142
  noNamespacedExports: opts.namespacedExports === false,
143
+ multiMemory: opts.multiMemory === true,
142
144
  });
143
145
 
144
146
  let outDir = (opts.outDir ?? '').replace(/\\/g, '/');
package/src/jco.js CHANGED
@@ -11,7 +11,7 @@ program
11
11
  .name('jco')
12
12
  .description(c`{bold jco - WebAssembly JS Component Tools}\n JS Component Transpilation Bindgen & Wasm Tools for JS`)
13
13
  .usage('<command> [options]')
14
- .version('1.0.0');
14
+ .version('1.0.2');
15
15
 
16
16
  function myParseInt(value) {
17
17
  return parseInt(value, 10);
@@ -49,6 +49,7 @@ program.command('transpile')
49
49
  .addOption(new Option('-I, --instantiation [mode]', 'output for custom module instantiation').choices(['async', 'sync']).preset('async'))
50
50
  .option('-q, --quiet', 'disable logging')
51
51
  .option('--no-namespaced-exports', 'disable namespaced exports for typescript compatibility')
52
+ .option('--multi-memory', 'optimized output for Wasm multi-memory')
52
53
  .option('--', 'for --optimize, custom wasm-opt arguments (defaults to best size optimization)')
53
54
  .action(asyncAction(transpile));
54
55