with.ts — drizzle-orm Source File
Architecture documentation for with.ts, a typescript file in the drizzle-orm codebase. 6 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR a4706dce_ae84_706c_8ff7_845a0df354a1["with.ts"] 554a7c60_d7ae_c68e_f0c9_e3a02afcefb7["db.ts"] a4706dce_ae84_706c_8ff7_845a0df354a1 --> 554a7c60_d7ae_c68e_f0c9_e3a02afcefb7 25b05299_f48f_bceb_01ca_1343d330a8f7["utils.ts"] a4706dce_ae84_706c_8ff7_845a0df354a1 --> 25b05299_f48f_bceb_01ca_1343d330a8f7 fa14e9c0_b73d_4bcb_463b_adf18df8a285["index.ts"] a4706dce_ae84_706c_8ff7_845a0df354a1 --> fa14e9c0_b73d_4bcb_463b_adf18df8a285 5c46beaf_8b59_d2e3_def3_8af6daf1fccd["index.ts"] a4706dce_ae84_706c_8ff7_845a0df354a1 --> 5c46beaf_8b59_d2e3_def3_8af6daf1fccd be483a7f_d5d7_7a9b_9a13_44a4a6aafbbd["sql.ts"] a4706dce_ae84_706c_8ff7_845a0df354a1 --> be483a7f_d5d7_7a9b_9a13_44a4a6aafbbd ecce3253_1e75_a87f_27b3_ca87e81a3024["utils.ts"] a4706dce_ae84_706c_8ff7_845a0df354a1 --> ecce3253_1e75_a87f_27b3_ca87e81a3024 style a4706dce_ae84_706c_8ff7_845a0df354a1 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import type { Equal } from 'type-tests/utils.ts';
import { Expect } from 'type-tests/utils.ts';
import { integer, pgTable, serial, text } from '~/pg-core/index.ts';
import { gt, inArray, like } from '~/sql/expressions/index.ts';
import { sql } from '~/sql/sql.ts';
import { DrizzleTypeError } from '~/utils.ts';
import { db } from './db.ts';
{
const orders = pgTable('orders', {
id: serial('id').primaryKey(),
region: text('region').notNull(),
product: text('product').notNull(),
amount: integer('amount').notNull(),
quantity: integer('quantity').notNull(),
generated: text('generatedText').generatedAlwaysAs(sql``),
});
const regionalSales = db
.$with('regional_sales')
.as((qb) =>
qb
.select({
region: orders.region,
totalSales: sql<number>`sum(${orders.amount})`.as('total_sales'),
})
.from(orders)
.groupBy(orders.region)
);
const topRegions = db
.$with('top_regions')
.as((qb) =>
qb
.select({
region: orders.region,
totalSales: orders.amount,
})
.from(regionalSales)
.where(
gt(
regionalSales.totalSales,
db.select({ sales: sql`sum(${regionalSales.totalSales})/10` }).from(regionalSales),
),
)
);
const result = await db
.with(regionalSales, topRegions)
.select({
region: orders.region,
product: orders.product,
productUnits: sql<number>`sum(${orders.quantity})`,
productSales: sql<number>`sum(${orders.amount})`,
})
.from(orders)
.where(inArray(orders.region, db.select({ region: topRegions.region }).from(topRegions)));
Expect<
Equal<{
// ... (271 more lines)
Domain
Subdomains
Functions
Dependencies
- db.ts
- index.ts
- index.ts
- sql.ts
- utils.ts
- utils.ts
Source
Frequently Asked Questions
What does with.ts do?
with.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 with.ts?
with.ts defines 3 function(s): regionalSales, sq2, topRegions.
What does with.ts depend on?
with.ts imports 6 module(s): db.ts, index.ts, index.ts, sql.ts, utils.ts, utils.ts.
Where is with.ts in the architecture?
with.ts is located at drizzle-orm/type-tests/pg/with.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