@bytecodealliance/jco 0.9.5 → 0.10.1

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,12 +1,21 @@
1
1
  export namespace Streams {
2
- export function read(this: InputStream, len: bigint): [Uint8Array | ArrayBuffer, boolean];
3
- export function blockingRead(this: InputStream, len: bigint): [Uint8Array | ArrayBuffer, boolean];
2
+ export function read(this: InputStream, len: bigint): [Uint8Array | ArrayBuffer, StreamStatus];
3
+ export function blockingRead(this: InputStream, len: bigint): [Uint8Array | ArrayBuffer, StreamStatus];
4
4
  export function dropInputStream(this: InputStream): void;
5
- export function write(this: OutputStream, buf: Uint8Array): bigint;
6
- export function blockingWrite(this: OutputStream, buf: Uint8Array): bigint;
5
+ export function write(this: OutputStream, buf: Uint8Array): [bigint, StreamStatus];
6
+ export function blockingWrite(this: OutputStream, buf: Uint8Array): [bigint, StreamStatus];
7
7
  export function dropOutputStream(this: OutputStream): void;
8
8
  }
9
9
  export type InputStream = number;
10
+ /**
11
+ * # Variants
12
+ *
13
+ * ## `"open"`
14
+ *
15
+ * ## `"ended"`
16
+ */
17
+ export type StreamStatus = 'open' | 'ended';
10
18
  export interface StreamError {
19
+ dummy: number,
11
20
  }
12
21
  export type OutputStream = number;
@@ -1,3 +1,16 @@
1
+ export type Files = [string, Uint8Array][];
2
+ export type Maps = [string, string][];
3
+ export interface GenerateOptions {
4
+ name: string,
5
+ noTypescript?: boolean,
6
+ instantiation?: boolean,
7
+ map?: Maps,
8
+ compat?: boolean,
9
+ noNodejsCompat?: boolean,
10
+ base64Cutoff?: number,
11
+ tlaCompat?: boolean,
12
+ validLiftingOptimization?: boolean,
13
+ }
1
14
  export type Wit = WitSource | WitBinary | WitPath;
