diff --git a/package.json b/package.json index bce23f6..e968e84 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ , "node" , "native" ] - , "engines": { "node": ">=0.6.0 <0.13" } + , "engines": { "node": ">= 11.7.0" } , "main": "./lib/rrd" , "scripts": { "test": "cd test; make" @@ -21,7 +21,7 @@ , "dependencies": { "bindings": "*" , "arguee": ">=0.0.2" - , "nan": ">=2.0.9" + , "nan": ">=2.14.1" } , "devDependencies": { "mocha": ">=1.3.0" diff --git a/src/node_rrd.h b/src/node_rrd.h index ccf0ae8..edb1b67 100644 --- a/src/node_rrd.h +++ b/src/node_rrd.h @@ -60,7 +60,7 @@ class AsyncInfos { /* Some useful macros to extract arguments */ #define SET_CHARS_ARG(I, VAR) \ - String::Utf8Value _chars ## I(info[I]->ToString()); \ + Nan::Utf8String _chars ## I (info[I]); \ VAR = strndup(*_chars ## I, _chars ## I.length()); #define SET_ARGC_ARGV_ARG(I, VAR_ARGC, VAR_ARGV) \ @@ -68,7 +68,7 @@ class AsyncInfos { VAR_ARGC = argv ## I->Length(); \ VAR_ARGV = (char**)malloc(sizeof(char*) * VAR_ARGC); \ for (int i = 0; i < VAR_ARGC; i++) { \ - String::Utf8Value arg(argv ## I->Get(i)); \ + Nan::Utf8String arg(argv ## I->Get(i)); \ VAR_ARGV[i] = strndup(*arg, arg.length()); \ } diff --git a/src/node_rrd_fetch.cc b/src/node_rrd_fetch.cc index a8ae53f..faa7f21 100644 --- a/src/node_rrd_fetch.cc +++ b/src/node_rrd_fetch.cc @@ -138,8 +138,8 @@ static void async_after(uv_work_t *req) { Local current_data_to_object(unsigned long ds_cnt, char ** ds_namv, rrd_value_t *data) { Nan::EscapableHandleScope scope; - auto obj = ObjectTemplate::New(); - auto result = obj->NewInstance(); + auto obj = ObjectTemplate::New(v8::Isolate::GetCurrent()); + auto result = obj->NewInstance(Nan::GetCurrentContext()).ToLocalChecked(); unsigned long ii; rrd_value_t *datai; diff --git a/src/node_rrd_info.cc b/src/node_rrd_info.cc index bf35f0a..483f0a1 100644 --- a/src/node_rrd_info.cc +++ b/src/node_rrd_info.cc @@ -83,8 +83,8 @@ static void async_after(uv_work_t *req) { static Localinfo_data_to_object(rrd_info_t *data) { Nan::EscapableHandleScope scope; - auto info = ObjectTemplate::New(); - auto instance = info->NewInstance(); + auto info = ObjectTemplate::New(v8::Isolate::GetCurrent()); + auto instance = info->NewInstance(Nan::GetCurrentContext()).ToLocalChecked(); while (data) { v8::Local key = Nan::New(data->key).ToLocalChecked();