| 485 | } |
| 486 | |
| 487 | ::Windows::Foundation::Rect RectFromJs(Local<Value> value) { |
| 488 | ::Windows::Foundation::Rect rect = ::Windows::Foundation::Rect::Empty; |
| 489 | |
| 490 | if (!value->IsObject()) { |
| 491 | Nan::ThrowError(Nan::Error( |
| 492 | NodeRT::Utils::NewString(L"Value to set is of unexpected type"))); |
| 493 | return rect; |
| 494 | } |
| 495 | |
| 496 | Local<Object> obj = Nan::To<Object>(value).ToLocalChecked(); |
| 497 | |
| 498 | if (Nan::Has(obj, Nan::New<String>("x").ToLocalChecked()).FromMaybe(false)) { |
| 499 | rect.X = static_cast<float>( |
| 500 | Nan::To<double>(Nan::Get(obj, Nan::New<String>("x").ToLocalChecked()) |
| 501 | .ToLocalChecked()) |
| 502 | .FromMaybe(0.0)); |
| 503 | } |
| 504 | |
| 505 | if (Nan::Has(obj, Nan::New<String>("y").ToLocalChecked()).FromMaybe(false)) { |
| 506 | rect.Y = static_cast<float>( |
| 507 | Nan::To<double>(Nan::Get(obj, Nan::New<String>("y").ToLocalChecked()) |
| 508 | .ToLocalChecked()) |
| 509 | .FromMaybe(0.0)); |
| 510 | } |
| 511 | |
| 512 | if (Nan::Has(obj, Nan::New<String>("height").ToLocalChecked()) |
| 513 | .FromMaybe(false)) { |
| 514 | rect.Height = static_cast<float>( |
| 515 | Nan::To<double>( |
| 516 | Nan::Get(obj, Nan::New<String>("height").ToLocalChecked()) |
| 517 | .ToLocalChecked()) |
| 518 | .FromMaybe(0.0)); |
| 519 | } |
| 520 | |
| 521 | if (Nan::Has(obj, Nan::New<String>("width").ToLocalChecked()) |
| 522 | .FromMaybe(false)) { |
| 523 | rect.Width = static_cast<float>( |
| 524 | Nan::To<double>( |
| 525 | Nan::Get(obj, Nan::New<String>("width").ToLocalChecked()) |
| 526 | .ToLocalChecked()) |
| 527 | .FromMaybe(0.0)); |
| 528 | } |
| 529 | |
| 530 | return rect; |
| 531 | } |
| 532 | |
| 533 | bool IsRect(Local<Value> value) { |
| 534 | if (!value->IsObject()) { |
nothing calls this directly
no test coverage detected