delete.ts — drizzle-orm Source File
Architecture documentation for delete.ts, a typescript file in the drizzle-orm codebase. 8 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 7b23a2e9_e7ed_2c2e_cfeb_67f68bab7871["delete.ts"] 554a7c60_d7ae_c68e_f0c9_e3a02afcefb7["db.ts"] 7b23a2e9_e7ed_2c2e_cfeb_67f68bab7871 --> 554a7c60_d7ae_c68e_f0c9_e3a02afcefb7 998b0a13_62af_9408_d100_2bb61b49b6b9["tables.ts"] 7b23a2e9_e7ed_2c2e_cfeb_67f68bab7871 --> 998b0a13_62af_9408_d100_2bb61b49b6b9 4d7e77e2_6504_f5a5_4a03_156acfe671d4["users"] 7b23a2e9_e7ed_2c2e_cfeb_67f68bab7871 --> 4d7e77e2_6504_f5a5_4a03_156acfe671d4 0d277acf_0d68_9daf_8724_642232a89719["pg"] 7b23a2e9_e7ed_2c2e_cfeb_67f68bab7871 --> 0d277acf_0d68_9daf_8724_642232a89719 25b05299_f48f_bceb_01ca_1343d330a8f7["utils.ts"] 7b23a2e9_e7ed_2c2e_cfeb_67f68bab7871 --> 25b05299_f48f_bceb_01ca_1343d330a8f7 fa14e9c0_b73d_4bcb_463b_adf18df8a285["index.ts"] 7b23a2e9_e7ed_2c2e_cfeb_67f68bab7871 --> fa14e9c0_b73d_4bcb_463b_adf18df8a285 5c46beaf_8b59_d2e3_def3_8af6daf1fccd["index.ts"] 7b23a2e9_e7ed_2c2e_cfeb_67f68bab7871 --> 5c46beaf_8b59_d2e3_def3_8af6daf1fccd be483a7f_d5d7_7a9b_9a13_44a4a6aafbbd["sql.ts"] 7b23a2e9_e7ed_2c2e_cfeb_67f68bab7871 --> be483a7f_d5d7_7a9b_9a13_44a4a6aafbbd style 7b23a2e9_e7ed_2c2e_cfeb_67f68bab7871 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import type { QueryResult } from 'pg';
import type { Equal } from 'type-tests/utils.ts';
import { Expect } from 'type-tests/utils.ts';
import type { PgDelete } from '~/pg-core/index.ts';
import { eq } from '~/sql/expressions/index.ts';
import { sql } from '~/sql/sql.ts';
import { db } from './db.ts';
import { users } from './tables.ts';
const deleteAll = await db.delete(users);
Expect<Equal<QueryResult<never>, typeof deleteAll>>;
const deleteAllStmt = db.delete(users).prepare('deleteAllStmt');
const deleteAllPrepared = await deleteAllStmt.execute();
Expect<Equal<QueryResult<never>, typeof deleteAllPrepared>>;
const deleteWhere = await db.delete(users).where(eq(users.id, 1));
Expect<Equal<QueryResult<never>, typeof deleteWhere>>;
const deleteWhereStmt = db.delete(users).where(eq(users.id, 1)).prepare('deleteWhereStmt');
const deleteWherePrepared = await deleteWhereStmt.execute();
Expect<Equal<QueryResult<never>, typeof deleteWherePrepared>>;
const deleteReturningAll = await db.delete(users).returning();
Expect<Equal<typeof users.$inferSelect[], typeof deleteReturningAll>>;
const deleteReturningAllStmt = db.delete(users).returning().prepare('deleteReturningAllStmt');
const deleteReturningAllPrepared = await deleteReturningAllStmt.execute();
Expect<Equal<typeof users.$inferSelect[], typeof deleteReturningAllPrepared>>;
const deleteReturningPartial = await db.delete(users).returning({
myId: users.id,
myHomeCity: users.homeCity,
});
Expect<Equal<{ myId: number; myHomeCity: number }[], typeof deleteReturningPartial>>;
const deleteReturningPartialStmt = db.delete(users).returning({
myId: users.id,
myHomeCity: users.homeCity,
}).prepare('deleteReturningPartialStmt');
const deleteReturningPartialPrepared = await deleteReturningPartialStmt.execute();
Expect<Equal<{ myId: number; myHomeCity: number }[], typeof deleteReturningPartialPrepared>>;
{
function dynamic<T extends PgDelete>(qb: T) {
return qb.where(sql``).returning();
}
const qbBase = db.delete(users).$dynamic();
const qb = dynamic(qbBase);
const result = await qb;
Expect<Equal<typeof users.$inferSelect[], typeof result>>;
}
{
function withReturning<T extends PgDelete>(qb: T) {
return qb.returning();
}
const qbBase = db.delete(users).$dynamic();
const qb = withReturning(qbBase);
const result = await qb;
Expect<Equal<typeof users.$inferSelect[], typeof result>>;
}
{
db
.delete(users)
.where(sql``)
// @ts-expect-error method was already called
.where(sql``);
db
.delete(users)
.returning()
// @ts-expect-error method was already called
.returning();
}
Domain
Subdomains
Functions
Source
Frequently Asked Questions
What does delete.ts do?
delete.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleORM domain, DatabaseDrivers subdomain.
What functions are defined in delete.ts?
delete.ts defines 2 function(s): dynamic, withReturning.
What does delete.ts depend on?
delete.ts imports 8 module(s): db.ts, index.ts, index.ts, pg, sql.ts, tables.ts, users, utils.ts.
Where is delete.ts in the architecture?
delete.ts is located at drizzle-orm/type-tests/pg/delete.ts (domain: DrizzleORM, subdomain: DatabaseDrivers, directory: drizzle-orm/type-tests/pg).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free