@qualifyze/airtable-formulator
Version:
Airtable Formula Manipulator
9 lines (8 loc) • 850 B
TypeScript
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">>;