| 272 | } |
| 273 | |
| 274 | bool IsWinRtWrapper(Local<Value> value) { |
| 275 | if (value.IsEmpty() || (!value->IsObject() && !value->IsNull())) { |
| 276 | return false; |
| 277 | } |
| 278 | |
| 279 | // allow passing nulls when a WinRT wrapped object is expected |
| 280 | if (value->IsNull()) { |
| 281 | return true; |
| 282 | } |
| 283 | |
| 284 | if (NodeRT::OpaqueWrapper::IsOpaqueWrapper(value)) { |
| 285 | return true; |
| 286 | } |
| 287 | |
| 288 | Local<Value> hiddenVal = |
| 289 | GetHiddenValue(Nan::To<Object>(value).ToLocalChecked(), |
| 290 | Nan::New<String>("__winRtInstance__").ToLocalChecked()); |
| 291 | |
| 292 | return (!hiddenVal.IsEmpty() && hiddenVal->IsTrue()); |
| 293 | } |
| 294 | |
| 295 | void SetHiddenValue(Local<Object> obj, |
| 296 | Local<String> symbol, |
no test coverage detected