@guojc1/sql-formatter-compact 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AUTHORS +75 -0
- package/LICENSE +23 -0
- package/README.md +318 -0
- package/bin/sql-formatter-cli.cjs +182 -0
- package/dist/cjs/FormatOptions.d.ts +27 -0
- package/dist/cjs/FormatOptions.js +3 -0
- package/dist/cjs/FormatOptions.js.map +1 -0
- package/dist/cjs/allDialects.d.ts +20 -0
- package/dist/cjs/allDialects.js +44 -0
- package/dist/cjs/allDialects.js.map +1 -0
- package/dist/cjs/dialect.d.ts +18 -0
- package/dist/cjs/dialect.js +35 -0
- package/dist/cjs/dialect.js.map +1 -0
- package/dist/cjs/expandPhrases.d.ts +29 -0
- package/dist/cjs/expandPhrases.js +132 -0
- package/dist/cjs/expandPhrases.js.map +1 -0
- package/dist/cjs/formatter/ExpressionFormatter.d.ts +78 -0
- package/dist/cjs/formatter/ExpressionFormatter.js +546 -0
- package/dist/cjs/formatter/ExpressionFormatter.js.map +1 -0
- package/dist/cjs/formatter/Formatter.d.ts +18 -0
- package/dist/cjs/formatter/Formatter.js +80 -0
- package/dist/cjs/formatter/Formatter.js.map +1 -0
- package/dist/cjs/formatter/Indentation.d.ts +43 -0
- package/dist/cjs/formatter/Indentation.js +70 -0
- package/dist/cjs/formatter/Indentation.js.map +1 -0
- package/dist/cjs/formatter/InlineLayout.d.ts +21 -0
- package/dist/cjs/formatter/InlineLayout.js +88 -0
- package/dist/cjs/formatter/InlineLayout.js.map +1 -0
- package/dist/cjs/formatter/Layout.d.ts +41 -0
- package/dist/cjs/formatter/Layout.js +122 -0
- package/dist/cjs/formatter/Layout.js.map +1 -0
- package/dist/cjs/formatter/Params.d.ts +26 -0
- package/dist/cjs/formatter/Params.js +37 -0
- package/dist/cjs/formatter/Params.js.map +1 -0
- package/dist/cjs/formatter/config.d.ts +9 -0
- package/dist/cjs/formatter/config.js +25 -0
- package/dist/cjs/formatter/config.js.map +1 -0
- package/dist/cjs/formatter/tabularStyle.d.ts +11 -0
- package/dist/cjs/formatter/tabularStyle.js +39 -0
- package/dist/cjs/formatter/tabularStyle.js.map +1 -0
- package/dist/cjs/index.d.ts +28 -0
- package/dist/cjs/index.js +53 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/languages/bigquery/bigquery.formatter.d.ts +2 -0
- package/dist/cjs/languages/bigquery/bigquery.formatter.js +259 -0
- package/dist/cjs/languages/bigquery/bigquery.formatter.js.map +1 -0
- package/dist/cjs/languages/bigquery/bigquery.functions.d.ts +1 -0
- package/dist/cjs/languages/bigquery/bigquery.functions.js +549 -0
- package/dist/cjs/languages/bigquery/bigquery.functions.js.map +1 -0
- package/dist/cjs/languages/bigquery/bigquery.keywords.d.ts +2 -0
- package/dist/cjs/languages/bigquery/bigquery.keywords.js +139 -0
- package/dist/cjs/languages/bigquery/bigquery.keywords.js.map +1 -0
- package/dist/cjs/languages/clickhouse/clickhouse.formatter.d.ts +2 -0
- package/dist/cjs/languages/clickhouse/clickhouse.formatter.js +323 -0
- package/dist/cjs/languages/clickhouse/clickhouse.formatter.js.map +1 -0
- package/dist/cjs/languages/clickhouse/clickhouse.functions.d.ts +1 -0
- package/dist/cjs/languages/clickhouse/clickhouse.functions.js +1756 -0
- package/dist/cjs/languages/clickhouse/clickhouse.functions.js.map +1 -0
- package/dist/cjs/languages/clickhouse/clickhouse.keywords.d.ts +2 -0
- package/dist/cjs/languages/clickhouse/clickhouse.keywords.js +550 -0
- package/dist/cjs/languages/clickhouse/clickhouse.keywords.js.map +1 -0
- package/dist/cjs/languages/db2/db2.formatter.d.ts +2 -0
- package/dist/cjs/languages/db2/db2.formatter.js +304 -0
- package/dist/cjs/languages/db2/db2.formatter.js.map +1 -0
- package/dist/cjs/languages/db2/db2.functions.d.ts +1 -0
- package/dist/cjs/languages/db2/db2.functions.js +325 -0
- package/dist/cjs/languages/db2/db2.functions.js.map +1 -0
- package/dist/cjs/languages/db2/db2.keywords.d.ts +2 -0
- package/dist/cjs/languages/db2/db2.keywords.js +449 -0
- package/dist/cjs/languages/db2/db2.keywords.js.map +1 -0
- package/dist/cjs/languages/db2i/db2i.formatter.d.ts +2 -0
- package/dist/cjs/languages/db2i/db2i.formatter.js +181 -0
- package/dist/cjs/languages/db2i/db2i.formatter.js.map +1 -0
- package/dist/cjs/languages/db2i/db2i.functions.d.ts +1 -0
- package/dist/cjs/languages/db2i/db2i.functions.js +339 -0
- package/dist/cjs/languages/db2i/db2i.functions.js.map +1 -0
- package/dist/cjs/languages/db2i/db2i.keywords.d.ts +2 -0
- package/dist/cjs/languages/db2i/db2i.keywords.js +538 -0
- package/dist/cjs/languages/db2i/db2i.keywords.js.map +1 -0
- package/dist/cjs/languages/duckdb/duckdb.formatter.d.ts +2 -0
- package/dist/cjs/languages/duckdb/duckdb.formatter.js +213 -0
- package/dist/cjs/languages/duckdb/duckdb.formatter.js.map +1 -0
- package/dist/cjs/languages/duckdb/duckdb.functions.d.ts +1 -0
- package/dist/cjs/languages/duckdb/duckdb.functions.js +668 -0
- package/dist/cjs/languages/duckdb/duckdb.functions.js.map +1 -0
- package/dist/cjs/languages/duckdb/duckdb.keywords.d.ts +2 -0
- package/dist/cjs/languages/duckdb/duckdb.keywords.js +168 -0
- package/dist/cjs/languages/duckdb/duckdb.keywords.js.map +1 -0
- package/dist/cjs/languages/hive/hive.formatter.d.ts +2 -0
- package/dist/cjs/languages/hive/hive.formatter.js +106 -0
- package/dist/cjs/languages/hive/hive.formatter.js.map +1 -0
- package/dist/cjs/languages/hive/hive.functions.d.ts +1 -0
- package/dist/cjs/languages/hive/hive.functions.js +213 -0
- package/dist/cjs/languages/hive/hive.functions.js.map +1 -0
- package/dist/cjs/languages/hive/hive.keywords.d.ts +2 -0
- package/dist/cjs/languages/hive/hive.keywords.js +342 -0
- package/dist/cjs/languages/hive/hive.keywords.js.map +1 -0
- package/dist/cjs/languages/mariadb/likeMariaDb.d.ts +2 -0
- package/dist/cjs/languages/mariadb/likeMariaDb.js +22 -0
- package/dist/cjs/languages/mariadb/likeMariaDb.js.map +1 -0
- package/dist/cjs/languages/mariadb/mariadb.formatter.d.ts +2 -0
- package/dist/cjs/languages/mariadb/mariadb.formatter.js +317 -0
- package/dist/cjs/languages/mariadb/mariadb.formatter.js.map +1 -0
- package/dist/cjs/languages/mariadb/mariadb.functions.d.ts +1 -0
- package/dist/cjs/languages/mariadb/mariadb.functions.js +243 -0
- package/dist/cjs/languages/mariadb/mariadb.functions.js.map +1 -0
- package/dist/cjs/languages/mariadb/mariadb.keywords.d.ts +2 -0
- package/dist/cjs/languages/mariadb/mariadb.keywords.js +274 -0
- package/dist/cjs/languages/mariadb/mariadb.keywords.js.map +1 -0
- package/dist/cjs/languages/mysql/mysql.formatter.d.ts +2 -0
- package/dist/cjs/languages/mysql/mysql.formatter.js +284 -0
- package/dist/cjs/languages/mysql/mysql.formatter.js.map +1 -0
- package/dist/cjs/languages/mysql/mysql.functions.d.ts +1 -0
- package/dist/cjs/languages/mysql/mysql.functions.js +428 -0
- package/dist/cjs/languages/mysql/mysql.functions.js.map +1 -0
- package/dist/cjs/languages/mysql/mysql.keywords.d.ts +2 -0
- package/dist/cjs/languages/mysql/mysql.keywords.js +288 -0
- package/dist/cjs/languages/mysql/mysql.keywords.js.map +1 -0
- package/dist/cjs/languages/n1ql/n1ql.formatter.d.ts +2 -0
- package/dist/cjs/languages/n1ql/n1ql.formatter.js +109 -0
- package/dist/cjs/languages/n1ql/n1ql.formatter.js.map +1 -0
- package/dist/cjs/languages/n1ql/n1ql.functions.d.ts +1 -0
- package/dist/cjs/languages/n1ql/n1ql.functions.js +235 -0
- package/dist/cjs/languages/n1ql/n1ql.functions.js.map +1 -0
- package/dist/cjs/languages/n1ql/n1ql.keywords.d.ts +2 -0
- package/dist/cjs/languages/n1ql/n1ql.keywords.js +221 -0
- package/dist/cjs/languages/n1ql/n1ql.keywords.js.map +1 -0
- package/dist/cjs/languages/plsql/plsql.formatter.d.ts +2 -0
- package/dist/cjs/languages/plsql/plsql.formatter.js +140 -0
- package/dist/cjs/languages/plsql/plsql.formatter.js.map +1 -0
- package/dist/cjs/languages/plsql/plsql.functions.d.ts +1 -0
- package/dist/cjs/languages/plsql/plsql.functions.js +270 -0
- package/dist/cjs/languages/plsql/plsql.functions.js.map +1 -0
- package/dist/cjs/languages/plsql/plsql.keywords.d.ts +2 -0
- package/dist/cjs/languages/plsql/plsql.keywords.js +349 -0
- package/dist/cjs/languages/plsql/plsql.keywords.js.map +1 -0
- package/dist/cjs/languages/postgresql/postgresql.formatter.d.ts +2 -0
- package/dist/cjs/languages/postgresql/postgresql.formatter.js +391 -0
- package/dist/cjs/languages/postgresql/postgresql.formatter.js.map +1 -0
- package/dist/cjs/languages/postgresql/postgresql.functions.d.ts +1 -0
- package/dist/cjs/languages/postgresql/postgresql.functions.js +693 -0
- package/dist/cjs/languages/postgresql/postgresql.functions.js.map +1 -0
- package/dist/cjs/languages/postgresql/postgresql.keywords.d.ts +2 -0
- package/dist/cjs/languages/postgresql/postgresql.keywords.js +158 -0
- package/dist/cjs/languages/postgresql/postgresql.keywords.js.map +1 -0
- package/dist/cjs/languages/redshift/redshift.formatter.d.ts +2 -0
- package/dist/cjs/languages/redshift/redshift.formatter.js +180 -0
- package/dist/cjs/languages/redshift/redshift.formatter.js.map +1 -0
- package/dist/cjs/languages/redshift/redshift.functions.d.ts +1 -0
- package/dist/cjs/languages/redshift/redshift.functions.js +351 -0
- package/dist/cjs/languages/redshift/redshift.functions.js.map +1 -0
- package/dist/cjs/languages/redshift/redshift.keywords.d.ts +2 -0
- package/dist/cjs/languages/redshift/redshift.keywords.js +216 -0
- package/dist/cjs/languages/redshift/redshift.keywords.js.map +1 -0
- package/dist/cjs/languages/singlestoredb/singlestoredb.formatter.d.ts +2 -0
- package/dist/cjs/languages/singlestoredb/singlestoredb.formatter.js +286 -0
- package/dist/cjs/languages/singlestoredb/singlestoredb.formatter.js.map +1 -0
- package/dist/cjs/languages/singlestoredb/singlestoredb.functions.d.ts +1 -0
- package/dist/cjs/languages/singlestoredb/singlestoredb.functions.js +285 -0
- package/dist/cjs/languages/singlestoredb/singlestoredb.functions.js.map +1 -0
- package/dist/cjs/languages/singlestoredb/singlestoredb.keywords.d.ts +2 -0
- package/dist/cjs/languages/singlestoredb/singlestoredb.keywords.js +268 -0
- package/dist/cjs/languages/singlestoredb/singlestoredb.keywords.js.map +1 -0
- package/dist/cjs/languages/snowflake/snowflake.formatter.d.ts +2 -0
- package/dist/cjs/languages/snowflake/snowflake.formatter.js +339 -0
- package/dist/cjs/languages/snowflake/snowflake.formatter.js.map +1 -0
- package/dist/cjs/languages/snowflake/snowflake.functions.d.ts +1 -0
- package/dist/cjs/languages/snowflake/snowflake.functions.js +613 -0
- package/dist/cjs/languages/snowflake/snowflake.functions.js.map +1 -0
- package/dist/cjs/languages/snowflake/snowflake.keywords.d.ts +2 -0
- package/dist/cjs/languages/snowflake/snowflake.keywords.js +140 -0
- package/dist/cjs/languages/snowflake/snowflake.keywords.js.map +1 -0
- package/dist/cjs/languages/spark/spark.formatter.d.ts +2 -0
- package/dist/cjs/languages/spark/spark.formatter.js +167 -0
- package/dist/cjs/languages/spark/spark.formatter.js.map +1 -0
- package/dist/cjs/languages/spark/spark.functions.d.ts +1 -0
- package/dist/cjs/languages/spark/spark.functions.js +326 -0
- package/dist/cjs/languages/spark/spark.functions.js.map +1 -0
- package/dist/cjs/languages/spark/spark.keywords.d.ts +2 -0
- package/dist/cjs/languages/spark/spark.keywords.js +302 -0
- package/dist/cjs/languages/spark/spark.keywords.js.map +1 -0
- package/dist/cjs/languages/sql/sql.formatter.d.ts +2 -0
- package/dist/cjs/languages/sql/sql.formatter.js +97 -0
- package/dist/cjs/languages/sql/sql.formatter.js.map +1 -0
- package/dist/cjs/languages/sql/sql.functions.d.ts +1 -0
- package/dist/cjs/languages/sql/sql.functions.js +102 -0
- package/dist/cjs/languages/sql/sql.functions.js.map +1 -0
- package/dist/cjs/languages/sql/sql.keywords.d.ts +2 -0
- package/dist/cjs/languages/sql/sql.keywords.js +244 -0
- package/dist/cjs/languages/sql/sql.keywords.js.map +1 -0
- package/dist/cjs/languages/sqlite/sqlite.formatter.d.ts +2 -0
- package/dist/cjs/languages/sqlite/sqlite.formatter.js +94 -0
- package/dist/cjs/languages/sqlite/sqlite.formatter.js.map +1 -0
- package/dist/cjs/languages/sqlite/sqlite.functions.d.ts +1 -0
- package/dist/cjs/languages/sqlite/sqlite.functions.js +129 -0
- package/dist/cjs/languages/sqlite/sqlite.functions.js.map +1 -0
- package/dist/cjs/languages/sqlite/sqlite.keywords.d.ts +2 -0
- package/dist/cjs/languages/sqlite/sqlite.keywords.js +180 -0
- package/dist/cjs/languages/sqlite/sqlite.keywords.js.map +1 -0
- package/dist/cjs/languages/tidb/tidb.formatter.d.ts +2 -0
- package/dist/cjs/languages/tidb/tidb.formatter.js +218 -0
- package/dist/cjs/languages/tidb/tidb.formatter.js.map +1 -0
- package/dist/cjs/languages/tidb/tidb.functions.d.ts +1 -0
- package/dist/cjs/languages/tidb/tidb.functions.js +331 -0
- package/dist/cjs/languages/tidb/tidb.functions.js.map +1 -0
- package/dist/cjs/languages/tidb/tidb.keywords.d.ts +2 -0
- package/dist/cjs/languages/tidb/tidb.keywords.js +244 -0
- package/dist/cjs/languages/tidb/tidb.keywords.js.map +1 -0
- package/dist/cjs/languages/transactsql/transactsql.formatter.d.ts +2 -0
- package/dist/cjs/languages/transactsql/transactsql.formatter.js +275 -0
- package/dist/cjs/languages/transactsql/transactsql.formatter.js.map +1 -0
- package/dist/cjs/languages/transactsql/transactsql.functions.d.ts +1 -0
- package/dist/cjs/languages/transactsql/transactsql.functions.js +310 -0
- package/dist/cjs/languages/transactsql/transactsql.functions.js.map +1 -0
- package/dist/cjs/languages/transactsql/transactsql.keywords.d.ts +2 -0
- package/dist/cjs/languages/transactsql/transactsql.keywords.js +214 -0
- package/dist/cjs/languages/transactsql/transactsql.keywords.js.map +1 -0
- package/dist/cjs/languages/trino/trino.formatter.d.ts +2 -0
- package/dist/cjs/languages/trino/trino.formatter.js +163 -0
- package/dist/cjs/languages/trino/trino.formatter.js.map +1 -0
- package/dist/cjs/languages/trino/trino.functions.d.ts +1 -0
- package/dist/cjs/languages/trino/trino.functions.js +439 -0
- package/dist/cjs/languages/trino/trino.functions.js.map +1 -0
- package/dist/cjs/languages/trino/trino.keywords.d.ts +2 -0
- package/dist/cjs/languages/trino/trino.keywords.js +282 -0
- package/dist/cjs/languages/trino/trino.keywords.js.map +1 -0
- package/dist/cjs/lexer/NestedComment.d.ts +10 -0
- package/dist/cjs/lexer/NestedComment.js +54 -0
- package/dist/cjs/lexer/NestedComment.js.map +1 -0
- package/dist/cjs/lexer/Tokenizer.d.ts +14 -0
- package/dist/cjs/lexer/Tokenizer.js +293 -0
- package/dist/cjs/lexer/Tokenizer.js.map +1 -0
- package/dist/cjs/lexer/TokenizerEngine.d.ts +31 -0
- package/dist/cjs/lexer/TokenizerEngine.js +95 -0
- package/dist/cjs/lexer/TokenizerEngine.js.map +1 -0
- package/dist/cjs/lexer/TokenizerOptions.d.ts +56 -0
- package/dist/cjs/lexer/TokenizerOptions.js +3 -0
- package/dist/cjs/lexer/TokenizerOptions.js.map +1 -0
- package/dist/cjs/lexer/disambiguateTokens.d.ts +18 -0
- package/dist/cjs/lexer/disambiguateTokens.js +90 -0
- package/dist/cjs/lexer/disambiguateTokens.js.map +1 -0
- package/dist/cjs/lexer/lineColFromIndex.d.ts +8 -0
- package/dist/cjs/lexer/lineColFromIndex.js +12 -0
- package/dist/cjs/lexer/lineColFromIndex.js.map +1 -0
- package/dist/cjs/lexer/regexFactory.d.ts +55 -0
- package/dist/cjs/lexer/regexFactory.js +153 -0
- package/dist/cjs/lexer/regexFactory.js.map +1 -0
- package/dist/cjs/lexer/regexUtil.d.ts +7 -0
- package/dist/cjs/lexer/regexUtil.js +21 -0
- package/dist/cjs/lexer/regexUtil.js.map +1 -0
- package/dist/cjs/lexer/token.d.ts +89 -0
- package/dist/cjs/lexer/token.js +101 -0
- package/dist/cjs/lexer/token.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/parser/LexerAdapter.d.ts +17 -0
- package/dist/cjs/parser/LexerAdapter.js +30 -0
- package/dist/cjs/parser/LexerAdapter.js.map +1 -0
- package/dist/cjs/parser/ast.d.ts +158 -0
- package/dist/cjs/parser/ast.js +31 -0
- package/dist/cjs/parser/ast.js.map +1 -0
- package/dist/cjs/parser/createParser.d.ts +10 -0
- package/dist/cjs/parser/createParser.js +43 -0
- package/dist/cjs/parser/createParser.js.map +1 -0
- package/dist/cjs/parser/grammar.d.ts +28 -0
- package/dist/cjs/parser/grammar.js +371 -0
- package/dist/cjs/parser/grammar.js.map +1 -0
- package/dist/cjs/sqlFormatter.d.ts +31 -0
- package/dist/cjs/sqlFormatter.js +117 -0
- package/dist/cjs/sqlFormatter.js.map +1 -0
- package/dist/cjs/utils.d.ts +8 -0
- package/dist/cjs/utils.js +22 -0
- package/dist/cjs/utils.js.map +1 -0
- package/dist/cjs/validateConfig.d.ts +4 -0
- package/dist/cjs/validateConfig.js +43 -0
- package/dist/cjs/validateConfig.js.map +1 -0
- package/dist/esm/FormatOptions.d.ts +27 -0
- package/dist/esm/FormatOptions.js +2 -0
- package/dist/esm/FormatOptions.js.map +1 -0
- package/dist/esm/allDialects.d.ts +20 -0
- package/dist/esm/allDialects.js +21 -0
- package/dist/esm/allDialects.js.map +1 -0
- package/dist/esm/dialect.d.ts +18 -0
- package/dist/esm/dialect.js +28 -0
- package/dist/esm/dialect.js.map +1 -0
- package/dist/esm/expandPhrases.d.ts +29 -0
- package/dist/esm/expandPhrases.js +127 -0
- package/dist/esm/expandPhrases.js.map +1 -0
- package/dist/esm/formatter/ExpressionFormatter.d.ts +78 -0
- package/dist/esm/formatter/ExpressionFormatter.js +520 -0
- package/dist/esm/formatter/ExpressionFormatter.js.map +1 -0
- package/dist/esm/formatter/Formatter.d.ts +18 -0
- package/dist/esm/formatter/Formatter.js +51 -0
- package/dist/esm/formatter/Formatter.js.map +1 -0
- package/dist/esm/formatter/Indentation.d.ts +43 -0
- package/dist/esm/formatter/Indentation.js +67 -0
- package/dist/esm/formatter/Indentation.js.map +1 -0
- package/dist/esm/formatter/InlineLayout.d.ts +21 -0
- package/dist/esm/formatter/InlineLayout.js +57 -0
- package/dist/esm/formatter/InlineLayout.js.map +1 -0
- package/dist/esm/formatter/Layout.d.ts +41 -0
- package/dist/esm/formatter/Layout.js +118 -0
- package/dist/esm/formatter/Layout.js.map +1 -0
- package/dist/esm/formatter/Params.d.ts +26 -0
- package/dist/esm/formatter/Params.js +34 -0
- package/dist/esm/formatter/Params.js.map +1 -0
- package/dist/esm/formatter/config.d.ts +9 -0
- package/dist/esm/formatter/config.js +20 -0
- package/dist/esm/formatter/config.js.map +1 -0
- package/dist/esm/formatter/tabularStyle.d.ts +11 -0
- package/dist/esm/formatter/tabularStyle.js +34 -0
- package/dist/esm/formatter/tabularStyle.js.map +1 -0
- package/dist/esm/index.d.ts +28 -0
- package/dist/esm/index.js +25 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/languages/bigquery/bigquery.formatter.d.ts +2 -0
- package/dist/esm/languages/bigquery/bigquery.formatter.js +256 -0
- package/dist/esm/languages/bigquery/bigquery.formatter.js.map +1 -0
- package/dist/esm/languages/bigquery/bigquery.functions.d.ts +1 -0
- package/dist/esm/languages/bigquery/bigquery.functions.js +546 -0
- package/dist/esm/languages/bigquery/bigquery.functions.js.map +1 -0
- package/dist/esm/languages/bigquery/bigquery.keywords.d.ts +2 -0
- package/dist/esm/languages/bigquery/bigquery.keywords.js +136 -0
- package/dist/esm/languages/bigquery/bigquery.keywords.js.map +1 -0
- package/dist/esm/languages/clickhouse/clickhouse.formatter.d.ts +2 -0
- package/dist/esm/languages/clickhouse/clickhouse.formatter.js +320 -0
- package/dist/esm/languages/clickhouse/clickhouse.formatter.js.map +1 -0
- package/dist/esm/languages/clickhouse/clickhouse.functions.d.ts +1 -0
- package/dist/esm/languages/clickhouse/clickhouse.functions.js +1753 -0
- package/dist/esm/languages/clickhouse/clickhouse.functions.js.map +1 -0
- package/dist/esm/languages/clickhouse/clickhouse.keywords.d.ts +2 -0
- package/dist/esm/languages/clickhouse/clickhouse.keywords.js +547 -0
- package/dist/esm/languages/clickhouse/clickhouse.keywords.js.map +1 -0
- package/dist/esm/languages/db2/db2.formatter.d.ts +2 -0
- package/dist/esm/languages/db2/db2.formatter.js +301 -0
- package/dist/esm/languages/db2/db2.formatter.js.map +1 -0
- package/dist/esm/languages/db2/db2.functions.d.ts +1 -0
- package/dist/esm/languages/db2/db2.functions.js +322 -0
- package/dist/esm/languages/db2/db2.functions.js.map +1 -0
- package/dist/esm/languages/db2/db2.keywords.d.ts +2 -0
- package/dist/esm/languages/db2/db2.keywords.js +446 -0
- package/dist/esm/languages/db2/db2.keywords.js.map +1 -0
- package/dist/esm/languages/db2i/db2i.formatter.d.ts +2 -0
- package/dist/esm/languages/db2i/db2i.formatter.js +178 -0
- package/dist/esm/languages/db2i/db2i.formatter.js.map +1 -0
- package/dist/esm/languages/db2i/db2i.functions.d.ts +1 -0
- package/dist/esm/languages/db2i/db2i.functions.js +336 -0
- package/dist/esm/languages/db2i/db2i.functions.js.map +1 -0
- package/dist/esm/languages/db2i/db2i.keywords.d.ts +2 -0
- package/dist/esm/languages/db2i/db2i.keywords.js +535 -0
- package/dist/esm/languages/db2i/db2i.keywords.js.map +1 -0
- package/dist/esm/languages/duckdb/duckdb.formatter.d.ts +2 -0
- package/dist/esm/languages/duckdb/duckdb.formatter.js +210 -0
- package/dist/esm/languages/duckdb/duckdb.formatter.js.map +1 -0
- package/dist/esm/languages/duckdb/duckdb.functions.d.ts +1 -0
- package/dist/esm/languages/duckdb/duckdb.functions.js +665 -0
- package/dist/esm/languages/duckdb/duckdb.functions.js.map +1 -0
- package/dist/esm/languages/duckdb/duckdb.keywords.d.ts +2 -0
- package/dist/esm/languages/duckdb/duckdb.keywords.js +165 -0
- package/dist/esm/languages/duckdb/duckdb.keywords.js.map +1 -0
- package/dist/esm/languages/hive/hive.formatter.d.ts +2 -0
- package/dist/esm/languages/hive/hive.formatter.js +103 -0
- package/dist/esm/languages/hive/hive.formatter.js.map +1 -0
- package/dist/esm/languages/hive/hive.functions.d.ts +1 -0
- package/dist/esm/languages/hive/hive.functions.js +210 -0
- package/dist/esm/languages/hive/hive.functions.js.map +1 -0
- package/dist/esm/languages/hive/hive.keywords.d.ts +2 -0
- package/dist/esm/languages/hive/hive.keywords.js +339 -0
- package/dist/esm/languages/hive/hive.keywords.js.map +1 -0
- package/dist/esm/languages/mariadb/likeMariaDb.d.ts +2 -0
- package/dist/esm/languages/mariadb/likeMariaDb.js +18 -0
- package/dist/esm/languages/mariadb/likeMariaDb.js.map +1 -0
- package/dist/esm/languages/mariadb/mariadb.formatter.d.ts +2 -0
- package/dist/esm/languages/mariadb/mariadb.formatter.js +314 -0
- package/dist/esm/languages/mariadb/mariadb.formatter.js.map +1 -0
- package/dist/esm/languages/mariadb/mariadb.functions.d.ts +1 -0
- package/dist/esm/languages/mariadb/mariadb.functions.js +240 -0
- package/dist/esm/languages/mariadb/mariadb.functions.js.map +1 -0
- package/dist/esm/languages/mariadb/mariadb.keywords.d.ts +2 -0
- package/dist/esm/languages/mariadb/mariadb.keywords.js +271 -0
- package/dist/esm/languages/mariadb/mariadb.keywords.js.map +1 -0
- package/dist/esm/languages/mysql/mysql.formatter.d.ts +2 -0
- package/dist/esm/languages/mysql/mysql.formatter.js +281 -0
- package/dist/esm/languages/mysql/mysql.formatter.js.map +1 -0
- package/dist/esm/languages/mysql/mysql.functions.d.ts +1 -0
- package/dist/esm/languages/mysql/mysql.functions.js +425 -0
- package/dist/esm/languages/mysql/mysql.functions.js.map +1 -0
- package/dist/esm/languages/mysql/mysql.keywords.d.ts +2 -0
- package/dist/esm/languages/mysql/mysql.keywords.js +285 -0
- package/dist/esm/languages/mysql/mysql.keywords.js.map +1 -0
- package/dist/esm/languages/n1ql/n1ql.formatter.d.ts +2 -0
- package/dist/esm/languages/n1ql/n1ql.formatter.js +106 -0
- package/dist/esm/languages/n1ql/n1ql.formatter.js.map +1 -0
- package/dist/esm/languages/n1ql/n1ql.functions.d.ts +1 -0
- package/dist/esm/languages/n1ql/n1ql.functions.js +232 -0
- package/dist/esm/languages/n1ql/n1ql.functions.js.map +1 -0
- package/dist/esm/languages/n1ql/n1ql.keywords.d.ts +2 -0
- package/dist/esm/languages/n1ql/n1ql.keywords.js +218 -0
- package/dist/esm/languages/n1ql/n1ql.keywords.js.map +1 -0
- package/dist/esm/languages/plsql/plsql.formatter.d.ts +2 -0
- package/dist/esm/languages/plsql/plsql.formatter.js +137 -0
- package/dist/esm/languages/plsql/plsql.formatter.js.map +1 -0
- package/dist/esm/languages/plsql/plsql.functions.d.ts +1 -0
- package/dist/esm/languages/plsql/plsql.functions.js +267 -0
- package/dist/esm/languages/plsql/plsql.functions.js.map +1 -0
- package/dist/esm/languages/plsql/plsql.keywords.d.ts +2 -0
- package/dist/esm/languages/plsql/plsql.keywords.js +346 -0
- package/dist/esm/languages/plsql/plsql.keywords.js.map +1 -0
- package/dist/esm/languages/postgresql/postgresql.formatter.d.ts +2 -0
- package/dist/esm/languages/postgresql/postgresql.formatter.js +388 -0
- package/dist/esm/languages/postgresql/postgresql.formatter.js.map +1 -0
- package/dist/esm/languages/postgresql/postgresql.functions.d.ts +1 -0
- package/dist/esm/languages/postgresql/postgresql.functions.js +690 -0
- package/dist/esm/languages/postgresql/postgresql.functions.js.map +1 -0
- package/dist/esm/languages/postgresql/postgresql.keywords.d.ts +2 -0
- package/dist/esm/languages/postgresql/postgresql.keywords.js +155 -0
- package/dist/esm/languages/postgresql/postgresql.keywords.js.map +1 -0
- package/dist/esm/languages/redshift/redshift.formatter.d.ts +2 -0
- package/dist/esm/languages/redshift/redshift.formatter.js +177 -0
- package/dist/esm/languages/redshift/redshift.formatter.js.map +1 -0
- package/dist/esm/languages/redshift/redshift.functions.d.ts +1 -0
- package/dist/esm/languages/redshift/redshift.functions.js +348 -0
- package/dist/esm/languages/redshift/redshift.functions.js.map +1 -0
- package/dist/esm/languages/redshift/redshift.keywords.d.ts +2 -0
- package/dist/esm/languages/redshift/redshift.keywords.js +213 -0
- package/dist/esm/languages/redshift/redshift.keywords.js.map +1 -0
- package/dist/esm/languages/singlestoredb/singlestoredb.formatter.d.ts +2 -0
- package/dist/esm/languages/singlestoredb/singlestoredb.formatter.js +283 -0
- package/dist/esm/languages/singlestoredb/singlestoredb.formatter.js.map +1 -0
- package/dist/esm/languages/singlestoredb/singlestoredb.functions.d.ts +1 -0
- package/dist/esm/languages/singlestoredb/singlestoredb.functions.js +282 -0
- package/dist/esm/languages/singlestoredb/singlestoredb.functions.js.map +1 -0
- package/dist/esm/languages/singlestoredb/singlestoredb.keywords.d.ts +2 -0
- package/dist/esm/languages/singlestoredb/singlestoredb.keywords.js +265 -0
- package/dist/esm/languages/singlestoredb/singlestoredb.keywords.js.map +1 -0
- package/dist/esm/languages/snowflake/snowflake.formatter.d.ts +2 -0
- package/dist/esm/languages/snowflake/snowflake.formatter.js +336 -0
- package/dist/esm/languages/snowflake/snowflake.formatter.js.map +1 -0
- package/dist/esm/languages/snowflake/snowflake.functions.d.ts +1 -0
- package/dist/esm/languages/snowflake/snowflake.functions.js +610 -0
- package/dist/esm/languages/snowflake/snowflake.functions.js.map +1 -0
- package/dist/esm/languages/snowflake/snowflake.keywords.d.ts +2 -0
- package/dist/esm/languages/snowflake/snowflake.keywords.js +137 -0
- package/dist/esm/languages/snowflake/snowflake.keywords.js.map +1 -0
- package/dist/esm/languages/spark/spark.formatter.d.ts +2 -0
- package/dist/esm/languages/spark/spark.formatter.js +164 -0
- package/dist/esm/languages/spark/spark.formatter.js.map +1 -0
- package/dist/esm/languages/spark/spark.functions.d.ts +1 -0
- package/dist/esm/languages/spark/spark.functions.js +323 -0
- package/dist/esm/languages/spark/spark.functions.js.map +1 -0
- package/dist/esm/languages/spark/spark.keywords.d.ts +2 -0
- package/dist/esm/languages/spark/spark.keywords.js +299 -0
- package/dist/esm/languages/spark/spark.keywords.js.map +1 -0
- package/dist/esm/languages/sql/sql.formatter.d.ts +2 -0
- package/dist/esm/languages/sql/sql.formatter.js +94 -0
- package/dist/esm/languages/sql/sql.formatter.js.map +1 -0
- package/dist/esm/languages/sql/sql.functions.d.ts +1 -0
- package/dist/esm/languages/sql/sql.functions.js +99 -0
- package/dist/esm/languages/sql/sql.functions.js.map +1 -0
- package/dist/esm/languages/sql/sql.keywords.d.ts +2 -0
- package/dist/esm/languages/sql/sql.keywords.js +241 -0
- package/dist/esm/languages/sql/sql.keywords.js.map +1 -0
- package/dist/esm/languages/sqlite/sqlite.formatter.d.ts +2 -0
- package/dist/esm/languages/sqlite/sqlite.formatter.js +91 -0
- package/dist/esm/languages/sqlite/sqlite.formatter.js.map +1 -0
- package/dist/esm/languages/sqlite/sqlite.functions.d.ts +1 -0
- package/dist/esm/languages/sqlite/sqlite.functions.js +126 -0
- package/dist/esm/languages/sqlite/sqlite.functions.js.map +1 -0
- package/dist/esm/languages/sqlite/sqlite.keywords.d.ts +2 -0
- package/dist/esm/languages/sqlite/sqlite.keywords.js +177 -0
- package/dist/esm/languages/sqlite/sqlite.keywords.js.map +1 -0
- package/dist/esm/languages/tidb/tidb.formatter.d.ts +2 -0
- package/dist/esm/languages/tidb/tidb.formatter.js +215 -0
- package/dist/esm/languages/tidb/tidb.formatter.js.map +1 -0
- package/dist/esm/languages/tidb/tidb.functions.d.ts +1 -0
- package/dist/esm/languages/tidb/tidb.functions.js +328 -0
- package/dist/esm/languages/tidb/tidb.functions.js.map +1 -0
- package/dist/esm/languages/tidb/tidb.keywords.d.ts +2 -0
- package/dist/esm/languages/tidb/tidb.keywords.js +241 -0
- package/dist/esm/languages/tidb/tidb.keywords.js.map +1 -0
- package/dist/esm/languages/transactsql/transactsql.formatter.d.ts +2 -0
- package/dist/esm/languages/transactsql/transactsql.formatter.js +272 -0
- package/dist/esm/languages/transactsql/transactsql.formatter.js.map +1 -0
- package/dist/esm/languages/transactsql/transactsql.functions.d.ts +1 -0
- package/dist/esm/languages/transactsql/transactsql.functions.js +307 -0
- package/dist/esm/languages/transactsql/transactsql.functions.js.map +1 -0
- package/dist/esm/languages/transactsql/transactsql.keywords.d.ts +2 -0
- package/dist/esm/languages/transactsql/transactsql.keywords.js +211 -0
- package/dist/esm/languages/transactsql/transactsql.keywords.js.map +1 -0
- package/dist/esm/languages/trino/trino.formatter.d.ts +2 -0
- package/dist/esm/languages/trino/trino.formatter.js +160 -0
- package/dist/esm/languages/trino/trino.formatter.js.map +1 -0
- package/dist/esm/languages/trino/trino.functions.d.ts +1 -0
- package/dist/esm/languages/trino/trino.functions.js +436 -0
- package/dist/esm/languages/trino/trino.functions.js.map +1 -0
- package/dist/esm/languages/trino/trino.keywords.d.ts +2 -0
- package/dist/esm/languages/trino/trino.keywords.js +279 -0
- package/dist/esm/languages/trino/trino.keywords.js.map +1 -0
- package/dist/esm/lexer/NestedComment.d.ts +10 -0
- package/dist/esm/lexer/NestedComment.js +50 -0
- package/dist/esm/lexer/NestedComment.js.map +1 -0
- package/dist/esm/lexer/Tokenizer.d.ts +14 -0
- package/dist/esm/lexer/Tokenizer.js +264 -0
- package/dist/esm/lexer/Tokenizer.js.map +1 -0
- package/dist/esm/lexer/TokenizerEngine.d.ts +31 -0
- package/dist/esm/lexer/TokenizerEngine.js +92 -0
- package/dist/esm/lexer/TokenizerEngine.js.map +1 -0
- package/dist/esm/lexer/TokenizerOptions.d.ts +56 -0
- package/dist/esm/lexer/TokenizerOptions.js +2 -0
- package/dist/esm/lexer/TokenizerOptions.js.map +1 -0
- package/dist/esm/lexer/disambiguateTokens.d.ts +18 -0
- package/dist/esm/lexer/disambiguateTokens.js +86 -0
- package/dist/esm/lexer/disambiguateTokens.js.map +1 -0
- package/dist/esm/lexer/lineColFromIndex.d.ts +8 -0
- package/dist/esm/lexer/lineColFromIndex.js +8 -0
- package/dist/esm/lexer/lineColFromIndex.js.map +1 -0
- package/dist/esm/lexer/regexFactory.d.ts +55 -0
- package/dist/esm/lexer/regexFactory.js +140 -0
- package/dist/esm/lexer/regexFactory.js.map +1 -0
- package/dist/esm/lexer/regexUtil.d.ts +7 -0
- package/dist/esm/lexer/regexUtil.js +13 -0
- package/dist/esm/lexer/regexUtil.js.map +1 -0
- package/dist/esm/lexer/token.d.ts +89 -0
- package/dist/esm/lexer/token.js +94 -0
- package/dist/esm/lexer/token.js.map +1 -0
- package/dist/esm/parser/LexerAdapter.d.ts +17 -0
- package/dist/esm/parser/LexerAdapter.js +27 -0
- package/dist/esm/parser/LexerAdapter.js.map +1 -0
- package/dist/esm/parser/ast.d.ts +158 -0
- package/dist/esm/parser/ast.js +28 -0
- package/dist/esm/parser/ast.js.map +1 -0
- package/dist/esm/parser/createParser.d.ts +10 -0
- package/dist/esm/parser/createParser.js +36 -0
- package/dist/esm/parser/createParser.js.map +1 -0
- package/dist/esm/parser/grammar.d.ts +28 -0
- package/dist/esm/parser/grammar.js +366 -0
- package/dist/esm/parser/grammar.js.map +1 -0
- package/dist/esm/sqlFormatter.d.ts +31 -0
- package/dist/esm/sqlFormatter.js +86 -0
- package/dist/esm/sqlFormatter.js.map +1 -0
- package/dist/esm/utils.d.ts +8 -0
- package/dist/esm/utils.js +13 -0
- package/dist/esm/utils.js.map +1 -0
- package/dist/esm/validateConfig.d.ts +4 -0
- package/dist/esm/validateConfig.js +38 -0
- package/dist/esm/validateConfig.js.map +1 -0
- package/dist/sql-formatter.min.cjs +2 -0
- package/dist/sql-formatter.min.cjs.map +1 -0
- package/dist/sql-formatter.min.js +2 -0
- package/package.json +135 -0
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.dataTypes = exports.keywords = void 0;
|
|
4
|
+
exports.keywords = [
|
|
5
|
+
// https://github.com/trinodb/trino/blob/432d2897bdef99388c1a47188743a061c4ac1f34/core/trino-parser/src/main/antlr4/io/trino/sql/parser/SqlBase.g4#L858-L1128
|
|
6
|
+
'ABSENT',
|
|
7
|
+
'ADD',
|
|
8
|
+
'ADMIN',
|
|
9
|
+
'AFTER',
|
|
10
|
+
'ALL',
|
|
11
|
+
'ALTER',
|
|
12
|
+
'ANALYZE',
|
|
13
|
+
'AND',
|
|
14
|
+
'ANY',
|
|
15
|
+
'AS',
|
|
16
|
+
'ASC',
|
|
17
|
+
'AT',
|
|
18
|
+
'AUTHORIZATION',
|
|
19
|
+
'BERNOULLI',
|
|
20
|
+
'BETWEEN',
|
|
21
|
+
'BOTH',
|
|
22
|
+
'BY',
|
|
23
|
+
'CALL',
|
|
24
|
+
'CASCADE',
|
|
25
|
+
'CASE',
|
|
26
|
+
'CATALOGS',
|
|
27
|
+
'COLUMN',
|
|
28
|
+
'COLUMNS',
|
|
29
|
+
'COMMENT',
|
|
30
|
+
'COMMIT',
|
|
31
|
+
'COMMITTED',
|
|
32
|
+
'CONDITIONAL',
|
|
33
|
+
'CONSTRAINT',
|
|
34
|
+
'COPARTITION',
|
|
35
|
+
'CREATE',
|
|
36
|
+
'CROSS',
|
|
37
|
+
'CUBE',
|
|
38
|
+
'CURRENT',
|
|
39
|
+
'CURRENT_PATH',
|
|
40
|
+
'CURRENT_ROLE',
|
|
41
|
+
'DATA',
|
|
42
|
+
'DEALLOCATE',
|
|
43
|
+
'DEFAULT',
|
|
44
|
+
'DEFINE',
|
|
45
|
+
'DEFINER',
|
|
46
|
+
'DELETE',
|
|
47
|
+
'DENY',
|
|
48
|
+
'DESC',
|
|
49
|
+
'DESCRIBE',
|
|
50
|
+
'DESCRIPTOR',
|
|
51
|
+
'DISTINCT',
|
|
52
|
+
'DISTRIBUTED',
|
|
53
|
+
'DOUBLE',
|
|
54
|
+
'DROP',
|
|
55
|
+
'ELSE',
|
|
56
|
+
'EMPTY',
|
|
57
|
+
'ENCODING',
|
|
58
|
+
'END',
|
|
59
|
+
'ERROR',
|
|
60
|
+
'ESCAPE',
|
|
61
|
+
'EXCEPT',
|
|
62
|
+
'EXCLUDING',
|
|
63
|
+
'EXECUTE',
|
|
64
|
+
'EXISTS',
|
|
65
|
+
'EXPLAIN',
|
|
66
|
+
'FALSE',
|
|
67
|
+
'FETCH',
|
|
68
|
+
'FINAL',
|
|
69
|
+
'FIRST',
|
|
70
|
+
'FOLLOWING',
|
|
71
|
+
'FOR',
|
|
72
|
+
'FROM',
|
|
73
|
+
'FULL',
|
|
74
|
+
'FUNCTIONS',
|
|
75
|
+
'GRANT',
|
|
76
|
+
'GRANTED',
|
|
77
|
+
'GRANTS',
|
|
78
|
+
'GRAPHVIZ',
|
|
79
|
+
'GROUP',
|
|
80
|
+
'GROUPING',
|
|
81
|
+
'GROUPS',
|
|
82
|
+
'HAVING',
|
|
83
|
+
'IGNORE',
|
|
84
|
+
'IN',
|
|
85
|
+
'INCLUDING',
|
|
86
|
+
'INITIAL',
|
|
87
|
+
'INNER',
|
|
88
|
+
'INPUT',
|
|
89
|
+
'INSERT',
|
|
90
|
+
'INTERSECT',
|
|
91
|
+
'INTERVAL',
|
|
92
|
+
'INTO',
|
|
93
|
+
'INVOKER',
|
|
94
|
+
'IO',
|
|
95
|
+
'IS',
|
|
96
|
+
'ISOLATION',
|
|
97
|
+
'JOIN',
|
|
98
|
+
'JSON',
|
|
99
|
+
'JSON_ARRAY',
|
|
100
|
+
'JSON_OBJECT',
|
|
101
|
+
'KEEP',
|
|
102
|
+
'KEY',
|
|
103
|
+
'KEYS',
|
|
104
|
+
'LAST',
|
|
105
|
+
'LATERAL',
|
|
106
|
+
'LEADING',
|
|
107
|
+
'LEFT',
|
|
108
|
+
'LEVEL',
|
|
109
|
+
'LIKE',
|
|
110
|
+
'LIMIT',
|
|
111
|
+
'LOCAL',
|
|
112
|
+
'LOGICAL',
|
|
113
|
+
'MATCH',
|
|
114
|
+
'MATCHED',
|
|
115
|
+
'MATCHES',
|
|
116
|
+
'MATCH_RECOGNIZE',
|
|
117
|
+
'MATERIALIZED',
|
|
118
|
+
'MEASURES',
|
|
119
|
+
'NATURAL',
|
|
120
|
+
'NEXT',
|
|
121
|
+
'NFC',
|
|
122
|
+
'NFD',
|
|
123
|
+
'NFKC',
|
|
124
|
+
'NFKD',
|
|
125
|
+
'NO',
|
|
126
|
+
'NONE',
|
|
127
|
+
'NOT',
|
|
128
|
+
'NULL',
|
|
129
|
+
'NULLS',
|
|
130
|
+
'OBJECT',
|
|
131
|
+
'OF',
|
|
132
|
+
'OFFSET',
|
|
133
|
+
'OMIT',
|
|
134
|
+
'ON',
|
|
135
|
+
'ONE',
|
|
136
|
+
'ONLY',
|
|
137
|
+
'OPTION',
|
|
138
|
+
'OR',
|
|
139
|
+
'ORDER',
|
|
140
|
+
'ORDINALITY',
|
|
141
|
+
'OUTER',
|
|
142
|
+
'OUTPUT',
|
|
143
|
+
'OVER',
|
|
144
|
+
'OVERFLOW',
|
|
145
|
+
'PARTITION',
|
|
146
|
+
'PARTITIONS',
|
|
147
|
+
'PASSING',
|
|
148
|
+
'PAST',
|
|
149
|
+
'PATH',
|
|
150
|
+
'PATTERN',
|
|
151
|
+
'PER',
|
|
152
|
+
'PERMUTE',
|
|
153
|
+
'PRECEDING',
|
|
154
|
+
'PRECISION',
|
|
155
|
+
'PREPARE',
|
|
156
|
+
'PRIVILEGES',
|
|
157
|
+
'PROPERTIES',
|
|
158
|
+
'PRUNE',
|
|
159
|
+
'QUOTES',
|
|
160
|
+
'RANGE',
|
|
161
|
+
'READ',
|
|
162
|
+
'RECURSIVE',
|
|
163
|
+
'REFRESH',
|
|
164
|
+
'RENAME',
|
|
165
|
+
'REPEATABLE',
|
|
166
|
+
'RESET',
|
|
167
|
+
'RESPECT',
|
|
168
|
+
'RESTRICT',
|
|
169
|
+
'RETURNING',
|
|
170
|
+
'REVOKE',
|
|
171
|
+
'RIGHT',
|
|
172
|
+
'ROLE',
|
|
173
|
+
'ROLES',
|
|
174
|
+
'ROLLBACK',
|
|
175
|
+
'ROLLUP',
|
|
176
|
+
'ROW',
|
|
177
|
+
'ROWS',
|
|
178
|
+
'RUNNING',
|
|
179
|
+
'SCALAR',
|
|
180
|
+
'SCHEMA',
|
|
181
|
+
'SCHEMAS',
|
|
182
|
+
'SECURITY',
|
|
183
|
+
'SEEK',
|
|
184
|
+
'SELECT',
|
|
185
|
+
'SERIALIZABLE',
|
|
186
|
+
'SESSION',
|
|
187
|
+
'SET',
|
|
188
|
+
'SETS',
|
|
189
|
+
'SHOW',
|
|
190
|
+
'SKIP',
|
|
191
|
+
'SOME',
|
|
192
|
+
'START',
|
|
193
|
+
'STATS',
|
|
194
|
+
'STRING',
|
|
195
|
+
'SUBSET',
|
|
196
|
+
'SYSTEM',
|
|
197
|
+
'TABLE',
|
|
198
|
+
'TABLES',
|
|
199
|
+
'TABLESAMPLE',
|
|
200
|
+
'TEXT',
|
|
201
|
+
'THEN',
|
|
202
|
+
'TIES',
|
|
203
|
+
'TIME',
|
|
204
|
+
'TIMESTAMP',
|
|
205
|
+
'TO',
|
|
206
|
+
'TRAILING',
|
|
207
|
+
'TRANSACTION',
|
|
208
|
+
'TRUE',
|
|
209
|
+
'TYPE',
|
|
210
|
+
'UESCAPE',
|
|
211
|
+
'UNBOUNDED',
|
|
212
|
+
'UNCOMMITTED',
|
|
213
|
+
'UNCONDITIONAL',
|
|
214
|
+
'UNION',
|
|
215
|
+
'UNIQUE',
|
|
216
|
+
'UNKNOWN',
|
|
217
|
+
'UNMATCHED',
|
|
218
|
+
'UNNEST',
|
|
219
|
+
'UPDATE',
|
|
220
|
+
'USE',
|
|
221
|
+
'USER',
|
|
222
|
+
'USING',
|
|
223
|
+
'UTF16',
|
|
224
|
+
'UTF32',
|
|
225
|
+
'UTF8',
|
|
226
|
+
'VALIDATE',
|
|
227
|
+
'VALUE',
|
|
228
|
+
'VALUES',
|
|
229
|
+
'VERBOSE',
|
|
230
|
+
'VIEW',
|
|
231
|
+
'WHEN',
|
|
232
|
+
'WHERE',
|
|
233
|
+
'WINDOW',
|
|
234
|
+
'WITH',
|
|
235
|
+
'WITHIN',
|
|
236
|
+
'WITHOUT',
|
|
237
|
+
'WORK',
|
|
238
|
+
'WRAPPER',
|
|
239
|
+
'WRITE',
|
|
240
|
+
'ZONE',
|
|
241
|
+
];
|
|
242
|
+
exports.dataTypes = [
|
|
243
|
+
// https://github.com/trinodb/trino/blob/432d2897bdef99388c1a47188743a061c4ac1f34/core/trino-main/src/main/java/io/trino/metadata/TypeRegistry.java#L131-L168
|
|
244
|
+
// or https://trino.io/docs/current/language/types.html
|
|
245
|
+
'BIGINT',
|
|
246
|
+
'INT',
|
|
247
|
+
'INTEGER',
|
|
248
|
+
'SMALLINT',
|
|
249
|
+
'TINYINT',
|
|
250
|
+
'BOOLEAN',
|
|
251
|
+
'DATE',
|
|
252
|
+
'DECIMAL',
|
|
253
|
+
'REAL',
|
|
254
|
+
'DOUBLE',
|
|
255
|
+
'HYPERLOGLOG',
|
|
256
|
+
'QDIGEST',
|
|
257
|
+
'TDIGEST',
|
|
258
|
+
'P4HYPERLOGLOG',
|
|
259
|
+
'INTERVAL',
|
|
260
|
+
'TIMESTAMP',
|
|
261
|
+
'TIME',
|
|
262
|
+
'VARBINARY',
|
|
263
|
+
'VARCHAR',
|
|
264
|
+
'CHAR',
|
|
265
|
+
'ROW',
|
|
266
|
+
'ARRAY',
|
|
267
|
+
'MAP',
|
|
268
|
+
'JSON',
|
|
269
|
+
'JSON2016',
|
|
270
|
+
'IPADDRESS',
|
|
271
|
+
'GEOMETRY',
|
|
272
|
+
'UUID',
|
|
273
|
+
'SETDIGEST',
|
|
274
|
+
'JONIREGEXP',
|
|
275
|
+
'RE2JREGEXP',
|
|
276
|
+
'LIKEPATTERN',
|
|
277
|
+
'COLOR',
|
|
278
|
+
'CODEPOINTS',
|
|
279
|
+
'FUNCTION',
|
|
280
|
+
'JSONPATH',
|
|
281
|
+
];
|
|
282
|
+
//# sourceMappingURL=trino.keywords.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trino.keywords.js","sourceRoot":"","sources":["../../../../src/languages/trino/trino.keywords.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { RegExpLike } from './TokenizerEngine.js';
|
|
2
|
+
/**
|
|
3
|
+
* An object mimicking a regular expression,
|
|
4
|
+
* for matching nested block-comments.
|
|
5
|
+
*/
|
|
6
|
+
export declare class NestedComment implements RegExpLike {
|
|
7
|
+
lastIndex: number;
|
|
8
|
+
exec(input: string): string[] | null;
|
|
9
|
+
private matchSection;
|
|
10
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NestedComment = void 0;
|
|
4
|
+
const START = /\/\*/uy; // matches: /*
|
|
5
|
+
const ANY_CHAR = /[\s\S]/uy; // matches single character
|
|
6
|
+
const END = /\*\//uy; // matches: */
|
|
7
|
+
/**
|
|
8
|
+
* An object mimicking a regular expression,
|
|
9
|
+
* for matching nested block-comments.
|
|
10
|
+
*/
|
|
11
|
+
class NestedComment {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.lastIndex = 0;
|
|
14
|
+
}
|
|
15
|
+
exec(input) {
|
|
16
|
+
let result = '';
|
|
17
|
+
let match;
|
|
18
|
+
let nestLevel = 0;
|
|
19
|
+
if ((match = this.matchSection(START, input))) {
|
|
20
|
+
result += match;
|
|
21
|
+
nestLevel++;
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
while (nestLevel > 0) {
|
|
27
|
+
if ((match = this.matchSection(START, input))) {
|
|
28
|
+
result += match;
|
|
29
|
+
nestLevel++;
|
|
30
|
+
}
|
|
31
|
+
else if ((match = this.matchSection(END, input))) {
|
|
32
|
+
result += match;
|
|
33
|
+
nestLevel--;
|
|
34
|
+
}
|
|
35
|
+
else if ((match = this.matchSection(ANY_CHAR, input))) {
|
|
36
|
+
result += match;
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return [result];
|
|
43
|
+
}
|
|
44
|
+
matchSection(regex, input) {
|
|
45
|
+
regex.lastIndex = this.lastIndex;
|
|
46
|
+
const matches = regex.exec(input);
|
|
47
|
+
if (matches) {
|
|
48
|
+
this.lastIndex += matches[0].length;
|
|
49
|
+
}
|
|
50
|
+
return matches ? matches[0] : null;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.NestedComment = NestedComment;
|
|
54
|
+
//# sourceMappingURL=NestedComment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NestedComment.js","sourceRoot":"","sources":["../../../src/lexer/NestedComment.ts"],"names":[],"mappings":";;;AAGA,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,cAAc;AACtC,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,2BAA2B;AACxD,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,cAAc;AAEpC;;;GAGG;AACH,MAAa,aAAa;IAA1B;QACS,cAAS,GAAW,CAAC,CAAC;IAuC/B,CAAC;IArCQ,IAAI,CAAC,KAAa;QACvB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,KAAoB,CAAC;QACzB,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE;YAC7C,MAAM,IAAI,KAAK,CAAC;YAChB,SAAS,EAAE,CAAC;SACb;aAAM;YACL,OAAO,IAAI,CAAC;SACb;QAED,OAAO,SAAS,GAAG,CAAC,EAAE;YACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE;gBAC7C,MAAM,IAAI,KAAK,CAAC;gBAChB,SAAS,EAAE,CAAC;aACb;iBAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,EAAE;gBAClD,MAAM,IAAI,KAAK,CAAC;gBAChB,SAAS,EAAE,CAAC;aACb;iBAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAE;gBACvD,MAAM,IAAI,KAAK,CAAC;aACjB;iBAAM;gBACL,OAAO,IAAI,CAAC;aACb;SACF;QAED,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAEO,YAAY,CAAC,KAAa,EAAE,KAAa;QAC/C,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;SACrC;QACD,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrC,CAAC;CACF;AAxCD,sCAwCC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Token } from './token.js';
|
|
2
|
+
import { ParamTypes, TokenizerOptions } from './TokenizerOptions.js';
|
|
3
|
+
export default class Tokenizer {
|
|
4
|
+
private cfg;
|
|
5
|
+
private dialectName;
|
|
6
|
+
private rulesBeforeParams;
|
|
7
|
+
private rulesAfterParams;
|
|
8
|
+
constructor(cfg: TokenizerOptions, dialectName: string);
|
|
9
|
+
tokenize(input: string, paramTypesOverrides: ParamTypes): Token[];
|
|
10
|
+
private buildRulesBeforeParams;
|
|
11
|
+
private buildRulesAfterParams;
|
|
12
|
+
private buildParamRules;
|
|
13
|
+
private validRules;
|
|
14
|
+
}
|
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
const token_js_1 = require("./token.js");
|
|
30
|
+
const regex = __importStar(require("./regexFactory.js"));
|
|
31
|
+
const TokenizerEngine_js_1 = __importDefault(require("./TokenizerEngine.js"));
|
|
32
|
+
const regexUtil_js_1 = require("./regexUtil.js");
|
|
33
|
+
const utils_js_1 = require("../utils.js");
|
|
34
|
+
const NestedComment_js_1 = require("./NestedComment.js");
|
|
35
|
+
class Tokenizer {
|
|
36
|
+
constructor(cfg, dialectName) {
|
|
37
|
+
this.cfg = cfg;
|
|
38
|
+
this.dialectName = dialectName;
|
|
39
|
+
this.rulesBeforeParams = this.buildRulesBeforeParams(cfg);
|
|
40
|
+
this.rulesAfterParams = this.buildRulesAfterParams(cfg);
|
|
41
|
+
}
|
|
42
|
+
tokenize(input, paramTypesOverrides) {
|
|
43
|
+
const rules = [
|
|
44
|
+
...this.rulesBeforeParams,
|
|
45
|
+
...this.buildParamRules(this.cfg, paramTypesOverrides),
|
|
46
|
+
...this.rulesAfterParams,
|
|
47
|
+
];
|
|
48
|
+
const tokens = new TokenizerEngine_js_1.default(rules, this.dialectName).tokenize(input);
|
|
49
|
+
return this.cfg.postProcess ? this.cfg.postProcess(tokens) : tokens;
|
|
50
|
+
}
|
|
51
|
+
// These rules can be cached as they only depend on
|
|
52
|
+
// the Tokenizer config options specified for each SQL dialect
|
|
53
|
+
buildRulesBeforeParams(cfg) {
|
|
54
|
+
var _a, _b, _c;
|
|
55
|
+
return this.validRules([
|
|
56
|
+
{
|
|
57
|
+
type: token_js_1.TokenType.DISABLE_COMMENT,
|
|
58
|
+
regex: /(\/\* *sql-formatter-disable *\*\/[\s\S]*?(?:\/\* *sql-formatter-enable *\*\/|$))/uy,
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
type: token_js_1.TokenType.BLOCK_COMMENT,
|
|
62
|
+
regex: cfg.nestedBlockComments ? new NestedComment_js_1.NestedComment() : /(\/\*[^]*?\*\/)/uy,
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
type: token_js_1.TokenType.LINE_COMMENT,
|
|
66
|
+
regex: regex.lineComment((_a = cfg.lineCommentTypes) !== null && _a !== void 0 ? _a : ['--']),
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
type: token_js_1.TokenType.QUOTED_IDENTIFIER,
|
|
70
|
+
regex: regex.string(cfg.identTypes),
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
type: token_js_1.TokenType.NUMBER,
|
|
74
|
+
regex: cfg.underscoresInNumbers
|
|
75
|
+
? /(?:0x[0-9a-fA-F_]+|0b[01_]+|(?:-\s*)?(?:[0-9_]*\.[0-9_]+|[0-9_]+(?:\.[0-9_]*)?)(?:[eE][-+]?[0-9_]+(?:\.[0-9_]+)?)?)(?![\w\p{Alphabetic}])/uy
|
|
76
|
+
: /(?:0x[0-9a-fA-F]+|0b[01]+|(?:-\s*)?(?:[0-9]*\.[0-9]+|[0-9]+(?:\.[0-9]*)?)(?:[eE][-+]?[0-9]+(?:\.[0-9]+)?)?)(?![\w\p{Alphabetic}])/uy,
|
|
77
|
+
},
|
|
78
|
+
// RESERVED_KEYWORD_PHRASE and RESERVED_DATA_TYPE_PHRASE is matched before all other keyword tokens
|
|
79
|
+
// to e.g. prioritize matching "TIMESTAMP WITH TIME ZONE" phrase over "WITH" clause.
|
|
80
|
+
{
|
|
81
|
+
type: token_js_1.TokenType.RESERVED_KEYWORD_PHRASE,
|
|
82
|
+
regex: regex.reservedWord((_b = cfg.reservedKeywordPhrases) !== null && _b !== void 0 ? _b : [], cfg.identChars),
|
|
83
|
+
text: toCanonical,
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: token_js_1.TokenType.RESERVED_DATA_TYPE_PHRASE,
|
|
87
|
+
regex: regex.reservedWord((_c = cfg.reservedDataTypePhrases) !== null && _c !== void 0 ? _c : [], cfg.identChars),
|
|
88
|
+
text: toCanonical,
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
type: token_js_1.TokenType.CASE,
|
|
92
|
+
regex: /CASE\b/iuy,
|
|
93
|
+
text: toCanonical,
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
type: token_js_1.TokenType.END,
|
|
97
|
+
regex: /END\b/iuy,
|
|
98
|
+
text: toCanonical,
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
type: token_js_1.TokenType.BETWEEN,
|
|
102
|
+
regex: /BETWEEN\b/iuy,
|
|
103
|
+
text: toCanonical,
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
type: token_js_1.TokenType.LIMIT,
|
|
107
|
+
regex: cfg.reservedClauses.includes('LIMIT') ? /LIMIT\b/iuy : undefined,
|
|
108
|
+
text: toCanonical,
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
type: token_js_1.TokenType.RESERVED_CLAUSE,
|
|
112
|
+
regex: regex.reservedWord(cfg.reservedClauses, cfg.identChars),
|
|
113
|
+
text: toCanonical,
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
type: token_js_1.TokenType.RESERVED_SELECT,
|
|
117
|
+
regex: regex.reservedWord(cfg.reservedSelect, cfg.identChars),
|
|
118
|
+
text: toCanonical,
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
type: token_js_1.TokenType.RESERVED_SET_OPERATION,
|
|
122
|
+
regex: regex.reservedWord(cfg.reservedSetOperations, cfg.identChars),
|
|
123
|
+
text: toCanonical,
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
type: token_js_1.TokenType.WHEN,
|
|
127
|
+
regex: /WHEN\b/iuy,
|
|
128
|
+
text: toCanonical,
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
type: token_js_1.TokenType.ELSE,
|
|
132
|
+
regex: /ELSE\b/iuy,
|
|
133
|
+
text: toCanonical,
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: token_js_1.TokenType.THEN,
|
|
137
|
+
regex: /THEN\b/iuy,
|
|
138
|
+
text: toCanonical,
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: token_js_1.TokenType.RESERVED_JOIN,
|
|
142
|
+
regex: regex.reservedWord(cfg.reservedJoins, cfg.identChars),
|
|
143
|
+
text: toCanonical,
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: token_js_1.TokenType.AND,
|
|
147
|
+
regex: /AND\b/iuy,
|
|
148
|
+
text: toCanonical,
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
type: token_js_1.TokenType.OR,
|
|
152
|
+
regex: /OR\b/iuy,
|
|
153
|
+
text: toCanonical,
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
type: token_js_1.TokenType.XOR,
|
|
157
|
+
regex: cfg.supportsXor ? /XOR\b/iuy : undefined,
|
|
158
|
+
text: toCanonical,
|
|
159
|
+
},
|
|
160
|
+
...(cfg.operatorKeyword
|
|
161
|
+
? [
|
|
162
|
+
{
|
|
163
|
+
type: token_js_1.TokenType.OPERATOR,
|
|
164
|
+
regex: /OPERATOR *\([^)]+\)/iuy,
|
|
165
|
+
},
|
|
166
|
+
]
|
|
167
|
+
: []),
|
|
168
|
+
{
|
|
169
|
+
type: token_js_1.TokenType.RESERVED_FUNCTION_NAME,
|
|
170
|
+
regex: regex.reservedWord(cfg.reservedFunctionNames, cfg.identChars),
|
|
171
|
+
text: toCanonical,
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
type: token_js_1.TokenType.RESERVED_DATA_TYPE,
|
|
175
|
+
regex: regex.reservedWord(cfg.reservedDataTypes, cfg.identChars),
|
|
176
|
+
text: toCanonical,
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
type: token_js_1.TokenType.RESERVED_KEYWORD,
|
|
180
|
+
regex: regex.reservedWord(cfg.reservedKeywords, cfg.identChars),
|
|
181
|
+
text: toCanonical,
|
|
182
|
+
},
|
|
183
|
+
]);
|
|
184
|
+
}
|
|
185
|
+
// These rules can also be cached as they only depend on
|
|
186
|
+
// the Tokenizer config options specified for each SQL dialect
|
|
187
|
+
buildRulesAfterParams(cfg) {
|
|
188
|
+
var _a, _b;
|
|
189
|
+
return this.validRules([
|
|
190
|
+
{
|
|
191
|
+
type: token_js_1.TokenType.VARIABLE,
|
|
192
|
+
regex: cfg.variableTypes ? regex.variable(cfg.variableTypes) : undefined,
|
|
193
|
+
},
|
|
194
|
+
{ type: token_js_1.TokenType.STRING, regex: regex.string(cfg.stringTypes) },
|
|
195
|
+
{
|
|
196
|
+
type: token_js_1.TokenType.IDENTIFIER,
|
|
197
|
+
regex: regex.identifier(cfg.identChars),
|
|
198
|
+
},
|
|
199
|
+
{ type: token_js_1.TokenType.DELIMITER, regex: /[;]/uy },
|
|
200
|
+
{ type: token_js_1.TokenType.COMMA, regex: /[,]/y },
|
|
201
|
+
{
|
|
202
|
+
type: token_js_1.TokenType.OPEN_PAREN,
|
|
203
|
+
regex: regex.parenthesis('open', cfg.extraParens),
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
type: token_js_1.TokenType.CLOSE_PAREN,
|
|
207
|
+
regex: regex.parenthesis('close', cfg.extraParens),
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
type: token_js_1.TokenType.OPERATOR,
|
|
211
|
+
regex: regex.operator([
|
|
212
|
+
// standard operators
|
|
213
|
+
'+',
|
|
214
|
+
'-',
|
|
215
|
+
'/',
|
|
216
|
+
'>',
|
|
217
|
+
'<',
|
|
218
|
+
'=',
|
|
219
|
+
'<>',
|
|
220
|
+
'<=',
|
|
221
|
+
'>=',
|
|
222
|
+
'!=',
|
|
223
|
+
...((_a = cfg.operators) !== null && _a !== void 0 ? _a : []),
|
|
224
|
+
]),
|
|
225
|
+
},
|
|
226
|
+
{ type: token_js_1.TokenType.ASTERISK, regex: /[*]/uy },
|
|
227
|
+
{
|
|
228
|
+
type: token_js_1.TokenType.PROPERTY_ACCESS_OPERATOR,
|
|
229
|
+
regex: regex.operator(['.', ...((_b = cfg.propertyAccessOperators) !== null && _b !== void 0 ? _b : [])]),
|
|
230
|
+
},
|
|
231
|
+
]);
|
|
232
|
+
}
|
|
233
|
+
// These rules can't be blindly cached as the paramTypesOverrides object
|
|
234
|
+
// can differ on each invocation of the format() function.
|
|
235
|
+
buildParamRules(cfg, paramTypesOverrides) {
|
|
236
|
+
var _a, _b, _c, _d, _e;
|
|
237
|
+
// Each dialect has its own default parameter types (if any),
|
|
238
|
+
// but these can be overriden by the user of the library.
|
|
239
|
+
const paramTypes = {
|
|
240
|
+
named: (paramTypesOverrides === null || paramTypesOverrides === void 0 ? void 0 : paramTypesOverrides.named) || ((_a = cfg.paramTypes) === null || _a === void 0 ? void 0 : _a.named) || [],
|
|
241
|
+
quoted: (paramTypesOverrides === null || paramTypesOverrides === void 0 ? void 0 : paramTypesOverrides.quoted) || ((_b = cfg.paramTypes) === null || _b === void 0 ? void 0 : _b.quoted) || [],
|
|
242
|
+
numbered: (paramTypesOverrides === null || paramTypesOverrides === void 0 ? void 0 : paramTypesOverrides.numbered) || ((_c = cfg.paramTypes) === null || _c === void 0 ? void 0 : _c.numbered) || [],
|
|
243
|
+
positional: typeof (paramTypesOverrides === null || paramTypesOverrides === void 0 ? void 0 : paramTypesOverrides.positional) === 'boolean'
|
|
244
|
+
? paramTypesOverrides.positional
|
|
245
|
+
: (_d = cfg.paramTypes) === null || _d === void 0 ? void 0 : _d.positional,
|
|
246
|
+
custom: (paramTypesOverrides === null || paramTypesOverrides === void 0 ? void 0 : paramTypesOverrides.custom) || ((_e = cfg.paramTypes) === null || _e === void 0 ? void 0 : _e.custom) || [],
|
|
247
|
+
};
|
|
248
|
+
return this.validRules([
|
|
249
|
+
{
|
|
250
|
+
type: token_js_1.TokenType.NAMED_PARAMETER,
|
|
251
|
+
regex: regex.parameter(paramTypes.named, regex.identifierPattern(cfg.paramChars || cfg.identChars)),
|
|
252
|
+
key: v => v.slice(1),
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
type: token_js_1.TokenType.QUOTED_PARAMETER,
|
|
256
|
+
regex: regex.parameter(paramTypes.quoted, regex.stringPattern(cfg.identTypes)),
|
|
257
|
+
key: v => (({ tokenKey, quoteChar }) => tokenKey.replace(new RegExp((0, regexUtil_js_1.escapeRegExp)('\\' + quoteChar), 'gu'), quoteChar))({
|
|
258
|
+
tokenKey: v.slice(2, -1),
|
|
259
|
+
quoteChar: v.slice(-1),
|
|
260
|
+
}),
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
type: token_js_1.TokenType.NUMBERED_PARAMETER,
|
|
264
|
+
regex: regex.parameter(paramTypes.numbered, '[0-9]+'),
|
|
265
|
+
key: v => v.slice(1),
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
type: token_js_1.TokenType.POSITIONAL_PARAMETER,
|
|
269
|
+
regex: paramTypes.positional ? /[?]/y : undefined,
|
|
270
|
+
},
|
|
271
|
+
...paramTypes.custom.map((customParam) => {
|
|
272
|
+
var _a;
|
|
273
|
+
return ({
|
|
274
|
+
type: token_js_1.TokenType.CUSTOM_PARAMETER,
|
|
275
|
+
regex: (0, regexUtil_js_1.patternToRegex)(customParam.regex),
|
|
276
|
+
key: (_a = customParam.key) !== null && _a !== void 0 ? _a : (v => v),
|
|
277
|
+
});
|
|
278
|
+
}),
|
|
279
|
+
]);
|
|
280
|
+
}
|
|
281
|
+
// filters out rules for token types whose regex is undefined
|
|
282
|
+
validRules(rules) {
|
|
283
|
+
return rules.filter((rule) => Boolean(rule.regex));
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
exports.default = Tokenizer;
|
|
287
|
+
/**
|
|
288
|
+
* Converts keywords (and keyword sequences) to canonical form:
|
|
289
|
+
* - in uppercase
|
|
290
|
+
* - single spaces between words
|
|
291
|
+
*/
|
|
292
|
+
const toCanonical = (v) => (0, utils_js_1.equalizeWhitespace)(v.toUpperCase());
|
|
293
|
+
//# sourceMappingURL=Tokenizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tokenizer.js","sourceRoot":"","sources":["../../../src/lexer/Tokenizer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA8C;AAC9C,yDAA2C;AAE3C,8EAAkE;AAClE,iDAA8D;AAC9D,0CAA2D;AAC3D,yDAAmD;AAInD,MAAqB,SAAS;IAI5B,YAAoB,GAAqB,EAAU,WAAmB;QAAlD,QAAG,GAAH,GAAG,CAAkB;QAAU,gBAAW,GAAX,WAAW,CAAQ;QACpE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;QAC1D,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC1D,CAAC;IAEM,QAAQ,CAAC,KAAa,EAAE,mBAA+B;QAC5D,MAAM,KAAK,GAAG;YACZ,GAAG,IAAI,CAAC,iBAAiB;YACzB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC;YACtD,GAAG,IAAI,CAAC,gBAAgB;SACzB,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,4BAAe,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACtE,CAAC;IAED,mDAAmD;IACnD,8DAA8D;IACtD,sBAAsB,CAAC,GAAqB;;QAClD,OAAO,IAAI,CAAC,UAAU,CAAC;YACrB;gBACE,IAAI,EAAE,oBAAS,CAAC,eAAe;gBAC/B,KAAK,EACH,qFAAqF;aACxF;YACD;gBACE,IAAI,EAAE,oBAAS,CAAC,aAAa;gBAC7B,KAAK,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,gCAAa,EAAE,CAAC,CAAC,CAAC,mBAAmB;aAC3E;YACD;gBACE,IAAI,EAAE,oBAAS,CAAC,YAAY;gBAC5B,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,MAAA,GAAG,CAAC,gBAAgB,mCAAI,CAAC,IAAI,CAAC,CAAC;aACzD;YACD;gBACE,IAAI,EAAE,oBAAS,CAAC,iBAAiB;gBACjC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;aACpC;YACD;gBACE,IAAI,EAAE,oBAAS,CAAC,MAAM;gBACtB,KAAK,EAAE,GAAG,CAAC,oBAAoB;oBAC7B,CAAC,CAAC,6IAA6I;oBAC/I,CAAC,CAAC,qIAAqI;aAC1I;YACD,oGAAoG;YACpG,oFAAoF;YACpF;gBACE,IAAI,EAAE,oBAAS,CAAC,uBAAuB;gBACvC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,MAAA,GAAG,CAAC,sBAAsB,mCAAI,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC;gBAC3E,IAAI,EAAE,WAAW;aAClB;YACD;gBACE,IAAI,EAAE,oBAAS,CAAC,yBAAyB;gBACzC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,MAAA,GAAG,CAAC,uBAAuB,mCAAI,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC;gBAC5E,IAAI,EAAE,WAAW;aAClB;YACD;gBACE,IAAI,EAAE,oBAAS,CAAC,IAAI;gBACpB,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE,WAAW;aAClB;YACD;gBACE,IAAI,EAAE,oBAAS,CAAC,GAAG;gBACnB,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,WAAW;aAClB;YACD;gBACE,IAAI,EAAE,oBAAS,CAAC,OAAO;gBACvB,KAAK,EAAE,cAAc;gBACrB,IAAI,EAAE,WAAW;aAClB;YACD;gBACE,IAAI,EAAE,oBAAS,CAAC,KAAK;gBACrB,KAAK,EAAE,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;gBACvE,IAAI,EAAE,WAAW;aAClB;YACD;gBACE,IAAI,EAAE,oBAAS,CAAC,eAAe;gBAC/B,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,UAAU,CAAC;gBAC9D,IAAI,EAAE,WAAW;aAClB;YACD;gBACE,IAAI,EAAE,oBAAS,CAAC,eAAe;gBAC/B,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,UAAU,CAAC;gBAC7D,IAAI,EAAE,WAAW;aAClB;YACD;gBACE,IAAI,EAAE,oBAAS,CAAC,sBAAsB;gBACtC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,qBAAqB,EAAE,GAAG,CAAC,UAAU,CAAC;gBACpE,IAAI,EAAE,WAAW;aAClB;YACD;gBACE,IAAI,EAAE,oBAAS,CAAC,IAAI;gBACpB,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE,WAAW;aAClB;YACD;gBACE,IAAI,EAAE,oBAAS,CAAC,IAAI;gBACpB,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE,WAAW;aAClB;YACD;gBACE,IAAI,EAAE,oBAAS,CAAC,IAAI;gBACpB,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE,WAAW;aAClB;YACD;gBACE,IAAI,EAAE,oBAAS,CAAC,aAAa;gBAC7B,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,UAAU,CAAC;gBAC5D,IAAI,EAAE,WAAW;aAClB;YACD;gBACE,IAAI,EAAE,oBAAS,CAAC,GAAG;gBACnB,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,WAAW;aAClB;YACD;gBACE,IAAI,EAAE,oBAAS,CAAC,EAAE;gBAClB,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,WAAW;aAClB;YACD;gBACE,IAAI,EAAE,oBAAS,CAAC,GAAG;gBACnB,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;gBAC/C,IAAI,EAAE,WAAW;aAClB;YACD,GAAG,CAAC,GAAG,CAAC,eAAe;gBACrB,CAAC,CAAC;oBACE;wBACE,IAAI,EAAE,oBAAS,CAAC,QAAQ;wBACxB,KAAK,EAAE,wBAAwB;qBAChC;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP;gBACE,IAAI,EAAE,oBAAS,CAAC,sBAAsB;gBACtC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,qBAAqB,EAAE,GAAG,CAAC,UAAU,CAAC;gBACpE,IAAI,EAAE,WAAW;aAClB;YACD;gBACE,IAAI,EAAE,oBAAS,CAAC,kBAAkB;gBAClC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,EAAE,GAAG,CAAC,UAAU,CAAC;gBAChE,IAAI,EAAE,WAAW;aAClB;YACD;gBACE,IAAI,EAAE,oBAAS,CAAC,gBAAgB;gBAChC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,EAAE,GAAG,CAAC,UAAU,CAAC;gBAC/D,IAAI,EAAE,WAAW;aAClB;SACF,CAAC,CAAC;IACL,CAAC;IAED,wDAAwD;IACxD,8DAA8D;IACtD,qBAAqB,CAAC,GAAqB;;QACjD,OAAO,IAAI,CAAC,UAAU,CAAC;YACrB;gBACE,IAAI,EAAE,oBAAS,CAAC,QAAQ;gBACxB,KAAK,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS;aACzE;YACD,EAAE,IAAI,EAAE,oBAAS,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;YAChE;gBACE,IAAI,EAAE,oBAAS,CAAC,UAAU;gBAC1B,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC;aACxC;YACD,EAAE,IAAI,EAAE,oBAAS,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;YAC7C,EAAE,IAAI,EAAE,oBAAS,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE;YACxC;gBACE,IAAI,EAAE,oBAAS,CAAC,UAAU;gBAC1B,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,CAAC;aAClD;YACD;gBACE,IAAI,EAAE,oBAAS,CAAC,WAAW;gBAC3B,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,WAAW,CAAC;aACnD;YACD;gBACE,IAAI,EAAE,oBAAS,CAAC,QAAQ;gBACxB,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC;oBACpB,qBAAqB;oBACrB,GAAG;oBACH,GAAG;oBACH,GAAG;oBACH,GAAG;oBACH,GAAG;oBACH,GAAG;oBACH,IAAI;oBACJ,IAAI;oBACJ,IAAI;oBACJ,IAAI;oBACJ,GAAG,CAAC,MAAA,GAAG,CAAC,SAAS,mCAAI,EAAE,CAAC;iBACzB,CAAC;aACH;YACD,EAAE,IAAI,EAAE,oBAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE;YAC5C;gBACE,IAAI,EAAE,oBAAS,CAAC,wBAAwB;gBACxC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,MAAA,GAAG,CAAC,uBAAuB,mCAAI,EAAE,CAAC,CAAC,CAAC;aACrE;SACF,CAAC,CAAC;IACL,CAAC;IAED,wEAAwE;IACxE,0DAA0D;IAClD,eAAe,CAAC,GAAqB,EAAE,mBAA+B;;QAC5E,6DAA6D;QAC7D,yDAAyD;QACzD,MAAM,UAAU,GAAG;YACjB,KAAK,EAAE,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,KAAK,MAAI,MAAA,GAAG,CAAC,UAAU,0CAAE,KAAK,CAAA,IAAI,EAAE;YAChE,MAAM,EAAE,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,MAAM,MAAI,MAAA,GAAG,CAAC,UAAU,0CAAE,MAAM,CAAA,IAAI,EAAE;YACnE,QAAQ,EAAE,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,QAAQ,MAAI,MAAA,GAAG,CAAC,UAAU,0CAAE,QAAQ,CAAA,IAAI,EAAE;YACzE,UAAU,EACR,OAAO,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,UAAU,CAAA,KAAK,SAAS;gBAClD,CAAC,CAAC,mBAAmB,CAAC,UAAU;gBAChC,CAAC,CAAC,MAAA,GAAG,CAAC,UAAU,0CAAE,UAAU;YAChC,MAAM,EAAE,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,MAAM,MAAI,MAAA,GAAG,CAAC,UAAU,0CAAE,MAAM,CAAA,IAAI,EAAE;SACpE,CAAC;QAEF,OAAO,IAAI,CAAC,UAAU,CAAC;YACrB;gBACE,IAAI,EAAE,oBAAS,CAAC,eAAe;gBAC/B,KAAK,EAAE,KAAK,CAAC,SAAS,CACpB,UAAU,CAAC,KAAK,EAChB,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,CAAC,CAC1D;gBACD,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aACrB;YACD;gBACE,IAAI,EAAE,oBAAS,CAAC,gBAAgB;gBAChC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAC9E,GAAG,EAAE,CAAC,CAAC,EAAE,CACP,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,CAC3B,QAAQ,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,IAAA,2BAAY,EAAC,IAAI,GAAG,SAAS,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;oBAC/E,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACxB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBACvB,CAAC;aACL;YACD;gBACE,IAAI,EAAE,oBAAS,CAAC,kBAAkB;gBAClC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBACrD,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aACrB;YACD;gBACE,IAAI,EAAE,oBAAS,CAAC,oBAAoB;gBACpC,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;aAClD;YACD,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CACtB,CAAC,WAAW,EAAa,EAAE;;gBAAC,OAAA,CAAC;oBAC3B,IAAI,EAAE,oBAAS,CAAC,gBAAgB;oBAChC,KAAK,EAAE,IAAA,6BAAc,EAAC,WAAW,CAAC,KAAK,CAAC;oBACxC,GAAG,EAAE,MAAA,WAAW,CAAC,GAAG,mCAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBACjC,CAAC,CAAA;aAAA,CACH;SACF,CAAC,CAAC;IACL,CAAC;IAED,6DAA6D;IACrD,UAAU,CAAC,KAA0B;QAC3C,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAqB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACxE,CAAC;CACF;AApQD,4BAoQC;AAED;;;;GAIG;AACH,MAAM,WAAW,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAA,6BAAkB,EAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC"}
|