| 20 | } |
| 21 | |
| 22 | @TX.ToWinRT(Model) @(Model.Name)FromJsObject(Local<Value> value) { |
| 23 | HandleScope scope; |
| 24 | @TX.ToWinRT(Model) returnValue; |
| 25 | |
| 26 | if (!value->IsObject()) { |
| 27 | Nan::ThrowError(Nan::TypeError(NodeRT::Utils::NewString(L"Unexpected type, expected an object"))); |
| 28 | return returnValue; |
| 29 | } |
| 30 | |
| 31 | Local<Object> obj = Nan::To<Object>(value).ToLocalChecked(); |
| 32 | Local<String> symbol; |
| 33 | |
| 34 | @foreach (var field in Model.GetFields()) |
| 35 | { |
| 36 | @:symbol = Nan::New<String>("@TX.Uncap(field.Name)").ToLocalChecked(); |
| 37 | @:if (Nan::Has(obj, symbol).FromMaybe(false)) { |
| 38 | var winRtConversionInfo = Converter.ToWinRT(field.FieldType); |
| 39 | @: returnValue.@(field.Name) = @(String.Format(winRtConversionInfo[1],"Nan::Get(obj,symbol).ToLocalChecked()")); |
| 40 | @:} |
| 41 | @: |
| 42 | } |
| 43 | return returnValue; |
| 44 | } |
| 45 | |
| 46 | Local<Value> @(Model.Name)ToJsObject(@TX.ToWinRT(Model) value) { |
| 47 | EscapableHandleScope scope; |