109 lines
3.6 KiB
Plaintext
109 lines
3.6 KiB
Plaintext
"use strict";
|
|
var __defProp = Object.defineProperty;
|
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
var __export = (target, all) => {
|
|
for (var name in all)
|
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
};
|
|
var __copyProps = (to, from, except, desc) => {
|
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
for (let key of __getOwnPropNames(from))
|
|
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
}
|
|
return to;
|
|
};
|
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
var delete_exports = {};
|
|
__export(delete_exports, {
|
|
GelDeleteBase: () => GelDeleteBase
|
|
});
|
|
module.exports = __toCommonJS(delete_exports);
|
|
var import_entity = require("../../entity.cjs");
|
|
var import_query_promise = require("../../query-promise.cjs");
|
|
var import_table = require("../../table.cjs");
|
|
var import_tracing = require("../../tracing.cjs");
|
|
var import_utils = require("../../utils.cjs");
|
|
var import_utils2 = require("../utils.cjs");
|
|
class GelDeleteBase extends import_query_promise.QueryPromise {
|
|
constructor(table, session, dialect, withList) {
|
|
super();
|
|
this.session = session;
|
|
this.dialect = dialect;
|
|
this.config = { table, withList };
|
|
}
|
|
static [import_entity.entityKind] = "GelDelete";
|
|
config;
|
|
/**
|
|
* Adds a `where` clause to the query.
|
|
*
|
|
* Calling this method will delete only those rows that fulfill a specified condition.
|
|
*
|
|
* See docs: {@link https://orm.drizzle.team/docs/delete}
|
|
*
|
|
* @param where the `where` clause.
|
|
*
|
|
* @example
|
|
* You can use conditional operators and `sql function` to filter the rows to be deleted.
|
|
*
|
|
* ```ts
|
|
* // Delete all cars with green color
|
|
* await db.delete(cars).where(eq(cars.color, 'green'));
|
|
* // or
|
|
* await db.delete(cars).where(sql`${cars.color} = 'green'`)
|
|
* ```
|
|
*
|
|
* You can logically combine conditional operators with `and()` and `or()` operators:
|
|
*
|
|
* ```ts
|
|
* // Delete all BMW cars with a green color
|
|
* await db.delete(cars).where(and(eq(cars.color, 'green'), eq(cars.brand, 'BMW')));
|
|
*
|
|
* // Delete all cars with the green or blue color
|
|
* await db.delete(cars).where(or(eq(cars.color, 'green'), eq(cars.color, 'blue')));
|
|
* ```
|
|
*/
|
|
where(where) {
|
|
this.config.where = where;
|
|
return this;
|
|
}
|
|
returning(fields = this.config.table[import_table.Table.Symbol.Columns]) {
|
|
this.config.returning = (0, import_utils.orderSelectedFields)(fields);
|
|
return this;
|
|
}
|
|
/** @internal */
|
|
getSQL() {
|
|
return this.dialect.buildDeleteQuery(this.config);
|
|
}
|
|
toSQL() {
|
|
const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());
|
|
return rest;
|
|
}
|
|
/** @internal */
|
|
_prepare(name) {
|
|
return import_tracing.tracer.startActiveSpan("drizzle.prepareQuery", () => {
|
|
return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()), this.config.returning, name, true, void 0, {
|
|
type: "delete",
|
|
tables: (0, import_utils2.extractUsedTable)(this.config.table)
|
|
});
|
|
});
|
|
}
|
|
prepare(name) {
|
|
return this._prepare(name);
|
|
}
|
|
execute = (placeholderValues) => {
|
|
return import_tracing.tracer.startActiveSpan("drizzle.operation", () => {
|
|
return this._prepare().execute(placeholderValues);
|
|
});
|
|
};
|
|
$dynamic() {
|
|
return this;
|
|
}
|
|
}
|
|
// Annotate the CommonJS export names for ESM import in node:
|
|
0 && (module.exports = {
|
|
GelDeleteBase
|
|
});
|
|
//# sourceMappingURL=delete.cjs.map |