У меня есть 2 класса C++, открытые как классы javascript, VanillaOption
и NoomraEngine
, оба наследующие от ObjectWrap
.
В следующем методе в NoomraEngine
я должен получить ранее "обернутый" VanillaOption
:
Handle<Value>
NoomraEngine::Price(const Arguments& args) {
HandleScope scope;
Local<Object> object = args[0]->ToObject(); // VanillaOption expected in args[0]
VanillaOption* equityOption = ObjectWrap::Unwrap<VanillaOption>(object);
Local<Number> x = Number::New(this->price(equityOption));
return scope.Close(x);
}
Все работает хорошо, за исключением того, что если я передаю в метод неправильный тип, нода падает в ObjectWrap::Unwrap
.
Мой вопрос в том, как я могу убедиться, что я получил правильный тип в args[0]
?