in src/Authentication.cc [38:60]
void TokenSupplierProxy(Napi::Env env, Napi::Function jsCallback, TokenSupplierProxyData *data) {
Napi::Value ret = jsCallback.Call({});
if (ret.IsPromise()) {
Napi::Promise promise = ret.As<Napi::Promise>();
Napi::Value thenValue = promise.Get("then");
if (thenValue.IsFunction()) {
Napi::Function then = thenValue.As<Napi::Function>();
Napi::Function callback = Napi::Function::New(env, [data](const Napi::CallbackInfo &info) {
Napi::Value value = info[0];
if (value.IsString()) {
data->token = value.ToString().Utf8Value();
}
data->callback();
});
then.Call(promise, {callback});
return;
}
}
if (ret.IsString()) {
data->token = ret.ToString().Utf8Value();
}
data->callback();
}