@qualifyze/airtable-formulator
Version:
Airtable Formula Manipulator
24 lines (23 loc) • 1.16 kB
TypeScript
export declare const operatorMatcher: RegExp;
declare const workingTokens: readonly ["escapedSingleQuote", "escapedDoubleQuote", "escapedBackslash", "openSingleQuote", "closeSingleQuote", "openDoubleQuote", "closeDoubleQuote", "singleQuotedString", "doubleQuotedString", "bracedReference"];
declare const tokenNames: readonly ["space", "number", "string", "quoteMark", "operator", "openParenthesis", "closeParenthesis", "openBrace", "closeBrace", "reference", "argumentSeparator", "group"];
export declare type TokenTypeName = typeof tokenNames[number];
declare type WorkingTokenTypeName = TokenTypeName | typeof workingTokens[number];
export declare function isTokenName(token: string): token is TokenTypeName;
declare type DirtyToken = {
type: WorkingTokenTypeName;
value: string;
start: number;
end: number;
opener?: DirtyToken;
closer?: DirtyToken;
members?: DirtyToken[];
};
export declare type Token = Omit<DirtyToken, "type" | "opener" | "closer" | "members"> & {
type: TokenTypeName;
opener?: Token;
closer?: Token;
members?: Token[];
};
export declare function tokenize(formula: string): Token;
export {};