|
1 | 1 | /* Node.js Crypt(3) implementation */ |
2 | 2 |
|
3 | | -#include <node.h> |
4 | 3 | #include <v8.h> |
5 | 4 | #include <errno.h> |
6 | 5 | #include <unistd.h> // for crypt if _XOPEN_SOURCE exists |
|
9 | 8 | using namespace v8; |
10 | 9 |
|
11 | 10 | NAN_METHOD(Method) { |
12 | | - NanScope(); |
| 11 | + Nan::HandleScope scope; |
13 | 12 |
|
14 | | - if (args.Length() < 2) { |
15 | | - return NanThrowTypeError("Wrong number of arguments"); |
| 13 | + if (info.Length() < 2) { |
| 14 | + return Nan::ThrowTypeError("Wrong number of arguments"); |
16 | 15 | } |
17 | 16 |
|
18 | | - if (!args[0]->IsString() || !args[1]->IsString()) { |
19 | | - return NanThrowTypeError("Wrong arguments"); |
| 17 | + if (!info[0]->IsString() || !info[1]->IsString()) { |
| 18 | + return Nan::ThrowTypeError("Wrong arguments"); |
20 | 19 | } |
21 | 20 |
|
22 | | - v8::String::Utf8Value key(args[0]->ToString()); |
23 | | - v8::String::Utf8Value salt(args[1]->ToString()); |
| 21 | + v8::String::Utf8Value key(info[0]->ToString()); |
| 22 | + v8::String::Utf8Value salt(info[1]->ToString()); |
24 | 23 |
|
25 | 24 | char* res = crypt(*key, *salt); |
26 | 25 | if (res != NULL) { |
27 | | - NanReturnValue(NanNew<String>(res)); |
| 26 | + info.GetReturnValue().Set(Nan::New<String>(res).ToLocalChecked()); |
28 | 27 | } else { |
29 | | - return NanThrowError(node::ErrnoException(errno, "crypt")); |
| 28 | + return Nan::ThrowError(Nan::NanErrnoException(errno, "crypt")); |
30 | 29 | } |
31 | 30 | } |
32 | 31 |
|
33 | 32 | void init(Handle<Object> exports) { |
34 | | - exports->Set(NanNew<String>("crypt"), NanNew<FunctionTemplate>(Method)->GetFunction()); |
| 33 | + exports->Set(Nan::New<String>("crypt").ToLocalChecked(), |
| 34 | + Nan::New<FunctionTemplate>(Method)->GetFunction()); |
35 | 35 | } |
36 | 36 |
|
37 | 37 | NODE_MODULE(crypt3, init) |
|
0 commit comments