@@ -112,16 +112,17 @@ class ExternString: public ResourceType {
112112    ExternString* h_str = new  ExternString<ResourceType, TypeName>(isolate,
113113                                                                   data,
114114                                                                   length);
115-     MaybeLocal<Value> str = NewExternal (isolate, h_str);
116-     isolate->AdjustAmountOfExternalAllocatedMemory (h_str->byte_length ());
115+     Local<Value> str;
117116
118-     if  (str. IsEmpty ( )) {
117+     if  (! NewExternal (isolate, h_str). ToLocal (&str )) {
119118      delete  h_str;
120119      *error = node::ERR_STRING_TOO_LONG (isolate);
121120      return  MaybeLocal<Value>();
122121    }
123122
124-     return  str.ToLocalChecked ();
123+     isolate->AdjustAmountOfExternalAllocatedMemory (h_str->byte_length ());
124+ 
125+     return  str;
125126  }
126127
127128  inline  Isolate* isolate () const  { return  isolate_; }
@@ -168,16 +169,16 @@ MaybeLocal<Value> ExternOneByteString::NewSimpleFromCopy(Isolate* isolate,
168169                                                         const  char * data,
169170                                                         size_t  length,
170171                                                         Local<Value>* error) {
171-   MaybeLocal <String> str = 
172-        String::NewFromOneByte (isolate,
173-                              reinterpret_cast <const  uint8_t *>(data),
174-                              v8::NewStringType::kNormal ,
175-                              length); 
176-   if  (str. IsEmpty ( )) {
172+   Local <String> str; 
173+   if  (! String::NewFromOneByte (isolate,
174+                                reinterpret_cast <const  uint8_t *>(data),
175+                                v8::NewStringType::kNormal ,
176+                                length)
177+            . ToLocal (&str )) {
177178    *error = node::ERR_STRING_TOO_LONG (isolate);
178179    return  MaybeLocal<Value>();
179180  }
180-   return  str. ToLocalChecked () ;
181+   return  str;
181182}
182183
183184
@@ -186,16 +187,13 @@ MaybeLocal<Value> ExternTwoByteString::NewSimpleFromCopy(Isolate* isolate,
186187                                                         const  uint16_t * data,
187188                                                         size_t  length,
188189                                                         Local<Value>* error) {
189-   MaybeLocal<String> str =
190-       String::NewFromTwoByte (isolate,
191-                              data,
192-                              v8::NewStringType::kNormal ,
193-                              length);
194-   if  (str.IsEmpty ()) {
190+   Local<String> str;
191+   if  (!String::NewFromTwoByte (isolate, data, v8::NewStringType::kNormal , length)
192+            .ToLocal (&str)) {
195193    *error = node::ERR_STRING_TOO_LONG (isolate);
196194    return  MaybeLocal<Value>();
197195  }
198-   return  str. ToLocalChecked () ;
196+   return  str;
199197}
200198
201199}  //  anonymous namespace
0 commit comments