@bytecodealliance/jco 1.2.1 → 1.2.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.
@@ -31,6 +31,8 @@ class ComponentError extends Error {
31
31
  }
32
32
  }
33
33
 
34
+ let curResourceBorrows = [];
35
+
34
36
  let dv = new DataView(new ArrayBuffer());
35
37
  const dataView = mem => dv.buffer === mem.buffer ? dv : dv = new DataView(mem.buffer);
36
38
 
@@ -59,7 +61,6 @@ const instantiateCore = WebAssembly.instantiate;
59
61
  const T_FLAG = 1 << 30;
60
62
 
61
63
  function rscTableCreateOwn (table, rep) {
62
- if (rep === 0) throw new TypeError('Invalid rep');
63
64
  const free = table[0] & ~T_FLAG;
64
65
  if (free === 0) {
65
66
  table.push(0);
@@ -248,13 +249,17 @@ function trampoline12(arg0, arg1, arg2) {
248
249
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
249
250
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
250
251
  }
252
+ curResourceBorrows.push(rsc0);
251
253
  let ret;
252
254
  try {
253
255
  ret = { tag: 'ok', val: rsc0.readViaStream(BigInt.asUintN(64, arg1))};
254
256
  } catch (e) {
255
257
  ret = { tag: 'err', val: getErrorPayload(e) };
256
258
  }
257
- rsc0[symbolRscHandle] = null;
259
+ for (const rsc of curResourceBorrows) {
260
+ rsc[symbolRscHandle] = null;
261
+ }
262
+ curResourceBorrows = [];
258
263
  var variant5 = ret;
259
264
  switch (variant5.tag) {
260
265
  case 'ok': {
@@ -452,13 +457,17 @@ function trampoline13(arg0, arg1, arg2) {
452
457
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
453
458
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
454
459
  }
460
+ curResourceBorrows.push(rsc0);
455
461
  let ret;
456
462
  try {
457
463
  ret = { tag: 'ok', val: rsc0.writeViaStream(BigInt.asUintN(64, arg1))};
458
464
  } catch (e) {
459
465
  ret = { tag: 'err', val: getErrorPayload(e) };
460
466
  }
461
- rsc0[symbolRscHandle] = null;
467
+ for (const rsc of curResourceBorrows) {
468
+ rsc[symbolRscHandle] = null;
469
+ }
470
+ curResourceBorrows = [];
462
471
  var variant5 = ret;
463
472
  switch (variant5.tag) {
464
473
  case 'ok': {
@@ -656,13 +665,17 @@ function trampoline14(arg0, arg1) {
656
665
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
657
666
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
658
667
  }
668
+ curResourceBorrows.push(rsc0);
659
669
  let ret;
660
670
  try {
661
671
  ret = { tag: 'ok', val: rsc0.appendViaStream()};
662
672
  } catch (e) {
663
673
  ret = { tag: 'err', val: getErrorPayload(e) };
664
674
  }
665
- rsc0[symbolRscHandle] = null;
675
+ for (const rsc of curResourceBorrows) {
676
+ rsc[symbolRscHandle] = null;
677
+ }
678
+ curResourceBorrows = [];
666
679
  var variant5 = ret;
667
680
  switch (variant5.tag) {
668
681
  case 'ok': {
@@ -860,13 +873,17 @@ function trampoline15(arg0, arg1) {
860
873
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
861
874
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
862
875
  }
876
+ curResourceBorrows.push(rsc0);
863
877
  let ret;
864
878
  try {
865
879
  ret = { tag: 'ok', val: rsc0.getType()};
866
880
  } catch (e) {
867
881
  ret = { tag: 'err', val: getErrorPayload(e) };
868
882
  }
869
- rsc0[symbolRscHandle] = null;
883
+ for (const rsc of curResourceBorrows) {
884
+ rsc[symbolRscHandle] = null;
885
+ }
886
+ curResourceBorrows = [];
870
887
  var variant5 = ret;
871
888
  switch (variant5.tag) {
872
889
  case 'ok': {
@@ -1102,13 +1119,17 @@ function trampoline16(arg0, arg1) {
1102
1119
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
1103
1120
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
1104
1121
  }
1122
+ curResourceBorrows.push(rsc0);
1105
1123
  let ret;
1106
1124
  try {
1107
1125
  ret = { tag: 'ok', val: rsc0.readDirectory()};
1108
1126
  } catch (e) {
1109
1127
  ret = { tag: 'err', val: getErrorPayload(e) };
1110
1128
  }
1111
- rsc0[symbolRscHandle] = null;
1129
+ for (const rsc of curResourceBorrows) {
1130
+ rsc[symbolRscHandle] = null;
1131
+ }
1132
+ curResourceBorrows = [];
1112
1133
  var variant5 = ret;
1113
1134
  switch (variant5.tag) {
1114
1135
  case 'ok': {
@@ -1306,13 +1327,17 @@ function trampoline17(arg0, arg1) {
1306
1327
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
1307
1328
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
1308
1329
  }
1330
+ curResourceBorrows.push(rsc0);
1309
1331
  let ret;
1310
1332
  try {
1311
1333
  ret = { tag: 'ok', val: rsc0.stat()};
1312
1334
  } catch (e) {
1313
1335
  ret = { tag: 'err', val: getErrorPayload(e) };
1314
1336
  }
1315
- rsc0[symbolRscHandle] = null;
1337
+ for (const rsc of curResourceBorrows) {
1338
+ rsc[symbolRscHandle] = null;
1339
+ }
1340
+ curResourceBorrows = [];
1316
1341
  var variant12 = ret;
1317
1342
  switch (variant12.tag) {
1318
1343
  case 'ok': {
@@ -1577,6 +1602,7 @@ function trampoline18(arg0, arg1, arg2, arg3, arg4) {
1577
1602
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
1578
1603
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
1579
1604
  }
1605
+ curResourceBorrows.push(rsc0);
1580
1606
  if ((arg1 & 4294967294) !== 0) {
1581
1607
  throw new TypeError('flags have extraneous bits set');
1582
1608
  }
@@ -1592,7 +1618,10 @@ function trampoline18(arg0, arg1, arg2, arg3, arg4) {
1592
1618
  } catch (e) {
1593
1619
  ret = { tag: 'err', val: getErrorPayload(e) };
1594
1620
  }
1595
- rsc0[symbolRscHandle] = null;
1621
+ for (const rsc of curResourceBorrows) {
1622
+ rsc[symbolRscHandle] = null;
1623
+ }
1624
+ curResourceBorrows = [];
1596
1625
  var variant14 = ret;
1597
1626
  switch (variant14.tag) {
1598
1627
  case 'ok': {
@@ -1857,6 +1886,7 @@ function trampoline19(arg0, arg1, arg2, arg3, arg4, arg5, arg6) {
1857
1886
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
1858
1887
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
1859
1888
  }
1889
+ curResourceBorrows.push(rsc0);
1860
1890
  if ((arg1 & 4294967294) !== 0) {
1861
1891
  throw new TypeError('flags have extraneous bits set');
1862
1892
  }
@@ -1892,7 +1922,10 @@ function trampoline19(arg0, arg1, arg2, arg3, arg4, arg5, arg6) {
1892
1922
  } catch (e) {
1893
1923
  ret = { tag: 'err', val: getErrorPayload(e) };
1894
1924
  }
1895
- rsc0[symbolRscHandle] = null;
1925
+ for (const rsc of curResourceBorrows) {
1926
+ rsc[symbolRscHandle] = null;
1927
+ }
1928
+ curResourceBorrows = [];
1896
1929
  var variant9 = ret;
1897
1930
  switch (variant9.tag) {
1898
1931
  case 'ok': {
@@ -2090,13 +2123,17 @@ function trampoline20(arg0, arg1) {
2090
2123
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
2091
2124
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
2092
2125
  }
2126
+ curResourceBorrows.push(rsc0);
2093
2127
  let ret;
2094
2128
  try {
2095
2129
  ret = { tag: 'ok', val: rsc0.metadataHash()};
2096
2130
  } catch (e) {
2097
2131
  ret = { tag: 'err', val: getErrorPayload(e) };
2098
2132
  }
2099
- rsc0[symbolRscHandle] = null;
2133
+ for (const rsc of curResourceBorrows) {
2134
+ rsc[symbolRscHandle] = null;
2135
+ }
2136
+ curResourceBorrows = [];
2100
2137
  var variant5 = ret;
2101
2138
  switch (variant5.tag) {
2102
2139
  case 'ok': {
@@ -2287,6 +2324,7 @@ function trampoline21(arg0, arg1, arg2, arg3, arg4) {
2287
2324
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
2288
2325
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
2289
2326
  }
2327
+ curResourceBorrows.push(rsc0);
2290
2328
  if ((arg1 & 4294967294) !== 0) {
2291
2329
  throw new TypeError('flags have extraneous bits set');
2292
2330
  }
@@ -2302,7 +2340,10 @@ function trampoline21(arg0, arg1, arg2, arg3, arg4) {
2302
2340
  } catch (e) {
2303
2341
  ret = { tag: 'err', val: getErrorPayload(e) };
2304
2342
  }
2305
- rsc0[symbolRscHandle] = null;
2343
+ for (const rsc of curResourceBorrows) {
2344
+ rsc[symbolRscHandle] = null;
2345
+ }
2346
+ curResourceBorrows = [];
2306
2347
  var variant7 = ret;
2307
2348
  switch (variant7.tag) {
2308
2349
  case 'ok': {
@@ -2493,13 +2534,17 @@ function trampoline22(arg0, arg1) {
2493
2534
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
2494
2535
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
2495
2536
  }
2537
+ curResourceBorrows.push(rsc0);
2496
2538
  let ret;
2497
2539
  try {
2498
2540
  ret = { tag: 'ok', val: rsc0.readDirectoryEntry()};
2499
2541
  } catch (e) {
2500
2542
  ret = { tag: 'err', val: getErrorPayload(e) };
2501
2543
  }
2502
- rsc0[symbolRscHandle] = null;
2544
+ for (const rsc of curResourceBorrows) {
2545
+ rsc[symbolRscHandle] = null;
2546
+ }
2547
+ curResourceBorrows = [];
2503
2548
  var variant8 = ret;
2504
2549
  switch (variant8.tag) {
2505
2550
  case 'ok': {
@@ -2747,8 +2792,12 @@ function trampoline23(arg0, arg1) {
2747
2792
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
2748
2793
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
2749
2794
  }
2795
+ curResourceBorrows.push(rsc0);
2750
2796
  const ret = filesystemErrorCode(rsc0);
2751
- rsc0[symbolRscHandle] = null;
2797
+ for (const rsc of curResourceBorrows) {
2798
+ rsc[symbolRscHandle] = null;
2799
+ }
2800
+ curResourceBorrows = [];
2752
2801
  var variant4 = ret;
2753
2802
  if (variant4 === null || variant4=== undefined) {
2754
2803
  dataView(memory0).setInt8(arg1 + 0, 0, true);
@@ -2927,13 +2976,17 @@ function trampoline24(arg0, arg1, arg2) {
2927
2976
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
2928
2977
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
2929
2978
  }
2979
+ curResourceBorrows.push(rsc0);
2930
2980
  let ret;
2931
2981
  try {
2932
2982
  ret = { tag: 'ok', val: rsc0.read(BigInt.asUintN(64, arg1))};
2933
2983
  } catch (e) {
2934
2984
  ret = { tag: 'err', val: getErrorPayload(e) };
2935
2985
  }
2936
- rsc0[symbolRscHandle] = null;
2986
+ for (const rsc of curResourceBorrows) {
2987
+ rsc[symbolRscHandle] = null;
2988
+ }
2989
+ curResourceBorrows = [];
2937
2990
  var variant6 = ret;
2938
2991
  switch (variant6.tag) {
2939
2992
  case 'ok': {
@@ -2993,13 +3046,17 @@ function trampoline25(arg0, arg1, arg2) {
2993
3046
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
2994
3047
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
2995
3048
  }
3049
+ curResourceBorrows.push(rsc0);
2996
3050
  let ret;
2997
3051
  try {
2998
3052
  ret = { tag: 'ok', val: rsc0.blockingRead(BigInt.asUintN(64, arg1))};
2999
3053
  } catch (e) {
3000
3054
  ret = { tag: 'err', val: getErrorPayload(e) };
3001
3055
  }
3002
- rsc0[symbolRscHandle] = null;
3056
+ for (const rsc of curResourceBorrows) {
3057
+ rsc[symbolRscHandle] = null;
3058
+ }
3059
+ curResourceBorrows = [];
3003
3060
  var variant6 = ret;
3004
3061
  switch (variant6.tag) {
3005
3062
  case 'ok': {
@@ -3059,13 +3116,17 @@ function trampoline26(arg0, arg1) {
3059
3116
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
3060
3117
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
3061
3118
  }
3119
+ curResourceBorrows.push(rsc0);
3062
3120
  let ret;
3063
3121
  try {
3064
3122
  ret = { tag: 'ok', val: rsc0.checkWrite()};
3065
3123
  } catch (e) {
3066
3124
  ret = { tag: 'err', val: getErrorPayload(e) };
3067
3125
  }
3068
- rsc0[symbolRscHandle] = null;
3126
+ for (const rsc of curResourceBorrows) {
3127
+ rsc[symbolRscHandle] = null;
3128
+ }
3129
+ curResourceBorrows = [];
3069
3130
  var variant5 = ret;
3070
3131
  switch (variant5.tag) {
3071
3132
  case 'ok': {
@@ -3119,6 +3180,7 @@ function trampoline27(arg0, arg1, arg2, arg3) {
3119
3180
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
3120
3181
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
3121
3182
  }
3183
+ curResourceBorrows.push(rsc0);
3122
3184
  var ptr3 = arg1;
3123
3185
  var len3 = arg2;
3124
3186
  var result3 = new Uint8Array(memory0.buffer.slice(ptr3, ptr3 + len3 * 1));
@@ -3128,7 +3190,10 @@ function trampoline27(arg0, arg1, arg2, arg3) {
3128
3190
  } catch (e) {
3129
3191
  ret = { tag: 'err', val: getErrorPayload(e) };
3130
3192
  }
3131
- rsc0[symbolRscHandle] = null;
3193
+ for (const rsc of curResourceBorrows) {
3194
+ rsc[symbolRscHandle] = null;
3195
+ }
3196
+ curResourceBorrows = [];
3132
3197
  var variant6 = ret;
3133
3198
  switch (variant6.tag) {
3134
3199
  case 'ok': {
@@ -3181,6 +3246,7 @@ function trampoline28(arg0, arg1, arg2, arg3) {
3181
3246
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
3182
3247
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
3183
3248
  }
3249
+ curResourceBorrows.push(rsc0);
3184
3250
  var ptr3 = arg1;
3185
3251
  var len3 = arg2;
3186
3252
  var result3 = new Uint8Array(memory0.buffer.slice(ptr3, ptr3 + len3 * 1));
@@ -3190,7 +3256,10 @@ function trampoline28(arg0, arg1, arg2, arg3) {
3190
3256
  } catch (e) {
3191
3257
  ret = { tag: 'err', val: getErrorPayload(e) };
3192
3258
  }
3193
- rsc0[symbolRscHandle] = null;
3259
+ for (const rsc of curResourceBorrows) {
3260
+ rsc[symbolRscHandle] = null;
3261
+ }
3262
+ curResourceBorrows = [];
3194
3263
  var variant6 = ret;
3195
3264
  switch (variant6.tag) {
3196
3265
  case 'ok': {
@@ -3243,13 +3312,17 @@ function trampoline29(arg0, arg1) {
3243
3312
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
3244
3313
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
3245
3314
  }
3315
+ curResourceBorrows.push(rsc0);
3246
3316
  let ret;
3247
3317
  try {
3248
3318
  ret = { tag: 'ok', val: rsc0.blockingFlush()};
3249
3319
  } catch (e) {
3250
3320
  ret = { tag: 'err', val: getErrorPayload(e) };
3251
3321
  }
3252
- rsc0[symbolRscHandle] = null;
3322
+ for (const rsc of curResourceBorrows) {
3323
+ rsc[symbolRscHandle] = null;
3324
+ }
3325
+ curResourceBorrows = [];
3253
3326
  var variant5 = ret;
3254
3327
  switch (variant5.tag) {
3255
3328
  case 'ok': {
package/obj/wasm-tools.js CHANGED
@@ -31,6 +31,8 @@ class ComponentError extends Error {
31
31
  }
32
32
  }
33
33
 
34
+ let curResourceBorrows = [];
35
+
34
36
  let dv = new DataView(new ArrayBuffer());
35
37
  const dataView = mem => dv.buffer === mem.buffer ? dv : dv = new DataView(mem.buffer);
36
38
 
@@ -59,7 +61,6 @@ const instantiateCore = WebAssembly.instantiate;
59
61
  const T_FLAG = 1 << 30;
60
62
 
61
63
  function rscTableCreateOwn (table, rep) {
62
- if (rep === 0) throw new TypeError('Invalid rep');
63
64
  const free = table[0] & ~T_FLAG;
64
65
  if (free === 0) {
65
66
  table.push(0);
@@ -248,13 +249,17 @@ function trampoline12(arg0, arg1, arg2) {
248
249
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
249
250
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
250
251
  }
252
+ curResourceBorrows.push(rsc0);
251
253
  let ret;
252
254
  try {
253
255
  ret = { tag: 'ok', val: rsc0.readViaStream(BigInt.asUintN(64, arg1))};
254
256
  } catch (e) {
255
257
  ret = { tag: 'err', val: getErrorPayload(e) };
256
258
  }
257
- rsc0[symbolRscHandle] = null;
259
+ for (const rsc of curResourceBorrows) {
260
+ rsc[symbolRscHandle] = null;
261
+ }
262
+ curResourceBorrows = [];
258
263
  var variant5 = ret;
259
264
  switch (variant5.tag) {
260
265
  case 'ok': {
@@ -452,13 +457,17 @@ function trampoline13(arg0, arg1, arg2) {
452
457
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
453
458
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
454
459
  }
460
+ curResourceBorrows.push(rsc0);
455
461
  let ret;
456
462
  try {
457
463
  ret = { tag: 'ok', val: rsc0.writeViaStream(BigInt.asUintN(64, arg1))};
458
464
  } catch (e) {
459
465
  ret = { tag: 'err', val: getErrorPayload(e) };
460
466
  }
461
- rsc0[symbolRscHandle] = null;
467
+ for (const rsc of curResourceBorrows) {
468
+ rsc[symbolRscHandle] = null;
469
+ }
470
+ curResourceBorrows = [];
462
471
  var variant5 = ret;
463
472
  switch (variant5.tag) {
464
473
  case 'ok': {
@@ -656,13 +665,17 @@ function trampoline14(arg0, arg1) {
656
665
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
657
666
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
658
667
  }
668
+ curResourceBorrows.push(rsc0);
659
669
  let ret;
660
670
  try {
661
671
  ret = { tag: 'ok', val: rsc0.appendViaStream()};
662
672
  } catch (e) {
663
673
  ret = { tag: 'err', val: getErrorPayload(e) };
664
674
  }
665
- rsc0[symbolRscHandle] = null;
675
+ for (const rsc of curResourceBorrows) {
676
+ rsc[symbolRscHandle] = null;
677
+ }
678
+ curResourceBorrows = [];
666
679
  var variant5 = ret;
667
680
  switch (variant5.tag) {
668
681
  case 'ok': {
@@ -860,13 +873,17 @@ function trampoline15(arg0, arg1) {
860
873
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
861
874
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
862
875
  }
876
+ curResourceBorrows.push(rsc0);
863
877
  let ret;
864
878
  try {
865
879
  ret = { tag: 'ok', val: rsc0.getType()};
866
880
  } catch (e) {
867
881
  ret = { tag: 'err', val: getErrorPayload(e) };
868
882
  }
869
- rsc0[symbolRscHandle] = null;
883
+ for (const rsc of curResourceBorrows) {
884
+ rsc[symbolRscHandle] = null;
885
+ }
886
+ curResourceBorrows = [];
870
887
  var variant5 = ret;
871
888
  switch (variant5.tag) {
872
889
  case 'ok': {
@@ -1102,13 +1119,17 @@ function trampoline16(arg0, arg1) {
1102
1119
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
1103
1120
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
1104
1121
  }
1122
+ curResourceBorrows.push(rsc0);
1105
1123
  let ret;
1106
1124
  try {
1107
1125
  ret = { tag: 'ok', val: rsc0.readDirectory()};
1108
1126
  } catch (e) {
1109
1127
  ret = { tag: 'err', val: getErrorPayload(e) };
1110
1128
  }
1111
- rsc0[symbolRscHandle] = null;
1129
+ for (const rsc of curResourceBorrows) {
1130
+ rsc[symbolRscHandle] = null;
1131
+ }
1132
+ curResourceBorrows = [];
1112
1133
  var variant5 = ret;
1113
1134
  switch (variant5.tag) {
1114
1135
  case 'ok': {
@@ -1306,13 +1327,17 @@ function trampoline17(arg0, arg1) {
1306
1327
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
1307
1328
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
1308
1329
  }
1330
+ curResourceBorrows.push(rsc0);
1309
1331
  let ret;
1310
1332
  try {
1311
1333
  ret = { tag: 'ok', val: rsc0.stat()};
1312
1334
  } catch (e) {
1313
1335
  ret = { tag: 'err', val: getErrorPayload(e) };
1314
1336
  }
1315
- rsc0[symbolRscHandle] = null;
1337
+ for (const rsc of curResourceBorrows) {
1338
+ rsc[symbolRscHandle] = null;
1339
+ }
1340
+ curResourceBorrows = [];
1316
1341
  var variant12 = ret;
1317
1342
  switch (variant12.tag) {
1318
1343
  case 'ok': {
@@ -1577,6 +1602,7 @@ function trampoline18(arg0, arg1, arg2, arg3, arg4) {
1577
1602
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
1578
1603
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
1579
1604
  }
1605
+ curResourceBorrows.push(rsc0);
1580
1606
  if ((arg1 & 4294967294) !== 0) {
1581
1607
  throw new TypeError('flags have extraneous bits set');
1582
1608
  }
@@ -1592,7 +1618,10 @@ function trampoline18(arg0, arg1, arg2, arg3, arg4) {
1592
1618
  } catch (e) {
1593
1619
  ret = { tag: 'err', val: getErrorPayload(e) };
1594
1620
  }
1595
- rsc0[symbolRscHandle] = null;
1621
+ for (const rsc of curResourceBorrows) {
1622
+ rsc[symbolRscHandle] = null;
1623
+ }
1624
+ curResourceBorrows = [];
1596
1625
  var variant14 = ret;
1597
1626
  switch (variant14.tag) {
1598
1627
  case 'ok': {
@@ -1857,6 +1886,7 @@ function trampoline19(arg0, arg1, arg2, arg3, arg4, arg5, arg6) {
1857
1886
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
1858
1887
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
1859
1888
  }
1889
+ curResourceBorrows.push(rsc0);
1860
1890
  if ((arg1 & 4294967294) !== 0) {
1861
1891
  throw new TypeError('flags have extraneous bits set');
1862
1892
  }
@@ -1892,7 +1922,10 @@ function trampoline19(arg0, arg1, arg2, arg3, arg4, arg5, arg6) {
1892
1922
  } catch (e) {
1893
1923
  ret = { tag: 'err', val: getErrorPayload(e) };
1894
1924
  }
1895
- rsc0[symbolRscHandle] = null;
1925
+ for (const rsc of curResourceBorrows) {
1926
+ rsc[symbolRscHandle] = null;
1927
+ }
1928
+ curResourceBorrows = [];
1896
1929
  var variant9 = ret;
1897
1930
  switch (variant9.tag) {
1898
1931
  case 'ok': {
@@ -2090,13 +2123,17 @@ function trampoline20(arg0, arg1) {
2090
2123
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
2091
2124
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
2092
2125
  }
2126
+ curResourceBorrows.push(rsc0);
2093
2127
  let ret;
2094
2128
  try {
2095
2129
  ret = { tag: 'ok', val: rsc0.metadataHash()};
2096
2130
  } catch (e) {
2097
2131
  ret = { tag: 'err', val: getErrorPayload(e) };
2098
2132
  }
2099
- rsc0[symbolRscHandle] = null;
2133
+ for (const rsc of curResourceBorrows) {
2134
+ rsc[symbolRscHandle] = null;
2135
+ }
2136
+ curResourceBorrows = [];
2100
2137
  var variant5 = ret;
2101
2138
  switch (variant5.tag) {
2102
2139
  case 'ok': {
@@ -2287,6 +2324,7 @@ function trampoline21(arg0, arg1, arg2, arg3, arg4) {
2287
2324
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
2288
2325
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
2289
2326
  }
2327
+ curResourceBorrows.push(rsc0);
2290
2328
  if ((arg1 & 4294967294) !== 0) {
2291
2329
  throw new TypeError('flags have extraneous bits set');
2292
2330
  }
@@ -2302,7 +2340,10 @@ function trampoline21(arg0, arg1, arg2, arg3, arg4) {
2302
2340
  } catch (e) {
2303
2341
  ret = { tag: 'err', val: getErrorPayload(e) };
2304
2342
  }
2305
- rsc0[symbolRscHandle] = null;
2343
+ for (const rsc of curResourceBorrows) {
2344
+ rsc[symbolRscHandle] = null;
2345
+ }
2346
+ curResourceBorrows = [];
2306
2347
  var variant7 = ret;
2307
2348
  switch (variant7.tag) {
2308
2349
  case 'ok': {
@@ -2493,13 +2534,17 @@ function trampoline22(arg0, arg1) {
2493
2534
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
2494
2535
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
2495
2536
  }
2537
+ curResourceBorrows.push(rsc0);
2496
2538
  let ret;
2497
2539
  try {
2498
2540
  ret = { tag: 'ok', val: rsc0.readDirectoryEntry()};
2499
2541
  } catch (e) {
2500
2542
  ret = { tag: 'err', val: getErrorPayload(e) };
2501
2543
  }
2502
- rsc0[symbolRscHandle] = null;
2544
+ for (const rsc of curResourceBorrows) {
2545
+ rsc[symbolRscHandle] = null;
2546
+ }
2547
+ curResourceBorrows = [];
2503
2548
  var variant8 = ret;
2504
2549
  switch (variant8.tag) {
2505
2550
  case 'ok': {
@@ -2747,8 +2792,12 @@ function trampoline23(arg0, arg1) {
2747
2792
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
2748
2793
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
2749
2794
  }
2795
+ curResourceBorrows.push(rsc0);
2750
2796
  const ret = filesystemErrorCode(rsc0);
2751
- rsc0[symbolRscHandle] = null;
2797
+ for (const rsc of curResourceBorrows) {
2798
+ rsc[symbolRscHandle] = null;
2799
+ }
2800
+ curResourceBorrows = [];
2752
2801
  var variant4 = ret;
2753
2802
  if (variant4 === null || variant4=== undefined) {
2754
2803
  dataView(memory0).setInt8(arg1 + 0, 0, true);
@@ -2927,13 +2976,17 @@ function trampoline24(arg0, arg1, arg2) {
2927
2976
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
2928
2977
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
2929
2978
  }
2979
+ curResourceBorrows.push(rsc0);
2930
2980
  let ret;
2931
2981
  try {
2932
2982
  ret = { tag: 'ok', val: rsc0.read(BigInt.asUintN(64, arg1))};
2933
2983
  } catch (e) {
2934
2984
  ret = { tag: 'err', val: getErrorPayload(e) };
2935
2985
  }
2936
- rsc0[symbolRscHandle] = null;
2986
+ for (const rsc of curResourceBorrows) {
2987
+ rsc[symbolRscHandle] = null;
2988
+ }
2989
+ curResourceBorrows = [];
2937
2990
  var variant6 = ret;
2938
2991
  switch (variant6.tag) {
2939
2992
  case 'ok': {
@@ -2993,13 +3046,17 @@ function trampoline25(arg0, arg1, arg2) {
2993
3046
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
2994
3047
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
2995
3048
  }
3049
+ curResourceBorrows.push(rsc0);
2996
3050
  let ret;
2997
3051
  try {
2998
3052
  ret = { tag: 'ok', val: rsc0.blockingRead(BigInt.asUintN(64, arg1))};
2999
3053
  } catch (e) {
3000
3054
  ret = { tag: 'err', val: getErrorPayload(e) };
3001
3055
  }
3002
- rsc0[symbolRscHandle] = null;
3056
+ for (const rsc of curResourceBorrows) {
3057
+ rsc[symbolRscHandle] = null;
3058
+ }
3059
+ curResourceBorrows = [];
3003
3060
  var variant6 = ret;
3004
3061
  switch (variant6.tag) {
3005
3062
  case 'ok': {
@@ -3059,13 +3116,17 @@ function trampoline26(arg0, arg1) {
3059
3116
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
3060
3117
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
3061
3118
  }
3119
+ curResourceBorrows.push(rsc0);
3062
3120
  let ret;
3063
3121
  try {
3064
3122
  ret = { tag: 'ok', val: rsc0.checkWrite()};
3065
3123
  } catch (e) {
3066
3124
  ret = { tag: 'err', val: getErrorPayload(e) };
3067
3125
  }
3068
- rsc0[symbolRscHandle] = null;
3126
+ for (const rsc of curResourceBorrows) {
3127
+ rsc[symbolRscHandle] = null;
3128
+ }
3129
+ curResourceBorrows = [];
3069
3130
  var variant5 = ret;
3070
3131
  switch (variant5.tag) {
3071
3132
  case 'ok': {
@@ -3119,6 +3180,7 @@ function trampoline27(arg0, arg1, arg2, arg3) {
3119
3180
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
3120
3181
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
3121
3182
  }
3183
+ curResourceBorrows.push(rsc0);
3122
3184
  var ptr3 = arg1;
3123
3185
  var len3 = arg2;
3124
3186
  var result3 = new Uint8Array(memory0.buffer.slice(ptr3, ptr3 + len3 * 1));
@@ -3128,7 +3190,10 @@ function trampoline27(arg0, arg1, arg2, arg3) {
3128
3190
  } catch (e) {
3129
3191
  ret = { tag: 'err', val: getErrorPayload(e) };
3130
3192
  }
3131
- rsc0[symbolRscHandle] = null;
3193
+ for (const rsc of curResourceBorrows) {
3194
+ rsc[symbolRscHandle] = null;
3195
+ }
3196
+ curResourceBorrows = [];
3132
3197
  var variant6 = ret;
3133
3198
  switch (variant6.tag) {
3134
3199
  case 'ok': {
@@ -3181,6 +3246,7 @@ function trampoline28(arg0, arg1, arg2, arg3) {
3181
3246
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
3182
3247
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
3183
3248
  }
3249
+ curResourceBorrows.push(rsc0);
3184
3250
  var ptr3 = arg1;
3185
3251
  var len3 = arg2;
3186
3252
  var result3 = new Uint8Array(memory0.buffer.slice(ptr3, ptr3 + len3 * 1));
@@ -3190,7 +3256,10 @@ function trampoline28(arg0, arg1, arg2, arg3) {
3190
3256
  } catch (e) {
3191
3257
  ret = { tag: 'err', val: getErrorPayload(e) };
3192
3258
  }
3193
- rsc0[symbolRscHandle] = null;
3259
+ for (const rsc of curResourceBorrows) {
3260
+ rsc[symbolRscHandle] = null;
3261
+ }
3262
+ curResourceBorrows = [];
3194
3263
  var variant6 = ret;
3195
3264
  switch (variant6.tag) {
3196
3265
  case 'ok': {
@@ -3243,13 +3312,17 @@ function trampoline29(arg0, arg1) {
3243
3312
  Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
3244
3313
  Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
3245
3314
  }
3315
+ curResourceBorrows.push(rsc0);
3246
3316
  let ret;
3247
3317
  try {
3248
3318
  ret = { tag: 'ok', val: rsc0.blockingFlush()};
3249
3319
  } catch (e) {
3250
3320
  ret = { tag: 'err', val: getErrorPayload(e) };
3251
3321
  }
3252
- rsc0[symbolRscHandle] = null;
3322
+ for (const rsc of curResourceBorrows) {
3323
+ rsc[symbolRscHandle] = null;
3324
+ }
3325
+ curResourceBorrows = [];
3253
3326
  var variant5 = ret;
3254
3327
  switch (variant5.tag) {
3255
3328
  case 'ok': {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bytecodealliance/jco",
3
- "version": "1.2.1",
3
+ "version": "1.2.2",
4
4
  "description": "JavaScript tooling for working with WebAssembly Components",
5
5
  "author": "Guy Bedford",
6
6
  "bin": {