@mojir/lits
Version:
Lits is a pure functional programming language implemented in TypeScript
12 lines (11 loc) • 833 B
TypeScript
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>;