UNPKG

@qualifyze/airtable-formulator

Version:
11 lines (10 loc) 858 B
import { Node } from "./node"; export declare const groupTypes: readonly ["group", "argumentList", "enclosedExpression", "functionCall", "operation", "modifier"]; export declare type GroupType = typeof groupTypes[number]; export declare function isGroupType(type: string): type is GroupType; export interface GroupNode<T extends GroupType = GroupType, M extends Node = Node> extends Node<T> { readonly members: Readonly<M[]>; } export declare function isGroupNode<T extends GroupType = GroupType, M extends Node = Node>(node: Node, checkType?: (type: string) => type is T, checkMember?: (node: unknown) => node is M): node is GroupNode<T, M>; export declare function computeGroupValue<N extends Node>(members: readonly N[]): string; export declare function createGroup<T extends GroupType, M extends Node>(type: T, nodes: readonly M[]): GroupNode<T, M>;