PkmnLib/src/ScriptResolving/WASM/InterfaceMethods/WASMListRegistry.cpp

21 lines
913 B
C++

#include "WASMListRegistry.hpp"
#include "WASMHelperFile.hpp"
wasm_func_t* List_GetLength(WebAssemblyScriptResolver* resolver) {
return WasmHelpers::CreateFunc<size_t, const ArbUt::List<void*>*>(
resolver, {[](WebAssemblyScriptResolver*, const ArbUt::List<void*>* list) -> size_t { return list->Count(); }});
}
wasm_func_t* List_GetValue(WebAssemblyScriptResolver* resolver) {
return WasmHelpers::CreateFunc<void*, const ArbUt::List<void*>*, size_t>(
resolver, {[](WebAssemblyScriptResolver*, const ArbUt::List<void*>* list, size_t index) -> void* {
return list->At(index);
}});
}
void WASMListRegistry::Register(ArbUt::Dictionary<std::string, wasm_func_t*>& externs,
WebAssemblyScriptResolver* resolver) {
externs.Insert("list_get_length", List_GetLength(resolver));
externs.Insert("list_get_at", List_GetValue(resolver));
}