UNPKG

rc-js-util

Version:

A collection of TS and C++ utilities to help writing performant and correct applications, achieved through strict typing and (removable) invariant checking.

111 lines (97 loc) 2.84 kB
/** * @public * Copied from lib.dom.d.ts to avoid portability issues. */ export interface IWebAssemblyMemoryMemory { readonly buffer: ArrayBuffer | SharedArrayBuffer; grow(delta: number): number; } /* eslint-disable */ /** * @public * External lib. */ export namespace Emscripten { /** * @public */ export type EnvironmentType = "WEB" | "NODE" | "SHELL" | "WORKER"; /** * @public */ export type WebAssemblyImports = Array<{ name: string; kind: string; }>; /** * @public */ export type WebAssemblyExports = Array<{ module: string; name: string; kind: string; }>; /** * @public */ export interface EmscriptenModule { wasmMemory: IWebAssemblyMemoryMemory; print(str: string): void; printErr(str: string): void; arguments: string[]; environment: EnvironmentType; preInit: Array<{ (): void }>; preRun: Array<{ (): void }>; postRun: Array<{ (): void }>; onAbort: { (what: any): void }; onRuntimeInitialized: { (): void }; noInitialRun: boolean; noExitRuntime: boolean; logReadFiles: boolean; filePackagePrefixURL: string; wasmBinary: ArrayBuffer; stringToNewUTF8(str: string): number; UTF8ToString(ptr: number, maxBytesToRead?: number): string; runtimeKeepalivePush?(): void; runtimeKeepalivePop?(): void; destroy(object: object): void; getPreloadedPackage(remotePackageName: string, remotePackageSize: number): ArrayBuffer; instantiateWasm ( imports: WebAssemblyImports, successCallback: (module: IWebAssemblyMemoryMemory) => void, ) : WebAssemblyExports; locateFile(url: string, scriptDirectory: string): string; // USE_TYPED_ARRAYS == 1 HEAP: Int32Array; IHEAP: Int32Array; FHEAP: Float64Array; // USE_TYPED_ARRAYS == 2 HEAP8: Int8Array; HEAP16: Int16Array; HEAP32: Int32Array; HEAPU8: Uint8Array; HEAPU16: Uint16Array; HEAPU32: Uint32Array; HEAPF32: Float32Array; HEAPF64: Float64Array; TOTAL_STACK: number; TOTAL_MEMORY: number; FAST_MEMORY: number; addOnPreRun(cb: () => any): void; addOnInit(cb: () => any): void; addOnPreMain(cb: () => any): void; addOnExit(cb: () => any): void; addOnPostRun(cb: () => any): void; quit(status: number, error: unknown): void; ASAN_OPTIONS?: string; } /** * @public */ export type EmscriptenModuleFactory<T extends object> = (moduleOverrides?: Partial<T & EmscriptenModule>) => Promise<EmscriptenModule & T>; }