From 5a068952a911a218c6c272243e322697589aa234 Mon Sep 17 00:00:00 2001 From: Sergei Dyshel Date: Sun, 15 Mar 2020 10:50:45 +0200 Subject: [PATCH] Replace deprectated V8 API usages with Nan Replaces deprecated Object::Set, Object::Get and Template::Set calls with corresponding Nan calls for better Node version compatibility. --- src/bindings/marker-index-wrapper.cc | 86 ++++++++++---------- src/bindings/patch-wrapper.cc | 64 ++++++++------- src/bindings/point-wrapper.cc | 4 +- src/bindings/range-wrapper.cc | 4 +- src/bindings/text-buffer-snapshot-wrapper.cc | 2 +- src/bindings/text-buffer-wrapper.cc | 78 +++++++++--------- src/bindings/text-reader.cc | 8 +- src/bindings/text-writer.cc | 6 +- 8 files changed, 127 insertions(+), 125 deletions(-) diff --git a/src/bindings/marker-index-wrapper.cc b/src/bindings/marker-index-wrapper.cc index abdfa8a0..98d9dbd7 100644 --- a/src/bindings/marker-index-wrapper.cc +++ b/src/bindings/marker-index-wrapper.cc @@ -30,32 +30,32 @@ void MarkerIndexWrapper::init(Local exports) { const auto &prototype_template = constructor_template->PrototypeTemplate(); - prototype_template->Set(Nan::New("delete").ToLocalChecked(), Nan::New(noop)); - prototype_template->Set(Nan::New("generateRandomNumber").ToLocalChecked(), - Nan::New(generate_random_number)); - prototype_template->Set(Nan::New("insert").ToLocalChecked(), Nan::New(insert)); - prototype_template->Set(Nan::New("setExclusive").ToLocalChecked(), Nan::New(set_exclusive)); - prototype_template->Set(Nan::New("remove").ToLocalChecked(), Nan::New(remove)); - prototype_template->Set(Nan::New("has").ToLocalChecked(), Nan::New(has)); - prototype_template->Set(Nan::New("splice").ToLocalChecked(), Nan::New(splice)); - prototype_template->Set(Nan::New("getStart").ToLocalChecked(), Nan::New(get_start)); - prototype_template->Set(Nan::New("getEnd").ToLocalChecked(), Nan::New(get_end)); - prototype_template->Set(Nan::New("getRange").ToLocalChecked(), Nan::New(get_range)); - prototype_template->Set(Nan::New("compare").ToLocalChecked(), Nan::New(compare)); - prototype_template->Set(Nan::New("findIntersecting").ToLocalChecked(), - Nan::New(find_intersecting)); - prototype_template->Set(Nan::New("findContaining").ToLocalChecked(), - Nan::New(find_containing)); - prototype_template->Set(Nan::New("findContainedIn").ToLocalChecked(), - Nan::New(find_contained_in)); - prototype_template->Set(Nan::New("findStartingIn").ToLocalChecked(), - Nan::New(find_starting_in)); - prototype_template->Set(Nan::New("findStartingAt").ToLocalChecked(), - Nan::New(find_starting_at)); - prototype_template->Set(Nan::New("findEndingIn").ToLocalChecked(), Nan::New(find_ending_in)); - prototype_template->Set(Nan::New("findEndingAt").ToLocalChecked(), Nan::New(find_ending_at)); - prototype_template->Set(Nan::New("findBoundariesAfter").ToLocalChecked(), Nan::New(find_boundaries_after)); - prototype_template->Set(Nan::New("dump").ToLocalChecked(), Nan::New(dump)); + Nan::SetTemplate(prototype_template, Nan::New("delete").ToLocalChecked(), Nan::New(noop), None); + Nan::SetTemplate(prototype_template, Nan::New("generateRandomNumber").ToLocalChecked(), + Nan::New(generate_random_number), None); + Nan::SetTemplate(prototype_template, Nan::New("insert").ToLocalChecked(), Nan::New(insert), None); + Nan::SetTemplate(prototype_template, Nan::New("setExclusive").ToLocalChecked(), Nan::New(set_exclusive), None); + Nan::SetTemplate(prototype_template, Nan::New("remove").ToLocalChecked(), Nan::New(remove), None); + Nan::SetTemplate(prototype_template, Nan::New("has").ToLocalChecked(), Nan::New(has), None); + Nan::SetTemplate(prototype_template, Nan::New("splice").ToLocalChecked(), Nan::New(splice), None); + Nan::SetTemplate(prototype_template, Nan::New("getStart").ToLocalChecked(), Nan::New(get_start), None); + Nan::SetTemplate(prototype_template, Nan::New("getEnd").ToLocalChecked(), Nan::New(get_end), None); + Nan::SetTemplate(prototype_template, Nan::New("getRange").ToLocalChecked(), Nan::New(get_range), None); + Nan::SetTemplate(prototype_template, Nan::New("compare").ToLocalChecked(), Nan::New(compare), None); + Nan::SetTemplate(prototype_template, Nan::New("findIntersecting").ToLocalChecked(), + Nan::New(find_intersecting), None); + Nan::SetTemplate(prototype_template, Nan::New("findContaining").ToLocalChecked(), + Nan::New(find_containing), None); + Nan::SetTemplate(prototype_template, Nan::New("findContainedIn").ToLocalChecked(), + Nan::New(find_contained_in), None); + Nan::SetTemplate(prototype_template, Nan::New("findStartingIn").ToLocalChecked(), + Nan::New(find_starting_in), None); + Nan::SetTemplate(prototype_template, Nan::New("findStartingAt").ToLocalChecked(), + Nan::New(find_starting_at), None); + Nan::SetTemplate(prototype_template, Nan::New("findEndingIn").ToLocalChecked(), Nan::New(find_ending_in), None); + Nan::SetTemplate(prototype_template, Nan::New("findEndingAt").ToLocalChecked(), Nan::New(find_ending_at), None); + Nan::SetTemplate(prototype_template, Nan::New("findBoundariesAfter").ToLocalChecked(), Nan::New(find_boundaries_after), None); + Nan::SetTemplate(prototype_template, Nan::New("dump").ToLocalChecked(), Nan::New(dump), None); start_string.Reset(Nan::Persistent(Nan::New("start").ToLocalChecked())); end_string.Reset(Nan::Persistent(Nan::New("end").ToLocalChecked())); @@ -110,7 +110,7 @@ Local MarkerIndexWrapper::marker_ids_set_to_js(const MarkerIndex::MarkerIdS Local MarkerIndexWrapper::marker_ids_vector_to_js(const std::vector &marker_ids) { Local js_array = Nan::New(marker_ids.size()); for (size_t i = 0; i < marker_ids.size(); i++) { - js_array->Set(i, Nan::New(marker_ids[i])); + Nan::Set(js_array, i, Nan::New(marker_ids[i])); } return js_array; } @@ -119,9 +119,9 @@ Local MarkerIndexWrapper::snapshot_to_js(const unordered_map result_object = Nan::New(); for (auto &pair : snapshot) { Local range = Nan::New(); - range->Set(Nan::New(start_string), PointWrapper::from_point(pair.second.start)); - range->Set(Nan::New(end_string), PointWrapper::from_point(pair.second.end)); - result_object->Set(Nan::New(pair.first), range); + Nan::Set(range, Nan::New(start_string), PointWrapper::from_point(pair.second.start)); + Nan::Set(range, Nan::New(end_string), PointWrapper::from_point(pair.second.end)); + Nan::Set(result_object, Nan::New(pair.first), range); } return result_object; } @@ -207,11 +207,11 @@ void MarkerIndexWrapper::splice(const Nan::FunctionCallbackInfo &info) { MarkerIndex::SpliceResult result = wrapper->marker_index.splice(*start, *old_extent, *new_extent); Local invalidated = Nan::New(); - invalidated->Set(Nan::New(touch_string), marker_ids_set_to_js(result.touch)); - invalidated->Set(Nan::New(inside_string), marker_ids_set_to_js(result.inside)); - invalidated->Set(Nan::New(inside_string), marker_ids_set_to_js(result.inside)); - invalidated->Set(Nan::New(overlap_string), marker_ids_set_to_js(result.overlap)); - invalidated->Set(Nan::New(surround_string), marker_ids_set_to_js(result.surround)); + Nan::Set(invalidated, Nan::New(touch_string), marker_ids_set_to_js(result.touch)); + Nan::Set(invalidated, Nan::New(inside_string), marker_ids_set_to_js(result.inside)); + Nan::Set(invalidated, Nan::New(inside_string), marker_ids_set_to_js(result.inside)); + Nan::Set(invalidated, Nan::New(overlap_string), marker_ids_set_to_js(result.overlap)); + Nan::Set(invalidated, Nan::New(surround_string), marker_ids_set_to_js(result.surround)); info.GetReturnValue().Set(invalidated); } } @@ -243,8 +243,8 @@ void MarkerIndexWrapper::get_range(const Nan::FunctionCallbackInfo &info) if (id) { Range range = wrapper->marker_index.get_range(*id); auto result = Nan::New(); - result->Set(Nan::New(start_string), PointWrapper::from_point(range.start)); - result->Set(Nan::New(end_string), PointWrapper::from_point(range.end)); + Nan::Set(result, Nan::New(start_string), PointWrapper::from_point(range.start)); + Nan::Set(result, Nan::New(end_string), PointWrapper::from_point(range.end)); info.GetReturnValue().Set(result); } } @@ -353,18 +353,18 @@ void MarkerIndexWrapper::find_boundaries_after(const Nan::FunctionCallbackInfomarker_index.find_boundaries_after(*start, *max_count); Local js_result = Nan::New(); - js_result->Set(Nan::New(containing_start_string), marker_ids_vector_to_js(result.containing_start)); + Nan::Set(js_result, Nan::New(containing_start_string), marker_ids_vector_to_js(result.containing_start)); Local js_boundaries = Nan::New(result.boundaries.size()); for (size_t i = 0; i < result.boundaries.size(); i++) { MarkerIndex::Boundary boundary = result.boundaries[i]; Local js_boundary = Nan::New(); - js_boundary->Set(Nan::New(position_string), PointWrapper::from_point(boundary.position)); - js_boundary->Set(Nan::New(starting_string), marker_ids_set_to_js(boundary.starting)); - js_boundary->Set(Nan::New(ending_string), marker_ids_set_to_js(boundary.ending)); - js_boundaries->Set(i, js_boundary); + Nan::Set(js_boundary, Nan::New(position_string), PointWrapper::from_point(boundary.position)); + Nan::Set(js_boundary, Nan::New(starting_string), marker_ids_set_to_js(boundary.starting)); + Nan::Set(js_boundary, Nan::New(ending_string), marker_ids_set_to_js(boundary.ending)); + Nan::Set(js_boundaries, i, js_boundary); } - js_result->Set(Nan::New(boundaries_string), js_boundaries); + Nan::Set(js_result, Nan::New(boundaries_string), js_boundaries); info.GetReturnValue().Set(js_result); } diff --git a/src/bindings/patch-wrapper.cc b/src/bindings/patch-wrapper.cc index d2672ace..fc610aaf 100644 --- a/src/bindings/patch-wrapper.cc +++ b/src/bindings/patch-wrapper.cc @@ -36,7 +36,7 @@ class ChangeWrapper : public Nan::ObjectWrap { Nan::SetAccessor(instance_template, Nan::New("newEnd").ToLocalChecked(), get_new_end); const auto &prototype_template = constructor_template->PrototypeTemplate(); - prototype_template->Set(Nan::New("toString").ToLocalChecked(), Nan::New(to_string)); + Nan::SetTemplate(prototype_template, Nan::New("toString").ToLocalChecked(), Nan::New(to_string), None); change_wrapper_constructor.Reset(Nan::GetFunction(constructor_template).ToLocalChecked()); } @@ -45,13 +45,15 @@ class ChangeWrapper : public Nan::ObjectWrap { if (Nan::NewInstance(Nan::New(change_wrapper_constructor)).ToLocal(&result)) { (new ChangeWrapper(change))->Wrap(result); if (change.new_text) { - result->Set( + Nan::Set( + result, Nan::New(new_text_string), string_conversion::string_to_js(change.new_text->content) ); } if (change.old_text) { - result->Set( + Nan::Set( + result, Nan::New(old_text_string), string_conversion::string_to_js(change.old_text->content) ); @@ -112,33 +114,33 @@ void PatchWrapper::init(Local exports) { Local constructor_template_local = Nan::New(construct); constructor_template_local->SetClassName(Nan::New("Patch").ToLocalChecked()); - constructor_template_local->Set(Nan::New("deserialize").ToLocalChecked(), Nan::New(deserialize)); - constructor_template_local->Set(Nan::New("compose").ToLocalChecked(), Nan::New(compose)); + Nan::SetTemplate(constructor_template_local, Nan::New("deserialize").ToLocalChecked(), Nan::New(deserialize), None); + Nan::SetTemplate(constructor_template_local, Nan::New("compose").ToLocalChecked(), Nan::New(compose), None); constructor_template_local->InstanceTemplate()->SetInternalFieldCount(1); const auto &prototype_template = constructor_template_local->PrototypeTemplate(); - prototype_template->Set(Nan::New("delete").ToLocalChecked(), Nan::New(noop)); - prototype_template->Set(Nan::New("splice").ToLocalChecked(), Nan::New(splice)); - prototype_template->Set(Nan::New("spliceOld").ToLocalChecked(), Nan::New(splice_old)); - prototype_template->Set(Nan::New("copy").ToLocalChecked(), Nan::New(copy)); - prototype_template->Set(Nan::New("invert").ToLocalChecked(), Nan::New(invert)); - prototype_template->Set(Nan::New("getChanges").ToLocalChecked(), Nan::New(get_changes)); - prototype_template->Set(Nan::New("getChangesInOldRange").ToLocalChecked(), - Nan::New(get_changes_in_old_range)); - prototype_template->Set(Nan::New("getChangesInNewRange").ToLocalChecked(), - Nan::New(get_changes_in_new_range)); - prototype_template->Set(Nan::New("changeForOldPosition").ToLocalChecked(), - Nan::New(change_for_old_position)); - prototype_template->Set(Nan::New("changeForNewPosition").ToLocalChecked(), - Nan::New(change_for_new_position)); - prototype_template->Set(Nan::New("serialize").ToLocalChecked(), Nan::New(serialize)); - prototype_template->Set(Nan::New("getDotGraph").ToLocalChecked(), Nan::New(get_dot_graph)); - prototype_template->Set(Nan::New("getJSON").ToLocalChecked(), Nan::New(get_json)); - prototype_template->Set(Nan::New("rebalance").ToLocalChecked(), Nan::New(rebalance)); - prototype_template->Set(Nan::New("getChangeCount").ToLocalChecked(), Nan::New(get_change_count)); - prototype_template->Set(Nan::New("getBounds").ToLocalChecked(), Nan::New(get_bounds)); + Nan::SetTemplate(prototype_template, Nan::New("delete").ToLocalChecked(), Nan::New(noop), None); + Nan::SetTemplate(prototype_template, Nan::New("splice").ToLocalChecked(), Nan::New(splice), None); + Nan::SetTemplate(prototype_template, Nan::New("spliceOld").ToLocalChecked(), Nan::New(splice_old), None); + Nan::SetTemplate(prototype_template, Nan::New("copy").ToLocalChecked(), Nan::New(copy), None); + Nan::SetTemplate(prototype_template, Nan::New("invert").ToLocalChecked(), Nan::New(invert), None); + Nan::SetTemplate(prototype_template, Nan::New("getChanges").ToLocalChecked(), Nan::New(get_changes), None); + Nan::SetTemplate(prototype_template, Nan::New("getChangesInOldRange").ToLocalChecked(), + Nan::New(get_changes_in_old_range), None); + Nan::SetTemplate(prototype_template, Nan::New("getChangesInNewRange").ToLocalChecked(), + Nan::New(get_changes_in_new_range), None); + Nan::SetTemplate(prototype_template, Nan::New("changeForOldPosition").ToLocalChecked(), + Nan::New(change_for_old_position), None); + Nan::SetTemplate(prototype_template, Nan::New("changeForNewPosition").ToLocalChecked(), + Nan::New(change_for_new_position), None); + Nan::SetTemplate(prototype_template, Nan::New("serialize").ToLocalChecked(), Nan::New(serialize), None); + Nan::SetTemplate(prototype_template, Nan::New("getDotGraph").ToLocalChecked(), Nan::New(get_dot_graph), None); + Nan::SetTemplate(prototype_template, Nan::New("getJSON").ToLocalChecked(), Nan::New(get_json), None); + Nan::SetTemplate(prototype_template, Nan::New("rebalance").ToLocalChecked(), Nan::New(rebalance), None); + Nan::SetTemplate(prototype_template, Nan::New("getChangeCount").ToLocalChecked(), Nan::New(get_change_count), None); + Nan::SetTemplate(prototype_template, Nan::New("getBounds").ToLocalChecked(), Nan::New(get_bounds), None); patch_wrapper_constructor_template.Reset(constructor_template_local); patch_wrapper_constructor.Reset(Nan::GetFunction(constructor_template_local).ToLocalChecked()); - exports->Set(Nan::New("Patch").ToLocalChecked(), Nan::New(patch_wrapper_constructor)); + Nan::Set(exports, Nan::New("Patch").ToLocalChecked(), Nan::New(patch_wrapper_constructor)); } PatchWrapper::PatchWrapper(Patch &&patch) : patch{std::move(patch)} {} @@ -241,7 +243,7 @@ void PatchWrapper::get_changes(const Nan::FunctionCallbackInfo &info) { size_t i = 0; for (auto change : patch.get_changes()) { - js_result->Set(i++, ChangeWrapper::FromChange(change)); + Nan::Set(js_result, i++, ChangeWrapper::FromChange(change)); } info.GetReturnValue().Set(js_result); @@ -258,7 +260,7 @@ void PatchWrapper::get_changes_in_old_range(const Nan::FunctionCallbackInfoSet(i++, ChangeWrapper::FromChange(change)); + Nan::Set(js_result, i++, ChangeWrapper::FromChange(change)); } info.GetReturnValue().Set(js_result); @@ -276,7 +278,7 @@ void PatchWrapper::get_changes_in_new_range(const Nan::FunctionCallbackInfoSet(i++, ChangeWrapper::FromChange(change)); + Nan::Set(js_result, i++, ChangeWrapper::FromChange(change)); } info.GetReturnValue().Set(js_result); @@ -352,12 +354,12 @@ void PatchWrapper::compose(const Nan::FunctionCallbackInfo &info) { Patch combination; bool left_to_right = true; for (uint32_t i = 0, n = js_patches->Length(); i < n; i++) { - if (!js_patches->Get(i)->IsObject()) { + if (!Nan::Get(js_patches, i).ToLocalChecked()->IsObject()) { Nan::ThrowTypeError("Patch.compose must be called with an array of patches"); return; } - Local js_patch = Local::Cast(js_patches->Get(i)); + Local js_patch = Local::Cast(Nan::Get(js_patches, i).ToLocalChecked()); if (!Nan::New(patch_wrapper_constructor_template)->HasInstance(js_patch)) { Nan::ThrowTypeError("Patch.compose must be called with an array of patches"); return; diff --git a/src/bindings/point-wrapper.cc b/src/bindings/point-wrapper.cc index be66cd8b..7bd159f7 100644 --- a/src/bindings/point-wrapper.cc +++ b/src/bindings/point-wrapper.cc @@ -25,14 +25,14 @@ optional PointWrapper::point_from_js(Local value) { return optional{}; } - Nan::MaybeLocal maybe_row = Nan::To(object->Get(Nan::New(row_string))); + Nan::MaybeLocal maybe_row = Nan::To(Nan::Get(object, Nan::New(row_string)).ToLocalChecked()); Local js_row; if (!maybe_row.ToLocal(&js_row)) { Nan::ThrowTypeError("Expected an object with 'row' and 'column' properties."); return optional{}; } - Nan::MaybeLocal maybe_column = Nan::To(object->Get(Nan::New(column_string))); + Nan::MaybeLocal maybe_column = Nan::To(Nan::Get(object, Nan::New(column_string)).ToLocalChecked()); Local js_column; if (!maybe_column.ToLocal(&js_column)) { Nan::ThrowTypeError("Expected an object with 'row' and 'column' properties."); diff --git a/src/bindings/range-wrapper.cc b/src/bindings/range-wrapper.cc index 346301a6..b0aaf5ab 100644 --- a/src/bindings/range-wrapper.cc +++ b/src/bindings/range-wrapper.cc @@ -15,8 +15,8 @@ optional RangeWrapper::range_from_js(Local value) { return optional{}; } - auto start = PointWrapper::point_from_js(object->Get(Nan::New(start_string))); - auto end = PointWrapper::point_from_js(object->Get(Nan::New(end_string))); + auto start = PointWrapper::point_from_js(Nan::Get(object, Nan::New(start_string)).ToLocalChecked()); + auto end = PointWrapper::point_from_js(Nan::Get(object, Nan::New(end_string)).ToLocalChecked()); if (start && end) { return Range{*start, *end}; } else { diff --git a/src/bindings/text-buffer-snapshot-wrapper.cc b/src/bindings/text-buffer-snapshot-wrapper.cc index cfd03ec3..d613b6a6 100644 --- a/src/bindings/text-buffer-snapshot-wrapper.cc +++ b/src/bindings/text-buffer-snapshot-wrapper.cc @@ -14,7 +14,7 @@ void TextBufferSnapshotWrapper::init() { constructor_template->InstanceTemplate()->SetInternalFieldCount(1); const auto &prototype_template = constructor_template->PrototypeTemplate(); - prototype_template->Set(Nan::New("destroy").ToLocalChecked(), Nan::New(destroy)); + Nan::SetTemplate(prototype_template, Nan::New("destroy").ToLocalChecked(), Nan::New(destroy), None); snapshot_wrapper_constructor.Reset(Nan::GetFunction(constructor_template).ToLocalChecked()); } diff --git a/src/bindings/text-buffer-wrapper.cc b/src/bindings/text-buffer-wrapper.cc index af42069e..52e7bded 100644 --- a/src/bindings/text-buffer-wrapper.cc +++ b/src/bindings/text-buffer-wrapper.cc @@ -91,7 +91,7 @@ class RegexWrapper : public Nan::ObjectWrap { js_pattern = Local::Cast(value); } else if (value->IsRegExp()) { js_regex = Local::Cast(value); - Local stored_regex = js_regex->Get(cache_key); + Local stored_regex = Nan::Get(js_regex, cache_key).ToLocalChecked(); if (!stored_regex->IsUndefined()) { return &Nan::ObjectWrap::Unwrap(Nan::To(stored_regex).ToLocalChecked())->regex; } @@ -119,7 +119,7 @@ class RegexWrapper : public Nan::ObjectWrap { auto regex_wrapper = new RegexWrapper(move(regex)); regex_wrapper->Wrap(result); - if (!js_regex.IsEmpty()) js_regex->Set(cache_key, result); + if (!js_regex.IsEmpty()) Nan::Set(js_regex, cache_key, result); return ®ex_wrapper->regex; } @@ -173,7 +173,7 @@ class SubsequenceMatchWrapper : public Nan::ObjectWrap { SubsequenceMatch &match = Nan::ObjectWrap::Unwrap(info.This())->match; Local js_result = Nan::New(); for (size_t i = 0; i < match.match_indices.size(); i++) { - js_result->Set(i, Nan::New(match.match_indices[i])); + Nan::Set(js_result, i, Nan::New(match.match_indices[i])); } info.GetReturnValue().Set(js_result); } @@ -193,42 +193,42 @@ void TextBufferWrapper::init(Local exports) { constructor_template->SetClassName(Nan::New("TextBuffer").ToLocalChecked()); constructor_template->InstanceTemplate()->SetInternalFieldCount(1); const auto &prototype_template = constructor_template->PrototypeTemplate(); - prototype_template->Set(Nan::New("delete").ToLocalChecked(), Nan::New(noop)); - prototype_template->Set(Nan::New("getLength").ToLocalChecked(), Nan::New(get_length)); - prototype_template->Set(Nan::New("getExtent").ToLocalChecked(), Nan::New(get_extent)); - prototype_template->Set(Nan::New("getLineCount").ToLocalChecked(), Nan::New(get_line_count)); - prototype_template->Set(Nan::New("hasAstral").ToLocalChecked(), Nan::New(has_astral)); - prototype_template->Set(Nan::New("getCharacterAtPosition").ToLocalChecked(), Nan::New(get_character_at_position)); - prototype_template->Set(Nan::New("getTextInRange").ToLocalChecked(), Nan::New(get_text_in_range)); - prototype_template->Set(Nan::New("setTextInRange").ToLocalChecked(), Nan::New(set_text_in_range)); - prototype_template->Set(Nan::New("getText").ToLocalChecked(), Nan::New(get_text)); - prototype_template->Set(Nan::New("setText").ToLocalChecked(), Nan::New(set_text)); - prototype_template->Set(Nan::New("lineForRow").ToLocalChecked(), Nan::New(line_for_row)); - prototype_template->Set(Nan::New("lineLengthForRow").ToLocalChecked(), Nan::New(line_length_for_row)); - prototype_template->Set(Nan::New("lineEndingForRow").ToLocalChecked(), Nan::New(line_ending_for_row)); - prototype_template->Set(Nan::New("getLines").ToLocalChecked(), Nan::New(get_lines)); - prototype_template->Set(Nan::New("characterIndexForPosition").ToLocalChecked(), Nan::New(character_index_for_position)); - prototype_template->Set(Nan::New("positionForCharacterIndex").ToLocalChecked(), Nan::New(position_for_character_index)); - prototype_template->Set(Nan::New("isModified").ToLocalChecked(), Nan::New(is_modified)); - prototype_template->Set(Nan::New("load").ToLocalChecked(), Nan::New(load)); - prototype_template->Set(Nan::New("baseTextMatchesFile").ToLocalChecked(), Nan::New(base_text_matches_file)); - prototype_template->Set(Nan::New("save").ToLocalChecked(), Nan::New(save)); - prototype_template->Set(Nan::New("loadSync").ToLocalChecked(), Nan::New(load_sync)); - prototype_template->Set(Nan::New("serializeChanges").ToLocalChecked(), Nan::New(serialize_changes)); - prototype_template->Set(Nan::New("deserializeChanges").ToLocalChecked(), Nan::New(deserialize_changes)); - prototype_template->Set(Nan::New("reset").ToLocalChecked(), Nan::New(reset)); - prototype_template->Set(Nan::New("baseTextDigest").ToLocalChecked(), Nan::New(base_text_digest)); - prototype_template->Set(Nan::New("find").ToLocalChecked(), Nan::New(find)); - prototype_template->Set(Nan::New("findSync").ToLocalChecked(), Nan::New(find_sync)); - prototype_template->Set(Nan::New("findAll").ToLocalChecked(), Nan::New(find_all)); - prototype_template->Set(Nan::New("findAllSync").ToLocalChecked(), Nan::New(find_all_sync)); - prototype_template->Set(Nan::New("findAndMarkAllSync").ToLocalChecked(), Nan::New(find_and_mark_all_sync)); - prototype_template->Set(Nan::New("findWordsWithSubsequenceInRange").ToLocalChecked(), Nan::New(find_words_with_subsequence_in_range)); - prototype_template->Set(Nan::New("getDotGraph").ToLocalChecked(), Nan::New(dot_graph)); - prototype_template->Set(Nan::New("getSnapshot").ToLocalChecked(), Nan::New(get_snapshot)); + Nan::SetTemplate(prototype_template, Nan::New("delete").ToLocalChecked(), Nan::New(noop), None); + Nan::SetTemplate(prototype_template, Nan::New("getLength").ToLocalChecked(), Nan::New(get_length), None); + Nan::SetTemplate(prototype_template, Nan::New("getExtent").ToLocalChecked(), Nan::New(get_extent), None); + Nan::SetTemplate(prototype_template, Nan::New("getLineCount").ToLocalChecked(), Nan::New(get_line_count), None); + Nan::SetTemplate(prototype_template, Nan::New("hasAstral").ToLocalChecked(), Nan::New(has_astral), None); + Nan::SetTemplate(prototype_template, Nan::New("getCharacterAtPosition").ToLocalChecked(), Nan::New(get_character_at_position), None); + Nan::SetTemplate(prototype_template, Nan::New("getTextInRange").ToLocalChecked(), Nan::New(get_text_in_range), None); + Nan::SetTemplate(prototype_template, Nan::New("setTextInRange").ToLocalChecked(), Nan::New(set_text_in_range), None); + Nan::SetTemplate(prototype_template, Nan::New("getText").ToLocalChecked(), Nan::New(get_text), None); + Nan::SetTemplate(prototype_template, Nan::New("setText").ToLocalChecked(), Nan::New(set_text), None); + Nan::SetTemplate(prototype_template, Nan::New("lineForRow").ToLocalChecked(), Nan::New(line_for_row), None); + Nan::SetTemplate(prototype_template, Nan::New("lineLengthForRow").ToLocalChecked(), Nan::New(line_length_for_row), None); + Nan::SetTemplate(prototype_template, Nan::New("lineEndingForRow").ToLocalChecked(), Nan::New(line_ending_for_row), None); + Nan::SetTemplate(prototype_template, Nan::New("getLines").ToLocalChecked(), Nan::New(get_lines), None); + Nan::SetTemplate(prototype_template, Nan::New("characterIndexForPosition").ToLocalChecked(), Nan::New(character_index_for_position), None); + Nan::SetTemplate(prototype_template, Nan::New("positionForCharacterIndex").ToLocalChecked(), Nan::New(position_for_character_index), None); + Nan::SetTemplate(prototype_template, Nan::New("isModified").ToLocalChecked(), Nan::New(is_modified), None); + Nan::SetTemplate(prototype_template, Nan::New("load").ToLocalChecked(), Nan::New(load), None); + Nan::SetTemplate(prototype_template, Nan::New("baseTextMatchesFile").ToLocalChecked(), Nan::New(base_text_matches_file), None); + Nan::SetTemplate(prototype_template, Nan::New("save").ToLocalChecked(), Nan::New(save), None); + Nan::SetTemplate(prototype_template, Nan::New("loadSync").ToLocalChecked(), Nan::New(load_sync), None); + Nan::SetTemplate(prototype_template, Nan::New("serializeChanges").ToLocalChecked(), Nan::New(serialize_changes), None); + Nan::SetTemplate(prototype_template, Nan::New("deserializeChanges").ToLocalChecked(), Nan::New(deserialize_changes), None); + Nan::SetTemplate(prototype_template, Nan::New("reset").ToLocalChecked(), Nan::New(reset), None); + Nan::SetTemplate(prototype_template, Nan::New("baseTextDigest").ToLocalChecked(), Nan::New(base_text_digest), None); + Nan::SetTemplate(prototype_template, Nan::New("find").ToLocalChecked(), Nan::New(find), None); + Nan::SetTemplate(prototype_template, Nan::New("findSync").ToLocalChecked(), Nan::New(find_sync), None); + Nan::SetTemplate(prototype_template, Nan::New("findAll").ToLocalChecked(), Nan::New(find_all), None); + Nan::SetTemplate(prototype_template, Nan::New("findAllSync").ToLocalChecked(), Nan::New(find_all_sync), None); + Nan::SetTemplate(prototype_template, Nan::New("findAndMarkAllSync").ToLocalChecked(), Nan::New(find_and_mark_all_sync), None); + Nan::SetTemplate(prototype_template, Nan::New("findWordsWithSubsequenceInRange").ToLocalChecked(), Nan::New(find_words_with_subsequence_in_range), None); + Nan::SetTemplate(prototype_template, Nan::New("getDotGraph").ToLocalChecked(), Nan::New(dot_graph), None); + Nan::SetTemplate(prototype_template, Nan::New("getSnapshot").ToLocalChecked(), Nan::New(get_snapshot), None); RegexWrapper::init(); SubsequenceMatchWrapper::init(); - exports->Set(Nan::New("TextBuffer").ToLocalChecked(), Nan::GetFunction(constructor_template).ToLocalChecked()); + Nan::Set(exports, Nan::New("TextBuffer").ToLocalChecked(), Nan::GetFunction(constructor_template).ToLocalChecked()); } void TextBufferWrapper::construct(const Nan::FunctionCallbackInfo &info) { @@ -354,7 +354,7 @@ void TextBufferWrapper::get_lines(const Nan::FunctionCallbackInfo &info) for (uint32_t row = 0, row_count = text_buffer.extent().row + 1; row < row_count; row++) { auto text = text_buffer.text_in_range({{row, 0}, {row, UINT32_MAX}}); - result->Set(row, string_conversion::string_to_js(text)); + Nan::Set(result, row, string_conversion::string_to_js(text)); } info.GetReturnValue().Set(result); @@ -624,7 +624,7 @@ void TextBufferWrapper::find_words_with_subsequence_in_range(const Nan::Function bytes_to_copy ); positions_array_index += bytes_to_copy / sizeof(uint32_t); - js_matches_array->Set(i, SubsequenceMatchWrapper::from_subsequence_match(match)); + Nan::Set(js_matches_array, i, SubsequenceMatchWrapper::from_subsequence_match(match)); } auto positions_array = v8::Uint32Array::New(positions_buffer, 0, positions_buffer_size / sizeof(uint32_t)); diff --git a/src/bindings/text-reader.cc b/src/bindings/text-reader.cc index 555cfac9..6abdd1e5 100644 --- a/src/bindings/text-reader.cc +++ b/src/bindings/text-reader.cc @@ -12,10 +12,10 @@ void TextReader::init(Local exports) { constructor_template->SetClassName(Nan::New("TextReader").ToLocalChecked()); constructor_template->InstanceTemplate()->SetInternalFieldCount(1); const auto &prototype_template = constructor_template->PrototypeTemplate(); - prototype_template->Set(Nan::New("read").ToLocalChecked(), Nan::New(read)); - prototype_template->Set(Nan::New("end").ToLocalChecked(), Nan::New(end)); - prototype_template->Set(Nan::New("destroy").ToLocalChecked(), Nan::New(destroy)); - exports->Set(Nan::New("TextReader").ToLocalChecked(), Nan::GetFunction(constructor_template).ToLocalChecked()); + Nan::SetTemplate(prototype_template, Nan::New("read").ToLocalChecked(), Nan::New(read), None); + Nan::SetTemplate(prototype_template, Nan::New("end").ToLocalChecked(), Nan::New(end), None); + Nan::SetTemplate(prototype_template, Nan::New("destroy").ToLocalChecked(), Nan::New(destroy), None); + Nan::Set(exports, Nan::New("TextReader").ToLocalChecked(), Nan::GetFunction(constructor_template).ToLocalChecked()); } TextReader::TextReader(Local js_buffer, diff --git a/src/bindings/text-writer.cc b/src/bindings/text-writer.cc index 9a330a84..862c2a5d 100644 --- a/src/bindings/text-writer.cc +++ b/src/bindings/text-writer.cc @@ -10,9 +10,9 @@ void TextWriter::init(Local exports) { constructor_template->SetClassName(Nan::New("TextWriter").ToLocalChecked()); constructor_template->InstanceTemplate()->SetInternalFieldCount(1); const auto &prototype_template = constructor_template->PrototypeTemplate(); - prototype_template->Set(Nan::New("write").ToLocalChecked(), Nan::New(write)); - prototype_template->Set(Nan::New("end").ToLocalChecked(), Nan::New(end)); - exports->Set(Nan::New("TextWriter").ToLocalChecked(), Nan::GetFunction(constructor_template).ToLocalChecked()); + Nan::SetTemplate(prototype_template, Nan::New("write").ToLocalChecked(), Nan::New(write), None); + Nan::SetTemplate(prototype_template, Nan::New("end").ToLocalChecked(), Nan::New(end), None); + Nan::Set(exports, Nan::New("TextWriter").ToLocalChecked(), Nan::GetFunction(constructor_template).ToLocalChecked()); } TextWriter::TextWriter(EncodingConversion &&conversion) : conversion{move(conversion)} {}