UNPKG

@qualifyze/airtable-formulator

Version:
9 lines (8 loc) 850 B
import { Node, TokenNode } from "./node"; import { GroupNode, GroupType } from "./group"; import { EnclosedNode } from "./enclosed"; export interface EnclosedGroupNode<T extends GroupType = GroupType, M extends Node = Node, Opener extends TokenNode = TokenNode, Closer extends TokenNode = TokenNode> extends EnclosedNode<T, Opener, Closer>, GroupNode<T, M> { } export declare function isEnclosedGroupNode(node: Node): node is EnclosedGroupNode; export declare function createEnclosedGroup<T extends GroupType, M extends Node, Opener extends TokenNode, Closer extends TokenNode>(type: T, nodes: readonly M[], opener: Opener, closer: Closer): EnclosedGroupNode<T, M, Opener, Closer>; export declare function isEnclosedWithParenthesis(node: Node): node is EnclosedGroupNode<GroupType, Node, TokenNode<"openParenthesis">, TokenNode<"closeParenthesis">>;