@mojir/lits
Version:
Lits is a pure functional programming language implemented in TypeScript
15 lines (14 loc) • 748 B
TypeScript
import type { Any, Arr } from '../interface';
import type { AstNode, FunctionLike } from '../parser/types';
import type { SourceCodeInfo } from '../tokenizer/token';
import type { MaybePromise } from '../utils/maybePromise';
import type { ContextStack } from './ContextStack';
interface ContextEntry {
value: Any;
}
export type Context = Record<string, ContextEntry>;
export type EvaluateNode = (node: AstNode, contextStack: ContextStack) => MaybePromise<Any>;
export type ExecuteFunction = (fn: FunctionLike, params: Arr, contextStack: ContextStack, sourceCodeInfo?: SourceCodeInfo) => MaybePromise<Any>;
export type LookUpResult = ContextEntry | null;
export declare function isContextEntry(value: unknown): value is ContextEntry;
export {};