UNPKG

@mojir/lits

Version:

Lits is a Lisp dialect implemented in TypeScript

13 lines (12 loc) 651 B
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;