diff --git a/web/cpp/SQLiteQueryExecutorBindings.cpp b/web/cpp/SQLiteQueryExecutorBindings.cpp new file mode 100644 --- /dev/null +++ b/web/cpp/SQLiteQueryExecutorBindings.cpp @@ -0,0 +1,36 @@ +#include +#include + +namespace emscripten { +namespace internal { + +template +struct BindingType> { + using ValBinding = BindingType; + using WireType = ValBinding::WireType; + + static WireType toWireType(const std::vector &vec) { + std::vector valVec(vec.begin(), vec.end()); + return BindingType::toWireType(val::array(valVec)); + } + + static std::vector fromWireType(WireType value) { + return vecFromJSArray(ValBinding::fromWireType(value)); + } +}; + +template +struct TypeID< + T, + typename std::enable_if_t::type, + std::vector< + typename Canonicalized::type::value_type, + typename Canonicalized::type::allocator_type>>::value>> { + static constexpr TYPEID get() { + return TypeID::get(); + } +}; + +} // namespace internal +} // namespace emscripten diff --git a/web/scripts/run_emscripten.sh b/web/scripts/run_emscripten.sh --- a/web/scripts/run_emscripten.sh +++ b/web/scripts/run_emscripten.sh @@ -87,6 +87,7 @@ ) INPUT_FILES=( + "${WEB_CPP_DIR}SQLiteQueryExecutorBindings.cpp" "${INPUT_DIR}CommQueryExecutor.cpp" "${INPUT_DIR}SQLiteQueryExecutor.cpp" "${WEB_CPP_DIR}Logger.cpp"