1 /*********************************************************************
2 * NAN - Native Abstractions for Node.js
4 * Copyright (c) 2017 NAN contributors
6 * MIT License <https://github.com/nodejs/nan/blob/master/LICENSE.md>
7 ********************************************************************/
9 #ifndef NAN_CONVERTERS_43_INL_H_
10 #define NAN_CONVERTERS_43_INL_H_
13 imp::ToFactory<v8::TYPE>::return_t \
14 imp::ToFactory<v8::TYPE>::convert(v8::Local<v8::Value> val) { \
15 v8::Isolate *isolate = v8::Isolate::GetCurrent(); \
16 v8::EscapableHandleScope scope(isolate); \
17 return scope.Escape( \
18 val->To ## TYPE(v8::Isolate::GetCurrent()->GetCurrentContext()) \
19 .FromMaybe(v8::Local<v8::TYPE>())); \
32 #define X(TYPE, NAME) \
33 imp::ToFactory<TYPE>::return_t \
34 imp::ToFactory<TYPE>::convert(v8::Local<v8::Value> val) { \
35 v8::Isolate *isolate = v8::Isolate::GetCurrent(); \
36 v8::HandleScope scope(isolate); \
37 return val->NAME ## Value(isolate->GetCurrentContext()); \
48 #endif // NAN_CONVERTERS_43_INL_H_