55void attach_promise_handlers(Napi::Promise promise, Napi::Function resolve_handler, Napi::Function reject_handler);
82 const Napi::ThreadSafeFunction& callback,
83 const std::string& operation_name,
85 std::chrono::seconds timeout = std::chrono::seconds(30));
91 const std::string& input_str,
92 const std::string& operation_name);
98 const std::string& input_str1,
99 const std::string& input_str2,
100 const std::string& operation_name);
106 std::vector<uint8_t> buffer_data,
107 const std::string& operation_name);
const std::vector< MemoryValue > data
std::string ff_to_string(const bb::avm2::FF &value)
Converts an FF (field element) to a hex string.
std::vector< uint8_t > serialize_to_msgpack(const T &data)
Serializes data to msgpack format.
void attach_promise_handlers(Napi::Promise promise, Napi::Function resolve_handler, Napi::Function reject_handler)
Attaches resolve and reject handlers to a promise.
T deserialize_from_msgpack(const std::vector< uint8_t > &data, const std::string &type_name)
Deserializes msgpack data to a specific type.
Napi::Function create_reject_handler(Napi::Env env, std::shared_ptr< CallbackResults > cb_results)
Creates a reject handler for promises.
Napi::Function create_void_resolve_handler(Napi::Env env, std::shared_ptr< CallbackResults > cb_results)
Creates a resolve handler for promises that return void.
std::optional< std::vector< uint8_t > > invoke_single_string_callback(const Napi::ThreadSafeFunction &callback, const std::string &input_str, const std::string &operation_name)
Helper for callbacks that take a single string argument and return Buffer | undefined.
std::optional< std::vector< uint8_t > > invoke_ts_callback_with_promise(const Napi::ThreadSafeFunction &callback, const std::string &operation_name, std::function< void(Napi::Env, Napi::Function, std::shared_ptr< CallbackResults >)> call_js_function, std::chrono::seconds timeout)
Generic callback invoker that handles the full BlockingCall pattern.
Napi::Function create_buffer_resolve_handler(Napi::Env env, std::shared_ptr< CallbackResults > cb_results)
Creates a resolve handler for promises that return Buffer | undefined.
std::optional< std::vector< uint8_t > > invoke_double_string_callback(const Napi::ThreadSafeFunction &callback, const std::string &input_str1, const std::string &input_str2, const std::string &operation_name)
Helper for callbacks that take two string arguments and return string | undefined.
std::string extract_error_from_napi_value(const Napi::CallbackInfo &cb_info)
Extracts error message from a Napi value (string or Error object)
Napi::Function create_string_resolve_handler(Napi::Env env, std::shared_ptr< CallbackResults > cb_results)
Creates a resolve handler for promises that return string | undefined.
void invoke_buffer_void_callback(const Napi::ThreadSafeFunction &callback, std::vector< uint8_t > buffer_data, const std::string &operation_name)
Helper for callbacks that take a buffer and return void.
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Helper struct to pass data between C++ worker thread and JS main thread.
std::string error_message
std::promise< std::optional< std::vector< uint8_t > > > result_promise