subquery.ts — drizzle-orm Source File
Architecture documentation for subquery.ts, a typescript file in the drizzle-orm codebase. 2 imports, 3 dependents.
Entity Profile
Dependency Diagram
graph LR 562ff959_f5c2_ad28_16c7_59f4a572a158["subquery.ts"] bc6d807f_7198_da43_c1e6_911af80c80ee["entity.ts"] 562ff959_f5c2_ad28_16c7_59f4a572a158 --> bc6d807f_7198_da43_c1e6_911af80c80ee 99347ab2_b1a1_faf4_e37c_7643e4b2eb8a["sql.ts"] 562ff959_f5c2_ad28_16c7_59f4a572a158 --> 99347ab2_b1a1_faf4_e37c_7643e4b2eb8a 7664a866_a3c0_a860_d69f_58ff87a29d3b["operations.ts"] 7664a866_a3c0_a860_d69f_58ff87a29d3b --> 562ff959_f5c2_ad28_16c7_59f4a572a158 a54a11d6_4422_4e60_3d09_6c04afd8f1eb["selection-proxy.ts"] a54a11d6_4422_4e60_3d09_6c04afd8f1eb --> 562ff959_f5c2_ad28_16c7_59f4a572a158 99737bc3_a631_a054_9291_f966c791930f["utils.ts"] 99737bc3_a631_a054_9291_f966c791930f --> 562ff959_f5c2_ad28_16c7_59f4a572a158 style 562ff959_f5c2_ad28_16c7_59f4a572a158 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { entityKind } from './entity.ts';
import type { SQL, SQLWrapper } from './sql/sql.ts';
export interface Subquery<
// eslint-disable-next-line @typescript-eslint/no-unused-vars
TAlias extends string = string,
// eslint-disable-next-line @typescript-eslint/no-unused-vars
TSelectedFields extends Record<string, unknown> = Record<string, unknown>,
> extends SQLWrapper {
// SQLWrapper runtime implementation is defined in 'sql/sql.ts'
}
export class Subquery<
TAlias extends string = string,
TSelectedFields extends Record<string, unknown> = Record<string, unknown>,
> implements SQLWrapper {
static readonly [entityKind]: string = 'Subquery';
declare _: {
brand: 'Subquery';
sql: SQL;
selectedFields: TSelectedFields;
alias: TAlias;
isWith: boolean;
usedTables?: string[];
};
constructor(sql: SQL, fields: TSelectedFields, alias: string, isWith = false, usedTables: string[] = []) {
this._ = {
brand: 'Subquery',
sql,
selectedFields: fields as TSelectedFields,
alias: alias as TAlias,
isWith,
usedTables,
};
}
// getSQL(): SQL<unknown> {
// return new SQL([this]);
// }
}
export class WithSubquery<
TAlias extends string = string,
TSelection extends Record<string, unknown> = Record<string, unknown>,
> extends Subquery<TAlias, TSelection> {
static override readonly [entityKind]: string = 'WithSubquery';
}
export type WithSubqueryWithoutSelection<TAlias extends string> = WithSubquery<TAlias, {}>;
Domain
Subdomains
Classes
Source
Frequently Asked Questions
What does subquery.ts do?
subquery.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleORM domain, QueryBuilders subdomain.
What does subquery.ts depend on?
subquery.ts imports 2 module(s): entity.ts, sql.ts.
What files import subquery.ts?
subquery.ts is imported by 3 file(s): operations.ts, selection-proxy.ts, utils.ts.
Where is subquery.ts in the architecture?
subquery.ts is located at drizzle-orm/src/subquery.ts (domain: DrizzleORM, subdomain: QueryBuilders, directory: drizzle-orm/src).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free