MCPcopy Create free account
hub / github.com/NodeRT/NodeRT / FromJsObject

Function FromJsObject

src/NodeRTLib/CppTemplates/ValueType.cpp:22–44  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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;

Callers

nothing calls this directly

Calls 2

NewStringFunction · 0.85
ToWinRTMethod · 0.45

Tested by

no test coverage detected