emnapi 1.8.0 → 1.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1262,6 +1262,9 @@ function _napi_get_typedarray_info(env, typedarray, type, length, data, arraybuf
1262
1262
  else if (v instanceof Uint32Array) {
1263
1263
  t = 6 /* napi_typedarray_type.napi_uint32_array */;
1264
1264
  }
1265
+ else if (typeof Float16Array === 'function' && v instanceof Float16Array) {
1266
+ t = 11 /* napi_typedarray_type.napi_float16_array */;
1267
+ }
1265
1268
  else if (v instanceof Float32Array) {
1266
1269
  t = 7 /* napi_typedarray_type.napi_float32_array */;
1267
1270
  }
@@ -2612,6 +2615,12 @@ function _emnapi_create_memory_view(env, typedarray_type, external_data, byte_le
2612
2615
  case -1 /* emnapi_memory_view_type.emnapi_data_view */:
2613
2616
  viewDescriptor = { Ctor: DataView, address: external_data, length: byte_length, ownership: 1 /* ReferenceOwnership.kUserland */, runtimeAllocated: 0 };
2614
2617
  break;
2618
+ case 11 /* emnapi_memory_view_type.emnapi_float16_array */:
2619
+ if (typeof Float16Array !== 'function') {
2620
+ return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
2621
+ }
2622
+ viewDescriptor = { Ctor: Float16Array, address: external_data, length: byte_length >> 1, ownership: 1 /* ReferenceOwnership.kUserland */, runtimeAllocated: 0 };
2623
+ break;
2615
2624
  case -2 /* emnapi_memory_view_type.emnapi_buffer */: {
2616
2625
  if (!emnapiCtx.feature.Buffer) {
2617
2626
  throw emnapiCtx.createNotSupportBufferError('emnapi_create_memory_view', '');
@@ -3274,6 +3283,11 @@ function _napi_create_typedarray(env, type, length, arraybuffer, byte_offset, re
3274
3283
  return createTypedArray(envObject, BigInt64Array, 8, buffer, byte_offset, length);
3275
3284
  case 10 /* napi_typedarray_type.napi_biguint64_array */:
3276
3285
  return createTypedArray(envObject, BigUint64Array, 8, buffer, byte_offset, length);
3286
+ case 11 /* napi_typedarray_type.napi_float16_array */:
3287
+ if (typeof Float16Array !== 'function') {
3288
+ return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
3289
+ }
3290
+ return createTypedArray(envObject, Float16Array, 2, buffer, byte_offset, length);
3277
3291
  default:
3278
3292
  return envObject.setLastError(1 /* napi_status.napi_invalid_arg */);
3279
3293
  }
@@ -7,7 +7,7 @@
7
7
 
8
8
  #define EMNAPI_MAJOR_VERSION 1
9
9
  #define EMNAPI_MINOR_VERSION 8
10
- #define EMNAPI_PATCH_VERSION 0
10
+ #define EMNAPI_PATCH_VERSION 1
11
11
 
12
12
  typedef enum {
13
13
  emnapi_runtime,
@@ -26,6 +26,7 @@ typedef enum {
26
26
  emnapi_float64_array,
27
27
  emnapi_bigint64_array,
28
28
  emnapi_biguint64_array,
29
+ emnapi_float16_array,
29
30
  emnapi_data_view = -1,
30
31
  emnapi_buffer = -2,
31
32
  } emnapi_memory_view_type;
@@ -133,6 +133,8 @@ typedef enum {
133
133
  napi_float64_array,
134
134
  napi_bigint64_array,
135
135
  napi_biguint64_array,
136
+ #define NODE_API_HAS_FLOAT16_ARRAY
137
+ napi_float16_array,
136
138
  } napi_typedarray_type;
137
139
 
138
140
  typedef enum {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "emnapi",
3
- "version": "1.8.0",
3
+ "version": "1.8.1",
4
4
  "description": "Node-API implementation for Emscripten",
5
5
  "main": "index.js",
6
6
  "gypfile": false,