Home / File/ subquery.ts — drizzle-orm Source File

subquery.ts — drizzle-orm Source File

Architecture documentation for subquery.ts, a typescript file in the drizzle-orm codebase. 5 imports, 1 dependents.

File typescript DrizzleORM 5 imports 1 dependents

Entity Profile

Dependency Diagram

graph LR
  69c14b95_3001_2f9c_64fa_d818657b1132["subquery.ts"]
  05592167_6811_c578_aecb_8ce071c602a7["query-builder.ts"]
  69c14b95_3001_2f9c_64fa_d818657b1132 --> 05592167_6811_c578_aecb_8ce071c602a7
  d31ad410_b8fc_5d88_a194_70aa7419676a["query-builder.ts"]
  69c14b95_3001_2f9c_64fa_d818657b1132 --> d31ad410_b8fc_5d88_a194_70aa7419676a
  8fb028b7_6ce0_27fa_29b6_39545ba11529["select.types.ts"]
  69c14b95_3001_2f9c_64fa_d818657b1132 --> 8fb028b7_6ce0_27fa_29b6_39545ba11529
  be483a7f_d5d7_7a9b_9a13_44a4a6aafbbd["sql.ts"]
  69c14b95_3001_2f9c_64fa_d818657b1132 --> be483a7f_d5d7_7a9b_9a13_44a4a6aafbbd
  4d55618d_fa7b_8e54_edb2_b85ae393d95b["subquery.ts"]
  69c14b95_3001_2f9c_64fa_d818657b1132 --> 4d55618d_fa7b_8e54_edb2_b85ae393d95b
  e9188303_2815_1371_46b3_eb6061e52537["db.ts"]
  e9188303_2815_1371_46b3_eb6061e52537 --> 69c14b95_3001_2f9c_64fa_d818657b1132
  style 69c14b95_3001_2f9c_64fa_d818657b1132 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';
import type { AddAliasToSelection } from '~/query-builders/select.types.ts';
import type { ColumnsSelection, SQL } from '~/sql/sql.ts';
import type { Subquery, WithSubquery, WithSubqueryWithoutSelection } from '~/subquery.ts';
import type { QueryBuilder } from './query-builders/query-builder.ts';

export type SubqueryWithSelection<TSelection extends ColumnsSelection, TAlias extends string> =
	& Subquery<TAlias, AddAliasToSelection<TSelection, TAlias, 'sqlite'>>
	& AddAliasToSelection<TSelection, TAlias, 'sqlite'>;

export type WithSubqueryWithSelection<TSelection extends ColumnsSelection, TAlias extends string> =
	& WithSubquery<TAlias, AddAliasToSelection<TSelection, TAlias, 'sqlite'>>
	& AddAliasToSelection<TSelection, TAlias, 'sqlite'>;

export interface WithBuilder {
	<TAlias extends string>(alias: TAlias): {
		as: {
			<TSelection extends ColumnsSelection>(
				qb: TypedQueryBuilder<TSelection> | ((qb: QueryBuilder) => TypedQueryBuilder<TSelection>),
			): WithSubqueryWithSelection<TSelection, TAlias>;
			(
				qb: TypedQueryBuilder<undefined> | ((qb: QueryBuilder) => TypedQueryBuilder<undefined>),
			): WithSubqueryWithoutSelection<TAlias>;
		};
	};
	<TAlias extends string, TSelection extends ColumnsSelection>(alias: TAlias, selection: TSelection): {
		as: (qb: SQL | ((qb: QueryBuilder) => SQL)) => WithSubqueryWithSelection<TSelection, TAlias>;
	};
}

Domain

Dependencies

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.
What does subquery.ts depend on?
subquery.ts imports 5 module(s): query-builder.ts, query-builder.ts, select.types.ts, sql.ts, subquery.ts.
What files import subquery.ts?
subquery.ts is imported by 1 file(s): db.ts.
Where is subquery.ts in the architecture?
subquery.ts is located at drizzle-orm/src/sqlite-core/subquery.ts (domain: DrizzleORM, directory: drizzle-orm/src/sqlite-core).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free