@@ -65,6 +65,9 @@ Value CreateTypedArray(const CallbackInfo& info) {
65
65
NAPI_TYPEDARRAY_NEW (Float64Array, info.Env (), length, napi_float64_array) :
66
66
NAPI_TYPEDARRAY_NEW_BUFFER (Float64Array, info.Env (), length, buffer, bufferOffset,
67
67
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)
68
71
} else if (arrayType == " bigint64" ) {
69
72
return buffer.IsUndefined () ?
70
73
NAPI_TYPEDARRAY_NEW (BigInt64Array, info.Env (), length, napi_bigint64_array) :
@@ -75,6 +78,7 @@ Value CreateTypedArray(const CallbackInfo& info) {
75
78
NAPI_TYPEDARRAY_NEW (BigUint64Array, info.Env (), length, napi_biguint64_array) :
76
79
NAPI_TYPEDARRAY_NEW_BUFFER (BigUint64Array, info.Env (), length, buffer, bufferOffset,
77
80
napi_biguint64_array);
81
+ #endif
78
82
} else {
79
83
Error::New (info.Env (), " Invalid typed-array type." ).ThrowAsJavaScriptException ();
80
84
return Value ();
@@ -97,8 +101,12 @@ Value GetTypedArrayType(const CallbackInfo& info) {
97
101
case napi_uint32_array: return String::New (info.Env (), " uint32" );
98
102
case napi_float32_array: return String::New (info.Env (), " float32" );
99
103
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)
100
107
case napi_bigint64_array: return String::New (info.Env (), " bigint64" );
101
108
case napi_biguint64_array: return String::New (info.Env (), " biguint64" );
109
+ #endif
102
110
default : return String::New (info.Env (), " invalid" );
103
111
}
104
112
}
@@ -135,10 +143,14 @@ Value GetTypedArrayElement(const CallbackInfo& info) {
135
143
return Number::New (info.Env (), array.As <Float32Array>()[index]);
136
144
case napi_float64_array:
137
145
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)
138
149
case napi_bigint64_array:
139
150
return BigInt::New (info.Env (), array.As <BigInt64Array>()[index]);
140
151
case napi_biguint64_array:
141
152
return BigInt::New (info.Env (), array.As <BigUint64Array>()[index]);
153
+ #endif
142
154
default :
143
155
Error::New (info.Env (), " Invalid typed-array type." ).ThrowAsJavaScriptException ();
144
156
return Value ();
@@ -177,6 +189,9 @@ void SetTypedArrayElement(const CallbackInfo& info) {
177
189
case napi_float64_array:
178
190
array.As <Float64Array>()[index] = value.DoubleValue ();
179
191
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)
180
195
case napi_bigint64_array: {
181
196
bool lossless;
182
197
array.As <BigInt64Array>()[index] = value.As <BigInt>().Int64Value (&lossless);
@@ -187,6 +202,7 @@ void SetTypedArrayElement(const CallbackInfo& info) {
187
202
array.As <BigUint64Array>()[index] = value.As <BigInt>().Uint64Value (&lossless);
188
203
break ;
189
204
}
205
+ #endif
190
206
default :
191
207
Error::New (info.Env (), " Invalid typed-array type." ).ThrowAsJavaScriptException ();
192
208
}
0 commit comments