UNPKG

mysql-all-in-one

Version:

A package that allows you to have a complete interaction with a MYSQL database, allowing to connect to the database, retrieve data and create queries.

35 lines (34 loc) 1.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 generate_query_from_prepared_statement_1 = require("../generate_query_from_prepared_statement"); const where_1 = __importDefault(require("../select/conditionals/where")); const order_1 = require("../select/order"); const utils_1 = require("../utils"); const types_1 = require("./types"); /** * @description Delete from query. * @param table Table of delete from. * @param whereOpts Optional where object to filter deleted data. * @param opts Extra delete options like `ignore`, `quick` * @returns Delete from SQL query. * @example deleteFrom('table', {id: 5}, {ignore: true}); * >>> "DELETE IGNORE FROM `table` WHERE (`table`.`id` = 5);" */ const deleteFrom = (table, whereOpts, opts) => { const { ignore, quick, returnPreparedStatement, limit, order: orderOpts, } = Object.assign(Object.assign({}, types_1.defaultDeleteOptions), opts); const tableRef = (0, utils_1.escapeNames)(table); const [_, alias] = (0, utils_1.extractTableAlias)(tableRef); const { statement: whereStatement, values: whereValues } = (0, where_1.default)(whereOpts, alias); const prepStatement = { statement: `DELETE ${quick === true ? "QUICK " : ""}${ignore === true ? "IGNORE " : ""}FROM ${tableRef}${whereStatement}${(0, order_1.order)(orderOpts, alias)}${limit ? ` LIMIT ${limit}` : ""};`, values: whereValues, __is_prep_statement: true, }; return returnPreparedStatement === true ? prepStatement : (0, generate_query_from_prepared_statement_1.generateQueryFromPreparedStatement)(prepStatement); }; exports.default = deleteFrom;