emnapi 1.9.1 → 1.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -557,6 +557,7 @@ function _napi_create_async_work(env, resource, resource_name, execute, complete
557
557
  var resourceName = String(emnapiCtx.handleStore.get(resource_name).value);
558
558
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
559
559
  var id = emnapiAWST.create(env, resourceObject, resourceName, execute, complete, data);
560
+ {{{ from64('result') }}};
560
561
  {{{ makeSetValue('result', 0, 'id', '*') }}};
561
562
  return envObject.clearLastError();
562
563
  }
@@ -728,7 +729,7 @@ var emnapiString = {
728
729
  ptr >>>= 0;
729
730
  var HEAPU8 = new Uint8Array(wasmMemory.buffer);
730
731
  var end = ptr;
731
- if (length === -1) {
732
+ if (length === -1 || length === 4294967295) {
732
733
  for (; HEAPU8[end];)
733
734
  ++end;
734
735
  }
@@ -821,12 +822,12 @@ var emnapiString = {
821
822
  return '';
822
823
  ptr >>>= 0;
823
824
  var end = ptr;
824
- if (length === -1) {
825
- var idx = end >> 1;
825
+ if (length === -1 || length === 4294967295) {
826
+ var idx = end >>> 1;
826
827
  var HEAPU16 = new Uint16Array(wasmMemory.buffer);
827
828
  while (HEAPU16[idx])
828
829
  ++idx;
829
- end = idx << 1;
830
+ end = (idx << 1) >>> 0;
830
831
  }
831
832
  else {
832
833
  end = ptr + (length >>> 0) * 2;
@@ -866,7 +867,7 @@ var emnapiString = {
866
867
  // @ts-expect-error
867
868
  var envObject = emnapiCtx.envStore.get(env);
868
869
  envObject.checkGCAccess();
869
- var autoLength = length === -1;
870
+ var autoLength = length === -1 || length === 4294967295;
870
871
  var sizelength = length >>> 0;
871
872
  if (length !== 0) {
872
873
  if (!str)
@@ -891,7 +892,7 @@ var emnapiString = {
891
892
  // @ts-expect-error
892
893
  var envObject = emnapiCtx.envStore.get(env);
893
894
  envObject.checkGCAccess();
894
- var autoLength = length === -1;
895
+ var autoLength = length === -1 || length === 4294967295;
895
896
  var sizelength = length >>> 0;
896
897
  if (length !== 0) {
897
898
  if (!str)
@@ -1041,6 +1042,7 @@ var emnapiExternalMemory = {
1041
1042
  var pointer = _malloc({{{ to64('arrayBuffer.byteLength') }}});
1042
1043
  if (!pointer)
1043
1044
  throw new Error('Out of memory');
1045
+ {{{ from64('pointer') }}};
1044
1046
  new Uint8Array(wasmMemory.buffer).set(new Uint8Array(arrayBuffer), pointer);
1045
1047
  info.address = pointer;
1046
1048
  info.ownership = emnapiExternalMemory.registry ? 0 /* ReferenceOwnership.kRuntime */ : 1 /* ReferenceOwnership.kUserland */;
@@ -2349,7 +2351,7 @@ function _napi_define_class(env, utf8name, length, constructor, callback_data, p
2349
2351
  if (!properties)
2350
2352
  return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
2351
2353
  }
2352
- if ((length < -1) || (length > 2147483647) || (!utf8name)) {
2354
+ if (!((length >= -1 && length <= 2147483647) || length === 4294967295) || (!utf8name)) {
2353
2355
  return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
2354
2356
  }
2355
2357
  var fresult = emnapiCreateFunction(envObject, utf8name, length, constructor, callback_data);
@@ -2693,7 +2695,7 @@ function emnapiSyncMemory(js_to_wasm, arrayBufferOrView, offset, len) {
2693
2695
  var pointer = emnapiExternalMemory.getArrayBufferPointer(arrayBufferOrView, false).address;
2694
2696
  if (!pointer)
2695
2697
  throw new Error('Unknown ArrayBuffer address');
2696
- if (typeof len !== 'number' || len === -1) {
2698
+ if (typeof len !== 'number' || len === -1 || len === 4294967295) {
2697
2699
  len = arrayBufferOrView.byteLength - offset;
2698
2700
  }
2699
2701
  len = len >>> 0;
@@ -2715,7 +2717,7 @@ function emnapiSyncMemory(js_to_wasm, arrayBufferOrView, offset, len) {
2715
2717
  var pointer = viewPointerInfo.address;
2716
2718
  if (!pointer)
2717
2719
  throw new Error('Unknown ArrayBuffer address');
2718
- if (typeof len !== 'number' || len === -1) {
2720
+ if (typeof len !== 'number' || len === -1 || len === 4294967295) {
2719
2721
  len = latestView.byteLength - offset;
2720
2722
  }
2721
2723
  len = len >>> 0;
@@ -3346,6 +3348,7 @@ function _napi_create_buffer(env, size, data, result) {
3346
3348
  pointer = _malloc({{{ to64('size') }}});
3347
3349
  if (!pointer)
3348
3350
  throw new Error('Out of memory');
3351
+ {{{ from64('pointer') }}};
3349
3352
  new Uint8Array(wasmMemory.buffer).subarray(pointer, pointer + size).fill(0);
3350
3353
  var buffer_1 = Buffer.from(wasmMemory.buffer, pointer, size);
3351
3354
  var viewDescriptor = {
@@ -3549,7 +3552,7 @@ function _node_api_symbol_for(env, utf8description, length, result) {
3549
3552
  {{{ from64('length') }}};
3550
3553
  {{{ from64('utf8description') }}};
3551
3554
  {{{ from64('result') }}};
3552
- var autoLength = length === -1;
3555
+ var autoLength = length === -1 || length === 4294967295;
3553
3556
  var sizelength = length >>> 0;
3554
3557
  if (length !== 0) {
3555
3558
  if (!utf8description)
@@ -5658,6 +5661,7 @@ var emnapiTSFN = {
5658
5661
  var queue = _malloc({{{ to64('size') }}});
5659
5662
  if (!queue)
5660
5663
  return false;
5664
+ {{{ from64('queue') }}};
5661
5665
  new Uint8Array(wasmMemory.buffer, queue, size).fill(0);
5662
5666
  emnapiTSFN.storeSizeTypeValue(func + emnapiTSFN.offset.queue, queue, false);
5663
5667
  return true;
@@ -5677,6 +5681,7 @@ var emnapiTSFN = {
5677
5681
  var node = _malloc({{{ to64('size') }}});
5678
5682
  if (!node)
5679
5683
  throw new Error('OOM');
5684
+ {{{ from64('node') }}};
5680
5685
  emnapiTSFN.storeSizeTypeValue(node, data, false);
5681
5686
  emnapiTSFN.storeSizeTypeValue(node + {{{ POINTER_SIZE }}}, 0, false);
5682
5687
  if (head === 0 && tail === 0) {
@@ -5860,10 +5865,10 @@ var emnapiTSFN = {
5860
5865
  var arr, index;
5861
5866
  #if MEMORY64
5862
5867
  arr = new BigUint64Array(wasmMemory.buffer);
5863
- index = (func + offset) >> 3;
5868
+ index = (func + offset) >>> 3;
5864
5869
  #else
5865
5870
  arr = new Uint32Array(wasmMemory.buffer);
5866
- index = (func + offset) >> 2;
5871
+ index = (func + offset) >>> 2;
5867
5872
  #endif
5868
5873
  Atomics.add(arr, index, {{{ to64('1') }}});
5869
5874
  },
@@ -5872,10 +5877,10 @@ var emnapiTSFN = {
5872
5877
  var arr, index;
5873
5878
  #if MEMORY64
5874
5879
  arr = new BigUint64Array(wasmMemory.buffer);
5875
- index = (func + offset) >> 3;
5880
+ index = (func + offset) >>> 3;
5876
5881
  #else
5877
5882
  arr = new Uint32Array(wasmMemory.buffer);
5878
- index = (func + offset) >> 2;
5883
+ index = (func + offset) >>> 2;
5879
5884
  #endif
5880
5885
  Atomics.sub(arr, index, {{{ to64('1') }}});
5881
5886
  },
@@ -5887,10 +5892,10 @@ var emnapiTSFN = {
5887
5892
  var arr, index;
5888
5893
  #if MEMORY64
5889
5894
  arr = new BigUint64Array(wasmMemory.buffer);
5890
- index = (func + offset) >> 3;
5895
+ index = (func + offset) >>> 3;
5891
5896
  #else
5892
5897
  arr = new Uint32Array(wasmMemory.buffer);
5893
- index = (func + offset) >> 2;
5898
+ index = (func + offset) >>> 2;
5894
5899
  #endif
5895
5900
  Atomics.add(arr, index, {{{ to64('1') }}});
5896
5901
  },
@@ -5899,18 +5904,18 @@ var emnapiTSFN = {
5899
5904
  var arr, index;
5900
5905
  #if MEMORY64
5901
5906
  arr = new BigUint64Array(wasmMemory.buffer);
5902
- index = (func + offset) >> 3;
5907
+ index = (func + offset) >>> 3;
5903
5908
  #else
5904
5909
  arr = new Uint32Array(wasmMemory.buffer);
5905
- index = (func + offset) >> 2;
5910
+ index = (func + offset) >>> 2;
5906
5911
  #endif
5907
5912
  Atomics.sub(arr, index, {{{ to64('1') }}});
5908
5913
  },
5909
5914
  getState: function (func) {
5910
- return Atomics.load(new Int32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.state) >> 2);
5915
+ return Atomics.load(new Int32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.state) >>> 2);
5911
5916
  },
5912
5917
  setState: function (func, value) {
5913
- Atomics.store(new Int32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.state) >> 2, value);
5918
+ Atomics.store(new Int32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.state) >>> 2, value);
5914
5919
  },
5915
5920
  getHandlesClosing: function (func) {
5916
5921
  return Atomics.load(new Int8Array(wasmMemory.buffer), (func + emnapiTSFN.offset.handles_closing));
@@ -5919,7 +5924,7 @@ var emnapiTSFN = {
5919
5924
  Atomics.store(new Int8Array(wasmMemory.buffer), (func + emnapiTSFN.offset.handles_closing), value);
5920
5925
  },
5921
5926
  getDispatchState: function (func) {
5922
- return Atomics.load(new Uint32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.dispatch_state) >> 2);
5927
+ return Atomics.load(new Uint32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.dispatch_state) >>> 2);
5923
5928
  },
5924
5929
  getContext: function (func) {
5925
5930
  return emnapiTSFN.loadSizeTypeValue(func + emnapiTSFN.offset.context, false);
@@ -5951,20 +5956,20 @@ var emnapiTSFN = {
5951
5956
  if (unsigned) {
5952
5957
  #if MEMORY64
5953
5958
  arr = new BigUint64Array(wasmMemory.buffer);
5954
- ret = Number(Atomics.load(arr, offset >> 3));
5959
+ ret = Number(Atomics.load(arr, offset >>> 3));
5955
5960
  #else
5956
5961
  arr = new Uint32Array(wasmMemory.buffer);
5957
- ret = Atomics.load(arr, offset >> 2);
5962
+ ret = Atomics.load(arr, offset >>> 2);
5958
5963
  #endif
5959
5964
  return ret;
5960
5965
  }
5961
5966
  else {
5962
5967
  #if MEMORY64
5963
5968
  arr = new BigInt64Array(wasmMemory.buffer);
5964
- ret = Number(Atomics.load(arr, offset >> 3));
5969
+ ret = Number(Atomics.load(arr, offset >>> 3));
5965
5970
  #else
5966
5971
  arr = new Int32Array(wasmMemory.buffer);
5967
- ret = Atomics.load(arr, offset >> 2);
5972
+ ret = Atomics.load(arr, offset >>> 2);
5968
5973
  #endif
5969
5974
  return ret;
5970
5975
  }
@@ -5974,20 +5979,20 @@ var emnapiTSFN = {
5974
5979
  if (unsigned) {
5975
5980
  #if MEMORY64
5976
5981
  arr = new BigUint64Array(wasmMemory.buffer);
5977
- Atomics.store(arr, offset >> 3, BigInt(value));
5982
+ Atomics.store(arr, offset >>> 3, BigInt(value));
5978
5983
  #else
5979
5984
  arr = new Uint32Array(wasmMemory.buffer);
5980
- Atomics.store(arr, offset >> 2, value);
5985
+ Atomics.store(arr, offset >>> 2, value);
5981
5986
  #endif
5982
5987
  return undefined;
5983
5988
  }
5984
5989
  else {
5985
5990
  #if MEMORY64
5986
5991
  arr = new BigInt64Array(wasmMemory.buffer);
5987
- Atomics.store(arr, offset >> 3, BigInt(value >>> 0));
5992
+ Atomics.store(arr, offset >>> 3, BigInt(value >>> 0));
5988
5993
  #else
5989
5994
  arr = new Int32Array(wasmMemory.buffer);
5990
- Atomics.store(arr, offset >> 2, value >>> 0);
5995
+ Atomics.store(arr, offset >>> 2, value >>> 0);
5991
5996
  #endif
5992
5997
  return undefined;
5993
5998
  }
@@ -6006,7 +6011,7 @@ var emnapiTSFN = {
6006
6011
  {{{ makeSetValue('func', 'emnapiTSFN.offset.is_some', '0', 'i8') }}};
6007
6012
  emnapiCtx.removeCleanupHook(envObject, emnapiTSFN.cleanup, func);
6008
6013
  envObject.unref();
6009
- var asyncRefOffset = (func + emnapiTSFN.offset.async_ref) >> 2;
6014
+ var asyncRefOffset = (func + emnapiTSFN.offset.async_ref) >>> 2;
6010
6015
  var arr = new Uint32Array(wasmMemory.buffer);
6011
6016
  if (Atomics.load(arr, asyncRefOffset) > 0) {
6012
6017
  Atomics.store(arr, asyncRefOffset, 0);
@@ -6207,7 +6212,7 @@ var emnapiTSFN = {
6207
6212
  var has_more = true;
6208
6213
  var iterations_left = 1000;
6209
6214
  var ui32a = new Uint32Array(wasmMemory.buffer);
6210
- var index = (func + emnapiTSFN.offset.dispatch_state) >> 2;
6215
+ var index = (func + emnapiTSFN.offset.dispatch_state) >>> 2;
6211
6216
  while (has_more && --iterations_left !== 0) {
6212
6217
  Atomics.store(ui32a, index, 1);
6213
6218
  has_more = emnapiTSFN.dispatchOne(func);
@@ -6220,7 +6225,7 @@ var emnapiTSFN = {
6220
6225
  }
6221
6226
  },
6222
6227
  send: function (func) {
6223
- var current_state = Atomics.or(new Uint32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.dispatch_state) >> 2, 1 << 1);
6228
+ var current_state = Atomics.or(new Uint32Array(wasmMemory.buffer), (func + emnapiTSFN.offset.dispatch_state) >>> 2, 1 << 1);
6224
6229
  if ((current_state & 1) === 1) {
6225
6230
  return;
6226
6231
  }
@@ -6415,7 +6420,7 @@ function _napi_unref_threadsafe_function(env, func) {
6415
6420
  return 1 /* napi_status.napi_invalid_arg */;
6416
6421
  }
6417
6422
  {{{ from64('func') }}};
6418
- var asyncRefOffset = (func + emnapiTSFN.offset.async_ref) >> 2;
6423
+ var asyncRefOffset = (func + emnapiTSFN.offset.async_ref) >>> 2;
6419
6424
  var arr = new Uint32Array(wasmMemory.buffer);
6420
6425
  var currentValue = Atomics.load(arr, asyncRefOffset);
6421
6426
  if (currentValue > 0) {
@@ -6434,7 +6439,7 @@ function _napi_ref_threadsafe_function(env, func) {
6434
6439
  return 1 /* napi_status.napi_invalid_arg */;
6435
6440
  }
6436
6441
  {{{ from64('func') }}};
6437
- var asyncRefOffset = (func + emnapiTSFN.offset.async_ref) >> 2;
6442
+ var asyncRefOffset = (func + emnapiTSFN.offset.async_ref) >>> 2;
6438
6443
  var arr = new Uint32Array(wasmMemory.buffer);
6439
6444
  var currentValue = Atomics.load(arr, asyncRefOffset);
6440
6445
  if (!currentValue) {
@@ -7,7 +7,7 @@
7
7
 
8
8
  #define EMNAPI_MAJOR_VERSION 1
9
9
  #define EMNAPI_MINOR_VERSION 9
10
- #define EMNAPI_PATCH_VERSION 1
10
+ #define EMNAPI_PATCH_VERSION 2
11
11
 
12
12
  typedef enum {
13
13
  emnapi_runtime,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "emnapi",
3
- "version": "1.9.1",
3
+ "version": "1.9.2",
4
4
  "description": "Node-API implementation for Emscripten",
5
5
  "main": "index.js",
6
6
  "gypfile": false,