@@ -65,6 +65,9 @@ Value CreateTypedArray(const CallbackInfo& info) {
6565 NAPI_TYPEDARRAY_NEW (Float64Array, info.Env (), length, napi_float64_array) :
6666 NAPI_TYPEDARRAY_NEW_BUFFER (Float64Array, info.Env (), length, buffer, bufferOffset,
6767 napi_float64_array);
68+ // currently experimental guard with version of NAPI_VERSION that it is
69+ // released in once it is no longer experimental
70+ #if (NAPI_VERSION > 2147483646)
6871 } else if (arrayType == " bigint64" ) {
6972 return buffer.IsUndefined () ?
7073 NAPI_TYPEDARRAY_NEW (BigInt64Array, info.Env (), length, napi_bigint64_array) :
@@ -75,6 +78,7 @@ Value CreateTypedArray(const CallbackInfo& info) {
7578 NAPI_TYPEDARRAY_NEW (BigUint64Array, info.Env (), length, napi_biguint64_array) :
7679 NAPI_TYPEDARRAY_NEW_BUFFER (BigUint64Array, info.Env (), length, buffer, bufferOffset,
7780 napi_biguint64_array);
81+ #endif
7882 } else {
7983 Error::New (info.Env (), " Invalid typed-array type." ).ThrowAsJavaScriptException ();
8084 return Value ();
@@ -97,8 +101,12 @@ Value GetTypedArrayType(const CallbackInfo& info) {
97101 case napi_uint32_array: return String::New (info.Env (), " uint32" );
98102 case napi_float32_array: return String::New (info.Env (), " float32" );
99103 case napi_float64_array: return String::New (info.Env (), " float64" );
104+ // currently experimental guard with version of NAPI_VERSION that it is
105+ // released in once it is no longer experimental
106+ #if (NAPI_VERSION > 2147483646)
100107 case napi_bigint64_array: return String::New (info.Env (), " bigint64" );
101108 case napi_biguint64_array: return String::New (info.Env (), " biguint64" );
109+ #endif
102110 default : return String::New (info.Env (), " invalid" );
103111 }
104112}
@@ -135,10 +143,14 @@ Value GetTypedArrayElement(const CallbackInfo& info) {
135143 return Number::New (info.Env (), array.As <Float32Array>()[index]);
136144 case napi_float64_array:
137145 return Number::New (info.Env (), array.As <Float64Array>()[index]);
146+ // currently experimental guard with version of NAPI_VERSION that it is
147+ // released in once it is no longer experimental
148+ #if (NAPI_VERSION > 2147483646)
138149 case napi_bigint64_array:
139150 return BigInt::New (info.Env (), array.As <BigInt64Array>()[index]);
140151 case napi_biguint64_array:
141152 return BigInt::New (info.Env (), array.As <BigUint64Array>()[index]);
153+ #endif
142154 default :
143155 Error::New (info.Env (), " Invalid typed-array type." ).ThrowAsJavaScriptException ();
144156 return Value ();
@@ -177,6 +189,9 @@ void SetTypedArrayElement(const CallbackInfo& info) {
177189 case napi_float64_array:
178190 array.As <Float64Array>()[index] = value.DoubleValue ();
179191 break ;
192+ // currently experimental guard with version of NAPI_VERSION that it is
193+ // released in once it is no longer experimental
194+ #if (NAPI_VERSION > 2147483646)
180195 case napi_bigint64_array: {
181196 bool lossless;
182197 array.As <BigInt64Array>()[index] = value.As <BigInt>().Int64Value (&lossless);
@@ -187,6 +202,7 @@ void SetTypedArrayElement(const CallbackInfo& info) {
187202 array.As <BigUint64Array>()[index] = value.As <BigInt>().Uint64Value (&lossless);
188203 break ;
189204 }
205+ #endif
190206 default :
191207 Error::New (info.Env (), " Invalid typed-array type." ).ThrowAsJavaScriptException ();
192208 }
0 commit comments