Fix unwrap

This commit is contained in:
Luis Blanco 2020-03-21 12:09:19 +03:00
parent c6435911f6
commit 753e39c6b1
2 changed files with 21 additions and 13 deletions

View File

@ -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) { \

14
package-lock.json generated
View File

@ -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": {