@the-little-books/little
Version:
10 lines (9 loc) • 458 B
TypeScript
import * as Pattern from "../pattern";
import * as Node from "../node";
export declare type Cases<A> = Array<[Pattern.Pattern, (result: Pattern.MatchResult) => A] | ["default", A] | ["default-gen", () => A] | ((data: Node.Node) => A)>;
export declare function cases<A>(node: Node.Node, cases: Cases<A>): A;
export declare class PatternMismatch<A> extends Error {
node: Node.Node;
cases: Cases<A>;
constructor(node: Node.Node, cases: Cases<A>);
}