2
15
  export interface WitSource {
3
16
  tag: 'source',
@@ -11,7 +24,6 @@ export interface WitPath {
11
24
  tag: 'path',
12
25
  val: string,
13
26
  }
14
- export type Maps = [string, string][];
15
27
  export interface TypeGenerationOptions {
16
28
  wit: Wit,
17
29
  world?: string,
@@ -19,18 +31,6 @@ export interface TypeGenerationOptions {
19
31
  instantiation?: boolean,
20
32
  map?: Maps,
21
33
  }
22
- export interface GenerateOptions {
23
- name: string,
24
- noTypescript?: boolean,
25
- instantiation?: boolean,
26
- map?: Maps,
27
- compat?: boolean,
28
- noNodejsCompat?: boolean,
29
- base64Cutoff?: number,
30
- tlaCompat?: boolean,
31
- validLiftingOptimization?: boolean,
32
- }
33
- export type Files = [string, Uint8Array][];
34
34
  /**
35
35
  * # Variants
36
36
  *
@@ -104,10 +104,33 @@ function lowering0(arg0) {
104
104
  }
105
105
 
106
106
  function lowering1(arg0) {
107
- dropDescriptor(arg0 >>> 0);
107
+ dropInputStream(arg0 >>> 0);
108
108
  }
109
109
 
110
110
  function lowering2(arg0) {
111
+ dropOutputStream(arg0 >>> 0);
112
+ }
113
+
114
+ function lowering3(arg0) {
115
+ dropDescriptor(arg0 >>> 0);
116
+ }
117
+
118
+ function lowering4() {
119
+ const ret = getStdin();
120
+ return toUint32(ret);
121
+ }
122
+
123
+ function lowering5() {
124
+ const ret = getStdout();
125
+ return toUint32(ret);
126
+ }
127
+
128
+ function lowering6() {
129
+ const ret = getStderr();
130
+ return toUint32(ret);
131
+ }
132
+
133
+ function lowering7(arg0) {
111
134
  let variant0;
112
135
  switch (arg0) {
113
136
  case 0: {
@@ -130,29 +153,6 @@ function lowering2(arg0) {
130
153
  }
131
154
  exit(variant0);
132
155
  }
133
-
134
- function lowering3() {
135
- const ret = getStderr();
136
- return toUint32(ret);
137
- }
138
-
139
- function lowering4() {
140
- const ret = getStdin();
141
- return toUint32(ret);
142
- }
143
-
144
- function lowering5() {
145
- const ret = getStdout();
146
- return toUint32(ret);
147
- }
148
-
149
- function lowering6(arg0) {
150
- dropInputStream(arg0 >>> 0);
151
- }
152
-
153
- function lowering7(arg0) {
154
- dropOutputStream(arg0 >>> 0);
155
- }
156
156
  let exports2;
157
157
  let memory0;
158
158
  let realloc0;
@@ -1467,10 +1467,10 @@ function lowering17(arg0, arg1, arg2) {
1467
1467
  } catch (e) {
1468
1468
  ret = { tag: 'err', val: getErrorPayload(e) };
1469
1469
  }
1470
- const variant3 = ret;
1471
- switch (variant3.tag) {
1470
+ const variant4 = ret;
1471
+ switch (variant4.tag) {
1472
1472
  case 'ok': {
1473
- const e = variant3.val;
1473
+ const e = variant4.val;
1474
1474
  dataView(memory0).setInt8(arg2 + 0, 0, true);
1475
1475
  const [tuple0_0, tuple0_1] = e;
1476
1476
  const val1 = tuple0_0;
@@ -1480,13 +1480,33 @@ function lowering17(arg0, arg1, arg2) {
1480
1480
  (new Uint8Array(memory0.buffer, ptr1, len1 * 1)).set(src1);
1481
1481
  dataView(memory0).setInt32(arg2 + 8, len1, true);
1482
1482
  dataView(memory0).setInt32(arg2 + 4, ptr1, true);
1483
- dataView(memory0).setInt8(arg2 + 12, tuple0_1 ? 1 : 0, true);
1483
+ const val2 = tuple0_1;
1484
+ let enum2;
1485
+ switch (val2) {
1486
+ case 'open': {
1487
+ enum2 = 0;
1488
+ break;
1489
+ }
1490
+ case 'ended': {
1491
+ enum2 = 1;
1492
+ break;
1493
+ }
1494
+ default: {
1495
+ if ((tuple0_1) instanceof Error) {
1496
+ console.error(tuple0_1);
1497
+ }
1498
+
1499
+ throw new TypeError(`"${val2}" is not one of the cases of stream-status`);
1500
+ }
1501
+ }
1502
+ dataView(memory0).setInt8(arg2 + 12, enum2, true);
1484
1503
  break;
1485
1504
  }
1486
1505
  case 'err': {
1487
- const e = variant3.val;
1506
+ const e = variant4.val;
1488
1507
  dataView(memory0).setInt8(arg2 + 0, 1, true);
1489
- const { } = e;
1508
+ const {dummy: v3_0 } = e;
1509
+ dataView(memory0).setInt32(arg2 + 4, toUint32(v3_0), true);
1490
1510
  break;
1491
1511
  }
1492
1512
  default: {
@@ -1502,10 +1522,10 @@ function lowering18(arg0, arg1, arg2) {
1502
1522
  } catch (e) {
1503
1523
  ret = { tag: 'err', val: getErrorPayload(e) };
1504
1524
  }
1505
- const variant3 = ret;
1506
- switch (variant3.tag) {
1525
+ const variant4 = ret;
1526
+ switch (variant4.tag) {
1507
1527
  case 'ok': {
1508
- const e = variant3.val;
1528
+ const e = variant4.val;
1509
1529
  dataView(memory0).setInt8(arg2 + 0, 0, true);
1510
1530
  const [tuple0_0, tuple0_1] = e;
1511
1531
  const val1 = tuple0_0;
@@ -1515,13 +1535,33 @@ function lowering18(arg0, arg1, arg2) {
1515
1535
  (new Uint8Array(memory0.buffer, ptr1, len1 * 1)).set(src1);
1516
1536
  dataView(memory0).setInt32(arg2 + 8, len1, true);
1517
1537
  dataView(memory0).setInt32(arg2 + 4, ptr1, true);
1518
- dataView(memory0).setInt8(arg2 + 12, tuple0_1 ? 1 : 0, true);
1538
+ const val2 = tuple0_1;
1539
+ let enum2;
1540
+ switch (val2) {
1541
+ case 'open': {
1542
+ enum2 = 0;
1543
+ break;
1544
+ }
1545
+ case 'ended': {
1546
+ enum2 = 1;
1547
+ break;
1548
+ }
1549
+ default: {
1550
+ if ((tuple0_1) instanceof Error) {
1551
+ console.error(tuple0_1);
1552
+ }
1553
+
1554
+ throw new TypeError(`"${val2}" is not one of the cases of stream-status`);
1555
+ }
1556
+ }
1557
+ dataView(memory0).setInt8(arg2 + 12, enum2, true);
1519
1558
  break;
1520
1559
  }
1521
1560
  case 'err': {
1522
- const e = variant3.val;
1561
+ const e = variant4.val;
1523
1562
  dataView(memory0).setInt8(arg2 + 0, 1, true);
1524
- const { } = e;
1563
+ const {dummy: v3_0 } = e;
1564
+ dataView(memory0).setInt32(arg2 + 4, toUint32(v3_0), true);
1525
1565
  break;
1526
1566
  }
1527
1567
  default: {
@@ -1540,18 +1580,40 @@ function lowering19(arg0, arg1, arg2, arg3) {
1540
1580
  } catch (e) {
1541
1581
  ret = { tag: 'err', val: getErrorPayload(e) };
1542
1582
  }
1543
- const variant2 = ret;
1544
- switch (variant2.tag) {
1583
+ const variant4 = ret;
1584
+ switch (variant4.tag) {
1545
1585
  case 'ok': {
1546
- const e = variant2.val;
1586
+ const e = variant4.val;
1547
1587
  dataView(memory0).setInt8(arg3 + 0, 0, true);
1548
- dataView(memory0).setBigInt64(arg3 + 8, toUint64(e), true);
1588
+ const [tuple1_0, tuple1_1] = e;
1589
+ dataView(memory0).setBigInt64(arg3 + 8, toUint64(tuple1_0), true);
1590
+ const val2 = tuple1_1;
1591
+ let enum2;
1592
+ switch (val2) {
1593
+ case 'open': {
1594
+ enum2 = 0;
1595
+ break;
1596
+ }
1597
+ case 'ended': {
1598
+ enum2 = 1;
1599
+ break;
1600
+ }
1601
+ default: {
1602
+ if ((tuple1_1) instanceof Error) {
1603
+ console.error(tuple1_1);
1604
+ }
1605
+
1606
+ throw new TypeError(`"${val2}" is not one of the cases of stream-status`);
1607
+ }
1608
+ }
1609
+ dataView(memory0).setInt8(arg3 + 16, enum2, true);
1549
1610
  break;
1550
1611
  }
1551
1612
  case 'err': {
1552
- const e = variant2.val;
1613
+ const e = variant4.val;
1553
1614
  dataView(memory0).setInt8(arg3 + 0, 1, true);
1554
- const { } = e;
1615
+ const {dummy: v3_0 } = e;
1616
+ dataView(memory0).setInt32(arg3 + 8, toUint32(v3_0), true);
1555
1617
  break;
1556
1618
  }
1557
1619
  default: {
@@ -1570,18 +1632,40 @@ function lowering20(arg0, arg1, arg2, arg3) {
1570
1632
  } catch (e) {
1571
1633
  ret = { tag: 'err', val: getErrorPayload(e) };
1572
1634
  }
1573
- const variant2 = ret;
1574
- switch (variant2.tag) {
1635
+ const variant4 = ret;
1636
+ switch (variant4.tag) {
1575
1637
  case 'ok': {
1576
- const e = variant2.val;
1638
+ const e = variant4.val;
1577
1639
  dataView(memory0).setInt8(arg3 + 0, 0, true);
1578
- dataView(memory0).setBigInt64(arg3 + 8, toUint64(e), true);
1640
+ const [tuple1_0, tuple1_1] = e;
1641
+ dataView(memory0).setBigInt64(arg3 + 8, toUint64(tuple1_0), true);
1642
+ const val2 = tuple1_1;
1643
+ let enum2;
1644
+ switch (val2) {
1645
+ case 'open': {
1646
+ enum2 = 0;
1647
+ break;
1648
+ }
1649
+ case 'ended': {
1650
+ enum2 = 1;
1651
+ break;
1652
+ }
1653
+ default: {
1654
+ if ((tuple1_1) instanceof Error) {
1655
+ console.error(tuple1_1);
1656
+ }
1657
+
1658
+ throw new TypeError(`"${val2}" is not one of the cases of stream-status`);
1659
+ }
1660
+ }
1661
+ dataView(memory0).setInt8(arg3 + 16, enum2, true);
1579
1662
  break;
1580
1663
  }
1581
1664
  case 'err': {
1582
- const e = variant2.val;
1665
+ const e = variant4.val;
1583
1666
  dataView(memory0).setInt8(arg3 + 0, 1, true);
1584
- const { } = e;
1667
+ const {dummy: v3_0 } = e;
1668
+ dataView(memory0).setInt32(arg3 + 8, toUint32(v3_0), true);
1585
1669
  break;
1586
1670
  }
1587
1671
  default: {
@@ -1930,8 +2014,9 @@ let _initialized = false;
1930
2014
  export const $init = (async() => {
1931
2015
  const module0 = fetchCompile(new URL('./js-component-bindgen-component.core.wasm', import.meta.url));
1932
2016
  const module1 = fetchCompile(new URL('./js-component-bindgen-component.core2.wasm', import.meta.url));
1933
- const module2 = base64Compile('AGFzbQEAAAABUgxgAX8AYAN/fn8AYAJ/fwBgCH9/f39/f39/AGACfn8AYAR/f39/AGACf38Bf2AEf39/fwF/YAl/f39/f35+f38Bf2ABfwF/YAN/f38Bf2ABfwADGRgAAQECAgIDBAABAQUFBgcHCAYGBgkGCgsEBQFwARgYB3oZATAAAAExAAEBMgACATMAAwE0AAQBNQAFATYABgE3AAcBOAAIATkACQIxMAAKAjExAAsCMTIADAIxMwANAjE0AA4CMTUADwIxNgAQAjE3ABECMTgAEgIxOQATAjIwABQCMjEAFQIyMgAWAjIzABcIJGltcG9ydHMBAArNAhgJACAAQQARAAALDQAgACABIAJBAREBAAsNACAAIAEgAkECEQEACwsAIAAgAUEDEQIACwsAIAAgAUEEEQIACwsAIAAgAUEFEQIACxcAIAAgASACIAMgBCAFIAYgB0EGEQMACwsAIAAgAUEHEQQACwkAIABBCBEAAAsNACAAIAEgAkEJEQEACw0AIAAgASACQQoRAQALDwAgACABIAIgA0ELEQUACw8AIAAgASACIANBDBEFAAsLACAAIAFBDREGAAsPACAAIAEgAiADQQ4RBwALDwAgACABIAIgA0EPEQcACxkAIAAgASACIAMgBCAFIAYgByAIQRARCAALCwAgACABQRERBgALCwAgACABQRIRBgALCwAgACABQRMRBgALCQAgAEEUEQkACwsAIAAgAUEVEQYACw0AIAAgASACQRYRCgALCQAgAEEXEQsACwAuCXByb2R1Y2VycwEMcHJvY2Vzc2VkLWJ5AQ13aXQtY29tcG9uZW50BjAuMTEuMAC8CARuYW1lABMSd2l0LWNvbXBvbmVudDpzaGltAZ8IGAAvaW5kaXJlY3Qtd2FzaTpjbGktYmFzZS9wcmVvcGVucy1nZXQtZGlyZWN0b3JpZXMBM2luZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS9maWxlc3lzdGVtLXJlYWQtdmlhLXN0cmVhbQI0aW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL2ZpbGVzeXN0ZW0td3JpdGUtdmlhLXN0cmVhbQM1aW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL2ZpbGVzeXN0ZW0tYXBwZW5kLXZpYS1zdHJlYW0ELGluZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS9maWxlc3lzdGVtLWdldC10eXBlBShpbmRpcmVjdC13YXNpOmZpbGVzeXN0ZW0vZmlsZXN5c3RlbS1zdGF0BitpbmRpcmVjdC13YXNpOmZpbGVzeXN0ZW0vZmlsZXN5c3RlbS1vcGVuLWF0ByxpbmRpcmVjdC13YXNpOnJhbmRvbS9yYW5kb20tZ2V0LXJhbmRvbS1ieXRlcwgyaW5kaXJlY3Qtd2FzaTpjbGktYmFzZS9lbnZpcm9ubWVudC1nZXQtZW52aXJvbm1lbnQJHWluZGlyZWN0LXdhc2k6aW8vc3RyZWFtcy1yZWFkCiZpbmRpcmVjdC13YXNpOmlvL3N0cmVhbXMtYmxvY2tpbmctcmVhZAseaW5kaXJlY3Qtd2FzaTppby9zdHJlYW1zLXdyaXRlDCdpbmRpcmVjdC13YXNpOmlvL3N0cmVhbXMtYmxvY2tpbmctd3JpdGUNLGFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfZmlsZXN0YXRfZ2V0DiRhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLWZkX3JlYWQPJWFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfd3JpdGUQJmFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtcGF0aF9vcGVuESdhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLXJhbmRvbV9nZXQSKGFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZW52aXJvbl9nZXQTLmFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZW52aXJvbl9zaXplc19nZXQUJWFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfY2xvc2UVK2FkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfcHJlc3RhdF9nZXQWMGFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfcHJlc3RhdF9kaXJfbmFtZRcmYWRhcHQtd2FzaV9zbmFwc2hvdF9wcmV2aWV3MS1wcm9jX2V4aXQ');
1934
- const module3 = base64Compile('AGFzbQEAAAABUgxgAX8AYAN/fn8AYAJ/fwBgCH9/f39/f39/AGACfn8AYAR/f39/AGACf38Bf2AEf39/fwF/YAl/f39/f35+f38Bf2ABfwF/YAN/f38Bf2ABfwAClgEZAAEwAAAAATEAAQABMgABAAEzAAIAATQAAgABNQACAAE2AAMAATcABAABOAAAAAE5AAEAAjEwAAEAAjExAAUAAjEyAAUAAjEzAAYAAjE0AAcAAjE1AAcAAjE2AAgAAjE3AAYAAjE4AAYAAjE5AAYAAjIwAAkAAjIxAAYAAjIyAAoAAjIzAAsACCRpbXBvcnRzAXABGBgJHgEAQQALGAABAgMEBQYHCAkKCwwNDg8QERITFBUWFwAuCXByb2R1Y2VycwEMcHJvY2Vzc2VkLWJ5AQ13aXQtY29tcG9uZW50BjAuMTEuMAAcBG5hbWUAFRR3aXQtY29tcG9uZW50OmZpeHVwcw');
2017
+ const module2 = base64Compile('AGFzbQEAAAABUgxgAX8AYAN/fn8AYAJ/fwBgCH9/f39/f39/AGACfn8AYAR/f39/AGACf38Bf2AEf39/fwF/YAl/f39/f35+f38Bf2ABfwF/YAN/f38Bf2ABfwADGRgAAQECAgIDBAABAQUFBgcHCAYGBgkGCgsEBQFwARgYB3oZATAAAAExAAEBMgACATMAAwE0AAQBNQAFATYABgE3AAcBOAAIATkACQIxMAAKAjExAAsCMTIADAIxMwANAjE0AA4CMTUADwIxNgAQAjE3ABECMTgAEgIxOQATAjIwABQCMjEAFQIyMgAWAjIzABcIJGltcG9ydHMBAArNAhgJACAAQQARAAALDQAgACABIAJBAREBAAsNACAAIAEgAkECEQEACwsAIAAgAUEDEQIACwsAIAAgAUEEEQIACwsAIAAgAUEFEQIACxcAIAAgASACIAMgBCAFIAYgB0EGEQMACwsAIAAgAUEHEQQACwkAIABBCBEAAAsNACAAIAEgAkEJEQEACw0AIAAgASACQQoRAQALDwAgACABIAIgA0ELEQUACw8AIAAgASACIANBDBEFAAsLACAAIAFBDREGAAsPACAAIAEgAiADQQ4RBwALDwAgACABIAIgA0EPEQcACxkAIAAgASACIAMgBCAFIAYgByAIQRARCAALCwAgACABQRERBgALCwAgACABQRIRBgALCwAgACABQRMRBgALCQAgAEEUEQkACwsAIAAgAUEVEQYACw0AIAAgASACQRYRCgALCQAgAEEXEQsACwAuCXByb2R1Y2VycwEMcHJvY2Vzc2VkLWJ5AQ13aXQtY29tcG9uZW50BjAuMTMuMQC8CARuYW1lABMSd2l0LWNvbXBvbmVudDpzaGltAZ8IGAAvaW5kaXJlY3Qtd2FzaTpjbGktYmFzZS9wcmVvcGVucy1nZXQtZGlyZWN0b3JpZXMBM2luZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS9maWxlc3lzdGVtLXJlYWQtdmlhLXN0cmVhbQI0aW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL2ZpbGVzeXN0ZW0td3JpdGUtdmlhLXN0cmVhbQM1aW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL2ZpbGVzeXN0ZW0tYXBwZW5kLXZpYS1zdHJlYW0ELGluZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS9maWxlc3lzdGVtLWdldC10eXBlBShpbmRpcmVjdC13YXNpOmZpbGVzeXN0ZW0vZmlsZXN5c3RlbS1zdGF0BitpbmRpcmVjdC13YXNpOmZpbGVzeXN0ZW0vZmlsZXN5c3RlbS1vcGVuLWF0ByxpbmRpcmVjdC13YXNpOnJhbmRvbS9yYW5kb20tZ2V0LXJhbmRvbS1ieXRlcwgyaW5kaXJlY3Qtd2FzaTpjbGktYmFzZS9lbnZpcm9ubWVudC1nZXQtZW52aXJvbm1lbnQJHWluZGlyZWN0LXdhc2k6aW8vc3RyZWFtcy1yZWFkCiZpbmRpcmVjdC13YXNpOmlvL3N0cmVhbXMtYmxvY2tpbmctcmVhZAseaW5kaXJlY3Qtd2FzaTppby9zdHJlYW1zLXdyaXRlDCdpbmRpcmVjdC13YXNpOmlvL3N0cmVhbXMtYmxvY2tpbmctd3JpdGUNLGFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfZmlsZXN0YXRfZ2V0DiRhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLWZkX3JlYWQPJWFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfd3JpdGUQJmFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtcGF0aF9vcGVuESdhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLXJhbmRvbV9nZXQSKGFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZW52aXJvbl9nZXQTLmFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZW52aXJvbl9zaXplc19nZXQUJWFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfY2xvc2UVK2FkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfcHJlc3RhdF9nZXQWMGFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfcHJlc3RhdF9kaXJfbmFtZRcmYWRhcHQtd2FzaV9zbmFwc2hvdF9wcmV2aWV3MS1wcm9jX2V4aXQ');
2018
+ const module3 = base64Compile('AGFzbQEAAAABUgxgAX8AYAN/fn8AYAJ/fwBgCH9/f39/f39/AGACfn8AYAR/f39/AGACf38Bf2AEf39/fwF/YAl/f39/f35+f38Bf2ABfwF/YAN/f38Bf2ABfwAClgEZAAEwAAAAATEAAQABMgABAAEzAAIAATQAAgABNQACAAE2AAMAATcABAABOAAAAAE5AAEAAjEwAAEAAjExAAUAAjEyAAUAAjEzAAYAAjE0AAcAAjE1AAcAAjE2AAgAAjE3AAYAAjE4AAYAAjE5AAYAAjIwAAkAAjIxAAYAAjIyAAoAAjIzAAsACCRpbXBvcnRzAXABGBgJHgEAQQALGAABAgMEBQYHCAkKCwwNDg8QERITFBUWFwAuCXByb2R1Y2VycwEMcHJvY2Vzc2VkLWJ5AQ13aXQtY29tcG9uZW50BjAuMTMuMQAcBG5hbWUAFRR3aXQtY29tcG9uZW50OmZpeHVwcw');
2019
+ const instanceFlags0 = new WebAssembly.Global({ value: "i32", mutable: true }, 3);
1935
2020
  Promise.all([module0, module1, module2, module3]).catch(() => {});
1936
2021
  ({ exports: exports0 } = await instantiateCore(await module2));
1937
2022
  ({ exports: exports1 } = await instantiateCore(await module0, {
@@ -1960,13 +2045,13 @@ export const $init = (async() => {
1960
2045
  'get-environment': exports0['8'],
1961
2046
  },
1962
2047
  'wasi:cli-base/exit': {
1963
- exit: lowering2,
2048
+ exit: lowering7,
1964
2049
  },
1965
2050
  'wasi:cli-base/preopens': {
1966
2051
  'get-directories': exports0['0'],
1967
2052
  },
1968
2053
  'wasi:cli-base/stderr': {
1969
- 'get-stderr': lowering3,
2054
+ 'get-stderr': lowering6,
1970
2055
  },
1971
2056
  'wasi:cli-base/stdin': {
1972
2057
  'get-stdin': lowering4,
@@ -1976,7 +2061,7 @@ export const $init = (async() => {
1976
2061
  },
1977
2062
  'wasi:filesystem/filesystem': {
1978
2063
  'append-via-stream': exports0['3'],
1979
- 'drop-descriptor': lowering1,
2064
+ 'drop-descriptor': lowering3,
1980
2065
  'drop-directory-entry-stream': lowering0,
1981
2066
  'get-type': exports0['4'],
1982
2067
  'open-at': exports0['6'],
@@ -1987,8 +2072,8 @@ export const $init = (async() => {
1987
2072
  'wasi:io/streams': {
1988
2073
  'blocking-read': exports0['10'],
1989
2074
  'blocking-write': exports0['12'],
1990
- 'drop-input-stream': lowering6,
1991
- 'drop-output-stream': lowering7,
2075
+ 'drop-input-stream': lowering1,
2076
+ 'drop-output-stream': lowering2,
1992
2077
  read: exports0['9'],
1993
2078
  write: exports0['11'],
1994
2079
  },
Binary file
Binary file
@@ -9,6 +9,15 @@
9
9
  */
10
10
  export type StringEncoding = 'utf8' | 'utf16' | 'compact-utf16';
11
11
  export type ProducersFields = [string, [string, string][]][];
12
+ export interface EmbedOpts {
13
+ binary?: Uint8Array,
14
+ witSource?: string,
15
+ witPath?: string,
16
+ stringEncoding?: StringEncoding,
17
+ dummy?: boolean,
18
+ world?: string,
19
+ metadata?: ProducersFields,
20
+ }
12
21
  export type ModuleMetaType = ModuleMetaTypeModule | ModuleMetaTypeComponent;
13
22
  export interface ModuleMetaTypeModule {
14
23
  tag: 'module',
@@ -23,15 +32,6 @@ export interface ModuleMetadata {
23
32
  range: [number, number],
24
33
  producers: ProducersFields,
25
34
  }
26
- export interface EmbedOpts {
27
- binary?: Uint8Array,
28
- witSource?: string,
29
- witPath?: string,
30
- stringEncoding?: StringEncoding,
31
- dummy?: boolean,
32
- world?: string,
33
- metadata?: ProducersFields,
34
- }
35
35
  import { Environment } from './interfaces/environment';
36
36
  import { Exit } from './interfaces/exit';
37
37
  import { Preopens } from './interfaces/preopens';
package/obj/wasm-tools.js CHANGED
@@ -104,10 +104,33 @@ function lowering0(arg0) {
104
104
  }
105
105
 
106
106
  function lowering1(arg0) {
107
- dropDescriptor(arg0 >>> 0);
107
+ dropInputStream(arg0 >>> 0);
108
108
  }
109
109
 
110
110
  function lowering2(arg0) {
111
+ dropOutputStream(arg0 >>> 0);
112
+ }
113
+
114
+ function lowering3(arg0) {
115
+ dropDescriptor(arg0 >>> 0);
116
+ }
117
+
118
+ function lowering4() {
119
+ const ret = getStdin();
120
+ return toUint32(ret);
121
+ }
122
+
123
+ function lowering5() {
124
+ const ret = getStdout();
125
+ return toUint32(ret);
126
+ }
127
+
128
+ function lowering6() {
129
+ const ret = getStderr();
130
+ return toUint32(ret);
131
+ }
132
+
133
+ function lowering7(arg0) {
111
134
  let variant0;
112
135
  switch (arg0) {
113
136
  case 0: {
@@ -130,29 +153,6 @@ function lowering2(arg0) {
130
153
  }
131
154
  exit(variant0);
132
155
  }
133
-
134
- function lowering3() {
135
- const ret = getStderr();
136
- return toUint32(ret);
137
- }
138
-
139
- function lowering4() {
140
- const ret = getStdin();
141
- return toUint32(ret);
142
- }
143
-
144
- function lowering5() {
145
- const ret = getStdout();
146
- return toUint32(ret);
147
- }
148
-
149
- function lowering6(arg0) {
150
- dropInputStream(arg0 >>> 0);
151
- }
152
-
153
- function lowering7(arg0) {
154
- dropOutputStream(arg0 >>> 0);
155
- }
156
156
  let exports2;
157
157
  let memory0;
158
158
  let realloc0;
@@ -1467,10 +1467,10 @@ function lowering17(arg0, arg1, arg2) {
1467
1467
  } catch (e) {
1468
1468
  ret = { tag: 'err', val: getErrorPayload(e) };
1469
1469
  }
1470
- const variant3 = ret;
1471
- switch (variant3.tag) {
1470
+ const variant4 = ret;
1471
+ switch (variant4.tag) {
1472
1472
  case 'ok': {
1473
- const e = variant3.val;
1473
+ const e = variant4.val;
1474
1474
  dataView(memory0).setInt8(arg2 + 0, 0, true);
1475
1475
  const [tuple0_0, tuple0_1] = e;
1476
1476
  const val1 = tuple0_0;
@@ -1480,13 +1480,33 @@ function lowering17(arg0, arg1, arg2) {
1480
1480
  (new Uint8Array(memory0.buffer, ptr1, len1 * 1)).set(src1);
1481
1481
  dataView(memory0).setInt32(arg2 + 8, len1, true);
1482
1482
  dataView(memory0).setInt32(arg2 + 4, ptr1, true);
1483
- dataView(memory0).setInt8(arg2 + 12, tuple0_1 ? 1 : 0, true);
1483
+ const val2 = tuple0_1;
1484
+ let enum2;
1485
+ switch (val2) {
1486
+ case 'open': {
1487
+ enum2 = 0;
1488
+ break;
1489
+ }
1490
+ case 'ended': {
1491
+ enum2 = 1;
1492
+ break;
1493
+ }
1494
+ default: {
1495
+ if ((tuple0_1) instanceof Error) {
1496
+ console.error(tuple0_1);
1497
+ }
1498
+
1499
+ throw new TypeError(`"${val2}" is not one of the cases of stream-status`);
1500
+ }
1501
+ }
1502
+ dataView(memory0).setInt8(arg2 + 12, enum2, true);
1484
1503
  break;
1485
1504
  }
1486
1505
  case 'err': {
1487
- const e = variant3.val;
1506
+ const e = variant4.val;
1488
1507
  dataView(memory0).setInt8(arg2 + 0, 1, true);
1489
- const { } = e;
1508
+ const {dummy: v3_0 } = e;
1509
+ dataView(memory0).setInt32(arg2 + 4, toUint32(v3_0), true);
1490
1510
  break;
1491
1511
  }
1492
1512
  default: {
@@ -1502,10 +1522,10 @@ function lowering18(arg0, arg1, arg2) {
1502
1522
  } catch (e) {
1503
1523
  ret = { tag: 'err', val: getErrorPayload(e) };
1504
1524
  }
1505
- const variant3 = ret;
1506
- switch (variant3.tag) {
1525
+ const variant4 = ret;
1526
+ switch (variant4.tag) {
1507
1527
  case 'ok': {
1508
- const e = variant3.val;
1528
+ const e = variant4.val;
1509
1529
  dataView(memory0).setInt8(arg2 + 0, 0, true);
1510
1530
  const [tuple0_0, tuple0_1] = e;
1511
1531
  const val1 = tuple0_0;
@@ -1515,13 +1535,33 @@ function lowering18(arg0, arg1, arg2) {
1515
1535
  (new Uint8Array(memory0.buffer, ptr1, len1 * 1)).set(src1);
1516
1536
  dataView(memory0).setInt32(arg2 + 8, len1, true);
1517
1537
  dataView(memory0).setInt32(arg2 + 4, ptr1, true);
1518
- dataView(memory0).setInt8(arg2 + 12, tuple0_1 ? 1 : 0, true);
1538
+ const val2 = tuple0_1;
1539
+ let enum2;
1540
+ switch (val2) {
1541
+ case 'open': {
1542
+ enum2 = 0;
1543
+ break;
1544
+ }
1545
+ case 'ended': {
1546
+ enum2 = 1;
1547
+ break;
1548
+ }
1549
+ default: {
1550
+ if ((tuple0_1) instanceof Error) {
1551
+ console.error(tuple0_1);
1552
+ }
1553
+
1554
+ throw new TypeError(`"${val2}" is not one of the cases of stream-status`);
1555
+ }
1556
+ }
1557
+ dataView(memory0).setInt8(arg2 + 12, enum2, true);
1519
1558
  break;
1520
1559
  }
1521
1560
  case 'err': {
1522
- const e = variant3.val;
1561
+ const e = variant4.val;
1523
1562
  dataView(memory0).setInt8(arg2 + 0, 1, true);
1524
- const { } = e;
1563
+ const {dummy: v3_0 } = e;
1564
+ dataView(memory0).setInt32(arg2 + 4, toUint32(v3_0), true);
1525
1565
  break;
1526
1566
  }
1527
1567
  default: {
@@ -1540,18 +1580,40 @@ function lowering19(arg0, arg1, arg2, arg3) {
1540
1580
  } catch (e) {
1541
1581
  ret = { tag: 'err', val: getErrorPayload(e) };
1542
1582
  }
1543
- const variant2 = ret;
1544
- switch (variant2.tag) {
1583
+ const variant4 = ret;
1584
+ switch (variant4.tag) {
1545
1585
  case 'ok': {
1546
- const e = variant2.val;
1586
+ const e = variant4.val;
1547
1587
  dataView(memory0).setInt8(arg3 + 0, 0, true);
1548
- dataView(memory0).setBigInt64(arg3 + 8, toUint64(e), true);
1588
+ const [tuple1_0, tuple1_1] = e;
1589
+ dataView(memory0).setBigInt64(arg3 + 8, toUint64(tuple1_0), true);
1590
+ const val2 = tuple1_1;
1591
+ let enum2;
1592
+ switch (val2) {
1593
+ case 'open': {
1594
+ enum2 = 0;
1595
+ break;
1596
+ }
1597
+ case 'ended': {
1598
+ enum2 = 1;
1599
+ break;
1600
+ }
1601
+ default: {
1602
+ if ((tuple1_1) instanceof Error) {
1603
+ console.error(tuple1_1);
1604
+ }
1605
+
1606
+ throw new TypeError(`"${val2}" is not one of the cases of stream-status`);
1607
+ }
1608
+ }
1609
+ dataView(memory0).setInt8(arg3 + 16, enum2, true);
1549
1610
  break;
1550
1611
  }
1551
1612
  case 'err': {
1552
- const e = variant2.val;
1613
+ const e = variant4.val;
1553
1614
  dataView(memory0).setInt8(arg3 + 0, 1, true);
1554
- const { } = e;
1615
+ const {dummy: v3_0 } = e;
1616
+ dataView(memory0).setInt32(arg3 + 8, toUint32(v3_0), true);
1555
1617
  break;
1556
1618
  }
1557
1619
  default: {
@@ -1570,18 +1632,40 @@ function lowering20(arg0, arg1, arg2, arg3) {
1570
1632
  } catch (e) {
1571
1633
  ret = { tag: 'err', val: getErrorPayload(e) };
1572
1634
  }
1573
- const variant2 = ret;
1574
- switch (variant2.tag) {
1635
+ const variant4 = ret;
1636
+ switch (variant4.tag) {
1575
1637
  case 'ok': {
1576
- const e = variant2.val;
1638
+ const e = variant4.val;
1577
1639
  dataView(memory0).setInt8(arg3 + 0, 0, true);
1578
- dataView(memory0).setBigInt64(arg3 + 8, toUint64(e), true);
1640
+ const [tuple1_0, tuple1_1] = e;
1641
+ dataView(memory0).setBigInt64(arg3 + 8, toUint64(tuple1_0), true);
1642
+ const val2 = tuple1_1;
1643
+ let enum2;
1644
+ switch (val2) {
1645
+ case 'open': {
1646
+ enum2 = 0;
1647
+ break;
1648
+ }
1649
+ case 'ended': {
1650
+ enum2 = 1;
1651
+ break;
1652
+ }
1653
+ default: {
1654
+ if ((tuple1_1) instanceof Error) {
1655
+ console.error(tuple1_1);
1656
+ }
1657
+
1658
+ throw new TypeError(`"${val2}" is not one of the cases of stream-status`);
1659
+ }
1660
+ }
1661
+ dataView(memory0).setInt8(arg3 + 16, enum2, true);
1579
1662
  break;
1580
1663
  }
1581
1664
  case 'err': {
1582
- const e = variant2.val;
1665
+ const e = variant4.val;
1583
1666
  dataView(memory0).setInt8(arg3 + 0, 1, true);
1584
- const { } = e;
1667
+ const {dummy: v3_0 } = e;
1668
+ dataView(memory0).setInt32(arg3 + 8, toUint32(v3_0), true);
1585
1669
  break;
1586
1670
  }
1587
1671
  default: {
@@ -2130,8 +2214,9 @@ let _initialized = false;
2130
2214
  export const $init = (async() => {
2131
2215
  const module0 = fetchCompile(new URL('./wasm-tools.core.wasm', import.meta.url));
2132
2216
  const module1 = fetchCompile(new URL('./wasm-tools.core2.wasm', import.meta.url));
2133
- const module2 = base64Compile('AGFzbQEAAAABUgxgAX8AYAN/fn8AYAJ/fwBgCH9/f39/f39/AGACfn8AYAR/f39/AGACf38Bf2AEf39/fwF/YAl/f39/f35+f38Bf2ABfwF/YAN/f38Bf2ABfwADGRgAAQECAgIDBAABAQUFBgcHCAYGBgkGCgsEBQFwARgYB3oZATAAAAExAAEBMgACATMAAwE0AAQBNQAFATYABgE3AAcBOAAIATkACQIxMAAKAjExAAsCMTIADAIxMwANAjE0AA4CMTUADwIxNgAQAjE3ABECMTgAEgIxOQATAjIwABQCMjEAFQIyMgAWAjIzABcIJGltcG9ydHMBAArNAhgJACAAQQARAAALDQAgACABIAJBAREBAAsNACAAIAEgAkECEQEACwsAIAAgAUEDEQIACwsAIAAgAUEEEQIACwsAIAAgAUEFEQIACxcAIAAgASACIAMgBCAFIAYgB0EGEQMACwsAIAAgAUEHEQQACwkAIABBCBEAAAsNACAAIAEgAkEJEQEACw0AIAAgASACQQoRAQALDwAgACABIAIgA0ELEQUACw8AIAAgASACIANBDBEFAAsLACAAIAFBDREGAAsPACAAIAEgAiADQQ4RBwALDwAgACABIAIgA0EPEQcACxkAIAAgASACIAMgBCAFIAYgByAIQRARCAALCwAgACABQRERBgALCwAgACABQRIRBgALCwAgACABQRMRBgALCQAgAEEUEQkACwsAIAAgAUEVEQYACw0AIAAgASACQRYRCgALCQAgAEEXEQsACwAuCXByb2R1Y2VycwEMcHJvY2Vzc2VkLWJ5AQ13aXQtY29tcG9uZW50BjAuMTEuMAC8CARuYW1lABMSd2l0LWNvbXBvbmVudDpzaGltAZ8IGAAvaW5kaXJlY3Qtd2FzaTpjbGktYmFzZS9wcmVvcGVucy1nZXQtZGlyZWN0b3JpZXMBM2luZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS9maWxlc3lzdGVtLXJlYWQtdmlhLXN0cmVhbQI0aW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL2ZpbGVzeXN0ZW0td3JpdGUtdmlhLXN0cmVhbQM1aW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL2ZpbGVzeXN0ZW0tYXBwZW5kLXZpYS1zdHJlYW0ELGluZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS9maWxlc3lzdGVtLWdldC10eXBlBShpbmRpcmVjdC13YXNpOmZpbGVzeXN0ZW0vZmlsZXN5c3RlbS1zdGF0BitpbmRpcmVjdC13YXNpOmZpbGVzeXN0ZW0vZmlsZXN5c3RlbS1vcGVuLWF0ByxpbmRpcmVjdC13YXNpOnJhbmRvbS9yYW5kb20tZ2V0LXJhbmRvbS1ieXRlcwgyaW5kaXJlY3Qtd2FzaTpjbGktYmFzZS9lbnZpcm9ubWVudC1nZXQtZW52aXJvbm1lbnQJHWluZGlyZWN0LXdhc2k6aW8vc3RyZWFtcy1yZWFkCiZpbmRpcmVjdC13YXNpOmlvL3N0cmVhbXMtYmxvY2tpbmctcmVhZAseaW5kaXJlY3Qtd2FzaTppby9zdHJlYW1zLXdyaXRlDCdpbmRpcmVjdC13YXNpOmlvL3N0cmVhbXMtYmxvY2tpbmctd3JpdGUNLGFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfZmlsZXN0YXRfZ2V0DiRhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLWZkX3JlYWQPJWFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfd3JpdGUQJmFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtcGF0aF9vcGVuESdhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLXJhbmRvbV9nZXQSKGFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZW52aXJvbl9nZXQTLmFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZW52aXJvbl9zaXplc19nZXQUJWFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfY2xvc2UVK2FkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfcHJlc3RhdF9nZXQWMGFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfcHJlc3RhdF9kaXJfbmFtZRcmYWRhcHQtd2FzaV9zbmFwc2hvdF9wcmV2aWV3MS1wcm9jX2V4aXQ');
2134
- const module3 = base64Compile('AGFzbQEAAAABUgxgAX8AYAN/fn8AYAJ/fwBgCH9/f39/f39/AGACfn8AYAR/f39/AGACf38Bf2AEf39/fwF/YAl/f39/f35+f38Bf2ABfwF/YAN/f38Bf2ABfwAClgEZAAEwAAAAATEAAQABMgABAAEzAAIAATQAAgABNQACAAE2AAMAATcABAABOAAAAAE5AAEAAjEwAAEAAjExAAUAAjEyAAUAAjEzAAYAAjE0AAcAAjE1AAcAAjE2AAgAAjE3AAYAAjE4AAYAAjE5AAYAAjIwAAkAAjIxAAYAAjIyAAoAAjIzAAsACCRpbXBvcnRzAXABGBgJHgEAQQALGAABAgMEBQYHCAkKCwwNDg8QERITFBUWFwAuCXByb2R1Y2VycwEMcHJvY2Vzc2VkLWJ5AQ13aXQtY29tcG9uZW50BjAuMTEuMAAcBG5hbWUAFRR3aXQtY29tcG9uZW50OmZpeHVwcw');
2217
+ const module2 = base64Compile('AGFzbQEAAAABUgxgAX8AYAN/fn8AYAJ/fwBgCH9/f39/f39/AGACfn8AYAR/f39/AGACf38Bf2AEf39/fwF/YAl/f39/f35+f38Bf2ABfwF/YAN/f38Bf2ABfwADGRgAAQECAgIDBAABAQUFBgcHCAYGBgkGCgsEBQFwARgYB3oZATAAAAExAAEBMgACATMAAwE0AAQBNQAFATYABgE3AAcBOAAIATkACQIxMAAKAjExAAsCMTIADAIxMwANAjE0AA4CMTUADwIxNgAQAjE3ABECMTgAEgIxOQATAjIwABQCMjEAFQIyMgAWAjIzABcIJGltcG9ydHMBAArNAhgJACAAQQARAAALDQAgACABIAJBAREBAAsNACAAIAEgAkECEQEACwsAIAAgAUEDEQIACwsAIAAgAUEEEQIACwsAIAAgAUEFEQIACxcAIAAgASACIAMgBCAFIAYgB0EGEQMACwsAIAAgAUEHEQQACwkAIABBCBEAAAsNACAAIAEgAkEJEQEACw0AIAAgASACQQoRAQALDwAgACABIAIgA0ELEQUACw8AIAAgASACIANBDBEFAAsLACAAIAFBDREGAAsPACAAIAEgAiADQQ4RBwALDwAgACABIAIgA0EPEQcACxkAIAAgASACIAMgBCAFIAYgByAIQRARCAALCwAgACABQRERBgALCwAgACABQRIRBgALCwAgACABQRMRBgALCQAgAEEUEQkACwsAIAAgAUEVEQYACw0AIAAgASACQRYRCgALCQAgAEEXEQsACwAuCXByb2R1Y2VycwEMcHJvY2Vzc2VkLWJ5AQ13aXQtY29tcG9uZW50BjAuMTMuMQC8CARuYW1lABMSd2l0LWNvbXBvbmVudDpzaGltAZ8IGAAvaW5kaXJlY3Qtd2FzaTpjbGktYmFzZS9wcmVvcGVucy1nZXQtZGlyZWN0b3JpZXMBM2luZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS9maWxlc3lzdGVtLXJlYWQtdmlhLXN0cmVhbQI0aW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL2ZpbGVzeXN0ZW0td3JpdGUtdmlhLXN0cmVhbQM1aW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL2ZpbGVzeXN0ZW0tYXBwZW5kLXZpYS1zdHJlYW0ELGluZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS9maWxlc3lzdGVtLWdldC10eXBlBShpbmRpcmVjdC13YXNpOmZpbGVzeXN0ZW0vZmlsZXN5c3RlbS1zdGF0BitpbmRpcmVjdC13YXNpOmZpbGVzeXN0ZW0vZmlsZXN5c3RlbS1vcGVuLWF0ByxpbmRpcmVjdC13YXNpOnJhbmRvbS9yYW5kb20tZ2V0LXJhbmRvbS1ieXRlcwgyaW5kaXJlY3Qtd2FzaTpjbGktYmFzZS9lbnZpcm9ubWVudC1nZXQtZW52aXJvbm1lbnQJHWluZGlyZWN0LXdhc2k6aW8vc3RyZWFtcy1yZWFkCiZpbmRpcmVjdC13YXNpOmlvL3N0cmVhbXMtYmxvY2tpbmctcmVhZAseaW5kaXJlY3Qtd2FzaTppby9zdHJlYW1zLXdyaXRlDCdpbmRpcmVjdC13YXNpOmlvL3N0cmVhbXMtYmxvY2tpbmctd3JpdGUNLGFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfZmlsZXN0YXRfZ2V0DiRhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLWZkX3JlYWQPJWFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfd3JpdGUQJmFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtcGF0aF9vcGVuESdhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLXJhbmRvbV9nZXQSKGFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZW52aXJvbl9nZXQTLmFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZW52aXJvbl9zaXplc19nZXQUJWFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfY2xvc2UVK2FkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfcHJlc3RhdF9nZXQWMGFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfcHJlc3RhdF9kaXJfbmFtZRcmYWRhcHQtd2FzaV9zbmFwc2hvdF9wcmV2aWV3MS1wcm9jX2V4aXQ');
2218
+ const module3 = base64Compile('AGFzbQEAAAABUgxgAX8AYAN/fn8AYAJ/fwBgCH9/f39/f39/AGACfn8AYAR/f39/AGACf38Bf2AEf39/fwF/YAl/f39/f35+f38Bf2ABfwF/YAN/f38Bf2ABfwAClgEZAAEwAAAAATEAAQABMgABAAEzAAIAATQAAgABNQACAAE2AAMAATcABAABOAAAAAE5AAEAAjEwAAEAAjExAAUAAjEyAAUAAjEzAAYAAjE0AAcAAjE1AAcAAjE2AAgAAjE3AAYAAjE4AAYAAjE5AAYAAjIwAAkAAjIxAAYAAjIyAAoAAjIzAAsACCRpbXBvcnRzAXABGBgJHgEAQQALGAABAgMEBQYHCAkKCwwNDg8QERITFBUWFwAuCXByb2R1Y2VycwEMcHJvY2Vzc2VkLWJ5AQ13aXQtY29tcG9uZW50BjAuMTMuMQAcBG5hbWUAFRR3aXQtY29tcG9uZW50OmZpeHVwcw');
2219
+ const instanceFlags0 = new WebAssembly.Global({ value: "i32", mutable: true }, 3);
2135
2220
  Promise.all([module0, module1, module2, module3]).catch(() => {});
2136
2221
  ({ exports: exports0 } = await instantiateCore(await module2));
2137
2222
  ({ exports: exports1 } = await instantiateCore(await module0, {
@@ -2160,13 +2245,13 @@ export const $init = (async() => {
2160
2245
  'get-environment': exports0['8'],
2161
2246
  },
2162
2247
  'wasi:cli-base/exit': {
2163
- exit: lowering2,
2248
+ exit: lowering7,
2164
2249
  },
2165
2250
  'wasi:cli-base/preopens': {
2166
2251
  'get-directories': exports0['0'],
2167
2252
  },
2168
2253
  'wasi:cli-base/stderr': {
2169
- 'get-stderr': lowering3,
2254
+ 'get-stderr': lowering6,
2170
2255
  },
2171
2256
  'wasi:cli-base/stdin': {
2172
2257
  'get-stdin': lowering4,
@@ -2176,7 +2261,7 @@ export const $init = (async() => {
2176
2261
  },
2177
2262
  'wasi:filesystem/filesystem': {
2178
2263
  'append-via-stream': exports0['3'],
2179
- 'drop-descriptor': lowering1,
2264
+ 'drop-descriptor': lowering3,
2180
2265
  'drop-directory-entry-stream': lowering0,
2181
2266
  'get-type': exports0['4'],
2182
2267
  'open-at': exports0['6'],
@@ -2187,8 +2272,8 @@ export const $init = (async() => {
2187
2272
  'wasi:io/streams': {
2188
2273
  'blocking-read': exports0['10'],
2189
2274
  'blocking-write': exports0['12'],
2190
- 'drop-input-stream': lowering6,
2191
- 'drop-output-stream': lowering7,
2275
+ 'drop-input-stream': lowering1,
2276
+ 'drop-output-stream': lowering2,
2192
2277
  read: exports0['9'],
2193
2278
  write: exports0['11'],
2194
2279
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bytecodealliance/jco",
3
- "version": "0.9.5",
3
+ "version": "0.10.1",
4
4
  "description": "JavaScript tooling for working with WebAssembly Components",
5
5
  "author": "Guy Bedford",
6
6
  "bin": {
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "type": "module",
17
17
  "dependencies": {
18
- "@bytecodealliance/preview2-shim": "0.0.10",
18
+ "@bytecodealliance/preview2-shim": "0.0.12",
19
19
  "binaryen": "^111.0.0",
20
20
  "chalk-template": "^0.4.0",
21
21
  "commander": "^9.4.1",
@@ -24,7 +24,7 @@
24
24
  "terser": "^5.16.1"
25
25
  },
26
26
  "devDependencies": {
27
- "@bytecodealliance/componentize-js": "^0.1.0",
27
+ "@bytecodealliance/componentize-js": "^0.1.1",
28
28
  "@types/node": "^18.11.17",
29
29
  "@typescript-eslint/eslint-plugin": "^5.41.0",
30
30
  "@typescript-eslint/parser": "^5.41.0",
@@ -14,7 +14,8 @@ export async function componentize (jsSource, opts) {
14
14
  const source = await readFile(jsSource, 'utf8');
15
15
  const { component, imports } = await componentizeFn(source, {
16
16
  witPath: resolve(opts.wit),
17
- worldName: opts.worldName
17
+ worldName: opts.worldName,
18
+ enableStdout: opts.enableStdout,
18
19
  });
19
20
  await writeFile(opts.out, component);
20
21
  console.log(c`{green OK} Successfully written {bold ${opts.out}} with imports (${imports.join(', ')}).`);
package/src/jco.js CHANGED
@@ -10,7 +10,7 @@ program
10
10
  .name('jco')
11
11
  .description(c`{bold jco - WebAssembly JS Component Tools}\n JS Component Transpilation Bindgen & Wasm Tools for JS`)
12
12
  .usage('<command> [options]')
13
- .version('0.9.4');
13
+ .version('0.10.1');
14
14
 
15
15
  function myParseInt(value) {
16
16
  return parseInt(value, 10);
@@ -22,6 +22,7 @@ program.command('componentize')
22
22
  .argument('<js-source>', 'JS source file to build')
23
23
  .requiredOption('-w, --wit <path>', 'WIT path to build with')
24
24
  .option('-n, --world-name <name>', 'WIT world to build')
25
+ .option('--enable-stdout', 'Allow console.log to output to stdout')
25
26
  .requiredOption('-o, --out <out>', 'output component file')
26
27
  .action(asyncAction(componentize));
27
28