UNPKG

@qualifyze/airtable-formulator

Version:
16 lines (15 loc) 800 B
import { TokenTypeName } from "../../tokenize"; import { GroupType } from "./group"; export declare type ExtendedNodeType = "fieldReference" | "functionReference"; export declare type NodeType = TokenTypeName | GroupType | ExtendedNodeType; export interface Node<T extends NodeType = NodeType> { readonly type: T; readonly start: number; readonly end: number; readonly value: string; } export declare function isNode(node: unknown): node is Node; export declare type TokenNode<T extends TokenTypeName = TokenTypeName> = Node<T>; export declare function isTokenNode(node: Node): node is TokenNode; export declare function createNodeErrorMessage(node: Node, message: string, type?: string): string; export declare type GetNodeType<T extends Node> = T extends Node<infer U> ? U : never;