UNPKG

@hokaccha/sql-formatter

Version:

Format whitespace in a SQL query to make it more readable

52 lines 2.34 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.format = void 0; const BigQueryFormatter_1 = __importDefault(require("./languages/BigQueryFormatter")); const Db2Formatter_1 = __importDefault(require("./languages/Db2Formatter")); const MariaDbFormatter_1 = __importDefault(require("./languages/MariaDbFormatter")); const MySqlFormatter_1 = __importDefault(require("./languages/MySqlFormatter")); const N1qlFormatter_1 = __importDefault(require("./languages/N1qlFormatter")); const PlSqlFormatter_1 = __importDefault(require("./languages/PlSqlFormatter")); const PostgreSqlFormatter_1 = __importDefault(require("./languages/PostgreSqlFormatter")); const RedshiftFormatter_1 = __importDefault(require("./languages/RedshiftFormatter")); const SparkSqlFormatter_1 = __importDefault(require("./languages/SparkSqlFormatter")); const StandardSqlFormatter_1 = __importDefault(require("./languages/StandardSqlFormatter")); const TSqlFormatter_1 = __importDefault(require("./languages/TSqlFormatter")); const formatters = { db2: Db2Formatter_1.default, mariadb: MariaDbFormatter_1.default, mysql: MySqlFormatter_1.default, n1ql: N1qlFormatter_1.default, plsql: PlSqlFormatter_1.default, postgresql: PostgreSqlFormatter_1.default, redshift: RedshiftFormatter_1.default, spark: SparkSqlFormatter_1.default, sql: StandardSqlFormatter_1.default, tsql: TSqlFormatter_1.default, bigquery: BigQueryFormatter_1.default, }; const defaultConfig = { language: "sql", indent: " ", keywordCase: "preserve", linesBetweenQueries: 1, }; /** * Format whitespace in a query to make it easier to read. */ const format = (query, config = {}) => { if (typeof query !== "string") { throw new Error("Invalid query argument. Expected string, instead got " + typeof query); } const { language, ...formatterConfig } = { ...defaultConfig, ...config }; const Formatter = formatters[language]; if (Formatter === undefined) { throw Error(`Unsupported SQL dialect: ${language}`); } return new Formatter(formatterConfig).format(query); }; exports.format = format; //# sourceMappingURL=sqlFormatter.js.map