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

operations.ts — drizzle-orm Source File

Architecture documentation for operations.ts, a typescript file in the drizzle-orm codebase. 4 imports, 2 dependents.

File typescript DrizzleORM 4 imports 2 dependents

Entity Profile

Dependency Diagram

graph LR
  7664a866_a3c0_a860_d69f_58ff87a29d3b["operations.ts"]
  7bd0ba6a_93b0_0df7_7f87_d1a726b246cb["column.ts"]
  7664a866_a3c0_a860_d69f_58ff87a29d3b --> 7bd0ba6a_93b0_0df7_7f87_d1a726b246cb
  99347ab2_b1a1_faf4_e37c_7643e4b2eb8a["sql.ts"]
  7664a866_a3c0_a860_d69f_58ff87a29d3b --> 99347ab2_b1a1_faf4_e37c_7643e4b2eb8a
  562ff959_f5c2_ad28_16c7_59f4a572a158["subquery.ts"]
  7664a866_a3c0_a860_d69f_58ff87a29d3b --> 562ff959_f5c2_ad28_16c7_59f4a572a158
  ddbb35ab_7e67_d2b6_96ec_1f37678fcb67["table.ts"]
  7664a866_a3c0_a860_d69f_58ff87a29d3b --> ddbb35ab_7e67_d2b6_96ec_1f37678fcb67
  ddbb35ab_7e67_d2b6_96ec_1f37678fcb67["table.ts"]
  ddbb35ab_7e67_d2b6_96ec_1f37678fcb67 --> 7664a866_a3c0_a860_d69f_58ff87a29d3b
  99737bc3_a631_a054_9291_f966c791930f["utils.ts"]
  99737bc3_a631_a054_9291_f966c791930f --> 7664a866_a3c0_a860_d69f_58ff87a29d3b
  style 7664a866_a3c0_a860_d69f_58ff87a29d3b fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import type { AnyColumn, Column } from './column.ts';
import type { SQL } from './sql/sql.ts';
import type { Subquery } from './subquery.ts';
import type { Table } from './table.ts';

export type RequiredKeyOnly<TKey extends string, T extends Column> = T extends AnyColumn<{
	notNull: true;
	hasDefault: false;
}> ? TKey
	: never;

export type OptionalKeyOnly<TKey extends string, T extends Column, OverrideT extends boolean | undefined = false> =
	TKey extends RequiredKeyOnly<TKey, T> ? never : T extends {
		_: {
			generated: undefined;
		};
	} ? (T extends {
			_: {
				identity: undefined;
			};
		} ? TKey
			: T['_']['identity'] extends 'always' ? OverrideT extends true ? TKey : never
			: TKey)
	: never;

// TODO: SQL -> SQLWrapper
export type SelectedFieldsFlat<TColumn extends Column> = Record<
	string,
	TColumn | SQL | SQL.Aliased | Subquery
>;

export type SelectedFieldsFlatFull<TColumn extends Column> = Record<
	string,
	TColumn | SQL | SQL.Aliased
>;

export type SelectedFields<TColumn extends Column, TTable extends Table> = Record<
	string,
	SelectedFieldsFlat<TColumn>[string] | TTable | SelectedFieldsFlat<TColumn>
>;

export type SelectedFieldsOrdered<TColumn extends Column> = {
	path: string[];
	field: TColumn | SQL | SQL.Aliased | Subquery;
}[];

Domain

Frequently Asked Questions

What does operations.ts do?
operations.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleORM domain.
What does operations.ts depend on?
operations.ts imports 4 module(s): column.ts, sql.ts, subquery.ts, table.ts.
What files import operations.ts?
operations.ts is imported by 2 file(s): table.ts, utils.ts.
Where is operations.ts in the architecture?
operations.ts is located at drizzle-orm/src/operations.ts (domain: DrizzleORM, directory: drizzle-orm/src).

Analyze Your Own Codebase

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

Try Supermodel Free