@mojir/lits
Version:
Lits is a Lisp dialect implemented in TypeScript
13 lines (12 loc) • 651 B
TypeScript
import type { Any, Arr } from '../interface';
import type { FunctionLike, Node } from '../parser/types';
import type { SourceCodeInfo } from '../tokenizer/token';
import type { ContextStack } from './ContextStack';
export interface ContextEntry {
value: Any;
}
export type Context = Record<string, ContextEntry>;
export type EvaluateNode = (node: Node, contextStack: ContextStack) => Any;
export type ExecuteFunction = (fn: FunctionLike, params: Arr, contextStack: ContextStack, sourceCodeInfo?: SourceCodeInfo) => Any;
export type LookUpResult = ContextEntry | null;
export declare function isContextEntry(value: unknown): value is ContextEntry;