@@ -12,6 +12,10 @@ void StaticSetter(const Napi::CallbackInfo& /*info*/,
12
12
testStaticContextRef.Value ().Set (" value" , value);
13
13
}
14
14
15
+ void StaticMethodVoidCb (const Napi::CallbackInfo& info) {
16
+ StaticSetter (info, info[0 ].As <Napi::Number>());
17
+ }
18
+
15
19
Napi::Value TestStaticMethod (const Napi::CallbackInfo& info) {
16
20
std::string str = MaybeUnwrap (info[0 ].ToString ());
17
21
return Napi::String::New (info.Env (), str + " static" );
@@ -53,6 +57,15 @@ class Test : public Napi::ObjectWrap<Test> {
53
57
return static_cast <Test*>(info.Data ())->Getter (info);
54
58
}
55
59
60
+ static Napi::Value CanUnWrap (const Napi::CallbackInfo& info) {
61
+ Napi::Object wrappedObject = info[0 ].As <Napi::Object>();
62
+ std::string expectedString = info[1 ].As <Napi::String>();
63
+ Test* nativeObject = Test::Unwrap (wrappedObject);
64
+ std::string strVal = MaybeUnwrap (nativeObject->Getter (info).ToString ());
65
+
66
+ return Napi::Boolean::New (info.Env (), strVal == expectedString);
67
+ }
68
+
56
69
void Setter (const Napi::CallbackInfo& /* info*/ , const Napi::Value& value) {
57
70
value_ = MaybeUnwrap (value.ToString ());
58
71
}
@@ -115,7 +128,8 @@ class Test : public Napi::ObjectWrap<Test> {
115
128
Napi::Symbol::New (env, " kTestStaticMethodTInternal" );
116
129
Napi::Symbol kTestStaticVoidMethodTInternal =
117
130
Napi::Symbol::New (env, " kTestStaticVoidMethodTInternal" );
118
-
131
+ Napi::Symbol kTestStaticVoidMethodInternal =
132
+ Napi::Symbol::New (env, " kTestStaticVoidMethodInternal" );
119
133
Napi::Symbol kTestValueInternal =
120
134
Napi::Symbol::New (env, " kTestValueInternal" );
121
135
Napi::Symbol kTestAccessorInternal =
@@ -147,6 +161,8 @@ class Test : public Napi::ObjectWrap<Test> {
147
161
kTestStaticMethodInternal ),
148
162
StaticValue (" kTestStaticMethodTInternal" ,
149
163
kTestStaticMethodTInternal ),
164
+ StaticValue (" kTestStaticVoidMethodInternal" ,
165
+ kTestStaticVoidMethodInternal ),
150
166
StaticValue (" kTestStaticVoidMethodTInternal" ,
151
167
kTestStaticVoidMethodTInternal ),
152
168
StaticValue (" kTestValueInternal" , kTestValueInternal ),
@@ -184,7 +200,11 @@ class Test : public Napi::ObjectWrap<Test> {
184
200
" testStaticGetSetT" ),
185
201
StaticAccessor<&StaticGetter, &StaticSetter>(
186
202
kTestStaticAccessorTInternal ),
187
-
203
+ StaticMethod (
204
+ " testStaticVoidMethod" , &StaticMethodVoidCb, napi_default),
205
+ StaticMethod (kTestStaticVoidMethodInternal ,
206
+ &StaticMethodVoidCb,
207
+ napi_default),
188
208
StaticMethod (
189
209
" testStaticMethod" , &TestStaticMethod, napi_enumerable),
190
210
StaticMethod (kTestStaticMethodInternal ,
@@ -195,7 +215,7 @@ class Test : public Napi::ObjectWrap<Test> {
195
215
StaticMethod<&TestStaticVoidMethodT>(
196
216
kTestStaticVoidMethodTInternal ),
197
217
StaticMethod<&TestStaticMethodT>(kTestStaticMethodTInternal ),
198
-
218
+ StaticMethod ( " canUnWrap " , &CanUnWrap, napi_enumerable),
199
219
InstanceValue (" testValue" ,
200
220
Napi::Boolean::New (env, true ),
201
221
napi_enumerable),
0 commit comments