@@ -134,9 +134,22 @@ class Spellchecker : public Nan::ObjectWrap {
134134 uint32_t start = iter->start , end = iter->end ;
135135
136136 Local<Object> misspelled_range = Nan::New<Object>();
137+
138+ #ifdef V8_USE_MAYBE
139+ {
140+ Isolate* isolate = misspelled_range->GetIsolate ();
141+ Local<Context> context = isolate->GetCurrentContext ();
142+ misspelled_range->Set (context, Nan::New (" start" ).ToLocalChecked (), Nan::New<Integer>(start)).Check ();
143+ misspelled_range->Set (context, Nan::New (" end" ).ToLocalChecked (), Nan::New<Integer>(end)).Check ();
144+ }
145+ Isolate* isolate = result->GetIsolate ();
146+ Local<Context> context = isolate->GetCurrentContext ();
147+ result->Set (context, index, misspelled_range).Check ();
148+ #else
137149 misspelled_range->Set (Nan::New (" start" ).ToLocalChecked (), Nan::New<Integer>(start));
138150 misspelled_range->Set (Nan::New (" end" ).ToLocalChecked (), Nan::New<Integer>(end));
139151 result->Set (index, misspelled_range);
152+ #endif
140153 }
141154 }
142155
@@ -220,7 +233,13 @@ class Spellchecker : public Nan::ObjectWrap {
220233 Local<Array> result = Nan::New<Array>(dictionaries.size ());
221234 for (size_t i = 0 ; i < dictionaries.size (); ++i) {
222235 const std::string& dict = dictionaries[i];
236+ #ifdef V8_USE_MAYBE
237+ Isolate* isolate = result->GetIsolate ();
238+ Local<Context> context = isolate->GetCurrentContext ();
239+ result->Set (context, i, Nan::New (dict.data (), dict.size ()).ToLocalChecked ()).Check ();
240+ #else
223241 result->Set (i, Nan::New (dict.data (), dict.size ()).ToLocalChecked ());
242+ #endif
224243 }
225244
226245 info.GetReturnValue ().Set (result);
@@ -246,7 +265,13 @@ class Spellchecker : public Nan::ObjectWrap {
246265 const std::string& word = corrections[i];
247266
248267 Nan::MaybeLocal<String> val = Nan::New<String>(word.data (), word.size ());
268+ #ifdef V8_USE_MAYBE
269+ Isolate* isolate = result->GetIsolate ();
270+ Local<Context> context = isolate->GetCurrentContext ();
271+ result->Set (context, i, val.ToLocalChecked ()).Check ();
272+ #else
249273 result->Set (i, val.ToLocalChecked ());
274+ #endif
250275 }
251276
252277 info.GetReturnValue ().Set (result);
@@ -286,7 +311,11 @@ class Spellchecker : public Nan::ObjectWrap {
286311
287312 Isolate* isolate = exports->GetIsolate ();
288313 Local<Context> context = isolate->GetCurrentContext ();
314+ #ifdef V8_USE_MAYBE
315+ exports->Set (context, Nan::New (" Spellchecker" ).ToLocalChecked (), tpl->GetFunction (context).ToLocalChecked ()).Check ();
316+ #else
289317 exports->Set (Nan::New (" Spellchecker" ).ToLocalChecked (), tpl->GetFunction (context).ToLocalChecked ());
318+ #endif
290319 }
291320};
292321
0 commit comments