Skip to content
This repository was archived by the owner on Dec 15, 2022. It is now read-only.

Commit 1198557

Browse files
authored
Merge pull request #77 from sergei-dyshel/master
Replace deprecated V8 API usages with Nan
2 parents f1bfd2c + 5a06895 commit 1198557

File tree

8 files changed

+127
-125
lines changed

8 files changed

+127
-125
lines changed

src/bindings/marker-index-wrapper.cc

Lines changed: 43 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -30,32 +30,32 @@ void MarkerIndexWrapper::init(Local<Object> exports) {
3030

3131
const auto &prototype_template = constructor_template->PrototypeTemplate();
3232

33-
prototype_template->Set(Nan::New<String>("delete").ToLocalChecked(), Nan::New<FunctionTemplate>(noop));
34-
prototype_template->Set(Nan::New<String>("generateRandomNumber").ToLocalChecked(),
35-
Nan::New<FunctionTemplate>(generate_random_number));
36-
prototype_template->Set(Nan::New<String>("insert").ToLocalChecked(), Nan::New<FunctionTemplate>(insert));
37-
prototype_template->Set(Nan::New<String>("setExclusive").ToLocalChecked(), Nan::New<FunctionTemplate>(set_exclusive));
38-
prototype_template->Set(Nan::New<String>("remove").ToLocalChecked(), Nan::New<FunctionTemplate>(remove));
39-
prototype_template->Set(Nan::New<String>("has").ToLocalChecked(), Nan::New<FunctionTemplate>(has));
40-
prototype_template->Set(Nan::New<String>("splice").ToLocalChecked(), Nan::New<FunctionTemplate>(splice));
41-
prototype_template->Set(Nan::New<String>("getStart").ToLocalChecked(), Nan::New<FunctionTemplate>(get_start));
42-
prototype_template->Set(Nan::New<String>("getEnd").ToLocalChecked(), Nan::New<FunctionTemplate>(get_end));
43-
prototype_template->Set(Nan::New<String>("getRange").ToLocalChecked(), Nan::New<FunctionTemplate>(get_range));
44-
prototype_template->Set(Nan::New<String>("compare").ToLocalChecked(), Nan::New<FunctionTemplate>(compare));
45-
prototype_template->Set(Nan::New<String>("findIntersecting").ToLocalChecked(),
46-
Nan::New<FunctionTemplate>(find_intersecting));
47-
prototype_template->Set(Nan::New<String>("findContaining").ToLocalChecked(),
48-
Nan::New<FunctionTemplate>(find_containing));
49-
prototype_template->Set(Nan::New<String>("findContainedIn").ToLocalChecked(),
50-
Nan::New<FunctionTemplate>(find_contained_in));
51-
prototype_template->Set(Nan::New<String>("findStartingIn").ToLocalChecked(),
52-
Nan::New<FunctionTemplate>(find_starting_in));
53-
prototype_template->Set(Nan::New<String>("findStartingAt").ToLocalChecked(),
54-
Nan::New<FunctionTemplate>(find_starting_at));
55-
prototype_template->Set(Nan::New<String>("findEndingIn").ToLocalChecked(), Nan::New<FunctionTemplate>(find_ending_in));
56-
prototype_template->Set(Nan::New<String>("findEndingAt").ToLocalChecked(), Nan::New<FunctionTemplate>(find_ending_at));
57-
prototype_template->Set(Nan::New<String>("findBoundariesAfter").ToLocalChecked(), Nan::New<FunctionTemplate>(find_boundaries_after));
58-
prototype_template->Set(Nan::New<String>("dump").ToLocalChecked(), Nan::New<FunctionTemplate>(dump));
33+
Nan::SetTemplate(prototype_template, Nan::New<String>("delete").ToLocalChecked(), Nan::New<FunctionTemplate>(noop), None);
34+
Nan::SetTemplate(prototype_template, Nan::New<String>("generateRandomNumber").ToLocalChecked(),
35+
Nan::New<FunctionTemplate>(generate_random_number), None);
36+
Nan::SetTemplate(prototype_template, Nan::New<String>("insert").ToLocalChecked(), Nan::New<FunctionTemplate>(insert), None);
37+
Nan::SetTemplate(prototype_template, Nan::New<String>("setExclusive").ToLocalChecked(), Nan::New<FunctionTemplate>(set_exclusive), None);
38+
Nan::SetTemplate(prototype_template, Nan::New<String>("remove").ToLocalChecked(), Nan::New<FunctionTemplate>(remove), None);
39+
Nan::SetTemplate(prototype_template, Nan::New<String>("has").ToLocalChecked(), Nan::New<FunctionTemplate>(has), None);
40+
Nan::SetTemplate(prototype_template, Nan::New<String>("splice").ToLocalChecked(), Nan::New<FunctionTemplate>(splice), None);
41+
Nan::SetTemplate(prototype_template, Nan::New<String>("getStart").ToLocalChecked(), Nan::New<FunctionTemplate>(get_start), None);
42+
Nan::SetTemplate(prototype_template, Nan::New<String>("getEnd").ToLocalChecked(), Nan::New<FunctionTemplate>(get_end), None);
43+
Nan::SetTemplate(prototype_template, Nan::New<String>("getRange").ToLocalChecked(), Nan::New<FunctionTemplate>(get_range), None);
44+
Nan::SetTemplate(prototype_template, Nan::New<String>("compare").ToLocalChecked(), Nan::New<FunctionTemplate>(compare), None);
45+
Nan::SetTemplate(prototype_template, Nan::New<String>("findIntersecting").ToLocalChecked(),
46+
Nan::New<FunctionTemplate>(find_intersecting), None);
47+
Nan::SetTemplate(prototype_template, Nan::New<String>("findContaining").ToLocalChecked(),
48+
Nan::New<FunctionTemplate>(find_containing), None);
49+
Nan::SetTemplate(prototype_template, Nan::New<String>("findContainedIn").ToLocalChecked(),
50+
Nan::New<FunctionTemplate>(find_contained_in), None);
51+
Nan::SetTemplate(prototype_template, Nan::New<String>("findStartingIn").ToLocalChecked(),
52+
Nan::New<FunctionTemplate>(find_starting_in), None);
53+
Nan::SetTemplate(prototype_template, Nan::New<String>("findStartingAt").ToLocalChecked(),
54+
Nan::New<FunctionTemplate>(find_starting_at), None);
55+
Nan::SetTemplate(prototype_template, Nan::New<String>("findEndingIn").ToLocalChecked(), Nan::New<FunctionTemplate>(find_ending_in), None);
56+
Nan::SetTemplate(prototype_template, Nan::New<String>("findEndingAt").ToLocalChecked(), Nan::New<FunctionTemplate>(find_ending_at), None);
57+
Nan::SetTemplate(prototype_template, Nan::New<String>("findBoundariesAfter").ToLocalChecked(), Nan::New<FunctionTemplate>(find_boundaries_after), None);
58+
Nan::SetTemplate(prototype_template, Nan::New<String>("dump").ToLocalChecked(), Nan::New<FunctionTemplate>(dump), None);
5959

6060
start_string.Reset(Nan::Persistent<String>(Nan::New("start").ToLocalChecked()));
6161
end_string.Reset(Nan::Persistent<String>(Nan::New("end").ToLocalChecked()));
@@ -110,7 +110,7 @@ Local<Set> MarkerIndexWrapper::marker_ids_set_to_js(const MarkerIndex::MarkerIdS
110110
Local<Array> MarkerIndexWrapper::marker_ids_vector_to_js(const std::vector<MarkerIndex::MarkerId> &marker_ids) {
111111
Local<Array> js_array = Nan::New<Array>(marker_ids.size());
112112
for (size_t i = 0; i < marker_ids.size(); i++) {
113-
js_array->Set(i, Nan::New<Integer>(marker_ids[i]));
113+
Nan::Set(js_array, i, Nan::New<Integer>(marker_ids[i]));
114114
}
115115
return js_array;
116116
}
@@ -119,9 +119,9 @@ Local<Object> MarkerIndexWrapper::snapshot_to_js(const unordered_map<MarkerIndex
119119
Local<Object> result_object = Nan::New<Object>();
120120
for (auto &pair : snapshot) {
121121
Local<Object> range = Nan::New<Object>();
122-
range->Set(Nan::New(start_string), PointWrapper::from_point(pair.second.start));
123-
range->Set(Nan::New(end_string), PointWrapper::from_point(pair.second.end));
124-
result_object->Set(Nan::New<Integer>(pair.first), range);
122+
Nan::Set(range, Nan::New(start_string), PointWrapper::from_point(pair.second.start));
123+
Nan::Set(range, Nan::New(end_string), PointWrapper::from_point(pair.second.end));
124+
Nan::Set(result_object, Nan::New<Integer>(pair.first), range);
125125
}
126126
return result_object;
127127
}
@@ -207,11 +207,11 @@ void MarkerIndexWrapper::splice(const Nan::FunctionCallbackInfo<Value> &info) {
207207
MarkerIndex::SpliceResult result = wrapper->marker_index.splice(*start, *old_extent, *new_extent);
208208

209209
Local<Object> invalidated = Nan::New<Object>();
210-
invalidated->Set(Nan::New(touch_string), marker_ids_set_to_js(result.touch));
211-
invalidated->Set(Nan::New(inside_string), marker_ids_set_to_js(result.inside));
212-
invalidated->Set(Nan::New(inside_string), marker_ids_set_to_js(result.inside));
213-
invalidated->Set(Nan::New(overlap_string), marker_ids_set_to_js(result.overlap));
214-
invalidated->Set(Nan::New(surround_string), marker_ids_set_to_js(result.surround));
210+
Nan::Set(invalidated, Nan::New(touch_string), marker_ids_set_to_js(result.touch));
211+
Nan::Set(invalidated, Nan::New(inside_string), marker_ids_set_to_js(result.inside));
212+
Nan::Set(invalidated, Nan::New(inside_string), marker_ids_set_to_js(result.inside));
213+
Nan::Set(invalidated, Nan::New(overlap_string), marker_ids_set_to_js(result.overlap));
214+
Nan::Set(invalidated, Nan::New(surround_string), marker_ids_set_to_js(result.surround));
215215
info.GetReturnValue().Set(invalidated);
216216
}
217217
}
@@ -243,8 +243,8 @@ void MarkerIndexWrapper::get_range(const Nan::FunctionCallbackInfo<Value> &info)
243243
if (id) {
244244
Range range = wrapper->marker_index.get_range(*id);
245245
auto result = Nan::New<Object>();
246-
result->Set(Nan::New(start_string), PointWrapper::from_point(range.start));
247-
result->Set(Nan::New(end_string), PointWrapper::from_point(range.end));
246+
Nan::Set(result, Nan::New(start_string), PointWrapper::from_point(range.start));
247+
Nan::Set(result, Nan::New(end_string), PointWrapper::from_point(range.end));
248248
info.GetReturnValue().Set(result);
249249
}
250250
}
@@ -353,18 +353,18 @@ void MarkerIndexWrapper::find_boundaries_after(const Nan::FunctionCallbackInfo<V
353353
if (start && max_count) {
354354
MarkerIndex::BoundaryQueryResult result = wrapper->marker_index.find_boundaries_after(*start, *max_count);
355355
Local<Object> js_result = Nan::New<Object>();
356-
js_result->Set(Nan::New(containing_start_string), marker_ids_vector_to_js(result.containing_start));
356+
Nan::Set(js_result, Nan::New(containing_start_string), marker_ids_vector_to_js(result.containing_start));
357357

358358
Local<Array> js_boundaries = Nan::New<Array>(result.boundaries.size());
359359
for (size_t i = 0; i < result.boundaries.size(); i++) {
360360
MarkerIndex::Boundary boundary = result.boundaries[i];
361361
Local<Object> js_boundary = Nan::New<Object>();
362-
js_boundary->Set(Nan::New(position_string), PointWrapper::from_point(boundary.position));
363-
js_boundary->Set(Nan::New(starting_string), marker_ids_set_to_js(boundary.starting));
364-
js_boundary->Set(Nan::New(ending_string), marker_ids_set_to_js(boundary.ending));
365-
js_boundaries->Set(i, js_boundary);
362+
Nan::Set(js_boundary, Nan::New(position_string), PointWrapper::from_point(boundary.position));
363+
Nan::Set(js_boundary, Nan::New(starting_string), marker_ids_set_to_js(boundary.starting));
364+
Nan::Set(js_boundary, Nan::New(ending_string), marker_ids_set_to_js(boundary.ending));
365+
Nan::Set(js_boundaries, i, js_boundary);
366366
}
367-
js_result->Set(Nan::New(boundaries_string), js_boundaries);
367+
Nan::Set(js_result, Nan::New(boundaries_string), js_boundaries);
368368

369369
info.GetReturnValue().Set(js_result);
370370
}

src/bindings/patch-wrapper.cc

Lines changed: 33 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ class ChangeWrapper : public Nan::ObjectWrap {
3636
Nan::SetAccessor(instance_template, Nan::New("newEnd").ToLocalChecked(), get_new_end);
3737

3838
const auto &prototype_template = constructor_template->PrototypeTemplate();
39-
prototype_template->Set(Nan::New<String>("toString").ToLocalChecked(), Nan::New<FunctionTemplate>(to_string));
39+
Nan::SetTemplate(prototype_template, Nan::New<String>("toString").ToLocalChecked(), Nan::New<FunctionTemplate>(to_string), None);
4040
change_wrapper_constructor.Reset(Nan::GetFunction(constructor_template).ToLocalChecked());
4141
}
4242

@@ -45,13 +45,15 @@ class ChangeWrapper : public Nan::ObjectWrap {
4545
if (Nan::NewInstance(Nan::New(change_wrapper_constructor)).ToLocal(&result)) {
4646
(new ChangeWrapper(change))->Wrap(result);
4747
if (change.new_text) {
48-
result->Set(
48+
Nan::Set(
49+
result,
4950
Nan::New(new_text_string),
5051
string_conversion::string_to_js(change.new_text->content)
5152
);
5253
}
5354
if (change.old_text) {
54-
result->Set(
55+
Nan::Set(
56+
result,
5557
Nan::New(old_text_string),
5658
string_conversion::string_to_js(change.old_text->content)
5759
);
@@ -112,33 +114,33 @@ void PatchWrapper::init(Local<Object> exports) {
112114

113115
Local<FunctionTemplate> constructor_template_local = Nan::New<FunctionTemplate>(construct);
114116
constructor_template_local->SetClassName(Nan::New<String>("Patch").ToLocalChecked());
115-
constructor_template_local->Set(Nan::New("deserialize").ToLocalChecked(), Nan::New<FunctionTemplate>(deserialize));
116-
constructor_template_local->Set(Nan::New("compose").ToLocalChecked(), Nan::New<FunctionTemplate>(compose));
117+
Nan::SetTemplate(constructor_template_local, Nan::New("deserialize").ToLocalChecked(), Nan::New<FunctionTemplate>(deserialize), None);
118+
Nan::SetTemplate(constructor_template_local, Nan::New("compose").ToLocalChecked(), Nan::New<FunctionTemplate>(compose), None);
117119
constructor_template_local->InstanceTemplate()->SetInternalFieldCount(1);
118120
const auto &prototype_template = constructor_template_local->PrototypeTemplate();
119-
prototype_template->Set(Nan::New("delete").ToLocalChecked(), Nan::New<FunctionTemplate>(noop));
120-
prototype_template->Set(Nan::New("splice").ToLocalChecked(), Nan::New<FunctionTemplate>(splice));
121-
prototype_template->Set(Nan::New("spliceOld").ToLocalChecked(), Nan::New<FunctionTemplate>(splice_old));
122-
prototype_template->Set(Nan::New("copy").ToLocalChecked(), Nan::New<FunctionTemplate>(copy));
123-
prototype_template->Set(Nan::New("invert").ToLocalChecked(), Nan::New<FunctionTemplate>(invert));
124-
prototype_template->Set(Nan::New("getChanges").ToLocalChecked(), Nan::New<FunctionTemplate>(get_changes));
125-
prototype_template->Set(Nan::New("getChangesInOldRange").ToLocalChecked(),
126-
Nan::New<FunctionTemplate>(get_changes_in_old_range));
127-
prototype_template->Set(Nan::New("getChangesInNewRange").ToLocalChecked(),
128-
Nan::New<FunctionTemplate>(get_changes_in_new_range));
129-
prototype_template->Set(Nan::New("changeForOldPosition").ToLocalChecked(),
130-
Nan::New<FunctionTemplate>(change_for_old_position));
131-
prototype_template->Set(Nan::New("changeForNewPosition").ToLocalChecked(),
132-
Nan::New<FunctionTemplate>(change_for_new_position));
133-
prototype_template->Set(Nan::New("serialize").ToLocalChecked(), Nan::New<FunctionTemplate>(serialize));
134-
prototype_template->Set(Nan::New("getDotGraph").ToLocalChecked(), Nan::New<FunctionTemplate>(get_dot_graph));
135-
prototype_template->Set(Nan::New("getJSON").ToLocalChecked(), Nan::New<FunctionTemplate>(get_json));
136-
prototype_template->Set(Nan::New("rebalance").ToLocalChecked(), Nan::New<FunctionTemplate>(rebalance));
137-
prototype_template->Set(Nan::New("getChangeCount").ToLocalChecked(), Nan::New<FunctionTemplate>(get_change_count));
138-
prototype_template->Set(Nan::New("getBounds").ToLocalChecked(), Nan::New<FunctionTemplate>(get_bounds));
121+
Nan::SetTemplate(prototype_template, Nan::New("delete").ToLocalChecked(), Nan::New<FunctionTemplate>(noop), None);
122+
Nan::SetTemplate(prototype_template, Nan::New("splice").ToLocalChecked(), Nan::New<FunctionTemplate>(splice), None);
123+
Nan::SetTemplate(prototype_template, Nan::New("spliceOld").ToLocalChecked(), Nan::New<FunctionTemplate>(splice_old), None);
124+
Nan::SetTemplate(prototype_template, Nan::New("copy").ToLocalChecked(), Nan::New<FunctionTemplate>(copy), None);
125+
Nan::SetTemplate(prototype_template, Nan::New("invert").ToLocalChecked(), Nan::New<FunctionTemplate>(invert), None);
126+
Nan::SetTemplate(prototype_template, Nan::New("getChanges").ToLocalChecked(), Nan::New<FunctionTemplate>(get_changes), None);
127+
Nan::SetTemplate(prototype_template, Nan::New("getChangesInOldRange").ToLocalChecked(),
128+
Nan::New<FunctionTemplate>(get_changes_in_old_range), None);
129+
Nan::SetTemplate(prototype_template, Nan::New("getChangesInNewRange").ToLocalChecked(),
130+
Nan::New<FunctionTemplate>(get_changes_in_new_range), None);
131+
Nan::SetTemplate(prototype_template, Nan::New("changeForOldPosition").ToLocalChecked(),
132+
Nan::New<FunctionTemplate>(change_for_old_position), None);
133+
Nan::SetTemplate(prototype_template, Nan::New("changeForNewPosition").ToLocalChecked(),
134+
Nan::New<FunctionTemplate>(change_for_new_position), None);
135+
Nan::SetTemplate(prototype_template, Nan::New("serialize").ToLocalChecked(), Nan::New<FunctionTemplate>(serialize), None);
136+
Nan::SetTemplate(prototype_template, Nan::New("getDotGraph").ToLocalChecked(), Nan::New<FunctionTemplate>(get_dot_graph), None);
137+
Nan::SetTemplate(prototype_template, Nan::New("getJSON").ToLocalChecked(), Nan::New<FunctionTemplate>(get_json), None);
138+
Nan::SetTemplate(prototype_template, Nan::New("rebalance").ToLocalChecked(), Nan::New<FunctionTemplate>(rebalance), None);
139+
Nan::SetTemplate(prototype_template, Nan::New("getChangeCount").ToLocalChecked(), Nan::New<FunctionTemplate>(get_change_count), None);
140+
Nan::SetTemplate(prototype_template, Nan::New("getBounds").ToLocalChecked(), Nan::New<FunctionTemplate>(get_bounds), None);
139141
patch_wrapper_constructor_template.Reset(constructor_template_local);
140142
patch_wrapper_constructor.Reset(Nan::GetFunction(constructor_template_local).ToLocalChecked());
141-
exports->Set(Nan::New("Patch").ToLocalChecked(), Nan::New(patch_wrapper_constructor));
143+
Nan::Set(exports, Nan::New("Patch").ToLocalChecked(), Nan::New(patch_wrapper_constructor));
142144
}
143145

144146
PatchWrapper::PatchWrapper(Patch &&patch) : patch{std::move(patch)} {}
@@ -241,7 +243,7 @@ void PatchWrapper::get_changes(const Nan::FunctionCallbackInfo<Value> &info) {
241243

242244
size_t i = 0;
243245
for (auto change : patch.get_changes()) {
244-
js_result->Set(i++, ChangeWrapper::FromChange(change));
246+
Nan::Set(js_result, i++, ChangeWrapper::FromChange(change));
245247
}
246248

247249
info.GetReturnValue().Set(js_result);
@@ -258,7 +260,7 @@ void PatchWrapper::get_changes_in_old_range(const Nan::FunctionCallbackInfo<Valu
258260

259261
size_t i = 0;
260262
for (auto change : patch.grab_changes_in_old_range(*start, *end)) {
261-
js_result->Set(i++, ChangeWrapper::FromChange(change));
263+
Nan::Set(js_result, i++, ChangeWrapper::FromChange(change));
262264
}
263265

264266
info.GetReturnValue().Set(js_result);
@@ -276,7 +278,7 @@ void PatchWrapper::get_changes_in_new_range(const Nan::FunctionCallbackInfo<Valu
276278

277279
size_t i = 0;
278280
for (auto change : patch.grab_changes_in_new_range(*start, *end)) {
279-
js_result->Set(i++, ChangeWrapper::FromChange(change));
281+
Nan::Set(js_result, i++, ChangeWrapper::FromChange(change));
280282
}
281283

282284
info.GetReturnValue().Set(js_result);
@@ -352,12 +354,12 @@ void PatchWrapper::compose(const Nan::FunctionCallbackInfo<Value> &info) {
352354
Patch combination;
353355
bool left_to_right = true;
354356
for (uint32_t i = 0, n = js_patches->Length(); i < n; i++) {
355-
if (!js_patches->Get(i)->IsObject()) {
357+
if (!Nan::Get(js_patches, i).ToLocalChecked()->IsObject()) {
356358
Nan::ThrowTypeError("Patch.compose must be called with an array of patches");
357359
return;
358360
}
359361

360-
Local<Object> js_patch = Local<Object>::Cast(js_patches->Get(i));
362+
Local<Object> js_patch = Local<Object>::Cast(Nan::Get(js_patches, i).ToLocalChecked());
361363
if (!Nan::New(patch_wrapper_constructor_template)->HasInstance(js_patch)) {
362364
Nan::ThrowTypeError("Patch.compose must be called with an array of patches");
363365
return;

src/bindings/point-wrapper.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,14 @@ optional<Point> PointWrapper::point_from_js(Local<Value> value) {
2525
return optional<Point>{};
2626
}
2727

28-
Nan::MaybeLocal<Integer> maybe_row = Nan::To<Integer>(object->Get(Nan::New(row_string)));
28+
Nan::MaybeLocal<Integer> maybe_row = Nan::To<Integer>(Nan::Get(object, Nan::New(row_string)).ToLocalChecked());
2929
Local<Integer> js_row;
3030
if (!maybe_row.ToLocal(&js_row)) {
3131
Nan::ThrowTypeError("Expected an object with 'row' and 'column' properties.");
3232
return optional<Point>{};
3333
}
3434

35-
Nan::MaybeLocal<Integer> maybe_column = Nan::To<Integer>(object->Get(Nan::New(column_string)));
35+
Nan::MaybeLocal<Integer> maybe_column = Nan::To<Integer>(Nan::Get(object, Nan::New(column_string)).ToLocalChecked());
3636
Local<Integer> js_column;
3737
if (!maybe_column.ToLocal(&js_column)) {
3838
Nan::ThrowTypeError("Expected an object with 'row' and 'column' properties.");

src/bindings/range-wrapper.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ optional<Range> RangeWrapper::range_from_js(Local<Value> value) {
1515
return optional<Range>{};
1616
}
1717

18-
auto start = PointWrapper::point_from_js(object->Get(Nan::New(start_string)));
19-
auto end = PointWrapper::point_from_js(object->Get(Nan::New(end_string)));
18+
auto start = PointWrapper::point_from_js(Nan::Get(object, Nan::New(start_string)).ToLocalChecked());
19+
auto end = PointWrapper::point_from_js(Nan::Get(object, Nan::New(end_string)).ToLocalChecked());
2020
if (start && end) {
2121
return Range{*start, *end};
2222
} else {

0 commit comments

Comments
 (0)