Недавно я играл с протоколными буферами Google (protobuf) в моем родном аддоне C ++ для Node.Моя путаница:
Как я могу вернуть свой объект protobuf из моего кода C ++ в землю Javascript, где он может быть исследован как обычный объект JS?Возможно ли это?
В настоящее время я использую неэффективный подход к строковому преобразованию в C ++ и синтаксическому анализу в Javascript, например:
string stringified;
google::protobuf::util::MessageToJsonString(protobuf, &stringified, options);
Local<Value> argv[] = { Nan::Null(), v8::String::NewFromUtf8(v8::Isolate::GetCurrent(), stringified.c_str()) };
Nan::Call(*callback, Nan::GetCurrentContext()->Global(), sizeof(argv)/sizeof(*argv), argv);
Очевидно, что это не идеально и не соответствует цели.Как правильно вернуть такой объект в V8?