resourceImports function

List<WasmImport> resourceImports(
  1. WasmLibrary getWasmLibrary(),
  2. ResourceType rt
)

Implementation

List<WasmImport> resourceImports(
  WasmLibrary Function() getWasmLibrary,
  ResourceType rt,
) {
  return [
    WasmImport(
      '[export]${rt.componentInstance}',
      '[resource-new]${rt.resourceName}',
      WasmFunction(
        (Object? a) => canon_resource_new(
            getWasmLibrary().componentInstance, rt, a! as int),
        params: const [ValueTy.i32],
        results: const [ValueTy.i32],
      ),
    ),
    WasmImport(
      '[export]${rt.componentInstance}',
      '[resource-rep]${rt.resourceName}',
      WasmFunction(
        (Object? a) => canon_resource_rep(
            getWasmLibrary().componentInstance, rt, a! as int),
        params: const [ValueTy.i32],
        results: const [ValueTy.i32],
      ),
    ),
    WasmImport(
      '[export]${rt.componentInstance}',
      '[resource-drop]${rt.resourceName}',
      WasmFunction(
        (Object? a) => canon_resource_drop(
          getWasmLibrary().componentInstance,
          rt,
          a! as int,
        ),
        params: const [ValueTy.i32],
        results: const [],
      ),
    ),
  ];
}