@oxc-parser/binding-wasm32-wasi 0.124.0 → 0.125.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/browser-bundle.js CHANGED
@@ -5,7 +5,7 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
5
5
  throw Error('Dynamic require of "' + x + '" is not supported');
6
6
  });
7
7
 
8
- // ../../node_modules/.pnpm/@emnapi+wasi-threads@1.1.0/node_modules/@emnapi/wasi-threads/dist/wasi-threads.esm-bundler.js
8
+ // ../../node_modules/.pnpm/@emnapi+wasi-threads@1.2.1/node_modules/@emnapi/wasi-threads/dist/wasi-threads.esm-bundler.js
9
9
  var _WebAssembly = typeof WebAssembly !== "undefined" ? WebAssembly : typeof WXWebAssembly !== "undefined" ? WXWebAssembly : void 0;
10
10
  var ENVIRONMENT_IS_NODE = typeof process === "object" && process !== null && typeof process.versions === "object" && process.versions !== null && typeof process.versions.node === "string";
11
11
  function getPostMessage(options) {
@@ -117,6 +117,7 @@ var ThreadManager = /* @__PURE__ */ (function() {
117
117
  this._beforeLoad = options.beforeLoad;
118
118
  }
119
119
  this.printErr = (_a = options.printErr) !== null && _a !== void 0 ? _a : console.error.bind(console);
120
+ this.threadSpawn = options.threadSpawn;
120
121
  }
121
122
  Object.defineProperty(ThreadManager2.prototype, "nextWorkerID", {
122
123
  get: function() {
@@ -249,6 +250,10 @@ var ThreadManager = /* @__PURE__ */ (function() {
249
250
  if (payload.tid in _this_1.pthreads) {
250
251
  _this_1.cleanThread(worker, payload.tid);
251
252
  }
253
+ } else if (type === "spawn-thread") {
254
+ _this_1.threadSpawn(payload.startArg, payload.errorOrTid);
255
+ } else if (type === "terminate-all-threads") {
256
+ _this_1.terminateAllThreads();
252
257
  }
253
258
  }
254
259
  };
@@ -494,17 +499,6 @@ var WASIThreads = /* @__PURE__ */ (function() {
494
499
  }
495
500
  this.postMessage = postMessage2;
496
501
  var wasm64 = Boolean(options.wasm64);
497
- var onMessage = function(e) {
498
- if (e.data.__emnapi__) {
499
- var type = e.data.__emnapi__.type;
500
- var payload = e.data.__emnapi__.payload;
501
- if (type === "spawn-thread") {
502
- threadSpawn(payload.startArg, payload.errorOrTid);
503
- } else if (type === "terminate-all-threads") {
504
- _this_1.terminateAllThreads();
505
- }
506
- }
507
- };
508
502
  var threadSpawn = function(startArg, errorOrTid) {
509
503
  var _a;
510
504
  var EAGAIN = 6;
@@ -525,7 +519,7 @@ var WASIThreads = /* @__PURE__ */ (function() {
525
519
  }
526
520
  if (!isNewABI) {
527
521
  var malloc = _this_1.wasmInstance.exports.malloc;
528
- errorOrTid = wasm64 ? Number(malloc(BigInt(8))) : malloc(8);
522
+ errorOrTid = wasm64 ? Number(malloc(BigInt(8))) : malloc(8) >>> 0;
529
523
  if (!errorOrTid) {
530
524
  return -48;
531
525
  }
@@ -565,10 +559,9 @@ var WASIThreads = /* @__PURE__ */ (function() {
565
559
  if (!worker) {
566
560
  throw new Error("failed to get new worker");
567
561
  }
568
- PThread.addMessageEventListener(worker, onMessage);
569
562
  tid = PThread.markId(worker);
570
563
  if (ENVIRONMENT_IS_NODE) {
571
- worker.ref();
564
+ worker.unref();
572
565
  }
573
566
  worker.postMessage(createMessage("start", {
574
567
  tid,
@@ -626,6 +619,9 @@ var WASIThreads = /* @__PURE__ */ (function() {
626
619
  return tid;
627
620
  };
628
621
  this.threadSpawn = threadSpawn;
622
+ if (this.PThread) {
623
+ this.PThread.threadSpawn = threadSpawn;
624
+ }
629
625
  }
630
626
  WASIThreads2.prototype.getImportObject = function() {
631
627
  return {
@@ -649,14 +645,14 @@ var WASIThreads = /* @__PURE__ */ (function() {
649
645
  return Promise.resolve([]);
650
646
  };
651
647
  WASIThreads2.prototype.initialize = function(instance, module, memory) {
652
- var exports = instance.exports;
653
- memory !== null && memory !== void 0 ? memory : memory = exports.memory;
648
+ var exports$1 = instance.exports;
649
+ memory !== null && memory !== void 0 ? memory : memory = exports$1.memory;
654
650
  if (this.childThread) {
655
651
  instance = createInstanceProxy(instance, memory);
656
652
  }
657
653
  this.setup(instance, module, memory);
658
654
  var wasi = this.wasi;
659
- if ("_start" in exports && typeof exports._start === "function") {
655
+ if ("_start" in exports$1 && typeof exports$1._start === "function") {
660
656
  if (this.childThread) {
661
657
  wasi.start(instance);
662
658
  try {
@@ -673,8 +669,8 @@ var WASIThreads = /* @__PURE__ */ (function() {
673
669
  return instance;
674
670
  };
675
671
  WASIThreads2.prototype.start = function(instance, module, memory) {
676
- var exports = instance.exports;
677
- memory !== null && memory !== void 0 ? memory : memory = exports.memory;
672
+ var exports$1 = instance.exports;
673
+ memory !== null && memory !== void 0 ? memory : memory = exports$1.memory;
678
674
  if (this.childThread) {
679
675
  instance = createInstanceProxy(instance, memory);
680
676
  }
@@ -765,7 +761,7 @@ function __extends(d, b) {
765
761
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
766
762
  }
767
763
 
768
- // ../../node_modules/.pnpm/@emnapi+core@1.8.1/node_modules/@emnapi/core/dist/emnapi-core.esm-bundler.js
764
+ // ../../node_modules/.pnpm/@emnapi+core@1.9.2/node_modules/@emnapi/core/dist/emnapi-core.esm-bundler.js
769
765
  var _WebAssembly2 = typeof WebAssembly !== "undefined" ? WebAssembly : typeof WXWebAssembly !== "undefined" ? WXWebAssembly : void 0;
770
766
  function validateImports(imports) {
771
767
  if (imports && typeof imports !== "object") {
@@ -867,7 +863,6 @@ function createNapiModule(options) {
867
863
  filename: "",
868
864
  childThread: ENVIRONMENT_IS_PTHREAD,
869
865
  initWorker: void 0,
870
- executeAsyncWork: void 0,
871
866
  waitThreadStart,
872
867
  PThread: void 0,
873
868
  init: function(options2) {
@@ -1044,6 +1039,9 @@ function createNapiModule(options) {
1044
1039
  return envObject.clearLastError();
1045
1040
  }
1046
1041
  function _emnapi_get_node_version(major, minor, patch) {
1042
+ major >>>= 0;
1043
+ minor >>>= 0;
1044
+ patch >>>= 0;
1047
1045
  var versions = typeof process === "object" && process !== null && typeof process.versions === "object" && process.versions !== null && typeof process.versions.node === "string" ? process.versions.node.split(".").map(function(n) {
1048
1046
  return Number(n);
1049
1047
  }) : [0, 0, 0];
@@ -1084,6 +1082,7 @@ function createNapiModule(options) {
1084
1082
  }
1085
1083
  function _emnapi_call_finalizer(forceUncaught, env, callback, data, hint) {
1086
1084
  var envObject = emnapiCtx.envStore.get(env);
1085
+ callback >>>= 0;
1087
1086
  envObject.callFinalizerInternal(forceUncaught, callback, data, hint);
1088
1087
  }
1089
1088
  function _emnapi_ctx_increase_waiting_request_counter() {
@@ -1148,6 +1147,14 @@ function createNapiModule(options) {
1148
1147
  var worker = PThread.pthreads[tid];
1149
1148
  return worker;
1150
1149
  }
1150
+ function _emnapi_worker_ref(pthreadPtr) {
1151
+ if (ENVIRONMENT_IS_PTHREAD)
1152
+ return;
1153
+ var worker = emnapiGetWorkerByPthreadPtr(pthreadPtr);
1154
+ if (worker && typeof worker.ref === "function") {
1155
+ worker.ref();
1156
+ }
1157
+ }
1151
1158
  function _emnapi_worker_unref(pthreadPtr) {
1152
1159
  if (ENVIRONMENT_IS_PTHREAD)
1153
1160
  return;
@@ -1247,6 +1254,7 @@ function createNapiModule(options) {
1247
1254
  _emnapi_async_send_js,
1248
1255
  _emnapi_emit_async_thread_ready,
1249
1256
  _emnapi_tell_js_uvthreadpool,
1257
+ _emnapi_worker_ref,
1250
1258
  _emnapi_worker_unref
1251
1259
  });
1252
1260
  function napi_adjust_external_memory(env, change_in_bytes, adjusted_value) {
@@ -1274,6 +1282,7 @@ function createNapiModule(options) {
1274
1282
  /* napi_status.napi_generic_failure */
1275
1283
  );
1276
1284
  }
1285
+ adjusted_value >>>= 0;
1277
1286
  if (emnapiCtx.feature.supportBigInt) {
1278
1287
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
1279
1288
  HEAP_DATA_VIEW.setBigInt64(adjusted_value, BigInt(wasmMemory.buffer.byteLength), true);
@@ -1440,6 +1449,7 @@ function createNapiModule(options) {
1440
1449
  var asyncId = asyncContext.asyncId;
1441
1450
  var triggerAsyncId = asyncContext.triggerAsyncId;
1442
1451
  if (result) {
1452
+ result >>>= 0;
1443
1453
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
1444
1454
  HEAP_DATA_VIEW.setFloat64(result, asyncId, true);
1445
1455
  HEAP_DATA_VIEW.setFloat64(result + 8, triggerAsyncId, true);
@@ -1460,6 +1470,8 @@ function createNapiModule(options) {
1460
1470
  return;
1461
1471
  var resource = emnapiCtx.handleStore.get(async_resource).value;
1462
1472
  var callback = emnapiCtx.handleStore.get(cb).value;
1473
+ argv >>>= 0;
1474
+ size >>>= 0;
1463
1475
  size = size >>> 0;
1464
1476
  var arr = Array(size);
1465
1477
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
@@ -1472,6 +1484,7 @@ function createNapiModule(options) {
1472
1484
  triggerAsyncId: trigger_async_id
1473
1485
  });
1474
1486
  if (result) {
1487
+ result >>>= 0;
1475
1488
  var envObject = emnapiCtx.envStore.get(env);
1476
1489
  v = envObject.ensureHandleId(ret);
1477
1490
  HEAP_DATA_VIEW.setUint32(result, v, true);
@@ -1498,6 +1511,7 @@ function createNapiModule(options) {
1498
1511
  }
1499
1512
  var low = Number(numberValue & BigInt(4294967295));
1500
1513
  var high = Number(numberValue >> BigInt(32));
1514
+ result >>>= 0;
1501
1515
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
1502
1516
  HEAP_DATA_VIEW.setInt32(result, low, true);
1503
1517
  HEAP_DATA_VIEW.setInt32(result + 4, high, true);
@@ -1507,6 +1521,7 @@ function createNapiModule(options) {
1507
1521
  if (!emnapiNodeBinding) {
1508
1522
  return 9;
1509
1523
  }
1524
+ async_context >>>= 0;
1510
1525
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
1511
1526
  var low = HEAP_DATA_VIEW.getInt32(async_context, true);
1512
1527
  var high = HEAP_DATA_VIEW.getInt32(async_context + 4, true);
@@ -1567,10 +1582,13 @@ function createNapiModule(options) {
1567
1582
  /* napi_status.napi_invalid_arg */
1568
1583
  );
1569
1584
  }
1585
+ async_context >>>= 0;
1570
1586
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
1571
1587
  var low = HEAP_DATA_VIEW.getInt32(async_context, true);
1572
1588
  var high = HEAP_DATA_VIEW.getInt32(async_context + 4, true);
1573
1589
  var ctx = BigInt(low >>> 0) | BigInt(high) << BigInt(32);
1590
+ argv >>>= 0;
1591
+ argc >>>= 0;
1574
1592
  argc = argc >>> 0;
1575
1593
  var arr = Array(argc);
1576
1594
  for (; i < argc; i++) {
@@ -1584,6 +1602,7 @@ function createNapiModule(options) {
1584
1602
  if (ret.status !== 0)
1585
1603
  return envObject.setLastError(ret.status);
1586
1604
  if (result) {
1605
+ result >>>= 0;
1587
1606
  v = envObject.ensureHandleId(ret.value);
1588
1607
  HEAP_DATA_VIEW.setUint32(result, v, true);
1589
1608
  }
@@ -1614,47 +1633,71 @@ function createNapiModule(options) {
1614
1633
  });
1615
1634
  var emnapiTSFN = {
1616
1635
  offset: {
1636
+ __size__: 0,
1617
1637
  /* napi_ref */
1618
1638
  resource: 0,
1619
1639
  /* double */
1620
- async_id: 8,
1640
+ async_id: 0,
1621
1641
  /* double */
1622
- trigger_async_id: 16,
1642
+ trigger_async_id: 0,
1623
1643
  /* size_t */
1624
- queue_size: 24,
1644
+ queue_size: 0,
1645
+ /* bool */
1646
+ is_some: 0,
1625
1647
  /* void* */
1626
- queue: 1 * 4 + 24,
1648
+ queue: 0,
1627
1649
  /* size_t */
1628
- thread_count: 2 * 4 + 24,
1629
- /* bool */
1630
- is_closing: 3 * 4 + 24,
1650
+ thread_count: 0,
1651
+ /* int32_t */
1652
+ state: 0,
1631
1653
  /* atomic_uchar */
1632
- dispatch_state: 3 * 4 + 28,
1654
+ dispatch_state: 0,
1633
1655
  /* void* */
1634
- context: 3 * 4 + 32,
1656
+ context: 0,
1635
1657
  /* size_t */
1636
- max_queue_size: 4 * 4 + 32,
1658
+ max_queue_size: 0,
1637
1659
  /* napi_ref */
1638
- ref: 5 * 4 + 32,
1660
+ ref: 0,
1639
1661
  /* napi_env */
1640
- env: 6 * 4 + 32,
1662
+ env: 0,
1641
1663
  /* void* */
1642
- finalize_data: 7 * 4 + 32,
1664
+ finalize_data: 0,
1643
1665
  /* napi_finalize */
1644
- finalize_cb: 8 * 4 + 32,
1666
+ finalize_cb: 0,
1645
1667
  /* napi_threadsafe_function_call_js */
1646
- call_js_cb: 9 * 4 + 32,
1668
+ call_js_cb: 0,
1647
1669
  /* bool */
1648
- handles_closing: 10 * 4 + 32,
1670
+ handles_closing: 0,
1649
1671
  /* bool */
1650
- async_ref: 10 * 4 + 36,
1672
+ async_ref: 0,
1651
1673
  /* int32_t */
1652
- mutex: 10 * 4 + 40,
1674
+ mutex: 0,
1653
1675
  /* int32_t */
1654
- cond: 10 * 4 + 44,
1655
- end: 10 * 4 + 48
1676
+ cond: 0
1656
1677
  },
1657
1678
  init: function() {
1679
+ emnapiTSFN.offset.__size__ = 184;
1680
+ emnapiTSFN.offset.resource = 0;
1681
+ emnapiTSFN.offset.async_id = 8;
1682
+ emnapiTSFN.offset.trigger_async_id = 16;
1683
+ emnapiTSFN.offset.queue_size = 60;
1684
+ emnapiTSFN.offset.is_some = 24;
1685
+ emnapiTSFN.offset.queue = 64;
1686
+ emnapiTSFN.offset.thread_count = 136;
1687
+ emnapiTSFN.offset.state = 140;
1688
+ emnapiTSFN.offset.dispatch_state = 144;
1689
+ emnapiTSFN.offset.context = 148;
1690
+ emnapiTSFN.offset.max_queue_size = 152;
1691
+ emnapiTSFN.offset.ref = 156;
1692
+ emnapiTSFN.offset.env = 160;
1693
+ emnapiTSFN.offset.finalize_data = 164;
1694
+ emnapiTSFN.offset.finalize_cb = 168;
1695
+ emnapiTSFN.offset.call_js_cb = 172;
1696
+ emnapiTSFN.offset.handles_closing = 176;
1697
+ emnapiTSFN.offset.async_ref = 180;
1698
+ emnapiTSFN.offset.mutex = 32;
1699
+ emnapiTSFN.offset.cond = 56;
1700
+ emnapiTSFN.offset.mutex = emnapiTSFN.offset.mutex + 4;
1658
1701
  if (typeof PThread !== "undefined") {
1659
1702
  PThread.unusedWorkers.forEach(emnapiTSFN.addListener);
1660
1703
  PThread.runningWorkers.forEach(emnapiTSFN.addListener);
@@ -1703,6 +1746,7 @@ function createNapiModule(options) {
1703
1746
  var queue = _malloc(size);
1704
1747
  if (!queue)
1705
1748
  return false;
1749
+ queue >>>= 0;
1706
1750
  new Uint8Array(wasmMemory.buffer, queue, size).fill(0);
1707
1751
  emnapiTSFN.storeSizeTypeValue(func + emnapiTSFN.offset.queue, queue, false);
1708
1752
  return true;
@@ -1721,6 +1765,7 @@ function createNapiModule(options) {
1721
1765
  var node = _malloc(size);
1722
1766
  if (!node)
1723
1767
  throw new Error("OOM");
1768
+ node >>>= 0;
1724
1769
  emnapiTSFN.storeSizeTypeValue(node, data, false);
1725
1770
  emnapiTSFN.storeSizeTypeValue(node + 4, 0, false);
1726
1771
  if (head === 0 && tail === 0) {
@@ -1755,11 +1800,11 @@ function createNapiModule(options) {
1755
1800
  var waitCondition = function() {
1756
1801
  var queueSize = emnapiTSFN.getQueueSize(func);
1757
1802
  var maxSize = emnapiTSFN.getMaxQueueSize(func);
1758
- var isClosing = emnapiTSFN.getIsClosing(func);
1759
- return queueSize >= maxSize && maxSize > 0 && !isClosing;
1803
+ return queueSize >= maxSize && maxSize > 0 && emnapiTSFN.getState(func) === 0;
1760
1804
  };
1761
1805
  var isBrowserMain = typeof window !== "undefined" && typeof document !== "undefined" && !ENVIRONMENT_IS_NODE2;
1762
- return mutex.execute(function() {
1806
+ var shouldDelete = false;
1807
+ var ret = mutex.execute(function() {
1763
1808
  while (waitCondition()) {
1764
1809
  if (mode === 0) {
1765
1810
  return 15;
@@ -1769,19 +1814,25 @@ function createNapiModule(options) {
1769
1814
  }
1770
1815
  cond.wait();
1771
1816
  }
1772
- if (emnapiTSFN.getIsClosing(func)) {
1773
- if (emnapiTSFN.getThreadCount(func) === 0) {
1774
- return 1;
1775
- } else {
1776
- emnapiTSFN.subThreadCount(func);
1777
- return 16;
1778
- }
1779
- } else {
1817
+ if (emnapiTSFN.getState(func) === 0) {
1780
1818
  emnapiTSFN.pushQueue(func, data);
1781
1819
  emnapiTSFN.send(func);
1782
1820
  return 0;
1783
1821
  }
1822
+ if (emnapiTSFN.getThreadCount(func) === 0) {
1823
+ return 1;
1824
+ }
1825
+ emnapiTSFN.subThreadCount(func);
1826
+ if (!(emnapiTSFN.getState(func) === 2 && emnapiTSFN.getThreadCount(func) === 0)) {
1827
+ return 16;
1828
+ }
1829
+ shouldDelete = true;
1830
+ return 16;
1784
1831
  });
1832
+ if (shouldDelete) {
1833
+ emnapiTSFN.destroy(func);
1834
+ }
1835
+ return ret;
1785
1836
  },
1786
1837
  getMutex: function(func) {
1787
1838
  var index = func + emnapiTSFN.offset.mutex;
@@ -1791,18 +1842,18 @@ function createNapiModule(options) {
1791
1842
  var i32a = new Int32Array(wasmMemory.buffer, index, 1);
1792
1843
  if (isBrowserMain) {
1793
1844
  while (true) {
1794
- var oldValue = Atomics.compareExchange(i32a, 0, 0, 1);
1845
+ var oldValue = Atomics.compareExchange(i32a, 0, 0, 10);
1795
1846
  if (oldValue === 0) {
1796
1847
  return;
1797
1848
  }
1798
1849
  }
1799
1850
  } else {
1800
1851
  while (true) {
1801
- var oldValue = Atomics.compareExchange(i32a, 0, 0, 1);
1852
+ var oldValue = Atomics.compareExchange(i32a, 0, 0, 10);
1802
1853
  if (oldValue === 0) {
1803
1854
  return;
1804
1855
  }
1805
- Atomics.wait(i32a, 0, 1);
1856
+ Atomics.wait(i32a, 0, 10);
1806
1857
  }
1807
1858
  }
1808
1859
  },
@@ -1811,20 +1862,20 @@ function createNapiModule(options) {
1811
1862
  const again = (): void => { fn() }
1812
1863
  const fn = (): void => {
1813
1864
  const i32a = new Int32Array(wasmMemory.buffer, index, 1)
1814
- const oldValue = Atomics.compareExchange(i32a, 0, 0, 1)
1865
+ const oldValue = Atomics.compareExchange(i32a, 0, 0, 10)
1815
1866
  if (oldValue === 0) {
1816
1867
  resolve()
1817
1868
  return
1818
1869
  }
1819
- (Atomics as any).waitAsync(i32a, 0, 1).value.then(again)
1870
+ (Atomics as any).waitAsync(i32a, 0, 10).value.then(again)
1820
1871
  }
1821
1872
  fn()
1822
1873
  })
1823
1874
  }, */
1824
1875
  unlock: function() {
1825
1876
  var i32a = new Int32Array(wasmMemory.buffer, index, 1);
1826
- var oldValue = Atomics.compareExchange(i32a, 0, 1, 0);
1827
- if (oldValue !== 1) {
1877
+ var oldValue = Atomics.compareExchange(i32a, 0, 10, 0);
1878
+ if (oldValue !== 10) {
1828
1879
  throw new Error("Tried to unlock while not holding the mutex");
1829
1880
  }
1830
1881
  Atomics.notify(i32a, 0, 1);
@@ -1888,14 +1939,14 @@ function createNapiModule(options) {
1888
1939
  var offset = emnapiTSFN.offset.queue_size;
1889
1940
  var arr, index;
1890
1941
  arr = new Uint32Array(wasmMemory.buffer);
1891
- index = func + offset >> 2;
1942
+ index = func + offset >>> 2;
1892
1943
  Atomics.add(arr, index, 1);
1893
1944
  },
1894
1945
  subQueueSize: function(func) {
1895
1946
  var offset = emnapiTSFN.offset.queue_size;
1896
1947
  var arr, index;
1897
1948
  arr = new Uint32Array(wasmMemory.buffer);
1898
- index = func + offset >> 2;
1949
+ index = func + offset >>> 2;
1899
1950
  Atomics.sub(arr, index, 1);
1900
1951
  },
1901
1952
  getThreadCount: function(func) {
@@ -1905,30 +1956,30 @@ function createNapiModule(options) {
1905
1956
  var offset = emnapiTSFN.offset.thread_count;
1906
1957
  var arr, index;
1907
1958
  arr = new Uint32Array(wasmMemory.buffer);
1908
- index = func + offset >> 2;
1959
+ index = func + offset >>> 2;
1909
1960
  Atomics.add(arr, index, 1);
1910
1961
  },
1911
1962
  subThreadCount: function(func) {
1912
1963
  var offset = emnapiTSFN.offset.thread_count;
1913
1964
  var arr, index;
1914
1965
  arr = new Uint32Array(wasmMemory.buffer);
1915
- index = func + offset >> 2;
1966
+ index = func + offset >>> 2;
1916
1967
  Atomics.sub(arr, index, 1);
1917
1968
  },
1918
- getIsClosing: function(func) {
1919
- return Atomics.load(new Int32Array(wasmMemory.buffer), func + emnapiTSFN.offset.is_closing >> 2);
1969
+ getState: function(func) {
1970
+ return Atomics.load(new Int32Array(wasmMemory.buffer), func + emnapiTSFN.offset.state >>> 2);
1920
1971
  },
1921
- setIsClosing: function(func, value) {
1922
- Atomics.store(new Int32Array(wasmMemory.buffer), func + emnapiTSFN.offset.is_closing >> 2, value);
1972
+ setState: function(func, value) {
1973
+ Atomics.store(new Int32Array(wasmMemory.buffer), func + emnapiTSFN.offset.state >>> 2, value);
1923
1974
  },
1924
1975
  getHandlesClosing: function(func) {
1925
- return Atomics.load(new Int32Array(wasmMemory.buffer), func + emnapiTSFN.offset.handles_closing >> 2);
1976
+ return Atomics.load(new Int8Array(wasmMemory.buffer), func + emnapiTSFN.offset.handles_closing);
1926
1977
  },
1927
1978
  setHandlesClosing: function(func, value) {
1928
- Atomics.store(new Int32Array(wasmMemory.buffer), func + emnapiTSFN.offset.handles_closing >> 2, value);
1979
+ Atomics.store(new Int8Array(wasmMemory.buffer), func + emnapiTSFN.offset.handles_closing, value);
1929
1980
  },
1930
1981
  getDispatchState: function(func) {
1931
- return Atomics.load(new Uint32Array(wasmMemory.buffer), func + emnapiTSFN.offset.dispatch_state >> 2);
1982
+ return Atomics.load(new Uint32Array(wasmMemory.buffer), func + emnapiTSFN.offset.dispatch_state >>> 2);
1932
1983
  },
1933
1984
  getContext: function(func) {
1934
1985
  return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.context, false);
@@ -1959,11 +2010,11 @@ function createNapiModule(options) {
1959
2010
  var arr;
1960
2011
  if (unsigned) {
1961
2012
  arr = new Uint32Array(wasmMemory.buffer);
1962
- ret = Atomics.load(arr, offset >> 2);
2013
+ ret = Atomics.load(arr, offset >>> 2);
1963
2014
  return ret;
1964
2015
  } else {
1965
2016
  arr = new Int32Array(wasmMemory.buffer);
1966
- ret = Atomics.load(arr, offset >> 2);
2017
+ ret = Atomics.load(arr, offset >>> 2);
1967
2018
  return ret;
1968
2019
  }
1969
2020
  },
@@ -1971,51 +2022,81 @@ function createNapiModule(options) {
1971
2022
  var arr;
1972
2023
  if (unsigned) {
1973
2024
  arr = new Uint32Array(wasmMemory.buffer);
1974
- Atomics.store(arr, offset >> 2, value);
2025
+ Atomics.store(arr, offset >>> 2, value);
1975
2026
  return void 0;
1976
2027
  } else {
1977
2028
  arr = new Int32Array(wasmMemory.buffer);
1978
- Atomics.store(arr, offset >> 2, value >>> 0);
2029
+ Atomics.store(arr, offset >>> 2, value >>> 0);
1979
2030
  return void 0;
1980
2031
  }
1981
2032
  },
2033
+ releaseResources: function(func) {
2034
+ if (emnapiTSFN.getState(func) !== 2) {
2035
+ emnapiTSFN.setState(
2036
+ func,
2037
+ 2
2038
+ /* State.kClosed */
2039
+ );
2040
+ var env = emnapiTSFN.getEnv(func);
2041
+ var envObject = emnapiCtx.envStore.get(env);
2042
+ var ref = emnapiTSFN.getRef(func);
2043
+ if (ref) {
2044
+ emnapiCtx.refStore.get(ref).dispose();
2045
+ }
2046
+ var resource = emnapiTSFN.getResource(func);
2047
+ emnapiCtx.refStore.get(resource).dispose();
2048
+ var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
2049
+ HEAP_DATA_VIEW.setInt8(func + emnapiTSFN.offset.is_some, 0, true);
2050
+ emnapiCtx.removeCleanupHook(envObject, emnapiTSFN.cleanup, func);
2051
+ envObject.unref();
2052
+ var asyncRefOffset = func + emnapiTSFN.offset.async_ref >>> 2;
2053
+ var arr = new Uint32Array(wasmMemory.buffer);
2054
+ if (Atomics.load(arr, asyncRefOffset) > 0) {
2055
+ Atomics.store(arr, asyncRefOffset, 0);
2056
+ emnapiCtx.decreaseWaitingRequestCounter();
2057
+ }
2058
+ if (emnapiNodeBinding) {
2059
+ var view = new DataView(wasmMemory.buffer);
2060
+ var asyncId = view.getFloat64(func + emnapiTSFN.offset.async_id, true);
2061
+ var triggerAsyncId = view.getFloat64(func + emnapiTSFN.offset.trigger_async_id, true);
2062
+ _emnapi_node_emit_async_destroy(asyncId, triggerAsyncId);
2063
+ }
2064
+ }
2065
+ },
1982
2066
  destroy: function(func) {
1983
2067
  emnapiTSFN.destroyQueue(func);
1984
- var env = emnapiTSFN.getEnv(func);
1985
- var envObject = emnapiCtx.envStore.get(env);
1986
- var ref = emnapiTSFN.getRef(func);
1987
- if (ref) {
1988
- emnapiCtx.refStore.get(ref).dispose();
1989
- }
1990
- emnapiCtx.removeCleanupHook(envObject, emnapiTSFN.cleanup, func);
1991
- envObject.unref();
1992
- var asyncRefOffset = func + emnapiTSFN.offset.async_ref >> 2;
1993
- var arr = new Int32Array(wasmMemory.buffer);
1994
- if (Atomics.load(arr, asyncRefOffset)) {
1995
- Atomics.store(arr, asyncRefOffset, 0);
1996
- emnapiCtx.decreaseWaitingRequestCounter();
1997
- }
1998
- var resource = emnapiTSFN.getResource(func);
1999
- emnapiCtx.refStore.get(resource).dispose();
2000
- if (emnapiNodeBinding) {
2001
- var view = new DataView(wasmMemory.buffer);
2002
- var asyncId = view.getFloat64(func + emnapiTSFN.offset.async_id, true);
2003
- var triggerAsyncId = view.getFloat64(func + emnapiTSFN.offset.trigger_async_id, true);
2004
- _emnapi_node_emit_async_destroy(asyncId, triggerAsyncId);
2005
- }
2068
+ emnapiTSFN.releaseResources(func);
2006
2069
  _free(func);
2007
2070
  },
2008
- emptyQueueAndDelete: function(func) {
2071
+ emptyQueue: function(func) {
2072
+ var drainQueue = [];
2073
+ emnapiTSFN.getMutex(func).execute(function() {
2074
+ while (emnapiTSFN.getQueueSize(func) > 0) {
2075
+ drainQueue.push(emnapiTSFN.shiftQueue(func));
2076
+ }
2077
+ });
2009
2078
  var callJsCb = emnapiTSFN.getCallJSCb(func);
2010
2079
  var context2 = emnapiTSFN.getContext(func);
2011
2080
  var data;
2012
- while (emnapiTSFN.getQueueSize(func) > 0) {
2013
- data = emnapiTSFN.shiftQueue(func);
2081
+ for (var i = 0; i < drainQueue.length; i++) {
2082
+ data = drainQueue[i];
2014
2083
  if (callJsCb) {
2015
2084
  wasmTable.get(callJsCb)(0, 0, context2, data);
2016
2085
  }
2017
2086
  }
2018
- emnapiTSFN.destroy(func);
2087
+ },
2088
+ maybeDelete: function(func) {
2089
+ var shouldDelete = false;
2090
+ emnapiTSFN.getMutex(func).execute(function() {
2091
+ if (emnapiTSFN.getThreadCount(func) > 0) {
2092
+ emnapiTSFN.releaseResources(func);
2093
+ } else {
2094
+ shouldDelete = true;
2095
+ }
2096
+ });
2097
+ if (shouldDelete) {
2098
+ emnapiTSFN.destroy(func);
2099
+ }
2019
2100
  },
2020
2101
  finalize: function(func) {
2021
2102
  var env = emnapiTSFN.getEnv(func);
@@ -2028,6 +2109,7 @@ function createNapiModule(options) {
2028
2109
  envObject.callFinalizerInternal(0, finalize, data, context2);
2029
2110
  };
2030
2111
  try {
2112
+ emnapiTSFN.emptyQueue(func);
2031
2113
  if (finalize) {
2032
2114
  if (emnapiNodeBinding) {
2033
2115
  var resource = emnapiTSFN.getResource(func);
@@ -2044,7 +2126,7 @@ function createNapiModule(options) {
2044
2126
  f();
2045
2127
  }
2046
2128
  }
2047
- emnapiTSFN.emptyQueueAndDelete(func);
2129
+ emnapiTSFN.maybeDelete(func);
2048
2130
  } finally {
2049
2131
  emnapiCtx.closeScope(envObject);
2050
2132
  }
@@ -2059,7 +2141,11 @@ function createNapiModule(options) {
2059
2141
  try {
2060
2142
  if (set_closing) {
2061
2143
  emnapiTSFN.getMutex(func).execute(function() {
2062
- emnapiTSFN.setIsClosing(func, 1);
2144
+ emnapiTSFN.setState(
2145
+ func,
2146
+ 1
2147
+ /* State.kClosing */
2148
+ );
2063
2149
  if (emnapiTSFN.getMaxQueueSize(func) > 0) {
2064
2150
  emnapiTSFN.getCond(func).signal();
2065
2151
  }
@@ -2083,9 +2169,7 @@ function createNapiModule(options) {
2083
2169
  var mutex = emnapiTSFN.getMutex(func);
2084
2170
  var cond = emnapiTSFN.getCond(func);
2085
2171
  mutex.execute(function() {
2086
- if (emnapiTSFN.getIsClosing(func)) {
2087
- emnapiTSFN.closeHandlesAndMaybeDelete(func, 0);
2088
- } else {
2172
+ if (emnapiTSFN.getState(func) === 0) {
2089
2173
  var size = emnapiTSFN.getQueueSize(func);
2090
2174
  if (size > 0) {
2091
2175
  data = emnapiTSFN.shiftQueue(func);
@@ -2098,7 +2182,11 @@ function createNapiModule(options) {
2098
2182
  }
2099
2183
  if (size === 0) {
2100
2184
  if (emnapiTSFN.getThreadCount(func) === 0) {
2101
- emnapiTSFN.setIsClosing(func, 1);
2185
+ emnapiTSFN.setState(
2186
+ func,
2187
+ 1
2188
+ /* State.kClosing */
2189
+ );
2102
2190
  if (emnapiTSFN.getMaxQueueSize(func) > 0) {
2103
2191
  cond.signal();
2104
2192
  }
@@ -2107,6 +2195,8 @@ function createNapiModule(options) {
2107
2195
  } else {
2108
2196
  has_more = true;
2109
2197
  }
2198
+ } else {
2199
+ emnapiTSFN.closeHandlesAndMaybeDelete(func, 0);
2110
2200
  }
2111
2201
  });
2112
2202
  if (popped_value) {
@@ -2152,7 +2242,7 @@ function createNapiModule(options) {
2152
2242
  var has_more = true;
2153
2243
  var iterations_left = 1e3;
2154
2244
  var ui32a = new Uint32Array(wasmMemory.buffer);
2155
- var index = func + emnapiTSFN.offset.dispatch_state >> 2;
2245
+ var index = func + emnapiTSFN.offset.dispatch_state >>> 2;
2156
2246
  while (has_more && --iterations_left !== 0) {
2157
2247
  Atomics.store(ui32a, index, 1);
2158
2248
  has_more = emnapiTSFN.dispatchOne(func);
@@ -2165,7 +2255,7 @@ function createNapiModule(options) {
2165
2255
  }
2166
2256
  },
2167
2257
  send: function(func) {
2168
- var current_state = Atomics.or(new Uint32Array(wasmMemory.buffer), func + emnapiTSFN.offset.dispatch_state >> 2, 1 << 1);
2258
+ var current_state = Atomics.or(new Uint32Array(wasmMemory.buffer), func + emnapiTSFN.offset.dispatch_state >>> 2, 1 << 1);
2169
2259
  if ((current_state & 1) === 1) {
2170
2260
  return;
2171
2261
  }
@@ -2195,6 +2285,13 @@ function createNapiModule(options) {
2195
2285
  1
2196
2286
  /* napi_status.napi_invalid_arg */
2197
2287
  );
2288
+ max_queue_size >>>= 0;
2289
+ initial_thread_count >>>= 0;
2290
+ env >>>= 0;
2291
+ thread_finalize_data >>>= 0;
2292
+ thread_finalize_cb >>>= 0;
2293
+ context2 >>>= 0;
2294
+ call_js_cb >>>= 0;
2198
2295
  max_queue_size = max_queue_size >>> 0;
2199
2296
  initial_thread_count = initial_thread_count >>> 0;
2200
2297
  if (initial_thread_count === 0) {
@@ -2209,6 +2306,7 @@ function createNapiModule(options) {
2209
2306
  /* napi_status.napi_invalid_arg */
2210
2307
  );
2211
2308
  var ref = 0;
2309
+ func >>>= 0;
2212
2310
  if (!func) {
2213
2311
  if (!call_js_cb)
2214
2312
  return envObject.setLastError(
@@ -2254,13 +2352,14 @@ function createNapiModule(options) {
2254
2352
  }
2255
2353
  asyncResourceName = String(asyncResourceName);
2256
2354
  var resource_name = envObject.ensureHandleId(asyncResourceName);
2257
- var sizeofTSFN = emnapiTSFN.offset.end;
2355
+ var sizeofTSFN = emnapiTSFN.offset.__size__;
2258
2356
  var tsfn = _malloc(sizeofTSFN);
2259
2357
  if (!tsfn)
2260
2358
  return envObject.setLastError(
2261
2359
  9
2262
2360
  /* napi_status.napi_generic_failure */
2263
2361
  );
2362
+ tsfn >>>= 0;
2264
2363
  new Uint8Array(wasmMemory.buffer).subarray(tsfn, tsfn + sizeofTSFN).fill(0);
2265
2364
  var resourceRef = emnapiCtx.createReference(
2266
2365
  envObject,
@@ -2271,7 +2370,7 @@ function createNapiModule(options) {
2271
2370
  );
2272
2371
  var resource_ = resourceRef.id;
2273
2372
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
2274
- HEAP_DATA_VIEW.setUint32(tsfn, resource_, true);
2373
+ HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.resource, resource_, true);
2275
2374
  if (!emnapiTSFN.initQueue(tsfn)) {
2276
2375
  _free(tsfn);
2277
2376
  resourceRef.dispose();
@@ -2281,6 +2380,7 @@ function createNapiModule(options) {
2281
2380
  );
2282
2381
  }
2283
2382
  _emnapi_node_emit_async_init(resource, resource_name, -1, tsfn + emnapiTSFN.offset.async_id);
2383
+ HEAP_DATA_VIEW.setInt8(tsfn + emnapiTSFN.offset.is_some, 1, true);
2284
2384
  HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.thread_count, initial_thread_count, true);
2285
2385
  HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.context, context2, true);
2286
2386
  HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.max_queue_size, max_queue_size, true);
@@ -2292,7 +2392,8 @@ function createNapiModule(options) {
2292
2392
  emnapiCtx.addCleanupHook(envObject, emnapiTSFN.cleanup, tsfn);
2293
2393
  envObject.ref();
2294
2394
  emnapiCtx.increaseWaitingRequestCounter();
2295
- HEAP_DATA_VIEW.setInt32(tsfn + emnapiTSFN.offset.async_ref, 1, true);
2395
+ HEAP_DATA_VIEW.setUint32(tsfn + emnapiTSFN.offset.async_ref, 1, true);
2396
+ result >>>= 0;
2296
2397
  HEAP_DATA_VIEW.setUint32(result, tsfn, true);
2297
2398
  return envObject.clearLastError();
2298
2399
  }
@@ -2301,6 +2402,8 @@ function createNapiModule(options) {
2301
2402
  abort();
2302
2403
  return 1;
2303
2404
  }
2405
+ func >>>= 0;
2406
+ result >>>= 0;
2304
2407
  var context2 = emnapiTSFN.getContext(func);
2305
2408
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
2306
2409
  HEAP_DATA_VIEW.setUint32(result, context2, true);
@@ -2311,6 +2414,8 @@ function createNapiModule(options) {
2311
2414
  abort();
2312
2415
  return 1;
2313
2416
  }
2417
+ func >>>= 0;
2418
+ data >>>= 0;
2314
2419
  return emnapiTSFN.push(func, data, mode);
2315
2420
  }
2316
2421
  function napi_acquire_threadsafe_function(func) {
@@ -2318,13 +2423,14 @@ function createNapiModule(options) {
2318
2423
  abort();
2319
2424
  return 1;
2320
2425
  }
2426
+ func >>>= 0;
2321
2427
  var mutex = emnapiTSFN.getMutex(func);
2322
2428
  return mutex.execute(function() {
2323
- if (emnapiTSFN.getIsClosing(func)) {
2324
- return 16;
2429
+ if (emnapiTSFN.getState(func) === 0) {
2430
+ emnapiTSFN.addThreadCount(func);
2431
+ return 0;
2325
2432
  }
2326
- emnapiTSFN.addThreadCount(func);
2327
- return 0;
2433
+ return 16;
2328
2434
  });
2329
2435
  }
2330
2436
  function napi_release_threadsafe_function(func, mode) {
@@ -2332,37 +2438,55 @@ function createNapiModule(options) {
2332
2438
  abort();
2333
2439
  return 1;
2334
2440
  }
2441
+ func >>>= 0;
2335
2442
  var mutex = emnapiTSFN.getMutex(func);
2336
2443
  var cond = emnapiTSFN.getCond(func);
2337
- return mutex.execute(function() {
2444
+ var shouldDelete = false;
2445
+ var ret = mutex.execute(function() {
2338
2446
  if (emnapiTSFN.getThreadCount(func) === 0) {
2339
2447
  return 1;
2340
2448
  }
2341
2449
  emnapiTSFN.subThreadCount(func);
2342
2450
  if (emnapiTSFN.getThreadCount(func) === 0 || mode === 1) {
2343
- var isClosing = emnapiTSFN.getIsClosing(func);
2344
- if (!isClosing) {
2345
- var isClosingValue = mode === 1 ? 1 : 0;
2346
- emnapiTSFN.setIsClosing(func, isClosingValue);
2347
- if (isClosingValue && emnapiTSFN.getMaxQueueSize(func) > 0) {
2451
+ if (emnapiTSFN.getState(func) === 0) {
2452
+ if (mode === 1) {
2453
+ emnapiTSFN.setState(
2454
+ func,
2455
+ 1
2456
+ /* State.kClosing */
2457
+ );
2458
+ }
2459
+ if (emnapiTSFN.getState(func) === 1 && emnapiTSFN.getMaxQueueSize(func) > 0) {
2348
2460
  cond.signal();
2349
2461
  }
2350
2462
  emnapiTSFN.send(func);
2351
2463
  }
2352
2464
  }
2465
+ if (!(emnapiTSFN.getState(func) === 2 && emnapiTSFN.getThreadCount(func) === 0)) {
2466
+ return 0;
2467
+ }
2468
+ shouldDelete = true;
2353
2469
  return 0;
2354
2470
  });
2471
+ if (shouldDelete) {
2472
+ emnapiTSFN.destroy(func);
2473
+ }
2474
+ return ret;
2355
2475
  }
2356
2476
  function napi_unref_threadsafe_function(env, func) {
2357
2477
  if (!func) {
2358
2478
  abort();
2359
2479
  return 1;
2360
2480
  }
2361
- var asyncRefOffset = func + emnapiTSFN.offset.async_ref >> 2;
2362
- var arr = new Int32Array(wasmMemory.buffer);
2363
- if (Atomics.load(arr, asyncRefOffset)) {
2364
- Atomics.store(arr, asyncRefOffset, 0);
2365
- emnapiCtx.decreaseWaitingRequestCounter();
2481
+ func >>>= 0;
2482
+ var asyncRefOffset = func + emnapiTSFN.offset.async_ref >>> 2;
2483
+ var arr = new Uint32Array(wasmMemory.buffer);
2484
+ var currentValue = Atomics.load(arr, asyncRefOffset);
2485
+ if (currentValue > 0) {
2486
+ Atomics.store(arr, asyncRefOffset, currentValue - 1);
2487
+ if (currentValue === 1) {
2488
+ emnapiCtx.decreaseWaitingRequestCounter();
2489
+ }
2366
2490
  }
2367
2491
  return 0;
2368
2492
  }
@@ -2371,19 +2495,30 @@ function createNapiModule(options) {
2371
2495
  abort();
2372
2496
  return 1;
2373
2497
  }
2374
- var asyncRefOffset = func + emnapiTSFN.offset.async_ref >> 2;
2375
- var arr = new Int32Array(wasmMemory.buffer);
2376
- if (!Atomics.load(arr, asyncRefOffset)) {
2377
- Atomics.store(arr, asyncRefOffset, 1);
2498
+ func >>>= 0;
2499
+ var asyncRefOffset = func + emnapiTSFN.offset.async_ref >>> 2;
2500
+ var arr = new Uint32Array(wasmMemory.buffer);
2501
+ var currentValue = Atomics.load(arr, asyncRefOffset);
2502
+ if (!currentValue) {
2378
2503
  emnapiCtx.increaseWaitingRequestCounter();
2379
2504
  }
2505
+ Atomics.store(arr, asyncRefOffset, currentValue + 1);
2380
2506
  return 0;
2381
2507
  }
2382
2508
  var emnapiAWMT = {
2383
- unusedWorkers: [],
2384
- runningWorkers: [],
2385
- workQueue: [],
2509
+ pool: [],
2386
2510
  workerReady: null,
2511
+ globalAddress: 0,
2512
+ globalOffset: {
2513
+ idle_threads: 0,
2514
+ q: 1 * 4,
2515
+ next: 1 * 4,
2516
+ prev: 2 * 4,
2517
+ mutex: 3 * 4,
2518
+ cond: 4 * 4,
2519
+ exit_message: 5 * 4,
2520
+ end: 7 * 4
2521
+ },
2387
2522
  offset: {
2388
2523
  /* napi_ref */
2389
2524
  resource: 0,
@@ -2393,19 +2528,33 @@ function createNapiModule(options) {
2393
2528
  trigger_async_id: 16,
2394
2529
  /* napi_env */
2395
2530
  env: 24,
2531
+ /* int32_t */
2532
+ status: 1 * 4 + 24,
2533
+ // 0 for pending, 1 for cancelled, 2 for completed
2534
+ queue: 2 * 4 + 24,
2535
+ queue_next: 2 * 4 + 24,
2536
+ queue_prev: 3 * 4 + 24,
2396
2537
  /* void* */
2397
- data: 1 * 4 + 24,
2538
+ data: 4 * 4 + 24,
2398
2539
  /* napi_async_execute_callback */
2399
- execute: 2 * 4 + 24,
2540
+ execute: 5 * 4 + 24,
2400
2541
  /* napi_async_complete_callback */
2401
- complete: 3 * 4 + 24,
2402
- end: 4 * 4 + 24
2542
+ complete: 6 * 4 + 24,
2543
+ end: 7 * 4 + 24
2403
2544
  },
2404
2545
  init: function() {
2405
- emnapiAWMT.unusedWorkers = [];
2406
- emnapiAWMT.runningWorkers = [];
2407
- emnapiAWMT.workQueue = [];
2546
+ emnapiAWMT.pool = [];
2408
2547
  emnapiAWMT.workerReady = null;
2548
+ if (typeof PThread !== "undefined") {
2549
+ PThread.unusedWorkers.forEach(emnapiAWMT.addListener);
2550
+ PThread.runningWorkers.forEach(emnapiAWMT.addListener);
2551
+ var __original_getNewWorker_1 = PThread.getNewWorker;
2552
+ PThread.getNewWorker = function() {
2553
+ var r = __original_getNewWorker_1.apply(this, arguments);
2554
+ emnapiAWMT.addListener(r);
2555
+ return r;
2556
+ };
2557
+ }
2409
2558
  },
2410
2559
  addListener: function(worker) {
2411
2560
  if (!worker)
@@ -2419,19 +2568,11 @@ function createNapiModule(options) {
2419
2568
  var type = __emnapi__.type;
2420
2569
  var payload = __emnapi__.payload;
2421
2570
  if (type === "async-work-complete") {
2422
- emnapiCtx.decreaseWaitingRequestCounter();
2423
- emnapiAWMT.runningWorkers.splice(emnapiAWMT.runningWorkers.indexOf(worker), 1);
2424
- emnapiAWMT.unusedWorkers.push(worker);
2425
- emnapiAWMT.checkIdleWorker();
2426
2571
  emnapiAWMT.callComplete(
2427
2572
  payload.work,
2428
2573
  0
2429
2574
  /* napi_status.napi_ok */
2430
2575
  );
2431
- } else if (type === "async-work-queue") {
2432
- emnapiAWMT.scheduleWork(payload.work);
2433
- } else if (type === "async-work-cancel") {
2434
- emnapiAWMT.cancelWork(payload.work);
2435
2576
  }
2436
2577
  }
2437
2578
  };
@@ -2451,143 +2592,233 @@ function createNapiModule(options) {
2451
2592
  }
2452
2593
  return true;
2453
2594
  },
2595
+ initGlobal: function() {
2596
+ if (!emnapiAWMT.globalAddress) {
2597
+ emnapiAWMT.globalAddress = _malloc(emnapiAWMT.globalOffset.end);
2598
+ emnapiAWMT.globalAddress >>>= 0;
2599
+ var size = emnapiAWMT.globalOffset.end;
2600
+ var addr = emnapiAWMT.globalAddress;
2601
+ new Uint8Array(wasmMemory.buffer, addr, size).fill(0);
2602
+ emnapiAWMT.queueInit(emnapiAWMT.globalAddress + emnapiAWMT.globalOffset.q);
2603
+ emnapiAWMT.queueInit(emnapiAWMT.globalAddress + emnapiAWMT.globalOffset.exit_message);
2604
+ }
2605
+ },
2606
+ terminateWorkers: function() {
2607
+ emnapiAWMT.pool.forEach(function(w) {
2608
+ var _a, _b;
2609
+ (_a = w._emnapiAWMTListener) === null || _a === void 0 ? void 0 : _a.dispose();
2610
+ (_b = w._emnapiTSFNListener) === null || _b === void 0 ? void 0 : _b.dispose();
2611
+ w.terminate();
2612
+ });
2613
+ emnapiAWMT.pool.length = 0;
2614
+ },
2454
2615
  initWorkers: function(n) {
2455
2616
  if (ENVIRONMENT_IS_PTHREAD) {
2456
2617
  return emnapiAWMT.workerReady || (emnapiAWMT.workerReady = Promise.resolve());
2457
2618
  }
2458
2619
  if (emnapiAWMT.workerReady)
2459
2620
  return emnapiAWMT.workerReady;
2460
- if (typeof onCreateWorker !== "function") {
2461
- throw new TypeError("`options.onCreateWorker` is not a function");
2462
- }
2463
- var promises = [];
2464
- var args = [];
2465
2621
  if (!("emnapi_async_worker_create" in wasmInstance.exports)) {
2466
2622
  throw new TypeError("`emnapi_async_worker_create` is not exported, please try to add `--export=emnapi_async_worker_create` to linker flags");
2467
2623
  }
2624
+ var emnapi_async_worker_create = wasmInstance.exports.emnapi_async_worker_create;
2625
+ var args = [];
2626
+ emnapiAWMT.initGlobal();
2468
2627
  for (var i = 0; i < n; ++i) {
2469
- args.push(wasmInstance.exports.emnapi_async_worker_create());
2628
+ args.push(emnapi_async_worker_create(1, emnapiAWMT.globalAddress));
2470
2629
  }
2471
- try {
2472
- var _loop_1 = function(i2) {
2473
- var worker = onCreateWorker({ type: "async-work", name: "emnapi-async-worker" });
2474
- var p = PThread.loadWasmModuleToWorker(worker);
2475
- emnapiAWMT.addListener(worker);
2476
- promises.push(p.then(function() {
2477
- if (typeof worker.unref === "function") {
2478
- worker.unref();
2479
- }
2480
- }));
2481
- emnapiAWMT.unusedWorkers.push(worker);
2482
- var arg2 = args[i2];
2483
- worker.threadBlockBase = arg2;
2484
- worker.postMessage({
2485
- __emnapi__: {
2486
- type: "async-worker-init",
2487
- payload: { arg: arg2 }
2488
- }
2489
- });
2490
- };
2491
- for (var i = 0; i < n; ++i) {
2492
- _loop_1(i);
2630
+ var promises = args.map(function(index) {
2631
+ if (index === 0) {
2632
+ return Promise.reject(new Error("Failed to create async worker"));
2493
2633
  }
2494
- } catch (err2) {
2495
- for (var i = 0; i < n; ++i) {
2496
- var arg = args[i];
2497
- _free(arg);
2634
+ var worker;
2635
+ if (index < 0) {
2636
+ worker = emnapiAWMT.pool[-index - 1];
2637
+ if (worker)
2638
+ return worker.whenLoaded;
2498
2639
  }
2499
- throw err2;
2500
- }
2640
+ index >>>= 0;
2641
+ var view = new DataView(wasmMemory.buffer);
2642
+ var tidOffset = 20;
2643
+ var tid = view.getInt32(index + tidOffset, true);
2644
+ worker = PThread.pthreads[tid];
2645
+ return worker.whenLoaded;
2646
+ });
2501
2647
  emnapiAWMT.workerReady = Promise.all(promises);
2502
2648
  return emnapiAWMT.workerReady;
2503
2649
  },
2504
- checkIdleWorker: function() {
2505
- if (emnapiAWMT.unusedWorkers.length > 0 && emnapiAWMT.workQueue.length > 0) {
2506
- var worker = emnapiAWMT.unusedWorkers.shift();
2507
- var work = emnapiAWMT.workQueue.shift();
2508
- emnapiAWMT.runningWorkers.push(worker);
2509
- worker.postMessage({
2510
- __emnapi__: {
2511
- type: "async-work-execute",
2512
- payload: { work }
2513
- }
2514
- });
2515
- }
2516
- },
2517
2650
  getResource: function(work) {
2518
- return emnapiTSFN.loadSizeTypeValue(work + emnapiAWMT.offset.resource, false);
2651
+ var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
2652
+ return HEAP_DATA_VIEW.getUint32(work + emnapiAWMT.offset.resource, true);
2519
2653
  },
2520
2654
  getExecute: function(work) {
2521
- return emnapiTSFN.loadSizeTypeValue(work + emnapiAWMT.offset.execute, false);
2655
+ var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
2656
+ return HEAP_DATA_VIEW.getUint32(work + emnapiAWMT.offset.execute, true);
2522
2657
  },
2523
2658
  getComplete: function(work) {
2524
- return emnapiTSFN.loadSizeTypeValue(work + emnapiAWMT.offset.complete, false);
2659
+ var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
2660
+ return HEAP_DATA_VIEW.getUint32(work + emnapiAWMT.offset.complete, true);
2525
2661
  },
2526
2662
  getEnv: function(work) {
2527
- return emnapiTSFN.loadSizeTypeValue(work + emnapiAWMT.offset.env, false);
2663
+ var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
2664
+ return HEAP_DATA_VIEW.getUint32(work + emnapiAWMT.offset.env, true);
2528
2665
  },
2529
2666
  getData: function(work) {
2530
- return emnapiTSFN.loadSizeTypeValue(work + emnapiAWMT.offset.data, false);
2667
+ var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
2668
+ return HEAP_DATA_VIEW.getUint32(work + emnapiAWMT.offset.data, true);
2669
+ },
2670
+ getMutex: function() {
2671
+ var index = emnapiAWMT.globalAddress + emnapiAWMT.globalOffset.mutex;
2672
+ var mutex = {
2673
+ lock: function() {
2674
+ var isBrowserMain = typeof window !== "undefined" && typeof document !== "undefined" && !ENVIRONMENT_IS_NODE2;
2675
+ var i32a = new Int32Array(wasmMemory.buffer, index, 1);
2676
+ if (isBrowserMain) {
2677
+ while (true) {
2678
+ var oldValue = Atomics.compareExchange(i32a, 0, 0, 10);
2679
+ if (oldValue === 0) {
2680
+ return;
2681
+ }
2682
+ }
2683
+ } else {
2684
+ while (true) {
2685
+ var oldValue = Atomics.compareExchange(i32a, 0, 0, 10);
2686
+ if (oldValue === 0) {
2687
+ return;
2688
+ }
2689
+ Atomics.wait(i32a, 0, 10);
2690
+ }
2691
+ }
2692
+ },
2693
+ unlock: function() {
2694
+ var i32a = new Int32Array(wasmMemory.buffer, index, 1);
2695
+ var oldValue = Atomics.compareExchange(i32a, 0, 10, 0);
2696
+ if (oldValue !== 10) {
2697
+ throw new Error("Tried to unlock while not holding the mutex");
2698
+ }
2699
+ Atomics.notify(i32a, 0, 1);
2700
+ },
2701
+ execute: function(fn) {
2702
+ mutex.lock();
2703
+ try {
2704
+ return fn();
2705
+ } finally {
2706
+ mutex.unlock();
2707
+ }
2708
+ }
2709
+ };
2710
+ return mutex;
2711
+ },
2712
+ getCond: function() {
2713
+ var index = emnapiAWMT.globalAddress + emnapiAWMT.globalOffset.cond;
2714
+ var mutex = emnapiAWMT.getMutex();
2715
+ var cond = {
2716
+ wait: function() {
2717
+ var i32a = new Int32Array(wasmMemory.buffer, index, 1);
2718
+ var value = Atomics.load(i32a, 0);
2719
+ mutex.unlock();
2720
+ Atomics.wait(i32a, 0, value);
2721
+ mutex.lock();
2722
+ },
2723
+ signal: function() {
2724
+ var i32a = new Int32Array(wasmMemory.buffer, index, 1);
2725
+ Atomics.add(i32a, 0, 1);
2726
+ Atomics.notify(i32a, 0, 1);
2727
+ }
2728
+ };
2729
+ return cond;
2730
+ },
2731
+ queueInit: function(q) {
2732
+ var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
2733
+ HEAP_DATA_VIEW.setUint32(q, q, true);
2734
+ HEAP_DATA_VIEW.setUint32(q + 4, q, true);
2735
+ },
2736
+ queueInsertTail: function(h, q) {
2737
+ var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
2738
+ HEAP_DATA_VIEW.setUint32(q, h, true);
2739
+ var tempValue = HEAP_DATA_VIEW.getUint32(h + 4, true);
2740
+ HEAP_DATA_VIEW.setUint32(q + 4, tempValue, true);
2741
+ var qprev = HEAP_DATA_VIEW.getUint32(q + 4, true);
2742
+ HEAP_DATA_VIEW.setUint32(qprev, q, true);
2743
+ HEAP_DATA_VIEW.setUint32(h + 4, q, true);
2744
+ },
2745
+ queueRemove: function(q) {
2746
+ var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
2747
+ var qprev = HEAP_DATA_VIEW.getUint32(q + 4, true);
2748
+ var qnext = HEAP_DATA_VIEW.getUint32(q, true);
2749
+ HEAP_DATA_VIEW.setUint32(qprev, qnext, true);
2750
+ HEAP_DATA_VIEW.setUint32(qnext + 4, qprev, true);
2751
+ },
2752
+ queueEmpty: function(q) {
2753
+ var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
2754
+ return q == HEAP_DATA_VIEW.getUint32(q, true);
2531
2755
  },
2532
2756
  scheduleWork: function(work) {
2533
2757
  var _a;
2534
- if (ENVIRONMENT_IS_PTHREAD) {
2535
- var postMessage_1 = napiModule2.postMessage;
2536
- postMessage_1({
2537
- __emnapi__: {
2538
- type: "async-work-queue",
2539
- payload: { work }
2540
- }
2758
+ if (!((_a = emnapiAWMT.workerReady) === null || _a === void 0 ? void 0 : _a.ready)) {
2759
+ emnapiAWMT.initWorkers(_emnapi_async_work_pool_size()).then(function() {
2760
+ emnapiAWMT.workerReady.ready = true;
2761
+ }).catch(function(err2) {
2762
+ emnapiAWMT.workerReady = null;
2763
+ throw err2;
2541
2764
  });
2542
- return;
2543
2765
  }
2544
2766
  emnapiCtx.increaseWaitingRequestCounter();
2545
- emnapiAWMT.workQueue.push(work);
2546
- if ((_a = emnapiAWMT.workerReady) === null || _a === void 0 ? void 0 : _a.ready) {
2547
- emnapiAWMT.checkIdleWorker();
2548
- } else {
2549
- var fail = function(err2) {
2550
- emnapiCtx.decreaseWaitingRequestCounter();
2551
- throw err2;
2552
- };
2553
- try {
2554
- emnapiAWMT.initWorkers(_emnapi_async_work_pool_size()).then(function() {
2555
- emnapiAWMT.workerReady.ready = true;
2556
- emnapiAWMT.checkIdleWorker();
2557
- }, fail);
2558
- } catch (err2) {
2559
- fail(err2);
2560
- }
2767
+ var statusBuffer = new Int32Array(wasmMemory.buffer, work + emnapiAWMT.offset.status, 1);
2768
+ Atomics.store(
2769
+ statusBuffer,
2770
+ 0,
2771
+ 0
2772
+ /* AsyncWorkStatus.Pending */
2773
+ );
2774
+ var mutex = emnapiAWMT.getMutex();
2775
+ var cond = emnapiAWMT.getCond();
2776
+ mutex.lock();
2777
+ try {
2778
+ emnapiAWMT.queueInsertTail(emnapiAWMT.globalAddress + emnapiAWMT.globalOffset.q, work + emnapiAWMT.offset.queue);
2779
+ } catch (err2) {
2780
+ emnapiCtx.decreaseWaitingRequestCounter();
2781
+ mutex.unlock();
2782
+ throw err2;
2783
+ }
2784
+ var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
2785
+ if (HEAP_DATA_VIEW.getUint32(emnapiAWMT.globalAddress + emnapiAWMT.globalOffset.idle_threads, true) > 0) {
2786
+ cond.signal();
2561
2787
  }
2788
+ mutex.unlock();
2562
2789
  },
2563
2790
  cancelWork: function(work) {
2564
- if (ENVIRONMENT_IS_PTHREAD) {
2565
- var postMessage_2 = napiModule2.postMessage;
2566
- postMessage_2({
2567
- __emnapi__: {
2568
- type: "async-work-cancel",
2569
- payload: { work }
2570
- }
2571
- });
2572
- return 0;
2791
+ var cancelled = false;
2792
+ emnapiAWMT.getMutex().execute(function() {
2793
+ var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
2794
+ cancelled = !emnapiAWMT.queueEmpty(work + emnapiAWMT.offset.queue) && HEAP_DATA_VIEW.getInt32(work + emnapiAWMT.offset.status, true) !== 2;
2795
+ if (cancelled) {
2796
+ emnapiAWMT.queueRemove(work + emnapiAWMT.offset.queue);
2797
+ }
2798
+ });
2799
+ if (!cancelled) {
2800
+ return 9;
2573
2801
  }
2574
- var index = emnapiAWMT.workQueue.indexOf(work);
2575
- if (index !== -1) {
2576
- emnapiAWMT.workQueue.splice(index, 1);
2577
- emnapiCtx.feature.setImmediate(function() {
2578
- emnapiCtx.decreaseWaitingRequestCounter();
2579
- emnapiAWMT.checkIdleWorker();
2580
- emnapiAWMT.callComplete(
2581
- work,
2582
- 11
2583
- /* napi_status.napi_cancelled */
2584
- );
2585
- });
2586
- return 0;
2802
+ if (Atomics.compareExchange(
2803
+ new Int32Array(wasmMemory.buffer, work + emnapiAWMT.offset.status, 1),
2804
+ 0,
2805
+ 0,
2806
+ 1
2807
+ /* AsyncWorkStatus.Cancelled */
2808
+ ) !== 0) {
2809
+ return 9;
2587
2810
  }
2588
- return 9;
2811
+ emnapiCtx.feature.setImmediate(function() {
2812
+ emnapiAWMT.callComplete(
2813
+ work,
2814
+ 11
2815
+ /* napi_status.napi_cancelled */
2816
+ );
2817
+ });
2818
+ return 0;
2589
2819
  },
2590
2820
  callComplete: function(work, status) {
2821
+ emnapiCtx.decreaseWaitingRequestCounter();
2591
2822
  var complete = emnapiAWMT.getComplete(work);
2592
2823
  var env = emnapiAWMT.getEnv(work);
2593
2824
  var data = emnapiAWMT.getData(work);
@@ -2620,6 +2851,7 @@ function createNapiModule(options) {
2620
2851
  }
2621
2852
  }
2622
2853
  };
2854
+ emnapiAWMT.init();
2623
2855
  var napi_create_async_work = singleThreadAsyncWork ? function(env, resource, resource_name, execute, complete, data, result) {
2624
2856
  if (!env)
2625
2857
  return 1;
@@ -2648,6 +2880,7 @@ function createNapiModule(options) {
2648
2880
  );
2649
2881
  var resourceName = String(emnapiCtx.handleStore.get(resource_name).value);
2650
2882
  var id = emnapiAWST.create(env, resourceObject, resourceName, execute, complete, data);
2883
+ result >>>= 0;
2651
2884
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
2652
2885
  HEAP_DATA_VIEW.setUint32(result, id, true);
2653
2886
  return envObject.clearLastError();
@@ -2684,6 +2917,7 @@ function createNapiModule(options) {
2684
2917
  9
2685
2918
  /* napi_status.napi_generic_failure */
2686
2919
  );
2920
+ aw >>>= 0;
2687
2921
  new Uint8Array(wasmMemory.buffer).subarray(aw, aw + sizeofAW).fill(0);
2688
2922
  var s = envObject.ensureHandleId(resourceObject);
2689
2923
  var resourceRef = emnapiCtx.createReference(
@@ -2701,6 +2935,8 @@ function createNapiModule(options) {
2701
2935
  HEAP_DATA_VIEW.setUint32(aw + emnapiAWMT.offset.execute, execute, true);
2702
2936
  HEAP_DATA_VIEW.setUint32(aw + emnapiAWMT.offset.complete, complete, true);
2703
2937
  HEAP_DATA_VIEW.setUint32(aw + emnapiAWMT.offset.data, data, true);
2938
+ emnapiAWMT.queueInit(aw + emnapiAWMT.offset.queue);
2939
+ result >>>= 0;
2704
2940
  HEAP_DATA_VIEW.setUint32(result, aw, true);
2705
2941
  return envObject.clearLastError();
2706
2942
  };
@@ -2714,6 +2950,7 @@ function createNapiModule(options) {
2714
2950
  1
2715
2951
  /* napi_status.napi_invalid_arg */
2716
2952
  );
2953
+ work >>>= 0;
2717
2954
  emnapiAWST.remove(work);
2718
2955
  return envObject.clearLastError();
2719
2956
  } : function(env, work) {
@@ -2726,6 +2963,7 @@ function createNapiModule(options) {
2726
2963
  1
2727
2964
  /* napi_status.napi_invalid_arg */
2728
2965
  );
2966
+ work >>>= 0;
2729
2967
  var resource = emnapiAWMT.getResource(work);
2730
2968
  emnapiCtx.refStore.get(resource).dispose();
2731
2969
  if (emnapiNodeBinding) {
@@ -2746,6 +2984,7 @@ function createNapiModule(options) {
2746
2984
  1
2747
2985
  /* napi_status.napi_invalid_arg */
2748
2986
  );
2987
+ work >>>= 0;
2749
2988
  emnapiAWST.queue(work);
2750
2989
  return envObject.clearLastError();
2751
2990
  } : function(env, work) {
@@ -2757,6 +2996,7 @@ function createNapiModule(options) {
2757
2996
  1
2758
2997
  /* napi_status.napi_invalid_arg */
2759
2998
  );
2999
+ work >>>= 0;
2760
3000
  emnapiAWMT.scheduleWork(work);
2761
3001
  return envObject.clearLastError();
2762
3002
  };
@@ -2769,6 +3009,7 @@ function createNapiModule(options) {
2769
3009
  1
2770
3010
  /* napi_status.napi_invalid_arg */
2771
3011
  );
3012
+ work >>>= 0;
2772
3013
  var status = emnapiAWST.cancel(work);
2773
3014
  if (status === 0)
2774
3015
  return envObject.clearLastError();
@@ -2782,40 +3023,126 @@ function createNapiModule(options) {
2782
3023
  1
2783
3024
  /* napi_status.napi_invalid_arg */
2784
3025
  );
3026
+ work >>>= 0;
2785
3027
  var status = emnapiAWMT.cancelWork(work);
2786
3028
  if (status === 0)
2787
3029
  return envObject.clearLastError();
2788
3030
  return envObject.setLastError(status);
2789
3031
  };
2790
- function initWorker(startArg) {
3032
+ function _emnapi_async_worker(globalAddress) {
3033
+ globalAddress >>>= 0;
3034
+ emnapiAWMT.globalAddress = globalAddress;
3035
+ var mutex = emnapiAWMT.getMutex();
3036
+ var cond = emnapiAWMT.getCond();
3037
+ mutex.lock();
3038
+ var exitMessageAddr = globalAddress + emnapiAWMT.globalOffset.exit_message;
3039
+ var idleThreadsAddr = globalAddress + emnapiAWMT.globalOffset.idle_threads;
3040
+ var workerQueueAddr = globalAddress + emnapiAWMT.globalOffset.q;
3041
+ var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
3042
+ for (; ; ) {
3043
+ while (emnapiAWMT.queueEmpty(workerQueueAddr)) {
3044
+ Atomics.add(new Int32Array(wasmMemory.buffer, idleThreadsAddr, 1), 0, 1);
3045
+ cond.wait();
3046
+ Atomics.sub(new Int32Array(wasmMemory.buffer, idleThreadsAddr, 1), 0, 1);
3047
+ }
3048
+ var q = HEAP_DATA_VIEW.getUint32(workerQueueAddr, true);
3049
+ if (q === exitMessageAddr) {
3050
+ cond.signal();
3051
+ mutex.unlock();
3052
+ break;
3053
+ }
3054
+ var work = q - emnapiAWMT.offset.queue;
3055
+ emnapiAWMT.queueRemove(q);
3056
+ emnapiAWMT.queueInit(q);
3057
+ mutex.unlock();
3058
+ var statusBuffer = new Int32Array(wasmMemory.buffer, work + emnapiAWMT.offset.status, 1);
3059
+ if (Atomics.load(statusBuffer, 0) === 1) {
3060
+ abort("unreachable");
3061
+ }
3062
+ var execute = emnapiAWMT.getExecute(work);
3063
+ var env = emnapiAWMT.getEnv(work);
3064
+ var data = emnapiAWMT.getData(work);
3065
+ wasmTable.get(execute)(env, data);
3066
+ Atomics.store(
3067
+ statusBuffer,
3068
+ 0,
3069
+ 2
3070
+ /* AsyncWorkStatus.Completed */
3071
+ );
3072
+ var postMessage_1 = napiModule2.postMessage;
3073
+ postMessage_1({
3074
+ __emnapi__: {
3075
+ type: "async-work-complete",
3076
+ payload: { work }
3077
+ }
3078
+ });
3079
+ mutex.lock();
3080
+ }
3081
+ return 0;
3082
+ }
3083
+ function _emnapi_spawn_worker(f, globalAddress) {
3084
+ if (typeof onCreateWorker !== "function") {
3085
+ throw new TypeError("`options.onCreateWorker` is not a function");
3086
+ }
3087
+ var promises = [];
3088
+ var args = [];
3089
+ if (!("emnapi_async_worker_create" in wasmInstance.exports)) {
3090
+ throw new TypeError("`emnapi_async_worker_create` is not exported, please try to add `--export=emnapi_async_worker_create` to linker flags");
3091
+ }
3092
+ args.push(wasmInstance.exports.emnapi_async_worker_create(0, 0));
3093
+ var handleError2 = function(e) {
3094
+ if ("message" in e && (e.message.indexOf("RuntimeError") !== -1 || e.message.indexOf("unreachable") !== -1)) {
3095
+ emnapiAWMT.terminateWorkers();
3096
+ }
3097
+ };
3098
+ var ret;
3099
+ try {
3100
+ var worker_1 = onCreateWorker({ type: "async-work", name: "emnapi-async-worker" });
3101
+ var p = PThread.loadWasmModuleToWorker(worker_1);
3102
+ if (ENVIRONMENT_IS_NODE2) {
3103
+ worker_1.on("error", handleError2);
3104
+ } else {
3105
+ worker_1.addEventListener("error", handleError2, false);
3106
+ }
3107
+ emnapiAWMT.addListener(worker_1);
3108
+ emnapiTSFN.addListener(worker_1);
3109
+ promises.push(p.then(function() {
3110
+ if (typeof worker_1.unref === "function") {
3111
+ worker_1.unref();
3112
+ }
3113
+ }));
3114
+ ret = emnapiAWMT.pool.push(worker_1) - 1;
3115
+ var arg = args[0];
3116
+ worker_1.threadBlockBase = arg;
3117
+ worker_1.postMessage({
3118
+ __emnapi__: {
3119
+ type: "async-worker-init",
3120
+ payload: { arg, func: [f, globalAddress] }
3121
+ }
3122
+ });
3123
+ } catch (err2) {
3124
+ var arg = args[0];
3125
+ _free(arg);
3126
+ throw err2;
3127
+ }
3128
+ return ret;
3129
+ }
3130
+ function initWorker(startArg, func) {
2791
3131
  if (napiModule2.childThread) {
2792
3132
  if (typeof wasmInstance.exports.emnapi_async_worker_init !== "function") {
2793
3133
  throw new TypeError("`emnapi_async_worker_init` is not exported, please try to add `--export=emnapi_async_worker_init` to linker flags");
2794
3134
  }
2795
3135
  wasmInstance.exports.emnapi_async_worker_init(startArg);
3136
+ wasmTable.get(func[0])(func[1]);
2796
3137
  } else {
2797
3138
  throw new Error("startThread is only available in child threads");
2798
3139
  }
2799
3140
  }
2800
- function executeAsyncWork(work) {
2801
- if (!ENVIRONMENT_IS_PTHREAD)
2802
- return;
2803
- var execute = emnapiAWMT.getExecute(work);
2804
- var env = emnapiAWMT.getEnv(work);
2805
- var data = emnapiAWMT.getData(work);
2806
- wasmTable.get(execute)(env, data);
2807
- var postMessage2 = napiModule2.postMessage;
2808
- postMessage2({
2809
- __emnapi__: {
2810
- type: "async-work-complete",
2811
- payload: { work }
2812
- }
2813
- });
2814
- }
2815
3141
  napiModule2.initWorker = initWorker;
2816
- napiModule2.executeAsyncWork = executeAsyncWork;
2817
3142
  var asyncWorkMod = /* @__PURE__ */ Object.freeze({
2818
3143
  __proto__: null,
3144
+ _emnapi_async_worker,
3145
+ _emnapi_spawn_worker,
2819
3146
  napi_cancel_async_work,
2820
3147
  napi_create_async_work,
2821
3148
  napi_delete_async_work,
@@ -2878,6 +3205,7 @@ function createNapiModule(options) {
2878
3205
  var pointer = _malloc(arrayBuffer.byteLength);
2879
3206
  if (!pointer)
2880
3207
  throw new Error("Out of memory");
3208
+ pointer >>>= 0;
2881
3209
  new Uint8Array(wasmMemory.buffer).set(new Uint8Array(arrayBuffer), pointer);
2882
3210
  info.address = pointer;
2883
3211
  info.ownership = emnapiExternalMemory.registry ? 0 : 1;
@@ -3024,7 +3352,7 @@ function createNapiModule(options) {
3024
3352
  ptr >>>= 0;
3025
3353
  var HEAPU8 = new Uint8Array(wasmMemory.buffer);
3026
3354
  var end = ptr;
3027
- if (length === -1) {
3355
+ if (length === -1 || length === 4294967295) {
3028
3356
  for (; HEAPU8[end]; )
3029
3357
  ++end;
3030
3358
  } else {
@@ -3109,12 +3437,12 @@ function createNapiModule(options) {
3109
3437
  return "";
3110
3438
  ptr >>>= 0;
3111
3439
  var end = ptr;
3112
- if (length === -1) {
3113
- var idx = end >> 1;
3440
+ if (length === -1 || length === 4294967295) {
3441
+ var idx = end >>> 1;
3114
3442
  var HEAPU16 = new Uint16Array(wasmMemory.buffer);
3115
3443
  while (HEAPU16[idx])
3116
3444
  ++idx;
3117
- end = idx << 1;
3445
+ end = idx << 1 >>> 0;
3118
3446
  } else {
3119
3447
  end = ptr + (length >>> 0) * 2;
3120
3448
  }
@@ -3144,11 +3472,12 @@ function createNapiModule(options) {
3144
3472
  return outPtr - startPtr;
3145
3473
  },
3146
3474
  newString: function(env, str, length, result, stringMaker) {
3475
+ length >>>= 0;
3147
3476
  if (!env)
3148
3477
  return 1;
3149
3478
  var envObject = emnapiCtx.envStore.get(env);
3150
3479
  envObject.checkGCAccess();
3151
- var autoLength = length === -1;
3480
+ var autoLength = length === -1 || length === 4294967295;
3152
3481
  var sizelength = length >>> 0;
3153
3482
  if (length !== 0) {
3154
3483
  if (!str)
@@ -3167,18 +3496,21 @@ function createNapiModule(options) {
3167
3496
  1
3168
3497
  /* napi_status.napi_invalid_arg */
3169
3498
  );
3499
+ str >>>= 0;
3170
3500
  var strValue = stringMaker(str, autoLength, sizelength);
3501
+ result >>>= 0;
3171
3502
  var value = emnapiCtx.addToCurrentScope(strValue).id;
3172
3503
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
3173
3504
  HEAP_DATA_VIEW.setUint32(result, value, true);
3174
3505
  return envObject.clearLastError();
3175
3506
  },
3176
3507
  newExternalString: function(env, str, length, finalize_callback, finalize_hint, result, copied, createApi, stringMaker) {
3508
+ length >>>= 0;
3177
3509
  if (!env)
3178
3510
  return 1;
3179
3511
  var envObject = emnapiCtx.envStore.get(env);
3180
3512
  envObject.checkGCAccess();
3181
- var autoLength = length === -1;
3513
+ var autoLength = length === -1 || length === 4294967295;
3182
3514
  var sizelength = length >>> 0;
3183
3515
  if (length !== 0) {
3184
3516
  if (!str)
@@ -3244,6 +3576,7 @@ function createNapiModule(options) {
3244
3576
  /* napi_status.napi_array_expected */
3245
3577
  );
3246
3578
  }
3579
+ result >>>= 0;
3247
3580
  var v = handle.value.length >>> 0;
3248
3581
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
3249
3582
  HEAP_DATA_VIEW.setUint32(result, v, true);
@@ -3275,10 +3608,12 @@ function createNapiModule(options) {
3275
3608
  }
3276
3609
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
3277
3610
  if (data) {
3611
+ data >>>= 0;
3278
3612
  var p = emnapiExternalMemory.getArrayBufferPointer(handle.value, true).address;
3279
3613
  HEAP_DATA_VIEW.setUint32(data, p, true);
3280
3614
  }
3281
3615
  if (byte_length) {
3616
+ byte_length >>>= 0;
3282
3617
  HEAP_DATA_VIEW.setUint32(byte_length, handle.value.byteLength, true);
3283
3618
  }
3284
3619
  return envObject.clearLastError();
@@ -3370,6 +3705,7 @@ function createNapiModule(options) {
3370
3705
  /* napi_status.napi_object_expected */
3371
3706
  );
3372
3707
  }
3708
+ result >>>= 0;
3373
3709
  var p = envObject.ensureHandleId(Object.getPrototypeOf(v));
3374
3710
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
3375
3711
  HEAP_DATA_VIEW.setUint32(result, p, true);
@@ -3402,6 +3738,7 @@ function createNapiModule(options) {
3402
3738
  var v = handle.value;
3403
3739
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
3404
3740
  if (type) {
3741
+ type >>>= 0;
3405
3742
  var t = void 0;
3406
3743
  if (v instanceof Int8Array) {
3407
3744
  t = 0;
@@ -3436,21 +3773,25 @@ function createNapiModule(options) {
3436
3773
  HEAP_DATA_VIEW.setInt32(type, t, true);
3437
3774
  }
3438
3775
  if (length) {
3776
+ length >>>= 0;
3439
3777
  HEAP_DATA_VIEW.setUint32(length, v.length, true);
3440
3778
  }
3441
3779
  var buffer;
3442
3780
  if (data || arraybuffer) {
3443
3781
  buffer = v.buffer;
3444
3782
  if (data) {
3783
+ data >>>= 0;
3445
3784
  var p = emnapiExternalMemory.getViewPointer(v, true).address;
3446
3785
  HEAP_DATA_VIEW.setUint32(data, p, true);
3447
3786
  }
3448
3787
  if (arraybuffer) {
3788
+ arraybuffer >>>= 0;
3449
3789
  var ab = envObject.ensureHandleId(buffer);
3450
3790
  HEAP_DATA_VIEW.setUint32(arraybuffer, ab, true);
3451
3791
  }
3452
3792
  }
3453
3793
  if (byte_offset) {
3794
+ byte_offset >>>= 0;
3454
3795
  HEAP_DATA_VIEW.setUint32(byte_offset, v.byteOffset, true);
3455
3796
  }
3456
3797
  return envObject.clearLastError();
@@ -3496,21 +3837,25 @@ function createNapiModule(options) {
3496
3837
  var v = handle.value;
3497
3838
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
3498
3839
  if (byte_length) {
3840
+ byte_length >>>= 0;
3499
3841
  HEAP_DATA_VIEW.setUint32(byte_length, v.byteLength, true);
3500
3842
  }
3501
3843
  var buffer;
3502
3844
  if (data || arraybuffer) {
3503
3845
  buffer = v.buffer;
3504
3846
  if (data) {
3847
+ data >>>= 0;
3505
3848
  var p = emnapiExternalMemory.getViewPointer(v, true).address;
3506
3849
  HEAP_DATA_VIEW.setUint32(data, p, true);
3507
3850
  }
3508
3851
  if (arraybuffer) {
3852
+ arraybuffer >>>= 0;
3509
3853
  var ab = envObject.ensureHandleId(buffer);
3510
3854
  HEAP_DATA_VIEW.setUint32(arraybuffer, ab, true);
3511
3855
  }
3512
3856
  }
3513
3857
  if (byte_offset) {
3858
+ byte_offset >>>= 0;
3514
3859
  HEAP_DATA_VIEW.setUint32(byte_offset, v.byteOffset, true);
3515
3860
  }
3516
3861
  return envObject.clearLastError();
@@ -3550,6 +3895,7 @@ function createNapiModule(options) {
3550
3895
  /* napi_status.napi_invalid_arg */
3551
3896
  );
3552
3897
  }
3898
+ result >>>= 0;
3553
3899
  v = handle.value.valueOf();
3554
3900
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
3555
3901
  HEAP_DATA_VIEW.setFloat64(result, v, true);
@@ -3584,6 +3930,7 @@ function createNapiModule(options) {
3584
3930
  /* napi_status.napi_boolean_expected */
3585
3931
  );
3586
3932
  }
3933
+ result >>>= 0;
3587
3934
  var r = handle.value ? 1 : 0;
3588
3935
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
3589
3936
  HEAP_DATA_VIEW.setInt8(result, r, true);
@@ -3611,6 +3958,7 @@ function createNapiModule(options) {
3611
3958
  /* napi_status.napi_number_expected */
3612
3959
  );
3613
3960
  }
3961
+ result >>>= 0;
3614
3962
  var r = handle.value;
3615
3963
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
3616
3964
  HEAP_DATA_VIEW.setFloat64(result, r, true);
@@ -3650,6 +3998,8 @@ function createNapiModule(options) {
3650
3998
  /* napi_status.napi_number_expected */
3651
3999
  );
3652
4000
  }
4001
+ lossless >>>= 0;
4002
+ result >>>= 0;
3653
4003
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
3654
4004
  if (numberValue >= BigInt(-1) * (BigInt(1) << BigInt(63)) && numberValue < BigInt(1) << BigInt(63)) {
3655
4005
  HEAP_DATA_VIEW.setInt8(lossless, 1, true);
@@ -3700,6 +4050,8 @@ function createNapiModule(options) {
3700
4050
  /* napi_status.napi_number_expected */
3701
4051
  );
3702
4052
  }
4053
+ lossless >>>= 0;
4054
+ result >>>= 0;
3703
4055
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
3704
4056
  if (numberValue >= BigInt(0) && numberValue < BigInt(1) << BigInt(64)) {
3705
4057
  HEAP_DATA_VIEW.setInt8(lossless, 1, true);
@@ -3742,8 +4094,12 @@ function createNapiModule(options) {
3742
4094
  );
3743
4095
  }
3744
4096
  var isMinus = handle.value < BigInt(0);
4097
+ sign_bit >>>= 0;
4098
+ words >>>= 0;
4099
+ word_count >>>= 0;
3745
4100
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
3746
4101
  var word_count_int = HEAP_DATA_VIEW.getUint32(word_count, true);
4102
+ word_count_int >>>= 0;
3747
4103
  var wordCount = 0;
3748
4104
  var bigintValue = isMinus ? handle.value * BigInt(-1) : handle.value;
3749
4105
  while (bigintValue !== BigInt(0)) {
@@ -3805,6 +4161,7 @@ function createNapiModule(options) {
3805
4161
  /* napi_status.napi_invalid_arg */
3806
4162
  );
3807
4163
  }
4164
+ result >>>= 0;
3808
4165
  var p = handle.data();
3809
4166
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
3810
4167
  HEAP_DATA_VIEW.setUint32(result, p, true);
@@ -3832,6 +4189,7 @@ function createNapiModule(options) {
3832
4189
  /* napi_status.napi_number_expected */
3833
4190
  );
3834
4191
  }
4192
+ result >>>= 0;
3835
4193
  var v = new Int32Array([handle.value])[0];
3836
4194
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
3837
4195
  HEAP_DATA_VIEW.setInt32(result, v, true);
@@ -3860,6 +4218,7 @@ function createNapiModule(options) {
3860
4218
  );
3861
4219
  }
3862
4220
  var numberValue = handle.value;
4221
+ result >>>= 0;
3863
4222
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
3864
4223
  if (numberValue === Number.POSITIVE_INFINITY || numberValue === Number.NEGATIVE_INFINITY || isNaN(numberValue)) {
3865
4224
  HEAP_DATA_VIEW.setInt32(result, 0, true);
@@ -3887,6 +4246,9 @@ function createNapiModule(options) {
3887
4246
  1
3888
4247
  /* napi_status.napi_invalid_arg */
3889
4248
  );
4249
+ result >>>= 0;
4250
+ buf >>>= 0;
4251
+ buf_size >>>= 0;
3890
4252
  buf_size = buf_size >>> 0;
3891
4253
  var handle = emnapiCtx.handleStore.get(value);
3892
4254
  if (typeof handle.value !== "string") {
@@ -3930,6 +4292,9 @@ function createNapiModule(options) {
3930
4292
  1
3931
4293
  /* napi_status.napi_invalid_arg */
3932
4294
  );
4295
+ result >>>= 0;
4296
+ buf >>>= 0;
4297
+ buf_size >>>= 0;
3933
4298
  buf_size = buf_size >>> 0;
3934
4299
  var handle = emnapiCtx.handleStore.get(value);
3935
4300
  if (typeof handle.value !== "string") {
@@ -3967,6 +4332,9 @@ function createNapiModule(options) {
3967
4332
  1
3968
4333
  /* napi_status.napi_invalid_arg */
3969
4334
  );
4335
+ result >>>= 0;
4336
+ buf >>>= 0;
4337
+ buf_size >>>= 0;
3970
4338
  buf_size = buf_size >>> 0;
3971
4339
  var handle = emnapiCtx.handleStore.get(value);
3972
4340
  if (typeof handle.value !== "string") {
@@ -4015,6 +4383,7 @@ function createNapiModule(options) {
4015
4383
  /* napi_status.napi_number_expected */
4016
4384
  );
4017
4385
  }
4386
+ result >>>= 0;
4018
4387
  var v = new Uint32Array([handle.value])[0];
4019
4388
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
4020
4389
  HEAP_DATA_VIEW.setUint32(result, v, true);
@@ -4053,6 +4422,7 @@ function createNapiModule(options) {
4053
4422
  1
4054
4423
  /* napi_status.napi_invalid_arg */
4055
4424
  );
4425
+ result >>>= 0;
4056
4426
  var v = emnapiCtx.addToCurrentScope(value).id;
4057
4427
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
4058
4428
  HEAP_DATA_VIEW.setUint32(result, v, true);
@@ -4068,6 +4438,7 @@ function createNapiModule(options) {
4068
4438
  1
4069
4439
  /* napi_status.napi_invalid_arg */
4070
4440
  );
4441
+ result >>>= 0;
4071
4442
  var v = emnapiCtx.addToCurrentScope(value >>> 0).id;
4072
4443
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
4073
4444
  HEAP_DATA_VIEW.setUint32(result, v, true);
@@ -4086,6 +4457,7 @@ function createNapiModule(options) {
4086
4457
  );
4087
4458
  value = Number(low);
4088
4459
  var v1 = emnapiCtx.addToCurrentScope(value).id;
4460
+ high >>>= 0;
4089
4461
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
4090
4462
  HEAP_DATA_VIEW.setUint32(high, v1, true);
4091
4463
  return envObject.clearLastError();
@@ -4100,6 +4472,7 @@ function createNapiModule(options) {
4100
4472
  1
4101
4473
  /* napi_status.napi_invalid_arg */
4102
4474
  );
4475
+ result >>>= 0;
4103
4476
  var v = emnapiCtx.addToCurrentScope(value).id;
4104
4477
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
4105
4478
  HEAP_DATA_VIEW.setUint32(result, v, true);
@@ -4175,6 +4548,7 @@ function createNapiModule(options) {
4175
4548
  );
4176
4549
  value = low;
4177
4550
  var v1 = emnapiCtx.addToCurrentScope(value).id;
4551
+ high >>>= 0;
4178
4552
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
4179
4553
  HEAP_DATA_VIEW.setUint32(high, v1, true);
4180
4554
  return envObject.clearLastError();
@@ -4198,6 +4572,7 @@ function createNapiModule(options) {
4198
4572
  );
4199
4573
  value = low & (BigInt(1) << BigInt(64)) - BigInt(1);
4200
4574
  var v1 = emnapiCtx.addToCurrentScope(value).id;
4575
+ high >>>= 0;
4201
4576
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
4202
4577
  HEAP_DATA_VIEW.setUint32(high, v1, true);
4203
4578
  return envObject.clearLastError();
@@ -4231,6 +4606,8 @@ function createNapiModule(options) {
4231
4606
  1
4232
4607
  /* napi_status.napi_invalid_arg */
4233
4608
  );
4609
+ words >>>= 0;
4610
+ word_count >>>= 0;
4234
4611
  word_count = word_count >>> 0;
4235
4612
  if (word_count > 2147483647) {
4236
4613
  return envObject.setLastError(
@@ -4250,6 +4627,7 @@ function createNapiModule(options) {
4250
4627
  value += wordi << BigInt(64 * i);
4251
4628
  }
4252
4629
  value *= BigInt(sign_bit) % BigInt(2) === BigInt(0) ? BigInt(1) : BigInt(-1);
4630
+ result >>>= 0;
4253
4631
  v = emnapiCtx.addToCurrentScope(value).id;
4254
4632
  HEAP_DATA_VIEW.setUint32(result, v, true);
4255
4633
  return envObject.getReturnStatus();
@@ -4280,6 +4658,7 @@ function createNapiModule(options) {
4280
4658
  node_api_create_property_key_utf8
4281
4659
  });
4282
4660
  function emnapiCreateFunction(envObject, utf8name, length, cb, data) {
4661
+ utf8name >>>= 0;
4283
4662
  var functionName = !utf8name || !length ? "" : emnapiString.UTF8ToString(utf8name, length);
4284
4663
  var f;
4285
4664
  var napiCallback = wasmTable.get(cb);
@@ -4430,6 +4809,7 @@ function createNapiModule(options) {
4430
4809
  /* napi_status.napi_invalid_arg */
4431
4810
  );
4432
4811
  reference = emnapiCtx.createReferenceWithFinalizer(envObject, handle.id, 0, 1, finalize_cb, native_object, finalize_hint);
4812
+ result >>>= 0;
4433
4813
  referenceId = reference.id;
4434
4814
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
4435
4815
  HEAP_DATA_VIEW.setUint32(result, referenceId, true);
@@ -4496,6 +4876,7 @@ function createNapiModule(options) {
4496
4876
  /* napi_status.napi_invalid_arg */
4497
4877
  );
4498
4878
  if (result) {
4879
+ result >>>= 0;
4499
4880
  data = ref.data();
4500
4881
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
4501
4882
  HEAP_DATA_VIEW.setUint32(result, data, true);
@@ -4545,6 +4926,9 @@ function createNapiModule(options) {
4545
4926
  1
4546
4927
  /* napi_status.napi_invalid_arg */
4547
4928
  );
4929
+ length >>>= 0;
4930
+ properties >>>= 0;
4931
+ property_count >>>= 0;
4548
4932
  property_count = property_count >>> 0;
4549
4933
  if (property_count > 0) {
4550
4934
  if (!properties)
@@ -4553,7 +4937,7 @@ function createNapiModule(options) {
4553
4937
  /* napi_status.napi_invalid_arg */
4554
4938
  );
4555
4939
  }
4556
- if (length < -1 || length > 2147483647 || !utf8name) {
4940
+ if (!(length >= -1 && length <= 2147483647 || length === 4294967295) || !utf8name) {
4557
4941
  return envObject.setLastError(
4558
4942
  1
4559
4943
  /* napi_status.napi_invalid_arg */
@@ -4574,6 +4958,7 @@ function createNapiModule(options) {
4574
4958
  var setter = HEAP_DATA_VIEW.getUint32(propPtr + 16, true);
4575
4959
  var value = HEAP_DATA_VIEW.getUint32(propPtr + 20, true);
4576
4960
  attributes = HEAP_DATA_VIEW.getInt32(propPtr + 24, true);
4961
+ attributes >>>= 0;
4577
4962
  var data = HEAP_DATA_VIEW.getUint32(propPtr + 28, true);
4578
4963
  if (utf8Name) {
4579
4964
  propertyName = emnapiString.UTF8ToString(utf8Name, -1);
@@ -4600,6 +4985,7 @@ function createNapiModule(options) {
4600
4985
  }
4601
4986
  var valueHandle = emnapiCtx.addToCurrentScope(F);
4602
4987
  valueHandleId = valueHandle.id;
4988
+ result >>>= 0;
4603
4989
  HEAP_DATA_VIEW.setUint32(result, valueHandleId, true);
4604
4990
  return envObject.getReturnStatus();
4605
4991
  } catch (err2) {
@@ -4661,6 +5047,7 @@ function createNapiModule(options) {
4661
5047
  /* napi_status.napi_object_expected */
4662
5048
  );
4663
5049
  }
5050
+ type_tag >>>= 0;
4664
5051
  if (!type_tag) {
4665
5052
  return envObject.setLastError(
4666
5053
  envObject.tryCatch.hasCaught() ? 10 : 1
@@ -4731,12 +5118,14 @@ function createNapiModule(options) {
4731
5118
  }
4732
5119
  var binding = envObject.getObjectBinding(value.value);
4733
5120
  if (binding.tag !== null) {
5121
+ type_tag >>>= 0;
4734
5122
  var tag = binding.tag;
4735
5123
  var typeTag = new Uint32Array(wasmMemory.buffer, type_tag, 4);
4736
5124
  ret = tag[0] === typeTag[0] && tag[1] === typeTag[1] && tag[2] === typeTag[2] && tag[3] === typeTag[3];
4737
5125
  } else {
4738
5126
  ret = false;
4739
5127
  }
5128
+ result >>>= 0;
4740
5129
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
4741
5130
  HEAP_DATA_VIEW.setInt8(result, ret ? 1 : 0, true);
4742
5131
  return envObject.getReturnStatus();
@@ -4775,8 +5164,12 @@ function createNapiModule(options) {
4775
5164
  }
4776
5165
  var handle = handleResult.handle;
4777
5166
  var ownership = !result ? 0 : 1;
5167
+ finalize_data >>>= 0;
5168
+ finalize_cb >>>= 0;
5169
+ finalize_hint >>>= 0;
4778
5170
  var reference = emnapiCtx.createReferenceWithFinalizer(envObject, handle.id, 0, ownership, finalize_cb, finalize_data, finalize_hint);
4779
5171
  if (result) {
5172
+ result >>>= 0;
4780
5173
  var referenceId = reference.id;
4781
5174
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
4782
5175
  HEAP_DATA_VIEW.setUint32(result, referenceId, true);
@@ -4824,6 +5217,9 @@ function createNapiModule(options) {
4824
5217
  1
4825
5218
  /* napi_status.napi_invalid_arg */
4826
5219
  );
5220
+ byte_length >>>= 0;
5221
+ external_data >>>= 0;
5222
+ result >>>= 0;
4827
5223
  byte_length = byte_length >>> 0;
4828
5224
  if (!external_data) {
4829
5225
  byte_length = 0;
@@ -4948,7 +5344,7 @@ function createNapiModule(options) {
4948
5344
  var pointer = emnapiExternalMemory.getArrayBufferPointer(arrayBufferOrView, false).address;
4949
5345
  if (!pointer)
4950
5346
  throw new Error("Unknown ArrayBuffer address");
4951
- if (typeof len !== "number" || len === -1) {
5347
+ if (typeof len !== "number" || len === -1 || len === 4294967295) {
4952
5348
  len = arrayBufferOrView.byteLength - offset;
4953
5349
  }
4954
5350
  len = len >>> 0;
@@ -4969,7 +5365,7 @@ function createNapiModule(options) {
4969
5365
  var pointer = viewPointerInfo.address;
4970
5366
  if (!pointer)
4971
5367
  throw new Error("Unknown ArrayBuffer address");
4972
- if (typeof len !== "number" || len === -1) {
5368
+ if (typeof len !== "number" || len === -1 || len === 4294967295) {
4973
5369
  len = latestView.byteLength - offset;
4974
5370
  }
4975
5371
  len = len >>> 0;
@@ -5009,6 +5405,9 @@ function createNapiModule(options) {
5009
5405
  1
5010
5406
  /* napi_status.napi_invalid_arg */
5011
5407
  );
5408
+ arraybuffer_or_view >>>= 0;
5409
+ offset >>>= 0;
5410
+ len >>>= 0;
5012
5411
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
5013
5412
  var handleId = HEAP_DATA_VIEW.getUint32(arraybuffer_or_view, true);
5014
5413
  var handle = envObject.ctx.handleStore.get(handleId);
@@ -5020,6 +5419,7 @@ function createNapiModule(options) {
5020
5419
  }
5021
5420
  var ret = $emnapiSyncMemory(Boolean(js_to_wasm), handle.value, offset, len);
5022
5421
  if (handle.value !== ret) {
5422
+ arraybuffer_or_view >>>= 0;
5023
5423
  v = envObject.ensureHandleId(ret);
5024
5424
  HEAP_DATA_VIEW.setUint32(arraybuffer_or_view, v, true);
5025
5425
  }
@@ -5086,13 +5486,16 @@ function createNapiModule(options) {
5086
5486
  p = info.address;
5087
5487
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
5088
5488
  if (address) {
5489
+ address >>>= 0;
5089
5490
  HEAP_DATA_VIEW.setUint32(address, p, true);
5090
5491
  }
5091
5492
  if (ownership) {
5493
+ ownership >>>= 0;
5092
5494
  ownershipOut = info.ownership;
5093
5495
  HEAP_DATA_VIEW.setInt32(ownership, ownershipOut, true);
5094
5496
  }
5095
5497
  if (runtime_allocated) {
5498
+ runtime_allocated >>>= 0;
5096
5499
  runtimeAllocated = info.runtimeAllocated;
5097
5500
  HEAP_DATA_VIEW.setInt8(runtime_allocated, runtimeAllocated, true);
5098
5501
  }
@@ -5126,6 +5529,7 @@ function createNapiModule(options) {
5126
5529
  var versions = runtimeVersion.split(".").map(function(n) {
5127
5530
  return Number(n);
5128
5531
  });
5532
+ version2 >>>= 0;
5129
5533
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
5130
5534
  HEAP_DATA_VIEW.setUint32(version2, versions[0], true);
5131
5535
  HEAP_DATA_VIEW.setUint32(version2 + 4, versions[1], true);
@@ -5154,6 +5558,7 @@ function createNapiModule(options) {
5154
5558
  1
5155
5559
  /* napi_status.napi_invalid_arg */
5156
5560
  );
5561
+ result >>>= 0;
5157
5562
  var value = emnapiCtx.addToCurrentScope([]).id;
5158
5563
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
5159
5564
  HEAP_DATA_VIEW.setUint32(result, value, true);
@@ -5169,6 +5574,8 @@ function createNapiModule(options) {
5169
5574
  1
5170
5575
  /* napi_status.napi_invalid_arg */
5171
5576
  );
5577
+ length >>>= 0;
5578
+ result >>>= 0;
5172
5579
  length = length >>> 0;
5173
5580
  var value = emnapiCtx.addToCurrentScope(new Array(length)).id;
5174
5581
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
@@ -5176,9 +5583,11 @@ function createNapiModule(options) {
5176
5583
  return envObject.clearLastError();
5177
5584
  }
5178
5585
  function emnapiCreateArrayBuffer(byte_length, data, shared) {
5586
+ byte_length >>>= 0;
5179
5587
  byte_length = byte_length >>> 0;
5180
5588
  var arrayBuffer = shared ? new SharedArrayBuffer(byte_length) : new ArrayBuffer(byte_length);
5181
5589
  if (data) {
5590
+ data >>>= 0;
5182
5591
  var p = emnapiExternalMemory.getArrayBufferPointer(arrayBuffer, true).address;
5183
5592
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
5184
5593
  HEAP_DATA_VIEW.setUint32(data, p, true);
@@ -5208,6 +5617,7 @@ function createNapiModule(options) {
5208
5617
  1
5209
5618
  /* napi_status.napi_invalid_arg */
5210
5619
  );
5620
+ result >>>= 0;
5211
5621
  var arrayBuffer = emnapiCreateArrayBuffer(byte_length, data, false);
5212
5622
  value = emnapiCtx.addToCurrentScope(arrayBuffer).id;
5213
5623
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
@@ -5244,6 +5654,7 @@ function createNapiModule(options) {
5244
5654
  1
5245
5655
  /* napi_status.napi_invalid_arg */
5246
5656
  );
5657
+ result >>>= 0;
5247
5658
  var arrayBuffer = emnapiCreateArrayBuffer(byte_length, data, true);
5248
5659
  value = emnapiCtx.addToCurrentScope(arrayBuffer).id;
5249
5660
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
@@ -5280,6 +5691,7 @@ function createNapiModule(options) {
5280
5691
  1
5281
5692
  /* napi_status.napi_invalid_arg */
5282
5693
  );
5694
+ result >>>= 0;
5283
5695
  value = emnapiCtx.addToCurrentScope(new Date(time)).id;
5284
5696
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
5285
5697
  HEAP_DATA_VIEW.setUint32(result, value, true);
@@ -5322,6 +5734,7 @@ function createNapiModule(options) {
5322
5734
  if (finalize_cb) {
5323
5735
  emnapiCtx.createReferenceWithFinalizer(envObject, externalHandle.id, 0, 0, finalize_cb, data, finalize_hint);
5324
5736
  }
5737
+ result >>>= 0;
5325
5738
  value = externalHandle.id;
5326
5739
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
5327
5740
  HEAP_DATA_VIEW.setUint32(result, value, true);
@@ -5357,6 +5770,9 @@ function createNapiModule(options) {
5357
5770
  1
5358
5771
  /* napi_status.napi_invalid_arg */
5359
5772
  );
5773
+ byte_length >>>= 0;
5774
+ external_data >>>= 0;
5775
+ result >>>= 0;
5360
5776
  byte_length = byte_length >>> 0;
5361
5777
  if (!external_data) {
5362
5778
  byte_length = 0;
@@ -5425,12 +5841,13 @@ function createNapiModule(options) {
5425
5841
  1
5426
5842
  /* napi_status.napi_invalid_arg */
5427
5843
  );
5844
+ result >>>= 0;
5428
5845
  var value = emnapiCtx.addToCurrentScope({}).id;
5429
5846
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
5430
5847
  HEAP_DATA_VIEW.setUint32(result, value, true);
5431
5848
  return envObject.clearLastError();
5432
5849
  }
5433
- function napi_create_object_with_properties(env, prototype_or_null, property_names, property_values, property_count, result) {
5850
+ function node_api_create_object_with_properties(env, prototype_or_null, property_names, property_values, property_count, result) {
5434
5851
  if (!env)
5435
5852
  return 1;
5436
5853
  var envObject = emnapiCtx.envStore.get(env);
@@ -5440,6 +5857,7 @@ function createNapiModule(options) {
5440
5857
  1
5441
5858
  /* napi_status.napi_invalid_arg */
5442
5859
  );
5860
+ property_count >>>= 0;
5443
5861
  property_count = property_count >>> 0;
5444
5862
  if (property_count > 0) {
5445
5863
  if (!property_names)
@@ -5455,6 +5873,8 @@ function createNapiModule(options) {
5455
5873
  }
5456
5874
  var v8_prototype_or_null = prototype_or_null ? emnapiCtx.handleStore.get(prototype_or_null).value : null;
5457
5875
  var properties = {};
5876
+ property_names >>>= 0;
5877
+ property_values >>>= 0;
5458
5878
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
5459
5879
  for (var i = 0; i < property_count; i++) {
5460
5880
  var name_value = emnapiCtx.handleStore.get(HEAP_DATA_VIEW.getUint32(property_names + i * 4, true)).value;
@@ -5480,6 +5900,7 @@ function createNapiModule(options) {
5480
5900
  );
5481
5901
  }
5482
5902
  var value = emnapiCtx.addToCurrentScope(obj).id;
5903
+ result >>>= 0;
5483
5904
  HEAP_DATA_VIEW.setUint32(result, value, true);
5484
5905
  return envObject.clearLastError();
5485
5906
  }
@@ -5493,6 +5914,7 @@ function createNapiModule(options) {
5493
5914
  1
5494
5915
  /* napi_status.napi_invalid_arg */
5495
5916
  );
5917
+ result >>>= 0;
5496
5918
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
5497
5919
  if (!description) {
5498
5920
  var value = emnapiCtx.addToCurrentScope(/* @__PURE__ */ Symbol()).id;
@@ -5547,6 +5969,8 @@ function createNapiModule(options) {
5547
5969
  );
5548
5970
  }
5549
5971
  var buffer = handle.value;
5972
+ byte_offset >>>= 0;
5973
+ length >>>= 0;
5550
5974
  var createTypedArray = function(envObject2, Type, size_of_element, buffer2, byte_offset2, length2) {
5551
5975
  var _a;
5552
5976
  byte_offset2 = byte_offset2 >>> 0;
@@ -5583,6 +6007,7 @@ function createNapiModule(options) {
5583
6007
  });
5584
6008
  }
5585
6009
  }
6010
+ result >>>= 0;
5586
6011
  value = emnapiCtx.addToCurrentScope(out).id;
5587
6012
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
5588
6013
  HEAP_DATA_VIEW.setUint32(result, value, true);
@@ -5661,7 +6086,9 @@ function createNapiModule(options) {
5661
6086
  if (!Buffer2) {
5662
6087
  throw emnapiCtx.createNotSupportBufferError("napi_create_buffer", "");
5663
6088
  }
6089
+ result >>>= 0;
5664
6090
  var buffer = void 0;
6091
+ size >>>= 0;
5665
6092
  size = size >>> 0;
5666
6093
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
5667
6094
  if (!data || size === 0) {
@@ -5672,6 +6099,7 @@ function createNapiModule(options) {
5672
6099
  pointer = _malloc(size);
5673
6100
  if (!pointer)
5674
6101
  throw new Error("Out of memory");
6102
+ pointer >>>= 0;
5675
6103
  new Uint8Array(wasmMemory.buffer).subarray(pointer, pointer + size).fill(0);
5676
6104
  var buffer_1 = Buffer2.from(wasmMemory.buffer, pointer, size);
5677
6105
  var viewDescriptor = {
@@ -5685,6 +6113,7 @@ function createNapiModule(options) {
5685
6113
  (_a = emnapiExternalMemory.registry) === null || _a === void 0 ? void 0 : _a.register(viewDescriptor, pointer);
5686
6114
  value = emnapiCtx.addToCurrentScope(buffer_1).id;
5687
6115
  HEAP_DATA_VIEW.setUint32(result, value, true);
6116
+ data >>>= 0;
5688
6117
  HEAP_DATA_VIEW.setUint32(data, pointer, true);
5689
6118
  }
5690
6119
  return envObject.getReturnStatus();
@@ -5725,8 +6154,11 @@ function createNapiModule(options) {
5725
6154
  }
5726
6155
  var arrayBuffer = emnapiCreateArrayBuffer(length, result_data, false);
5727
6156
  var buffer = Buffer2.from(arrayBuffer);
6157
+ data >>>= 0;
6158
+ length >>>= 0;
5728
6159
  buffer.set(new Uint8Array(wasmMemory.buffer).subarray(data, data + length));
5729
6160
  value = emnapiCtx.addToCurrentScope(buffer).id;
6161
+ result >>>= 0;
5730
6162
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
5731
6163
  HEAP_DATA_VIEW.setUint32(result, value, true);
5732
6164
  return envObject.getReturnStatus();
@@ -5769,6 +6201,8 @@ function createNapiModule(options) {
5769
6201
  1
5770
6202
  /* napi_status.napi_invalid_arg */
5771
6203
  );
6204
+ byte_offset >>>= 0;
6205
+ byte_length >>>= 0;
5772
6206
  byte_offset = byte_offset >>> 0;
5773
6207
  byte_length = byte_length >>> 0;
5774
6208
  var handle = emnapiCtx.handleStore.get(arraybuffer);
@@ -5800,6 +6234,7 @@ function createNapiModule(options) {
5800
6234
  });
5801
6235
  }
5802
6236
  }
6237
+ result >>>= 0;
5803
6238
  value = emnapiCtx.addToCurrentScope(out).id;
5804
6239
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
5805
6240
  HEAP_DATA_VIEW.setUint32(result, value, true);
@@ -5839,6 +6274,8 @@ function createNapiModule(options) {
5839
6274
  1
5840
6275
  /* napi_status.napi_invalid_arg */
5841
6276
  );
6277
+ byte_length >>>= 0;
6278
+ byte_offset >>>= 0;
5842
6279
  byte_length = byte_length >>> 0;
5843
6280
  byte_offset = byte_offset >>> 0;
5844
6281
  var value = emnapiCtx.handleStore.get(arraybuffer).value;
@@ -5860,6 +6297,7 @@ function createNapiModule(options) {
5860
6297
  });
5861
6298
  }
5862
6299
  }
6300
+ result >>>= 0;
5863
6301
  var v = emnapiCtx.addToCurrentScope(dataview).id;
5864
6302
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
5865
6303
  HEAP_DATA_VIEW.setUint32(result, v, true);
@@ -5891,7 +6329,10 @@ function createNapiModule(options) {
5891
6329
  1
5892
6330
  /* napi_status.napi_invalid_arg */
5893
6331
  );
5894
- var autoLength = length === -1;
6332
+ length >>>= 0;
6333
+ utf8description >>>= 0;
6334
+ result >>>= 0;
6335
+ var autoLength = length === -1 || length === 4294967295;
5895
6336
  var sizelength = length >>> 0;
5896
6337
  if (length !== 0) {
5897
6338
  if (!utf8description)
@@ -5925,10 +6366,10 @@ function createNapiModule(options) {
5925
6366
  napi_create_external_arraybuffer,
5926
6367
  napi_create_external_buffer,
5927
6368
  napi_create_object,
5928
- napi_create_object_with_properties,
5929
6369
  napi_create_symbol,
5930
6370
  napi_create_typedarray,
5931
6371
  node_api_create_buffer_from_arraybuffer,
6372
+ node_api_create_object_with_properties,
5932
6373
  node_api_create_sharedarraybuffer,
5933
6374
  node_api_symbol_for
5934
6375
  });
@@ -5942,6 +6383,7 @@ function createNapiModule(options) {
5942
6383
  1
5943
6384
  /* napi_status.napi_invalid_arg */
5944
6385
  );
6386
+ result >>>= 0;
5945
6387
  var v = value === 0 ? 3 : 4;
5946
6388
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
5947
6389
  HEAP_DATA_VIEW.setUint32(result, v, true);
@@ -5957,6 +6399,7 @@ function createNapiModule(options) {
5957
6399
  1
5958
6400
  /* napi_status.napi_invalid_arg */
5959
6401
  );
6402
+ result >>>= 0;
5960
6403
  var value = 5;
5961
6404
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
5962
6405
  HEAP_DATA_VIEW.setUint32(result, value, true);
@@ -5972,6 +6415,7 @@ function createNapiModule(options) {
5972
6415
  1
5973
6416
  /* napi_status.napi_invalid_arg */
5974
6417
  );
6418
+ result >>>= 0;
5975
6419
  var value = 2;
5976
6420
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
5977
6421
  HEAP_DATA_VIEW.setUint32(result, value, true);
@@ -5987,6 +6431,7 @@ function createNapiModule(options) {
5987
6431
  1
5988
6432
  /* napi_status.napi_invalid_arg */
5989
6433
  );
6434
+ result >>>= 0;
5990
6435
  var value = 1;
5991
6436
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
5992
6437
  HEAP_DATA_VIEW.setUint32(result, value, true);
@@ -6003,6 +6448,9 @@ function createNapiModule(options) {
6003
6448
  if (!env)
6004
6449
  return 1;
6005
6450
  var envObject = emnapiCtx.envStore.get(env);
6451
+ data >>>= 0;
6452
+ finalize_cb >>>= 0;
6453
+ finalize_hint >>>= 0;
6006
6454
  envObject.setInstanceData(data, finalize_cb, finalize_hint);
6007
6455
  return envObject.clearLastError();
6008
6456
  }
@@ -6015,6 +6463,7 @@ function createNapiModule(options) {
6015
6463
  1
6016
6464
  /* napi_status.napi_invalid_arg */
6017
6465
  );
6466
+ data >>>= 0;
6018
6467
  var value = envObject.getInstanceData();
6019
6468
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
6020
6469
  HEAP_DATA_VIEW.setUint32(data, value, true);
@@ -6026,11 +6475,15 @@ function createNapiModule(options) {
6026
6475
  napi_set_instance_data
6027
6476
  });
6028
6477
  function _emnapi_get_last_error_info(env, error_code, engine_error_code, engine_reserved) {
6478
+ error_code >>>= 0;
6479
+ engine_error_code >>>= 0;
6480
+ engine_reserved >>>= 0;
6029
6481
  var envObject = emnapiCtx.envStore.get(env);
6030
6482
  var lastError = envObject.lastError;
6031
6483
  var errorCode = lastError.errorCode;
6032
6484
  var engineErrorCode = lastError.engineErrorCode >>> 0;
6033
6485
  var engineReserved = lastError.engineReserved;
6486
+ engineReserved >>>= 0;
6034
6487
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
6035
6488
  HEAP_DATA_VIEW.setInt32(error_code, errorCode, true);
6036
6489
  HEAP_DATA_VIEW.setUint32(engine_error_code, engineErrorCode, true);
@@ -6090,6 +6543,8 @@ function createNapiModule(options) {
6090
6543
  1
6091
6544
  /* napi_status.napi_invalid_arg */
6092
6545
  );
6546
+ code >>>= 0;
6547
+ msg >>>= 0;
6093
6548
  var error = new Error(emnapiString.UTF8ToString(msg, -1));
6094
6549
  if (code)
6095
6550
  error.code = emnapiString.UTF8ToString(code, -1);
@@ -6125,6 +6580,8 @@ function createNapiModule(options) {
6125
6580
  1
6126
6581
  /* napi_status.napi_invalid_arg */
6127
6582
  );
6583
+ code >>>= 0;
6584
+ msg >>>= 0;
6128
6585
  var error = new TypeError(emnapiString.UTF8ToString(msg, -1));
6129
6586
  if (code)
6130
6587
  error.code = emnapiString.UTF8ToString(code, -1);
@@ -6160,6 +6617,8 @@ function createNapiModule(options) {
6160
6617
  1
6161
6618
  /* napi_status.napi_invalid_arg */
6162
6619
  );
6620
+ code >>>= 0;
6621
+ msg >>>= 0;
6163
6622
  var error = new RangeError(emnapiString.UTF8ToString(msg, -1));
6164
6623
  if (code)
6165
6624
  error.code = emnapiString.UTF8ToString(code, -1);
@@ -6195,6 +6654,8 @@ function createNapiModule(options) {
6195
6654
  1
6196
6655
  /* napi_status.napi_invalid_arg */
6197
6656
  );
6657
+ code >>>= 0;
6658
+ msg >>>= 0;
6198
6659
  var error = new SyntaxError(emnapiString.UTF8ToString(msg, -1));
6199
6660
  if (code)
6200
6661
  error.code = emnapiString.UTF8ToString(code, -1);
@@ -6219,6 +6680,7 @@ function createNapiModule(options) {
6219
6680
  /* napi_status.napi_invalid_arg */
6220
6681
  );
6221
6682
  var r = envObject.tryCatch.hasCaught();
6683
+ result >>>= 0;
6222
6684
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
6223
6685
  HEAP_DATA_VIEW.setInt8(result, r ? 1 : 0, true);
6224
6686
  return envObject.clearLastError();
@@ -6256,6 +6718,7 @@ function createNapiModule(options) {
6256
6718
  }
6257
6719
  error.code = codeValue;
6258
6720
  }
6721
+ result >>>= 0;
6259
6722
  var value = emnapiCtx.addToCurrentScope(error).id;
6260
6723
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
6261
6724
  HEAP_DATA_VIEW.setUint32(result, value, true);
@@ -6294,6 +6757,7 @@ function createNapiModule(options) {
6294
6757
  }
6295
6758
  error.code = codeValue;
6296
6759
  }
6760
+ result >>>= 0;
6297
6761
  var value = emnapiCtx.addToCurrentScope(error).id;
6298
6762
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
6299
6763
  HEAP_DATA_VIEW.setUint32(result, value, true);
@@ -6332,6 +6796,7 @@ function createNapiModule(options) {
6332
6796
  }
6333
6797
  error.code = codeValue;
6334
6798
  }
6799
+ result >>>= 0;
6335
6800
  var value = emnapiCtx.addToCurrentScope(error).id;
6336
6801
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
6337
6802
  HEAP_DATA_VIEW.setUint32(result, value, true);
@@ -6370,6 +6835,7 @@ function createNapiModule(options) {
6370
6835
  }
6371
6836
  error.code = codeValue;
6372
6837
  }
6838
+ result >>>= 0;
6373
6839
  var value = emnapiCtx.addToCurrentScope(error).id;
6374
6840
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
6375
6841
  HEAP_DATA_VIEW.setUint32(result, value, true);
@@ -6385,6 +6851,7 @@ function createNapiModule(options) {
6385
6851
  1
6386
6852
  /* napi_status.napi_invalid_arg */
6387
6853
  );
6854
+ result >>>= 0;
6388
6855
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
6389
6856
  if (!envObject.tryCatch.hasCaught()) {
6390
6857
  HEAP_DATA_VIEW.setUint32(result, 1, true);
@@ -6398,6 +6865,10 @@ function createNapiModule(options) {
6398
6865
  return envObject.clearLastError();
6399
6866
  }
6400
6867
  function napi_fatal_error(location, location_len, message, message_len) {
6868
+ location >>>= 0;
6869
+ location_len >>>= 0;
6870
+ message >>>= 0;
6871
+ message_len >>>= 0;
6401
6872
  var locationStr = emnapiString.UTF8ToString(location, location_len);
6402
6873
  var messageStr = emnapiString.UTF8ToString(message, message_len);
6403
6874
  if (emnapiNodeBinding) {
@@ -6463,8 +6934,21 @@ function createNapiModule(options) {
6463
6934
  node_api_create_syntax_error,
6464
6935
  node_api_throw_syntax_error
6465
6936
  });
6937
+ function _emnapi_create_function(env, utf8name, length, cb, data, result) {
6938
+ length >>>= 0;
6939
+ var envObject = emnapiCtx.envStore.get(env);
6940
+ var fresult = emnapiCreateFunction(envObject, utf8name, length, cb, data);
6941
+ if (fresult.status !== 0)
6942
+ return envObject.setLastError(fresult.status);
6943
+ var f = fresult.f;
6944
+ var valueHandle = emnapiCtx.addToCurrentScope(f);
6945
+ result >>>= 0;
6946
+ var value = valueHandle.id;
6947
+ var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
6948
+ HEAP_DATA_VIEW.setUint32(result, value, true);
6949
+ return envObject.getReturnStatus();
6950
+ }
6466
6951
  function napi_create_function(env, utf8name, length, cb, data, result) {
6467
- var value;
6468
6952
  if (!env)
6469
6953
  return 1;
6470
6954
  var envObject = emnapiCtx.envStore.get(env);
@@ -6491,15 +6975,7 @@ function createNapiModule(options) {
6491
6975
  1
6492
6976
  /* napi_status.napi_invalid_arg */
6493
6977
  );
6494
- var fresult = emnapiCreateFunction(envObject, utf8name, length, cb, data);
6495
- if (fresult.status !== 0)
6496
- return envObject.setLastError(fresult.status);
6497
- var f = fresult.f;
6498
- var valueHandle = emnapiCtx.addToCurrentScope(f);
6499
- value = valueHandle.id;
6500
- var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
6501
- HEAP_DATA_VIEW.setUint32(result, value, true);
6502
- return envObject.getReturnStatus();
6978
+ return _emnapi_create_function(env, utf8name, length, cb, data, result);
6503
6979
  } catch (err2) {
6504
6980
  envObject.tryCatch.setError(err2);
6505
6981
  return envObject.setLastError(
@@ -6518,6 +6994,8 @@ function createNapiModule(options) {
6518
6994
  /* napi_status.napi_invalid_arg */
6519
6995
  );
6520
6996
  var cbinfoValue = emnapiCtx.scopeStore.get(cbinfo).callbackInfo;
6997
+ argc >>>= 0;
6998
+ argv >>>= 0;
6521
6999
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
6522
7000
  if (argv) {
6523
7001
  if (!argc)
@@ -6526,6 +7004,7 @@ function createNapiModule(options) {
6526
7004
  /* napi_status.napi_invalid_arg */
6527
7005
  );
6528
7006
  var argcValue = HEAP_DATA_VIEW.getUint32(argc, true);
7007
+ argcValue >>>= 0;
6529
7008
  var len = cbinfoValue.args.length;
6530
7009
  var arrlen = argcValue < len ? argcValue : len;
6531
7010
  var i = 0;
@@ -6543,10 +7022,12 @@ function createNapiModule(options) {
6543
7022
  HEAP_DATA_VIEW.setUint32(argc, cbinfoValue.args.length, true);
6544
7023
  }
6545
7024
  if (this_arg) {
7025
+ this_arg >>>= 0;
6546
7026
  var v = envObject.ensureHandleId(cbinfoValue.thiz);
6547
7027
  HEAP_DATA_VIEW.setUint32(this_arg, v, true);
6548
7028
  }
6549
7029
  if (data) {
7030
+ data >>>= 0;
6550
7031
  HEAP_DATA_VIEW.setUint32(data, cbinfoValue.data, true);
6551
7032
  }
6552
7033
  return envObject.clearLastError();
@@ -6575,6 +7056,9 @@ function createNapiModule(options) {
6575
7056
  1
6576
7057
  /* napi_status.napi_invalid_arg */
6577
7058
  );
7059
+ argc >>>= 0;
7060
+ argv >>>= 0;
7061
+ result >>>= 0;
6578
7062
  argc = argc >>> 0;
6579
7063
  if (argc > 0) {
6580
7064
  if (!argv)
@@ -6639,6 +7123,9 @@ function createNapiModule(options) {
6639
7123
  1
6640
7124
  /* napi_status.napi_invalid_arg */
6641
7125
  );
7126
+ argc >>>= 0;
7127
+ argv >>>= 0;
7128
+ result >>>= 0;
6642
7129
  argc = argc >>> 0;
6643
7130
  if (argc > 0) {
6644
7131
  if (!argv)
@@ -6705,6 +7192,7 @@ function createNapiModule(options) {
6705
7192
  1
6706
7193
  /* napi_status.napi_invalid_arg */
6707
7194
  );
7195
+ result >>>= 0;
6708
7196
  var cbinfoValue = emnapiCtx.scopeStore.get(cbinfo).callbackInfo;
6709
7197
  var thiz = cbinfoValue.thiz, fn = cbinfoValue.fn;
6710
7198
  var value = thiz == null || thiz.constructor == null ? 0 : thiz instanceof fn ? envObject.ensureHandleId(thiz.constructor) : 0;
@@ -6714,6 +7202,7 @@ function createNapiModule(options) {
6714
7202
  }
6715
7203
  var functionMod = /* @__PURE__ */ Object.freeze({
6716
7204
  __proto__: null,
7205
+ _emnapi_create_function,
6717
7206
  napi_call_function,
6718
7207
  napi_create_function,
6719
7208
  napi_get_cb_info,
@@ -6731,6 +7220,7 @@ function createNapiModule(options) {
6731
7220
  /* napi_status.napi_invalid_arg */
6732
7221
  );
6733
7222
  var scope = emnapiCtx.openScope(envObject);
7223
+ result >>>= 0;
6734
7224
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
6735
7225
  HEAP_DATA_VIEW.setUint32(result, scope.id, true);
6736
7226
  return envObject.clearLastError();
@@ -6762,6 +7252,7 @@ function createNapiModule(options) {
6762
7252
  /* napi_status.napi_invalid_arg */
6763
7253
  );
6764
7254
  var scope = emnapiCtx.openScope(envObject);
7255
+ result >>>= 0;
6765
7256
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
6766
7257
  HEAP_DATA_VIEW.setUint32(result, scope.id, true);
6767
7258
  return envObject.clearLastError();
@@ -6804,6 +7295,8 @@ function createNapiModule(options) {
6804
7295
  );
6805
7296
  var scopeObject = emnapiCtx.scopeStore.get(scope);
6806
7297
  if (!scopeObject.escapeCalled()) {
7298
+ escapee >>>= 0;
7299
+ result >>>= 0;
6807
7300
  var newHandle = scopeObject.escape(escapee);
6808
7301
  var value = newHandle ? newHandle.id : 0;
6809
7302
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
@@ -6846,6 +7339,7 @@ function createNapiModule(options) {
6846
7339
  1
6847
7340
  /* ReferenceOwnership.kUserland */
6848
7341
  );
7342
+ result >>>= 0;
6849
7343
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
6850
7344
  HEAP_DATA_VIEW.setUint32(result, ref.id, true);
6851
7345
  return envObject.clearLastError();
@@ -6874,6 +7368,7 @@ function createNapiModule(options) {
6874
7368
  );
6875
7369
  var count = emnapiCtx.refStore.get(ref).ref();
6876
7370
  if (result) {
7371
+ result >>>= 0;
6877
7372
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
6878
7373
  HEAP_DATA_VIEW.setUint32(result, count, true);
6879
7374
  }
@@ -6899,6 +7394,7 @@ function createNapiModule(options) {
6899
7394
  }
6900
7395
  var count = reference.unref();
6901
7396
  if (result) {
7397
+ result >>>= 0;
6902
7398
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
6903
7399
  HEAP_DATA_VIEW.setUint32(result, count, true);
6904
7400
  }
@@ -6921,6 +7417,7 @@ function createNapiModule(options) {
6921
7417
  );
6922
7418
  var reference = emnapiCtx.refStore.get(ref);
6923
7419
  var handleId = reference.get(envObject);
7420
+ result >>>= 0;
6924
7421
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
6925
7422
  HEAP_DATA_VIEW.setUint32(result, handleId, true);
6926
7423
  return envObject.clearLastError();
@@ -6934,6 +7431,8 @@ function createNapiModule(options) {
6934
7431
  1
6935
7432
  /* napi_status.napi_invalid_arg */
6936
7433
  );
7434
+ fun >>>= 0;
7435
+ arg >>>= 0;
6937
7436
  emnapiCtx.addCleanupHook(envObject, fun, arg);
6938
7437
  return 0;
6939
7438
  }
@@ -6946,6 +7445,8 @@ function createNapiModule(options) {
6946
7445
  1
6947
7446
  /* napi_status.napi_invalid_arg */
6948
7447
  );
7448
+ fun >>>= 0;
7449
+ arg >>>= 0;
6949
7450
  emnapiCtx.removeCleanupHook(envObject, fun, arg);
6950
7451
  return 0;
6951
7452
  }
@@ -7018,8 +7519,10 @@ function createNapiModule(options) {
7018
7519
  var p = new Promise(function(resolve2, reject) {
7019
7520
  var deferredObject = emnapiCtx.createDeferred({ resolve: resolve2, reject });
7020
7521
  deferredObjectId = deferredObject.id;
7522
+ deferred >>>= 0;
7021
7523
  HEAP_DATA_VIEW.setUint32(deferred, deferredObjectId, true);
7022
7524
  });
7525
+ promise >>>= 0;
7023
7526
  value = emnapiCtx.addToCurrentScope(p).id;
7024
7527
  HEAP_DATA_VIEW.setUint32(promise, value, true);
7025
7528
  return envObject.getReturnStatus();
@@ -7123,6 +7626,7 @@ function createNapiModule(options) {
7123
7626
  /* napi_status.napi_invalid_arg */
7124
7627
  );
7125
7628
  var h = emnapiCtx.handleStore.get(value);
7629
+ is_promise >>>= 0;
7126
7630
  var r = h.isPromise() ? 1 : 0;
7127
7631
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
7128
7632
  HEAP_DATA_VIEW.setInt8(is_promise, r, true);
@@ -7283,6 +7787,7 @@ function createNapiModule(options) {
7283
7787
  }
7284
7788
  }
7285
7789
  }
7790
+ result >>>= 0;
7286
7791
  value = emnapiCtx.addToCurrentScope(ret).id;
7287
7792
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
7288
7793
  HEAP_DATA_VIEW.setUint32(result, value, true);
@@ -7393,6 +7898,7 @@ function createNapiModule(options) {
7393
7898
  /* napi_status.napi_object_expected */
7394
7899
  );
7395
7900
  }
7901
+ result >>>= 0;
7396
7902
  r = emnapiCtx.handleStore.get(key).value in v ? 1 : 0;
7397
7903
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
7398
7904
  HEAP_DATA_VIEW.setInt8(result, r, true);
@@ -7451,6 +7957,7 @@ function createNapiModule(options) {
7451
7957
  /* napi_status.napi_object_expected */
7452
7958
  );
7453
7959
  }
7960
+ result >>>= 0;
7454
7961
  value = envObject.ensureHandleId(v[emnapiCtx.handleStore.get(key).value]);
7455
7962
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
7456
7963
  HEAP_DATA_VIEW.setUint32(result, value, true);
@@ -7509,6 +8016,7 @@ function createNapiModule(options) {
7509
8016
  }
7510
8017
  }
7511
8018
  if (result) {
8019
+ result >>>= 0;
7512
8020
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
7513
8021
  HEAP_DATA_VIEW.setInt8(result, r ? 1 : 0, true);
7514
8022
  }
@@ -7575,6 +8083,7 @@ function createNapiModule(options) {
7575
8083
  );
7576
8084
  }
7577
8085
  r = Object.prototype.hasOwnProperty.call(v, emnapiCtx.handleStore.get(key).value);
8086
+ result >>>= 0;
7578
8087
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
7579
8088
  HEAP_DATA_VIEW.setInt8(result, r ? 1 : 0, true);
7580
8089
  return envObject.getReturnStatus();
@@ -7626,6 +8135,7 @@ function createNapiModule(options) {
7626
8135
  /* napi_status.napi_invalid_arg */
7627
8136
  );
7628
8137
  }
8138
+ cname >>>= 0;
7629
8139
  emnapiCtx.handleStore.get(object).value[emnapiString.UTF8ToString(cname, -1)] = emnapiCtx.handleStore.get(value).value;
7630
8140
  return envObject.getReturnStatus();
7631
8141
  } catch (err2) {
@@ -7683,6 +8193,8 @@ function createNapiModule(options) {
7683
8193
  /* napi_status.napi_object_expected */
7684
8194
  );
7685
8195
  }
8196
+ utf8name >>>= 0;
8197
+ result >>>= 0;
7686
8198
  r = emnapiString.UTF8ToString(utf8name, -1) in v;
7687
8199
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
7688
8200
  HEAP_DATA_VIEW.setInt8(result, r ? 1 : 0, true);
@@ -7742,6 +8254,8 @@ function createNapiModule(options) {
7742
8254
  /* napi_status.napi_object_expected */
7743
8255
  );
7744
8256
  }
8257
+ utf8name >>>= 0;
8258
+ result >>>= 0;
7745
8259
  value = envObject.ensureHandleId(v[emnapiString.UTF8ToString(utf8name, -1)]);
7746
8260
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
7747
8261
  HEAP_DATA_VIEW.setUint32(result, value, true);
@@ -7839,6 +8353,7 @@ function createNapiModule(options) {
7839
8353
  /* napi_status.napi_object_expected */
7840
8354
  );
7841
8355
  }
8356
+ result >>>= 0;
7842
8357
  r = index >>> 0 in v ? 1 : 0;
7843
8358
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
7844
8359
  HEAP_DATA_VIEW.setInt8(result, r, true);
@@ -7892,6 +8407,7 @@ function createNapiModule(options) {
7892
8407
  /* napi_status.napi_object_expected */
7893
8408
  );
7894
8409
  }
8410
+ result >>>= 0;
7895
8411
  value = envObject.ensureHandleId(v[index >>> 0]);
7896
8412
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
7897
8413
  HEAP_DATA_VIEW.setUint32(result, value, true);
@@ -7944,6 +8460,7 @@ function createNapiModule(options) {
7944
8460
  }
7945
8461
  }
7946
8462
  if (result) {
8463
+ result >>>= 0;
7947
8464
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
7948
8465
  HEAP_DATA_VIEW.setInt8(result, r ? 1 : 0, true);
7949
8466
  }
@@ -7974,6 +8491,8 @@ function createNapiModule(options) {
7974
8491
  );
7975
8492
  envObject.clearLastError();
7976
8493
  try {
8494
+ properties >>>= 0;
8495
+ property_count >>>= 0;
7977
8496
  property_count = property_count >>> 0;
7978
8497
  if (property_count > 0) {
7979
8498
  if (!properties)
@@ -8006,6 +8525,7 @@ function createNapiModule(options) {
8006
8525
  var setter = HEAP_DATA_VIEW.getUint32(propPtr + 16, true);
8007
8526
  var value = HEAP_DATA_VIEW.getUint32(propPtr + 20, true);
8008
8527
  attributes = HEAP_DATA_VIEW.getInt32(propPtr + 24, true);
8528
+ attributes >>>= 0;
8009
8529
  var data = HEAP_DATA_VIEW.getUint32(propPtr + 28, true);
8010
8530
  if (utf8Name) {
8011
8531
  propertyName = emnapiString.UTF8ToString(utf8Name, -1);
@@ -8176,6 +8696,7 @@ function createNapiModule(options) {
8176
8696
  /* GlobalHandle.GLOBAL */
8177
8697
  ).value;
8178
8698
  var ret = g.eval(v8Script.value);
8699
+ result >>>= 0;
8179
8700
  value = envObject.ensureHandleId(ret);
8180
8701
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
8181
8702
  HEAP_DATA_VIEW.setUint32(result, value, true);
@@ -8209,6 +8730,7 @@ function createNapiModule(options) {
8209
8730
  /* napi_status.napi_invalid_arg */
8210
8731
  );
8211
8732
  var v = emnapiCtx.handleStore.get(value);
8733
+ result >>>= 0;
8212
8734
  var r;
8213
8735
  if (v.isNumber()) {
8214
8736
  r = 3;
@@ -8269,6 +8791,7 @@ function createNapiModule(options) {
8269
8791
  /* napi_status.napi_invalid_arg */
8270
8792
  );
8271
8793
  var handle = emnapiCtx.handleStore.get(value);
8794
+ result >>>= 0;
8272
8795
  v = handle.value ? 4 : 3;
8273
8796
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
8274
8797
  HEAP_DATA_VIEW.setUint32(result, v, true);
@@ -8313,6 +8836,7 @@ function createNapiModule(options) {
8313
8836
  if (handle.isBigInt()) {
8314
8837
  throw new TypeError("Cannot convert a BigInt value to a number");
8315
8838
  }
8839
+ result >>>= 0;
8316
8840
  v = emnapiCtx.addToCurrentScope(Number(handle.value)).id;
8317
8841
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
8318
8842
  HEAP_DATA_VIEW.setUint32(result, v, true);
@@ -8357,6 +8881,7 @@ function createNapiModule(options) {
8357
8881
  if (handle.value == null) {
8358
8882
  throw new TypeError("Cannot convert undefined or null to object");
8359
8883
  }
8884
+ result >>>= 0;
8360
8885
  v = envObject.ensureHandleId(Object(handle.value));
8361
8886
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
8362
8887
  HEAP_DATA_VIEW.setUint32(result, v, true);
@@ -8401,6 +8926,7 @@ function createNapiModule(options) {
8401
8926
  if (handle.isSymbol()) {
8402
8927
  throw new TypeError("Cannot convert a Symbol value to a string");
8403
8928
  }
8929
+ result >>>= 0;
8404
8930
  v = emnapiCtx.addToCurrentScope(String(handle.value)).id;
8405
8931
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
8406
8932
  HEAP_DATA_VIEW.setUint32(result, v, true);
@@ -8446,6 +8972,7 @@ function createNapiModule(options) {
8446
8972
  1
8447
8973
  /* napi_status.napi_invalid_arg */
8448
8974
  );
8975
+ result >>>= 0;
8449
8976
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
8450
8977
  HEAP_DATA_VIEW.setInt8(result, 0, true);
8451
8978
  var ctor = emnapiCtx.handleStore.get(constructor);
@@ -8484,6 +9011,7 @@ function createNapiModule(options) {
8484
9011
  /* napi_status.napi_invalid_arg */
8485
9012
  );
8486
9013
  var h = emnapiCtx.handleStore.get(value);
9014
+ result >>>= 0;
8487
9015
  var r = h.isArray() ? 1 : 0;
8488
9016
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
8489
9017
  HEAP_DATA_VIEW.setInt8(result, r, true);
@@ -8505,6 +9033,7 @@ function createNapiModule(options) {
8505
9033
  /* napi_status.napi_invalid_arg */
8506
9034
  );
8507
9035
  var h = emnapiCtx.handleStore.get(value);
9036
+ result >>>= 0;
8508
9037
  var r = h.isArrayBuffer() ? 1 : 0;
8509
9038
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
8510
9039
  HEAP_DATA_VIEW.setInt8(result, r, true);
@@ -8526,6 +9055,7 @@ function createNapiModule(options) {
8526
9055
  /* napi_status.napi_invalid_arg */
8527
9056
  );
8528
9057
  var h = emnapiCtx.handleStore.get(value);
9058
+ result >>>= 0;
8529
9059
  var r = typeof SharedArrayBuffer === "function" && h.value instanceof SharedArrayBuffer || Object.prototype.toString.call(h.value) === "[object SharedArrayBuffer]" ? 1 : 0;
8530
9060
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
8531
9061
  HEAP_DATA_VIEW.setInt8(result, r, true);
@@ -8547,6 +9077,7 @@ function createNapiModule(options) {
8547
9077
  /* napi_status.napi_invalid_arg */
8548
9078
  );
8549
9079
  var h = emnapiCtx.handleStore.get(value);
9080
+ result >>>= 0;
8550
9081
  var r = h.isDate() ? 1 : 0;
8551
9082
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
8552
9083
  HEAP_DATA_VIEW.setInt8(result, r, true);
@@ -8568,6 +9099,7 @@ function createNapiModule(options) {
8568
9099
  /* napi_status.napi_invalid_arg */
8569
9100
  );
8570
9101
  var val = emnapiCtx.handleStore.get(value).value;
9102
+ result >>>= 0;
8571
9103
  var r = val instanceof Error ? 1 : 0;
8572
9104
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
8573
9105
  HEAP_DATA_VIEW.setInt8(result, r, true);
@@ -8589,6 +9121,7 @@ function createNapiModule(options) {
8589
9121
  /* napi_status.napi_invalid_arg */
8590
9122
  );
8591
9123
  var h = emnapiCtx.handleStore.get(value);
9124
+ result >>>= 0;
8592
9125
  var r = h.isTypedArray() ? 1 : 0;
8593
9126
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
8594
9127
  HEAP_DATA_VIEW.setInt8(result, r, true);
@@ -8610,6 +9143,7 @@ function createNapiModule(options) {
8610
9143
  /* napi_status.napi_invalid_arg */
8611
9144
  );
8612
9145
  var h = emnapiCtx.handleStore.get(value);
9146
+ result >>>= 0;
8613
9147
  var r = h.isBuffer(emnapiCtx.feature.Buffer) ? 1 : 0;
8614
9148
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
8615
9149
  HEAP_DATA_VIEW.setInt8(result, r, true);
@@ -8631,6 +9165,7 @@ function createNapiModule(options) {
8631
9165
  /* napi_status.napi_invalid_arg */
8632
9166
  );
8633
9167
  var h = emnapiCtx.handleStore.get(value);
9168
+ result >>>= 0;
8634
9169
  var r = h.isDataView() ? 1 : 0;
8635
9170
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
8636
9171
  HEAP_DATA_VIEW.setInt8(result, r, true);
@@ -8671,6 +9206,7 @@ function createNapiModule(options) {
8671
9206
  );
8672
9207
  var lv = emnapiCtx.handleStore.get(lhs).value;
8673
9208
  var rv = emnapiCtx.handleStore.get(rhs).value;
9209
+ result >>>= 0;
8674
9210
  r = lv === rv ? 1 : 0;
8675
9211
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
8676
9212
  HEAP_DATA_VIEW.setInt8(result, r, true);
@@ -8746,6 +9282,7 @@ function createNapiModule(options) {
8746
9282
  /* napi_status.napi_invalid_arg */
8747
9283
  );
8748
9284
  var h = emnapiCtx.handleStore.get(arraybuffer);
9285
+ result >>>= 0;
8749
9286
  var HEAP_DATA_VIEW = new DataView(wasmMemory.buffer);
8750
9287
  if (h.isArrayBuffer() && h.value.byteLength === 0) {
8751
9288
  try {
@@ -8987,7 +9524,7 @@ function instantiateNapiModuleSync(wasmInput, options) {
8987
9524
  return loadNapiModuleImpl(loadSyncCallback, void 0, wasmInput, options);
8988
9525
  }
8989
9526
 
8990
- // ../../node_modules/.pnpm/@emnapi+runtime@1.8.1/node_modules/@emnapi/runtime/dist/emnapi.esm-bundler.js
9527
+ // ../../node_modules/.pnpm/@emnapi+runtime@1.9.2/node_modules/@emnapi/runtime/dist/emnapi.esm-bundler.js
8991
9528
  var externalValue = /* @__PURE__ */ new WeakMap();
8992
9529
  function isExternal(object) {
8993
9530
  return externalValue.has(object);
@@ -9132,7 +9669,7 @@ var _Buffer = typeof Buffer === "function" ? Buffer : /* @__PURE__ */ (function(
9132
9669
  }
9133
9670
  return void 0;
9134
9671
  })();
9135
- var version = "1.8.1";
9672
+ var version = "1.9.2";
9136
9673
  var NODE_API_SUPPORTED_VERSION_MAX = 10;
9137
9674
  var NAPI_VERSION_EXPERIMENTAL = 2147483647;
9138
9675
  var NODE_API_DEFAULT_MODULE_API_VERSION = 8;
@@ -9703,7 +10240,7 @@ var NodeEnv = /* @__PURE__ */ (function(_super) {
9703
10240
  console.warn("".concat(prefix).concat(type || "Warning", ": ").concat(warning));
9704
10241
  }
9705
10242
  };
9706
- warn("Uncaught N-API callback exception detected, please run node with option --force-node-api-uncaught-exceptions-policy=true to handle those exceptions properly.", "DeprecationWarning", "DEP0168");
10243
+ warn("Uncaught Node-API callback exception detected, please run node with option --force-node-api-uncaught-exceptions-policy=true to handle those exceptions properly.", "DeprecationWarning", "DEP0168");
9707
10244
  return;
9708
10245
  }
9709
10246
  envObject.triggerFatalException(err);