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
  5854f799_2842_0e34_fe9d_db4fedc50042["subquery.ts"]
  85b4eb2c_30da_7542_712e_b0bce0c3c73d["query-builder.ts"]
  5854f799_2842_0e34_fe9d_db4fedc50042 --> 85b4eb2c_30da_7542_712e_b0bce0c3c73d
  d31ad410_b8fc_5d88_a194_70aa7419676a["query-builder.ts"]
  5854f799_2842_0e34_fe9d_db4fedc50042 --> d31ad410_b8fc_5d88_a194_70aa7419676a
  8fb028b7_6ce0_27fa_29b6_39545ba11529["select.types.ts"]
  5854f799_2842_0e34_fe9d_db4fedc50042 --> 8fb028b7_6ce0_27fa_29b6_39545ba11529
  be483a7f_d5d7_7a9b_9a13_44a4a6aafbbd["sql.ts"]
  5854f799_2842_0e34_fe9d_db4fedc50042 --> be483a7f_d5d7_7a9b_9a13_44a4a6aafbbd
  4d55618d_fa7b_8e54_edb2_b85ae393d95b["subquery.ts"]
  5854f799_2842_0e34_fe9d_db4fedc50042 --> 4d55618d_fa7b_8e54_edb2_b85ae393d95b
  f8321666_9ec2_95b1_a6aa_bc9b6f317f41["db.ts"]
  f8321666_9ec2_95b1_a6aa_bc9b6f317f41 --> 5854f799_2842_0e34_fe9d_db4fedc50042
  style 5854f799_2842_0e34_fe9d_db4fedc50042 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, 'singlestore'>>
	& AddAliasToSelection<TSelection, TAlias, 'singlestore'>;

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

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/singlestore-core/subquery.ts (domain: DrizzleORM, directory: drizzle-orm/src/singlestore-core).

Analyze Your Own Codebase

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

Try Supermodel Free