Commit 723de4ca by Refael Ackermann Committed by Kewde

make compatible with V8 7.1 (#1093)

* make compatible with V8 7.1

* Remove use of two argument Concat

* fixup! bump nan
parent e173ebc9
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
"url": "git://github.com/mapbox/node-sqlite3.git" "url": "git://github.com/mapbox/node-sqlite3.git"
}, },
"dependencies": { "dependencies": {
"nan": "~2.10.0", "nan": "^2.12.1",
"node-pre-gyp": "^0.11.0", "node-pre-gyp": "^0.11.0",
"request": "^2.87.0" "request": "^2.87.0"
}, },
......
...@@ -37,7 +37,7 @@ void Database::Process() { ...@@ -37,7 +37,7 @@ void Database::Process() {
Nan::HandleScope scope; Nan::HandleScope scope;
if (!open && locked && !queue.empty()) { if (!open && locked && !queue.empty()) {
EXCEPTION(Nan::New("Database handle is closed").ToLocalChecked(), SQLITE_MISUSE, exception); EXCEPTION("Database handle is closed", SQLITE_MISUSE, exception);
Local<Value> argv[] = { exception }; Local<Value> argv[] = { exception };
bool called = false; bool called = false;
...@@ -85,7 +85,7 @@ void Database::Schedule(Work_Callback callback, Baton* baton, bool exclusive) { ...@@ -85,7 +85,7 @@ void Database::Schedule(Work_Callback callback, Baton* baton, bool exclusive) {
Nan::HandleScope scope; Nan::HandleScope scope;
if (!open && locked) { if (!open && locked) {
EXCEPTION(Nan::New("Database is closed").ToLocalChecked(), SQLITE_MISUSE, exception); EXCEPTION("Database is closed", SQLITE_MISUSE, exception);
Local<Function> cb = Nan::New(baton->callback); Local<Function> cb = Nan::New(baton->callback);
if (!cb.IsEmpty() && cb->IsFunction()) { if (!cb.IsEmpty() && cb->IsFunction()) {
Local<Value> argv[] = { exception }; Local<Value> argv[] = { exception };
...@@ -176,7 +176,7 @@ void Database::Work_AfterOpen(uv_work_t* req) { ...@@ -176,7 +176,7 @@ void Database::Work_AfterOpen(uv_work_t* req) {
Local<Value> argv[1]; Local<Value> argv[1];
if (baton->status != SQLITE_OK) { if (baton->status != SQLITE_OK) {
EXCEPTION(Nan::New(baton->message.c_str()).ToLocalChecked(), baton->status, exception); EXCEPTION(baton->message, baton->status, exception);
argv[0] = exception; argv[0] = exception;
} }
else { else {
...@@ -256,7 +256,7 @@ void Database::Work_AfterClose(uv_work_t* req) { ...@@ -256,7 +256,7 @@ void Database::Work_AfterClose(uv_work_t* req) {
Local<Value> argv[1]; Local<Value> argv[1];
if (baton->status != SQLITE_OK) { if (baton->status != SQLITE_OK) {
EXCEPTION(Nan::New(baton->message.c_str()).ToLocalChecked(), baton->status, exception); EXCEPTION(baton->message, baton->status, exception);
argv[0] = exception; argv[0] = exception;
} }
else { else {
...@@ -346,6 +346,9 @@ NAN_METHOD(Database::Configure) { ...@@ -346,6 +346,9 @@ NAN_METHOD(Database::Configure) {
} }
else { else {
return Nan::ThrowError(Exception::Error(String::Concat( return Nan::ThrowError(Exception::Error(String::Concat(
#if V8_MAJOR_VERSION > 6
info.GetIsolate(),
#endif
Nan::To<String>(info[0]).ToLocalChecked(), Nan::To<String>(info[0]).ToLocalChecked(),
Nan::New(" is not a valid configuration option").ToLocalChecked() Nan::New(" is not a valid configuration option").ToLocalChecked()
))); )));
...@@ -554,7 +557,7 @@ void Database::Work_AfterExec(uv_work_t* req) { ...@@ -554,7 +557,7 @@ void Database::Work_AfterExec(uv_work_t* req) {
Local<Function> cb = Nan::New(baton->callback); Local<Function> cb = Nan::New(baton->callback);
if (baton->status != SQLITE_OK) { if (baton->status != SQLITE_OK) {
EXCEPTION(Nan::New(baton->message.c_str()).ToLocalChecked(), baton->status, exception); EXCEPTION(baton->message, baton->status, exception);
if (!cb.IsEmpty() && cb->IsFunction()) { if (!cb.IsEmpty() && cb->IsFunction()) {
Local<Value> argv[] = { exception }; Local<Value> argv[] = { exception };
...@@ -656,7 +659,7 @@ void Database::Work_AfterLoadExtension(uv_work_t* req) { ...@@ -656,7 +659,7 @@ void Database::Work_AfterLoadExtension(uv_work_t* req) {
Local<Function> cb = Nan::New(baton->callback); Local<Function> cb = Nan::New(baton->callback);
if (baton->status != SQLITE_OK) { if (baton->status != SQLITE_OK) {
EXCEPTION(Nan::New(baton->message.c_str()).ToLocalChecked(), baton->status, exception); EXCEPTION(baton->message, baton->status, exception);
if (!cb.IsEmpty() && cb->IsFunction()) { if (!cb.IsEmpty() && cb->IsFunction()) {
Local<Value> argv[] = { exception }; Local<Value> argv[] = { exception };
......
...@@ -83,21 +83,15 @@ const char* sqlite_authorizer_string(int type); ...@@ -83,21 +83,15 @@ const char* sqlite_authorizer_string(int type);
Nan::New(property).ToLocalChecked()).ToLocalChecked()).FromJust(); Nan::New(property).ToLocalChecked()).ToLocalChecked()).FromJust();
#define EXCEPTION(msg, errno, name) \ #define EXCEPTION(msg, errno, name) \
Local<Value> name = Exception::Error( \ Local<Value> name = Exception::Error(Nan::New( \
String::Concat( \ std::string(sqlite_code_string(errno)) + \
String::Concat( \ std::string(": ") + std::string(msg) \
Nan::New(sqlite_code_string(errno)).ToLocalChecked(), \ ).ToLocalChecked()); \
Nan::New(": ").ToLocalChecked() \
), \
(msg) \
) \
); \
Local<Object> name ##_obj = name.As<Object>(); \ Local<Object> name ##_obj = name.As<Object>(); \
Nan::Set(name ##_obj, Nan::New("errno").ToLocalChecked(), Nan::New(errno));\ Nan::Set(name ##_obj, Nan::New("errno").ToLocalChecked(), Nan::New(errno));\
Nan::Set(name ##_obj, Nan::New("code").ToLocalChecked(), \ Nan::Set(name ##_obj, Nan::New("code").ToLocalChecked(), \
Nan::New(sqlite_code_string(errno)).ToLocalChecked()); Nan::New(sqlite_code_string(errno)).ToLocalChecked());
#define EMIT_EVENT(obj, argc, argv) \ #define EMIT_EVENT(obj, argc, argv) \
TRY_CATCH_CALL((obj), \ TRY_CATCH_CALL((obj), \
Nan::Get(obj, \ Nan::Get(obj, \
......
...@@ -65,7 +65,7 @@ template <class T> void Statement::Error(T* baton) { ...@@ -65,7 +65,7 @@ template <class T> void Statement::Error(T* baton) {
Statement* stmt = baton->stmt; Statement* stmt = baton->stmt;
// Fail hard on logic errors. // Fail hard on logic errors.
assert(stmt->status != 0); assert(stmt->status != 0);
EXCEPTION(Nan::New(stmt->message.c_str()).ToLocalChecked(), stmt->status, exception); EXCEPTION(stmt->message, stmt->status, exception);
Local<Function> cb = Nan::New(baton->callback); Local<Function> cb = Nan::New(baton->callback);
...@@ -857,7 +857,7 @@ void Statement::CleanQueue() { ...@@ -857,7 +857,7 @@ void Statement::CleanQueue() {
if (prepared && !queue.empty()) { if (prepared && !queue.empty()) {
// This statement has already been prepared and is now finalized. // This statement has already been prepared and is now finalized.
// Fire error for all remaining items in the queue. // Fire error for all remaining items in the queue.
EXCEPTION(Nan::New<String>("Statement is already finalized").ToLocalChecked(), SQLITE_MISUSE, exception); EXCEPTION("Statement is already finalized", SQLITE_MISUSE, exception);
Local<Value> argv[] = { exception }; Local<Value> argv[] = { exception };
bool called = false; bool called = false;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment