UNPKG

eslint-plugin-sql

Version:
506 lines (504 loc) 11.8 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const createRuleTester_1 = require("../factories/createRuleTester"); const format_1 = require("./format"); const multiline_ts_1 = __importDefault(require("multiline-ts")); exports.default = (0, createRuleTester_1.createRuleTester)('format', format_1.rule, {}, { invalid: [ { code: (0, multiline_ts_1.default) ` sql.fragment\` SELECT m1.ID FROM message m1 WHERE m1.ID = \${message.id} \` `, errors: [ { messageId: 'format', }, ], name: 'identifierCase:lower', options: [ {}, { identifierCase: 'lower', }, ], output: (0, multiline_ts_1.default) ` sql.fragment\` SELECT m1.id FROM message m1 WHERE m1.id = \${message.id} \` `, }, { code: (0, multiline_ts_1.default) ` sql.fragment\` SELECT id::NUMERIC \` `, errors: [ { messageId: 'format', }, ], name: 'dataTypeCase:lower', options: [ {}, { dataTypeCase: 'lower', language: 'postgresql', }, ], output: (0, multiline_ts_1.default) ` sql.fragment\` SELECT id::numeric \` `, }, { code: (0, multiline_ts_1.default) ` sql.fragment\` SELECT COUNT(*) FROM message WHERE id = \${message.id} \` `, errors: [ { messageId: 'format', }, ], name: 'keywordCase:lower', options: [ {}, { keywordCase: 'lower', }, ], output: (0, multiline_ts_1.default) ` sql.fragment\` select COUNT(*) from message where id = \${message.id} \` `, }, { code: (0, multiline_ts_1.default) ` sql.fragment\` select COUNT(*) from message where id = \${message.id} \` `, errors: [ { messageId: 'format', }, ], name: 'keywordCase:upper', options: [ {}, { keywordCase: 'upper', }, ], output: (0, multiline_ts_1.default) ` sql.fragment\` SELECT COUNT(*) FROM message WHERE id = \${message.id} \` `, }, { code: (0, multiline_ts_1.default) ` sql.fragment\` \${null} UPDATE message SET messages = \${sql.jsonb(messages as unknown as SerializableValue[])} WHERE id = \${message.id} \`; `, errors: [ { messageId: 'format', }, ], options: [ {}, { tabWidth: 4, }, ], output: (0, multiline_ts_1.default) ` sql.fragment\` \${null} UPDATE message SET messages = \${sql.jsonb(messages as unknown as SerializableValue[])} WHERE id = \${message.id} \`; `, }, { code: (0, multiline_ts_1.default) ` await pool.query(sql.typeAlias('void')\` UPDATE message SET messages = \${sql.jsonb(messages as unknown as SerializableValue[])} WHERE id = \${message.id} \`); `, errors: [ { messageId: 'format', }, ], options: [ {}, { tabWidth: 4, }, ], output: (0, multiline_ts_1.default) ` await pool.query(sql.typeAlias('void')\` UPDATE message SET messages = \${sql.jsonb(messages as unknown as SerializableValue[])} WHERE id = \${message.id} \`); `, }, { code: (0, multiline_ts_1.default) ` sql\` SELECT 1 \` `, errors: [ { messageId: 'format', }, ], options: [ {}, { tabWidth: 4, }, ], output: (0, multiline_ts_1.default) ` sql\` SELECT 1 \` `, }, { code: (0, multiline_ts_1.default) ` sql.type({ id: z.number() })\` SELECT 1 \` `, errors: [ { messageId: 'format', }, ], options: [ {}, { tabWidth: 4, }, ], output: (0, multiline_ts_1.default) ` sql.type({ id: z.number() })\` SELECT 1 \` `, }, { code: (0, multiline_ts_1.default) ` sql.typeAlias('void')\` SELECT 1 \` `, errors: [ { messageId: 'format', }, ], options: [ {}, { tabWidth: 4, }, ], output: (0, multiline_ts_1.default) ` sql.typeAlias('void')\` SELECT 1 \` `, }, { code: '`SELECT 1`', errors: [ { messageId: 'format', }, ], options: [ { ignoreInline: false, ignoreTagless: false, }, {}, ], output: (0, multiline_ts_1.default) ` \` SELECT 1 \` `, }, { code: '`SELECT 2`', errors: [ { messageId: 'format', }, ], options: [ { ignoreInline: false, ignoreTagless: false, }, { tabWidth: 2, }, ], output: (0, multiline_ts_1.default) ` \` SELECT 2 \` `, }, { code: 'sql.unsafe`SELECT 3`', errors: [ { messageId: 'format', }, ], options: [ { ignoreInline: false, }, {}, ], output: (0, multiline_ts_1.default) ` sql.unsafe\` SELECT 3 \` `, }, { code: 'sql.type()`SELECT 3`', errors: [ { messageId: 'format', }, ], options: [ { ignoreInline: false, }, {}, ], output: (0, multiline_ts_1.default) ` sql.type()\` SELECT 3 \` `, }, { code: "`SELECT ${'foo'} FROM ${'bar'}`", errors: [ { messageId: 'format', }, ], options: [ { ignoreInline: false, ignoreTagless: false, }, {}, ], output: (0, multiline_ts_1.default) ` \` SELECT \${'foo'} FROM \${'bar'} \` `, }, { code: (0, multiline_ts_1.default) ` const code = sql\` SELECT ${'foo'} FROM ${'bar'} \` `, errors: [ { messageId: 'format', }, ], options: [{}, {}], output: (0, multiline_ts_1.default) ` const code = sql\` SELECT ${'foo'} FROM ${'bar'} \` `, }, { code: 'SQL`SELECT 1`', errors: [ { messageId: 'format', }, ], options: [ { ignoreInline: false, sqlTag: 'SQL', }, {}, ], output: (0, multiline_ts_1.default) ` SQL\` SELECT 1 \` `, }, ], valid: [ { code: (0, multiline_ts_1.default) ` \` # A ## B ### C \` `, }, { code: 'sql`SELECT 1`', options: [ { ignoreInline: true, }, {}, ], }, { code: '`SELECT 2`', options: [ { ignoreTagless: true, }, {}, ], }, { code: (0, multiline_ts_1.default) ` const code = sql\` SELECT \${'foo'} FROM \${'bar'} \` `, options: [ { ignoreExpressions: true, ignoreInline: false, ignoreTagless: false, }, {}, ], }, { code: (0, multiline_ts_1.default) ` const code = sql\` SELECT \${'foo'} FROM \${'bar'} \` `, options: [{}, {}], }, { code: (0, multiline_ts_1.default) ` const code = sql\` DROP TABLE foo \` `, options: [{}, {}], }, { code: (0, multiline_ts_1.default) ` const code = sql\` DROP TABLE foo; DROP TABLE foo; \` `, options: [{}, {}], }, ], });