export class CosmosDBSqlKeywords{

    private static readonly KeywordTypeHintPrefix : string = "KeywordTypeHint:";

    public static keywordsRegisteredForCompletion : { [key : string] : string } = 
    {
        "AND": "AND",
        "ARRAY": "ARRAY",
        "AS": "AS",
        "ASC": "ASC",
        "BETWEEN": "BETWEEN",
        "BY": "BY",
        "CASE": "CASE",
        "CAST": "CAST",
        "CONVERT": "CONVERT",
        "CROSS": "CROSS",
        "DESC": "DESC",
        "DISTINCT": "DISTINCT",
        "ELSE": "ELSE",
        "END": "END",
        "ESCAPE": "ESCAPE",
        "EXISTS": "EXISTS",
        "K_false": "false",
        "FOR": "FOR",
        "FROM": "FROM",
        "GROUP": "GROUP",
        "HAVING": "HAVING",
        "IN": "IN",
        "INNER": "INNER",
        "INSERT": "INSERT",
        "INTO": "INTO",
        "IS": "IS",
        "JOIN": "JOIN",
        "LEFT": "LEFT",
        "LIKE": "LIKE",
        "LIMIT": "LIMIT",
        "NOT": "NOT",
        "K_null": "null",
        "OFFSET": "OFFSET",
        "ON": "ON",
        "OR": "OR",
        "ORDER": "ORDER",
        "OUTER": "OUTER",
        "OVER": "OVER",
        "RIGHT": "RIGHT",
        "SELECT": "SELECT",
        "SET": "SET",
        "THEN": "THEN",
        "TOP": "TOP",
        "K_true": "true",
        "K_udf": "udf",
        "K_undefined": "undefined",
        "UPDATE": "UPDATE",
        "VALUE": "VALUE",
        "WHEN": "WHEN",
        "WHERE": "WHERE",
        "WITH": "WITH",
        "Infinity": "Infinity",
        "NaN": "NaN",
    
        "ABS": "ABS",
        "ACOS": "ACOS",
        "ARRAY_CONCAT": "ARRAY_CONCAT",
        "ARRAY_CONTAINS": "ARRAY_CONTAINS",
        "ARRAY_LENGTH": "ARRAY_LENGTH",
        "ARRAY_SLICE": "ARRAY_SLICE",
        "ASIN": "ASIN",
        "ATAN": "ATAN",
        "ATN2": "ATN2",
        "AVG": "AVG",
        "CEILING": "CEILING",
        "CONCAT": "CONCAT",
        "CONTAINS": "CONTAINS",
        "COS": "COS",
        "COT": "COT",
        "COUNT": "COUNT",
        "DEGREES": "DEGREES",
        "ENDSWITH": "ENDSWITH",
        "EXP": "EXP",
        "FLOOR": "FLOOR",
        "INDEX_OF": "INDEX_OF",
        "S_ARRAY": "S_ARRAY",
        "IS_BOOL": "IS_BOOL",
        "IS_DEFINED": "IS_DEFINED",
        "IS_FINITE_NUMBER": "IS_FINITE_NUMBER",
        "IS_NULL": "IS_NULL",
        "IS_NUMBER": "IS_NUMBER",
        "IS_OBJECT": "IS_OBJECT",
        "IS_PRIMITIVE": "IS_PRIMITIVE",
        "IS_STRING": "IS_STRING",
        "LENGTH": "LENGTH",
        "LOG10": "LOG10",
        "LOWER": "LOWER",
        "LTRIM": "LTRIM",
        "MAX": "MAX",
        "MIN": "MIN",
        "PI": "PI",
        "POWER": "POWER",
        "RADIANS": "RADIANS",
        "RAND": "RAND",
        "REPLACE": "REPLACE",
        "REPLICATE": "REPLICATE",
        "REVERSE": "REVERSE",
        "ROUND": "ROUND",
        "RTRIM": "RTRIM",
        "SIGN": "SIGN",
        "SIN": "SIN",
        "SQRT": "SQRT",
        "SQUARE": "SQUARE",
        "ST_DISTANCE": "ST_DISTANCE",
        "ST_INTERSECTS": "ST_INTERSECTS",
        "ST_ISVALID": "ST_ISVALID",
        "ST_ISVALIDDETAILED": "ST_ISVALIDDETAILED",
        "ST_WITHIN": "ST_WITHIN",
        "STARTSWITH": "STARTSWITH",
        "SUBSTRING": "SUBSTRING",
        "SUM": "SUM",
        "TAN": "TAN",
        "TRUNC": "TRUNC",
        "UPPER": "UPPER",
        "ID": CosmosDBSqlKeywords.KeywordTypeHintPrefix + "ID",
        "NUMBER": CosmosDBSqlKeywords.KeywordTypeHintPrefix + "NUMBER"
    };
}