imports property

List<WasmImport> get imports

Everything the module needs to be instantiated.

Implementation

List<WasmImport> get imports => scoped((arena) {
  final vec = arena<c.wasm_importtype_vec_t>();
  c.wasmtime_module_imports(pointer, vec);
  try {
    final ref = vec.ref;
    return <WasmImport>[
      for (var i = 0; i < ref.size; i++)
        WasmImport(
          module: nameToString(c.wasm_importtype_module(ref.data[i])),
          name: nameToString(c.wasm_importtype_name(ref.data[i])),
          type: WasmExternType.fromNative(
            c.wasm_importtype_type(ref.data[i]),
          ),
        ),
    ];
  } finally {
    c.wasm_importtype_vec_delete(vec);
  }
});