Fix unwrap
This commit is contained in:
parent
c6435911f6
commit
753e39c6b1
|
@ -119,6 +119,9 @@
|
|||
|
||||
#define LET_BOOL_ARG(I, VAR) USE_BOOL_ARG(I, VAR, false)
|
||||
|
||||
#define SOFT_BOOL_ARG(I, VAR) \
|
||||
bool VAR = info.Length() >= (I) && info[I].ToBoolean().Value() || false;
|
||||
|
||||
|
||||
#define REQ_OFFS_ARG(I, VAR) \
|
||||
CHECK_REQ_ARG(I, IsNumber(), "Number"); \
|
||||
|
@ -188,6 +191,12 @@
|
|||
CHECK_REQ_ARG(I, IsArrayBuffer(), "Object"); \
|
||||
Napi::ArrayBuffer VAR = info[I].As<Napi::ArrayBuffer>();
|
||||
|
||||
#define USE_ARRAY_ARG(I, VAR, DEF) \
|
||||
CHECK_LET_ARG(I, IsArray(), "Array"); \
|
||||
Napi::Array VAR = IS_ARG_EMPTY(I) ? (DEF) : info[I].As<Napi::Array>();
|
||||
|
||||
#define LET_ARRAY_ARG(I, VAR) USE_ARRAY_ARG(I, VAR, Napi::Array::New(env));
|
||||
|
||||
|
||||
#define REQ_BUF_ARG(I, VAR) \
|
||||
CHECK_REQ_ARG(I, IsBuffer(), "Buffer"); \
|
||||
|
@ -527,11 +536,14 @@ typedef void (*Es5SetterCallback)(const Napi::CallbackInfo& info);
|
|||
public: \
|
||||
inline static CLASS *unwrap(Napi::Object thatObj) { \
|
||||
CLASS *that; \
|
||||
napi_unwrap( \
|
||||
napi_status ns = napi_unwrap( \
|
||||
thatObj.Env(), \
|
||||
thatObj.Get(_nameEs5), \
|
||||
reinterpret_cast<void**>(&that) \
|
||||
); \
|
||||
if (ns != napi_ok) { \
|
||||
return nullptr; \
|
||||
} \
|
||||
return that; \
|
||||
} \
|
||||
private: \
|
||||
|
@ -630,11 +642,7 @@ private: \
|
|||
|
||||
|
||||
#define JS_GET_THAT(CLASS) \
|
||||
CLASS *that; \
|
||||
Napi::Object thatObj = info.This().As<Napi::Object>(); \
|
||||
napi_unwrap( \
|
||||
info.Env(), thatObj.Get(_nameEs5), reinterpret_cast<void**>(&that) \
|
||||
);
|
||||
CLASS *that = CLASS::unwrap(info.This().As<Napi::Object>());
|
||||
|
||||
#define JS_DECLARE_METHOD(CLASS, NAME) \
|
||||
inline static JS_METHOD(__st_##NAME) { \
|
||||
|
|
|
@ -140,16 +140,16 @@
|
|||
}
|
||||
},
|
||||
"minimist": {
|
||||
"version": "0.0.8",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
|
||||
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
||||
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
|
||||
},
|
||||
"mkdirp": {
|
||||
"version": "0.5.1",
|
||||
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
|
||||
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
|
||||
"version": "0.5.3",
|
||||
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz",
|
||||
"integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==",
|
||||
"requires": {
|
||||
"minimist": "0.0.8"
|
||||
"minimist": "^1.2.5"
|
||||
}
|
||||
},
|
||||
"node-addon-api": {
|
||||
|
|
Loading…
Reference in New Issue