@@ -134,6 +134,8 @@ 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
137139 {
138140 Isolate* isolate = misspelled_range->GetIsolate ();
139141 Local<Context> context = isolate->GetCurrentContext ();
@@ -143,6 +145,11 @@ class Spellchecker : public Nan::ObjectWrap {
143145 Isolate* isolate = result->GetIsolate ();
144146 Local<Context> context = isolate->GetCurrentContext ();
145147 result->Set (context, index, misspelled_range).Check ();
148+ #else
149+ misspelled_range->Set (Nan::New (" start" ).ToLocalChecked (), Nan::New<Integer>(start));
150+ misspelled_range->Set (Nan::New (" end" ).ToLocalChecked (), Nan::New<Integer>(end));
151+ result->Set (index, misspelled_range);
152+ #endif
146153 }
147154 }
148155
@@ -226,9 +233,13 @@ class Spellchecker : public Nan::ObjectWrap {
226233 Local<Array> result = Nan::New<Array>(dictionaries.size ());
227234 for (size_t i = 0 ; i < dictionaries.size (); ++i) {
228235 const std::string& dict = dictionaries[i];
236+ #ifdef V8_USE_MAYBE
229237 Isolate* isolate = result->GetIsolate ();
230238 Local<Context> context = isolate->GetCurrentContext ();
231239 result->Set (context, i, Nan::New (dict.data (), dict.size ()).ToLocalChecked ()).Check ();
240+ #else
241+ result->Set (i, Nan::New (dict.data (), dict.size ()).ToLocalChecked ());
242+ #endif
232243 }
233244
234245 info.GetReturnValue ().Set (result);
@@ -254,9 +265,13 @@ class Spellchecker : public Nan::ObjectWrap {
254265 const std::string& word = corrections[i];
255266
256267 Nan::MaybeLocal<String> val = Nan::New<String>(word.data (), word.size ());
268+ #ifdef V8_USE_MAYBE
257269 Isolate* isolate = result->GetIsolate ();
258270 Local<Context> context = isolate->GetCurrentContext ();
259271 result->Set (context, i, val.ToLocalChecked ()).Check ();
272+ #else
273+ result->Set (i, val.ToLocalChecked ());
274+ #endif
260275 }
261276
262277 info.GetReturnValue ().Set (result);
@@ -296,7 +311,11 @@ class Spellchecker : public Nan::ObjectWrap {
296311
297312 Isolate* isolate = exports->GetIsolate ();
298313 Local<Context> context = isolate->GetCurrentContext ();
314+ #ifdef V8_USE_MAYBE
299315 exports->Set (context, Nan::New (" Spellchecker" ).ToLocalChecked (), tpl->GetFunction (context).ToLocalChecked ()).Check ();
316+ #else
317+ exports->Set (Nan::New (" Spellchecker" ).ToLocalChecked (), tpl->GetFunction (context).ToLocalChecked ());
318+ #endif
300319 }
301320};
302321
0 commit comments