UNPKG

as-loader

Version:
27 lines (26 loc) 1.06 kB
import type { AsLoaderRuntime } from "./runtime"; import type { PointerCastObject } from "./pointer"; import type { BoundExports } from "./bound"; export interface AsLoaderModule<TModule> extends String { fallback?(): Promise<TModule>; } export interface WasmModuleInstance<TModule> { type: "wasm"; exports: AsLoaderRuntime & PointerCastObject<TModule>; module: WebAssembly.Module; instance: WebAssembly.Instance; } export interface BoundWasmModuleInstance<TModule, TImports> { type: "wasm-bound"; exports: AsLoaderRuntime & BoundExports<TModule>; unboundExports: AsLoaderRuntime & PointerCastObject<TModule>; importObject: TImports; module: WebAssembly.Module; instance: WebAssembly.Instance; } export interface JsModuleInstance<TModule> { type: "js"; exports: TModule; } export declare type ModuleInstance<TModule> = WasmModuleInstance<TModule> | JsModuleInstance<TModule>; export declare type BoundModuleInstance<TModule, TImport> = BoundWasmModuleInstance<TModule, TImport> | JsModuleInstance<TModule>;