UNPKG

@mojir/lits

Version:

Lits is a pure functional programming language implemented in TypeScript

15 lines (14 loc) 748 B
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 {};