From 840df60fb1d34ced26df3d78d62cf41e35183083 Mon Sep 17 00:00:00 2001 From: karenzshea Date: Fri, 9 Mar 2018 16:31:10 +0100 Subject: [PATCH] update deprecated callback->Call call --- package.json | 2 +- src/extractor.cpp | 11 +++++++++-- src/extractor.hpp | 4 +++- src/nodejs_bindings.cpp | 35 +++++++++++++++++++++-------------- src/speed_lookup_bindings.cpp | 9 +++++---- 5 files changed, 39 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index 997caa3..075b861 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "dependencies": { "@mapbox/cloudfriend": "^1.9.0", "aws-sdk": "^2.3.5", - "nan": "^2.2.1", + "nan": "^2.9.0", "node-cmake": "^1.2.0", "node-pre-gyp": "^0.6.26", "tape": "^4.6.3" diff --git a/src/extractor.cpp b/src/extractor.cpp index b7fcd8f..bf70db5 100644 --- a/src/extractor.cpp +++ b/src/extractor.cpp @@ -81,7 +81,10 @@ Extractor::Extractor(const std::vector &osm_files, Database &db) : SetupDatabase(); } -Extractor::Extractor(const std::vector &osm_files, Database &db, const std::string &tagfilename) : db(db) +Extractor::Extractor(const std::vector &osm_files, + Database &db, + const std::string &tagfilename) + : db(db) { // add tags to tag filter object for use in way parsing if (!tagfilename.empty()) @@ -103,7 +106,11 @@ Extractor::Extractor(const std::vector &osm_files, Database &db, co SetupDatabase(); } -Extractor::Extractor(const char *buffer, std::size_t buffersize, const std::string &format, Database &db) : db(db) +Extractor::Extractor(const char *buffer, + std::size_t buffersize, + const std::string &format, + Database &db) + : db(db) { std::cerr << "Parsing OSM buffer in format " << format << " ... " << std::flush; osmium::io::File osmfile{buffer, buffersize, format}; diff --git a/src/extractor.hpp b/src/extractor.hpp index e20923b..761cb62 100644 --- a/src/extractor.hpp +++ b/src/extractor.hpp @@ -27,7 +27,9 @@ struct Extractor final : osmium::handler::Handler * @param d the Database object where everything will end up */ Extractor(const std::vector &osm_files, Database &d); - Extractor(const std::vector &osm_files, Database &d, const std::string &tagfilename); + Extractor(const std::vector &osm_files, + Database &d, + const std::string &tagfilename); /** * Constructs an extractor from in-memory OSM XML data. diff --git a/src/nodejs_bindings.cpp b/src/nodejs_bindings.cpp index 9f21a51..29cdff1 100644 --- a/src/nodejs_bindings.cpp +++ b/src/nodejs_bindings.cpp @@ -105,7 +105,8 @@ NAN_METHOD(Annotator::loadOSMExtract) { if (!info[1]->IsString() || !info[2]->IsFunction()) { - return Nan::ThrowTypeError("Expecting a string (or array of strings), a string, and a callback"); + return Nan::ThrowTypeError( + "Expecting a string (or array of strings), a string, and a callback"); } // convert tag file path into string const v8::String::Utf8Value tag_utf8String(info[1]); @@ -127,13 +128,15 @@ NAN_METHOD(Annotator::loadOSMExtract) return Nan::ThrowTypeError("Input OSM files array can't be empty"); for (std::uint32_t idx = 0; idx < file_array->Length(); ++idx) { - //std::cout << std::string(file_array->Get(idx)->ToString() << std::endl; if (!file_array->Get(idx)->IsString()) - return Nan::ThrowError("Unable to convert file path to Utf8String at place " + idx); + { + // TODO include the idx number in this error message + return Nan::ThrowError("Unable to convert file path to Utf8String"); + } const v8::String::Utf8Value file{file_array->Get(idx)}; if (!(*file)) - return Nan::ThrowError("Unable to convert file path to Utf8String at place " + idx); + return Nan::ThrowError("Unable to convert file path to Utf8String"); osm_paths.emplace_back(*file, file.length()); } } @@ -147,8 +150,8 @@ NAN_METHOD(Annotator::loadOSMExtract) Nan::Callback *callback, std::vector osm_paths_, std::string tag_path_) - : Nan::AsyncWorker(callback), self{self_}, osm_paths{std::move(osm_paths_)}, - tag_path{tag_path_} + : Nan::AsyncWorker(callback, "annotator:osm.load"), self{self_}, + osm_paths{std::move(osm_paths_)}, tag_path{tag_path_} { } @@ -176,7 +179,7 @@ NAN_METHOD(Annotator::loadOSMExtract) Nan::HandleScope scope; const constexpr auto argc = 1u; v8::Local argv[argc] = {Nan::Null()}; - callback->Call(argc, argv); + callback->Call(argc, argv, async_resource); } Annotator &self; @@ -186,7 +189,8 @@ NAN_METHOD(Annotator::loadOSMExtract) auto *callback = info.Length() == 3 ? new Nan::Callback{info[2].As()} : new Nan::Callback{info[1].As()}; - Nan::AsyncQueueWorker(new OSMLoader{*self, callback, std::move(osm_paths), std::move(tag_path)}); + Nan::AsyncQueueWorker( + new OSMLoader{*self, callback, std::move(osm_paths), std::move(tag_path)}); } NAN_METHOD(Annotator::annotateRouteFromNodeIds) @@ -234,7 +238,8 @@ NAN_METHOD(Annotator::annotateRouteFromNodeIds) explicit WayIdsFromNodeIdsLoader(Annotator &self_, Nan::Callback *callback, std::vector externalIds_) - : Nan::AsyncWorker(callback), self{self_}, externalIds{std::move(externalIds_)} + : Nan::AsyncWorker(callback, "annotator:osm.annotatefromnodeids"), self{self_}, + externalIds{std::move(externalIds_)} { } @@ -263,7 +268,7 @@ NAN_METHOD(Annotator::annotateRouteFromNodeIds) const constexpr auto argc = 2u; v8::Local argv[argc] = {Nan::Null(), annotated}; - callback->Call(argc, argv); + callback->Call(argc, argv, async_resource); } Annotator &self; @@ -322,7 +327,8 @@ NAN_METHOD(Annotator::annotateRouteFromLonLats) explicit WayIdsFromLonLatsLoader(Annotator &self_, Nan::Callback *callback, std::vector coordinates_) - : Nan::AsyncWorker(callback), self{self_}, coordinates{std::move(coordinates_)} + : Nan::AsyncWorker(callback, "annotator:osm.annotatefromlonlats"), self{self_}, + coordinates{std::move(coordinates_)} { } @@ -362,7 +368,7 @@ NAN_METHOD(Annotator::annotateRouteFromLonLats) const constexpr auto argc = 2u; v8::Local argv[argc] = {Nan::Null(), annotated}; - callback->Call(argc, argv); + callback->Call(argc, argv, async_resource); } Annotator &self; @@ -389,7 +395,8 @@ NAN_METHOD(Annotator::getAllTagsForWayId) struct TagsForWayIdLoader final : Nan::AsyncWorker { explicit TagsForWayIdLoader(Annotator &self_, Nan::Callback *callback, wayid_t wayId_) - : Nan::AsyncWorker(callback), self{self_}, wayId{std::move(wayId_)} + : Nan::AsyncWorker(callback, "annotator:osm.gettagsforids"), self{self_}, + wayId{std::move(wayId_)} { } @@ -413,7 +420,7 @@ NAN_METHOD(Annotator::getAllTagsForWayId) const constexpr auto argc = 2u; v8::Local argv[argc] = {Nan::Null(), tags}; - callback->Call(argc, argv); + callback->Call(argc, argv, async_resource); } Annotator &self; diff --git a/src/speed_lookup_bindings.cpp b/src/speed_lookup_bindings.cpp index d1c302d..aa10721 100644 --- a/src/speed_lookup_bindings.cpp +++ b/src/speed_lookup_bindings.cpp @@ -89,7 +89,7 @@ NAN_METHOD(SpeedLookup::loadCSV) explicit CSVLoader(v8::Local self_, Nan::Callback *callback, std::vector paths_) - : Nan::AsyncWorker(callback), paths{std::move(paths_)} + : Nan::AsyncWorker(callback, "annotator:speed.load"), paths{std::move(paths_)} { SaveToPersistent("self", self_); } @@ -118,7 +118,7 @@ NAN_METHOD(SpeedLookup::loadCSV) swap(unwrapped->datamap, map); const constexpr auto argc = 1u; v8::Local argv[argc] = {Nan::Null()}; - callback->Call(argc, argv); + callback->Call(argc, argv, async_resource); } std::vector paths; @@ -176,7 +176,8 @@ NAN_METHOD(SpeedLookup::getRouteSpeeds) Worker(std::shared_ptr datamap_, Nan::Callback *callback, std::vector nodeIds) - : Base(callback), datamap{datamap_}, nodeIds(std::move(nodeIds)) + : Base(callback, "annotator:speed.annotatefromnodeids"), datamap{datamap_}, + nodeIds(std::move(nodeIds)) { } @@ -208,7 +209,7 @@ NAN_METHOD(SpeedLookup::getRouteSpeeds) const auto argc = 2u; v8::Local argv[argc] = {Nan::Null(), jsAnnotations}; - callback->Call(argc, argv); + callback->Call(argc, argv, async_resource); } std::shared_ptr datamap;