| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 | 
							- /*********************************************************************
 
-  * NAN - Native Abstractions for Node.js
 
-  *
 
-  * Copyright (c) 2018 NAN contributors
 
-  *
 
-  * MIT License <https://github.com/nodejs/nan/blob/master/LICENSE.md>
 
-  ********************************************************************/
 
- #ifndef NAN_CONVERTERS_43_INL_H_
 
- #define NAN_CONVERTERS_43_INL_H_
 
- #define X(TYPE)                                                                \
 
- imp::ToFactory<v8::TYPE>::return_t                                             \
 
- imp::ToFactory<v8::TYPE>::convert(v8::Local<v8::Value> val) {                  \
 
-   v8::Isolate *isolate = v8::Isolate::GetCurrent();                            \
 
-   v8::EscapableHandleScope scope(isolate);                                     \
 
-   return scope.Escape(                                                         \
 
-       val->To ## TYPE(isolate->GetCurrentContext())                            \
 
-           .FromMaybe(v8::Local<v8::TYPE>()));                                  \
 
- }
 
- X(Number)
 
- X(String)
 
- X(Object)
 
- X(Integer)
 
- X(Uint32)
 
- X(Int32)
 
- // V8 <= 7.0
 
- #if V8_MAJOR_VERSION < 7 || (V8_MAJOR_VERSION == 7 && V8_MINOR_VERSION == 0)
 
- X(Boolean)
 
- #else
 
- imp::ToFactory<v8::Boolean>::return_t                                          \
 
- imp::ToFactory<v8::Boolean>::convert(v8::Local<v8::Value> val) {               \
 
-   v8::Isolate *isolate = v8::Isolate::GetCurrent();                            \
 
-   v8::EscapableHandleScope scope(isolate);                                     \
 
-   return scope.Escape(val->ToBoolean(isolate));                                \
 
- }
 
- #endif
 
- #undef X
 
- #define X(TYPE, NAME)                                                          \
 
- imp::ToFactory<TYPE>::return_t                                                 \
 
- imp::ToFactory<TYPE>::convert(v8::Local<v8::Value> val) {                      \
 
-   v8::Isolate *isolate = v8::Isolate::GetCurrent();                            \
 
-   v8::HandleScope scope(isolate);                                              \
 
-   return val->NAME ## Value(isolate->GetCurrentContext());                     \
 
- }
 
- X(double, Number)
 
- X(int64_t, Integer)
 
- X(uint32_t, Uint32)
 
- X(int32_t, Int32)
 
- // V8 <= 7.0
 
- #if V8_MAJOR_VERSION < 7 || (V8_MAJOR_VERSION == 7 && V8_MINOR_VERSION == 0)
 
- X(bool, Boolean)
 
- #else
 
- imp::ToFactory<bool>::return_t                                                 \
 
- imp::ToFactory<bool>::convert(v8::Local<v8::Value> val) {                      \
 
-   v8::Isolate *isolate = v8::Isolate::GetCurrent();                            \
 
-   v8::HandleScope scope(isolate);                                              \
 
-   return Just<bool>(val->BooleanValue(isolate));                               \
 
- }
 
- #endif
 
- #undef X
 
- #endif  // NAN_CONVERTERS_43_INL_H_
 
 
  |