@hokaccha/sql-formatter
Version:
Format whitespace in a SQL query to make it more readable
27 lines (17 loc) • 820 B
text/typescript
import type { TokenTypes } from "./tokenTypes";
import { tokenTypes } from "./tokenTypes";
export type Token = {
type: TokenTypes;
value: string;
key?: string;
whitespaceBefore: string;
};
const isToken = (type: TokenTypes, regex: RegExp) => (token: Token) =>
token?.type === type && regex.test(token?.value);
export const isAnd = isToken(tokenTypes.RESERVED_NEWLINE, /^AND$/iu);
export const isBetween = isToken(tokenTypes.RESERVED, /^BETWEEN$/iu);
export const isLimit = isToken(tokenTypes.RESERVED_TOP_LEVEL, /^LIMIT$/iu);
export const isSet = isToken(tokenTypes.RESERVED_TOP_LEVEL, /^SET$/iu);
export const isBy = isToken(tokenTypes.RESERVED, /^BY$/iu);
export const isWindow = isToken(tokenTypes.RESERVED_TOP_LEVEL, /^WINDOW$/iu);
export const isEnd = isToken(tokenTypes.CLOSE_PAREN, /^END$/iu);