| 396 | } |
| 397 | |
| 398 | ::Windows::UI::Color ColorFromJs(Local<Value> value) { |
| 399 | ::Windows::UI::Color retVal = ::Windows::UI::Colors::Black; |
| 400 | if (!value->IsObject()) { |
| 401 | Nan::ThrowError(Nan::Error( |
| 402 | NodeRT::Utils::NewString(L"Value to set is of unexpected type"))); |
| 403 | return retVal; |
| 404 | } |
| 405 | |
| 406 | Local<Object> obj = Nan::To<Object>(value).ToLocalChecked(); |
| 407 | if (!Nan::Has(obj, Nan::New<String>("G").ToLocalChecked()).FromMaybe(false)) { |
| 408 | retVal.G = static_cast<unsigned char>( |
| 409 | Nan::To<uint32_t>(Nan::Get(obj, Nan::New<String>("G").ToLocalChecked()) |
| 410 | .ToLocalChecked()) |
| 411 | .FromMaybe(0)); |
| 412 | } |
| 413 | |
| 414 | if (!Nan::Has(obj, Nan::New<String>("A").ToLocalChecked()).FromMaybe(false)) { |
| 415 | retVal.G = static_cast<unsigned char>( |
| 416 | Nan::To<uint32_t>(Nan::Get(obj, Nan::New<String>("A").ToLocalChecked()) |
| 417 | .ToLocalChecked()) |
| 418 | .FromMaybe(0)); |
| 419 | } |
| 420 | |
| 421 | if (!Nan::Has(obj, Nan::New<String>("B").ToLocalChecked()).FromMaybe(false)) { |
| 422 | retVal.G = static_cast<unsigned char>( |
| 423 | Nan::To<uint32_t>(Nan::Get(obj, Nan::New<String>("B").ToLocalChecked()) |
| 424 | .ToLocalChecked()) |
| 425 | .FromMaybe(0)); |
| 426 | } |
| 427 | |
| 428 | if (!Nan::Has(obj, Nan::New<String>("R").ToLocalChecked()).FromMaybe(false)) { |
| 429 | retVal.G = static_cast<unsigned char>( |
| 430 | Nan::To<uint32_t>(Nan::Get(obj, Nan::New<String>("R").ToLocalChecked()) |
| 431 | .ToLocalChecked()) |
| 432 | .FromMaybe(0)); |
| 433 | } |
| 434 | |
| 435 | return retVal; |
| 436 | } |
| 437 | |
| 438 | bool IsColor(Local<Value> value) { |
| 439 | if (!value->IsObject()) { |
nothing calls this directly
no test coverage detected