exports property

List<WasmExport> get exports

Everything the module provides once instantiated.

Implementation

List<WasmExport> get exports => scoped((arena) {
  final vec = arena<c.wasm_exporttype_vec_t>();
  c.wasmtime_module_exports(pointer, vec);
  try {
    final ref = vec.ref;
    return <WasmExport>[
      for (var i = 0; i < ref.size; i++)
        WasmExport(
          name: nameToString(c.wasm_exporttype_name(ref.data[i])),
          type: WasmExternType.fromNative(
            c.wasm_exporttype_type(ref.data[i]),
          ),
        ),
    ];
  } finally {
    c.wasm_exporttype_vec_delete(vec);
  }
});