@@ -303,15 +303,14 @@ MaybeLocal<Object> New(Environment* env, size_t length) {
303303        data,
304304        length,
305305        ArrayBufferCreationMode::kInternalized );
306-   Local<Uint8Array> ui = Uint8Array::New (ab, 0 , length);
307-   Maybe<bool > mb =
308-       ui->SetPrototype (env->context (), env->buffer_prototype_object ());
309-   if  (mb.FromMaybe (false ))
310-     return  scope.Escape (ui);
306+   MaybeLocal<Uint8Array> ui = Buffer::New (env, ab, 0 , length);
311307
312-   //  Object failed to be created. Clean up resources.
313-   free (data);
314-   return  Local<Object>();
308+   if  (ui.IsEmpty ()) {
309+     //  Object failed to be created. Clean up resources.
310+     free (data);
311+   }
312+ 
313+   return  scope.Escape (ui.FromMaybe (Local<Uint8Array>()));
315314}
316315
317316
@@ -349,15 +348,14 @@ MaybeLocal<Object> Copy(Environment* env, const char* data, size_t length) {
349348        new_data,
350349        length,
351350        ArrayBufferCreationMode::kInternalized );
352-   Local<Uint8Array> ui = Uint8Array::New (ab, 0 , length);
353-   Maybe<bool > mb =
354-       ui->SetPrototype (env->context (), env->buffer_prototype_object ());
355-   if  (mb.FromMaybe (false ))
356-     return  scope.Escape (ui);
351+   MaybeLocal<Uint8Array> ui = Buffer::New (env, ab, 0 , length);
357352
358-   //  Object failed to be created. Clean up resources.
359-   free (new_data);
360-   return  Local<Object>();
353+   if  (ui.IsEmpty ()) {
354+     //  Object failed to be created. Clean up resources.
355+     free (new_data);
356+   }
357+ 
358+   return  scope.Escape (ui.FromMaybe (Local<Uint8Array>()));
361359}
362360
363361
@@ -392,15 +390,14 @@ MaybeLocal<Object> New(Environment* env,
392390  //  correct.
393391  if  (data == nullptr )
394392    ab->Neuter ();
395-   Local<Uint8Array> ui = Uint8Array::New (ab, 0 , length);
396-   Maybe<bool > mb =
397-       ui->SetPrototype (env->context (), env->buffer_prototype_object ());
393+   MaybeLocal<Uint8Array> ui = Buffer::New (env, ab, 0 , length);
398394
399-   if  (!mb. FromMaybe ( false )) 
395+   if  (ui. IsEmpty ()) { 
400396    return  Local<Object>();
397+   }
401398
402399  CallbackInfo::New (env->isolate (), ab, callback, data, hint);
403-   return  scope.Escape (ui);
400+   return  scope.Escape (ui. ToLocalChecked () );
404401}
405402
406403
@@ -415,8 +412,6 @@ MaybeLocal<Object> New(Isolate* isolate, char* data, size_t length) {
415412
416413
417414MaybeLocal<Object> New (Environment* env, char * data, size_t  length) {
418-   EscapableHandleScope scope (env->isolate ());
419- 
420415  if  (length > 0 ) {
421416    CHECK_NE (data, nullptr );
422417    CHECK (length <= kMaxLength );
@@ -427,12 +422,7 @@ MaybeLocal<Object> New(Environment* env, char* data, size_t length) {
427422                       data,
428423                       length,
429424                       ArrayBufferCreationMode::kInternalized );
430-   Local<Uint8Array> ui = Uint8Array::New (ab, 0 , length);
431-   Maybe<bool > mb =
432-       ui->SetPrototype (env->context (), env->buffer_prototype_object ());
433-   if  (mb.FromMaybe (false ))
434-     return  scope.Escape (ui);
435-   return  Local<Object>();
425+   return  Buffer::New (env, ab, 0 , length).FromMaybe (Local<Object>());
436426}
437427
438428namespace  {
0 commit comments