prettier-sql
Version:
Format whitespace in a SQL query to make it more readable
51 lines (50 loc) • 2.04 kB
TypeScript
/** Token type enum for all possible Token categories */
export declare enum TokenType {
WORD = "WORD",
STRING = "STRING",
RESERVED_KEYWORD = "RESERVED_KEYWORD",
RESERVED_LOGICAL_OPERATOR = "RESERVED_LOGICAL_OPERATOR",
RESERVED_DEPENDENT_CLAUSE = "RESERVED_DEPENDENT_CLAUSE",
RESERVED_BINARY_COMMAND = "RESERVED_BINARY_COMMAND",
RESERVED_COMMAND = "RESERVED_COMMAND",
OPERATOR = "OPERATOR",
BLOCK_START = "BLOCK_START",
BLOCK_END = "BLOCK_END",
LINE_COMMENT = "LINE_COMMENT",
BLOCK_COMMENT = "BLOCK_COMMENT",
NUMBER = "NUMBER",
PLACEHOLDER = "PLACEHOLDER"
}
/** Struct to store the most basic cohesive unit of language grammar */
export interface Token {
value: string;
type: TokenType;
key?: string;
whitespaceBefore?: string;
}
/** Special Unicode character to serve as a placeholder for TenSpace formats as \w whitespace is unavailable */
export declare const ZWS = "\u200B";
/** Checks if two tokens are equivalent */
export declare const testToken: (compareToken: Token) => (token: Token) => boolean;
/** Util object that allows for easy checking of Reserved Keywords */
export declare const isToken: {
AS: (token: Token) => boolean;
AND: (token: Token) => boolean;
BETWEEN: (token: Token) => boolean;
CASE: (token: Token) => boolean;
CAST: (token: Token) => boolean;
BY: (token: Token) => boolean;
END: (token: Token) => boolean;
FROM: (token: Token) => boolean;
LATERAL: (token: Token) => boolean;
LIMIT: (token: Token) => boolean;
SELECT: (token: Token) => boolean;
SET: (token: Token) => boolean;
TABLE: (token: Token) => boolean;
WINDOW: (token: Token) => boolean;
WITH: (token: Token) => boolean;
};
/** Checks if token is a Reserved Command or Reserved Binary Command */
export declare const isCommand: (token: Token) => boolean;
/** Checks if token is any Reserved Keyword or Command */
export declare const isReserved: (token: Token) => boolean;