UNPKG

@mojir/lits

Version:

Lits is a pure functional programming language implemented in TypeScript

12 lines (11 loc) 833 B
import type { Any } from '../interface'; import { type AstNode, type BindingTarget } from '../parser/types'; import type { MaybePromise } from '../utils/maybePromise'; export declare function walkDefaults(bindingTarget: BindingTarget, onDefault: (Node: AstNode) => void): void; export declare function evaluateBindingNodeValues(target: BindingTarget, value: Any, evaluate: (Node: AstNode) => MaybePromise<Any>): MaybePromise<Record<string, Any>>; export declare function getAllBindingTargetNames(bindingTarget: BindingTarget): Record<string, true>; /** * Non-throwing pattern matching. Returns bindings on match, null on mismatch. * Used by `switch` pattern matching. */ export declare function tryMatch(target: BindingTarget, value: Any, evaluate: (Node: AstNode) => MaybePromise<Any>): MaybePromise<Record<string, Any> | null>;