21 lines
913 B
C++
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));
|
|
}
|