UNPKG

@qualifyze/airtable-formulator

Version:
15 lines (14 loc) 953 B
import { EnclosedGroupNode, Node, TokenNode, Space, GroupType, ArgumentSeparator } from "./primitives"; import { ExpressionNode } from "./expression"; import { NodeReducer } from "./node-reducer"; declare type ArgumentListMember = ExpressionNode | ArgumentSeparator | Space; export declare type ArgumentListGroup<G extends GroupType> = EnclosedGroupNode<G, ArgumentListMember, TokenNode<"openParenthesis">, TokenNode<"closeParenthesis">>; export declare function isArgumentListGroup<T extends GroupType>(node: Node, type: T): node is ArgumentListGroup<T>; export interface ArgumentListNode extends ArgumentListGroup<"argumentList"> { readonly args: readonly ExpressionNode[]; readonly opener: Readonly<TokenNode<"openParenthesis">>; readonly closer: Readonly<TokenNode<"closeParenthesis">>; } export declare function isArgumentListNode(node: Node): node is ArgumentListNode; export declare const reduceArgumentLists: NodeReducer; export {};