@@ -137,6 +137,15 @@ static void GetProxyDetails(const FunctionCallbackInfo<Value>& args) {
137137 }
138138}
139139
140+ static void IsArrayBufferDetached (const FunctionCallbackInfo<Value>& args) {
141+ if (args[0 ]->IsArrayBuffer ()) {
142+ auto buffer = args[0 ].As <v8::ArrayBuffer>();
143+ args.GetReturnValue ().Set (buffer->WasDetached ());
144+ return ;
145+ }
146+ args.GetReturnValue ().Set (false );
147+ }
148+
140149static void PreviewEntries (const FunctionCallbackInfo<Value>& args) {
141150 if (!args[0 ]->IsObject ())
142151 return ;
@@ -342,6 +351,7 @@ static void ToUSVString(const FunctionCallbackInfo<Value>& args) {
342351void RegisterExternalReferences (ExternalReferenceRegistry* registry) {
343352 registry->Register (GetPromiseDetails);
344353 registry->Register (GetProxyDetails);
354+ registry->Register (IsArrayBufferDetached);
345355 registry->Register (PreviewEntries);
346356 registry->Register (GetOwnNonIndexProperties);
347357 registry->Register (GetConstructorName);
@@ -403,6 +413,8 @@ void Initialize(Local<Object> target,
403413 SetMethodNoSideEffect (
404414 context, target, " getPromiseDetails" , GetPromiseDetails);
405415 SetMethodNoSideEffect (context, target, " getProxyDetails" , GetProxyDetails);
416+ SetMethodNoSideEffect (
417+ context, target, " isArrayBufferDetached" , IsArrayBufferDetached);
406418 SetMethodNoSideEffect (context, target, " previewEntries" , PreviewEntries);
407419 SetMethodNoSideEffect (
408420 context, target, " getOwnNonIndexProperties" , GetOwnNonIndexProperties);
0 commit comments