@@ -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 ;
@@ -349,6 +358,7 @@ static void ToUSVString(const FunctionCallbackInfo<Value>& args) {
349358void RegisterExternalReferences (ExternalReferenceRegistry* registry) {
350359 registry->Register (GetPromiseDetails);
351360 registry->Register (GetProxyDetails);
361+ registry->Register (IsArrayBufferDetached);
352362 registry->Register (PreviewEntries);
353363 registry->Register (GetOwnNonIndexProperties);
354364 registry->Register (GetConstructorName);
@@ -422,6 +432,8 @@ void Initialize(Local<Object> target,
422432 SetMethodNoSideEffect (
423433 context, target, " getPromiseDetails" , GetPromiseDetails);
424434 SetMethodNoSideEffect (context, target, " getProxyDetails" , GetProxyDetails);
435+ SetMethodNoSideEffect (
436+ context, target, " isArrayBufferDetached" , IsArrayBufferDetached);
425437 SetMethodNoSideEffect (context, target, " previewEntries" , PreviewEntries);
426438 SetMethodNoSideEffect (
427439 context, target, " getOwnNonIndexProperties" , GetOwnNonIndexProperties);
0 commit comments