UNPKG

@kodeko/akita-core

Version:
40 lines 1.91 kB
import { Lexer, LexerAkitaFunction, type lexer_options } from "./lexer"; import { AbstractAkitaFunction, VoidAkitaFunction } from "./function"; import { Reader } from "./reader"; export declare type record = Record<string, unknown>; export declare type object_data = record & { extra: record & { variables: record; }; parents: string[]; results: record; input: string; epd: unknown; }; export declare type InterpreterOptions = { lexer?: lexer_options; }; export declare type InterpreterDebugOptions = { parsed_input?: boolean; gived_input?: boolean; lexer?: boolean; executions?: boolean; final?: boolean | { depth: number; }; }; export declare class Interpreter { readonly options?: InterpreterOptions | undefined; static functions: Array<AbstractAkitaFunction>; readonly reader: Reader; readonly lexer: Lexer; constructor(options?: InterpreterOptions | undefined); solve_fields(data: object_data, saf: LexerAkitaFunction<unknown>, i?: number[], s?: number, e?: number): Promise<LexerAkitaFunction<unknown>>; solve_field(data: object_data, saf: LexerAkitaFunction<unknown>, index: number): Promise<LexerAkitaFunction<unknown>>; static add_functions(...abs_based_functions: Array<typeof VoidAkitaFunction>): void; static load_core_functions(cb?: (t: VoidAkitaFunction) => Promise<VoidAkitaFunction> | VoidAkitaFunction): Promise<void>; static load_functions(mod: string, cb?: (t: VoidAkitaFunction) => Promise<VoidAkitaFunction> | VoidAkitaFunction): Promise<void>; resolve<T, D extends object_data>(data: D, saf: LexerAkitaFunction<unknown>, rpr: T): void; solve(input: string, options: Partial<lexer_options>, data: Partial<object_data>, debug?: boolean | InterpreterDebugOptions): Promise<Partial<object_data>>; } //# sourceMappingURL=interpreter.d.ts.map