exportNames property
The names of all exports, in the order the module declares them.
Implementation
List<String> get exportNames => scoped((arena) {
final names = <String>[];
for (var index = 0; ; index++) {
final nameOut = arena<ffi.Pointer<ffi.Char>>();
final lengthOut = arena<ffi.Size>();
final item = arena<c.wasmtime_extern_t>();
final found = c.wasmtime_instance_export_nth(
store.context,
_native(arena),
index,
nameOut,
lengthOut,
item,
);
if (!found) break;
names.add(_decode(nameOut.value, lengthOut.value));
c.wasmtime_extern_delete(item);
}
return names;
});