UNPKG

@montferret/ferret-wasm

Version:

Ferret compiler and runtime ported to WASM

21 lines (20 loc) 838 B
export interface Version { self: string; ferret: string; } export declare type RuntimeFunction = (...args: any[]) => any; export interface CompilerResult<T = any> { ok: boolean; data?: T; error?: string; } export declare type CompilerCallback<T> = (err?: string, data?: T) => void; export interface Compiler { version(): CompilerResult<Version>; compile(query: string): CompilerResult<string>; destroy(id: string): CompilerResult<void>; run<T>(id: string, args: object, cb: CompilerCallback<T>): CompilerResult<void>; exec<T>(query: string, args: object, cb: CompilerCallback<T>): CompilerResult<void>; register(name: string, fn: RuntimeFunction): CompilerResult<void>; } export declare function createCallback<T>(resolve: (data: T) => void, reject: (err: Error) => void): CompilerCallback<T>;