insert.ts — drizzle-orm Source File
Architecture documentation for insert.ts, a typescript file in the drizzle-orm codebase. 21 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR b96b941f_c2be_27db_c79e_5975e751c4a6["insert.ts"] a74dd48d_d5e3_6bb4_19c7_1954c9126816["common.ts"] b96b941f_c2be_27db_c79e_5975e751c4a6 --> a74dd48d_d5e3_6bb4_19c7_1954c9126816 9cb8488e_0ece_edef_af6a_5851d56cddda["utils.ts"] b96b941f_c2be_27db_c79e_5975e751c4a6 --> 9cb8488e_0ece_edef_af6a_5851d56cddda 0c3d6e7d_2a20_2e20_4164_7f373e4ec319["extractUsedTable"] b96b941f_c2be_27db_c79e_5975e751c4a6 --> 0c3d6e7d_2a20_2e20_4164_7f373e4ec319 642c8c4e_4b43_0739_f7ae_558dc2a5794f["query-builder.ts"] b96b941f_c2be_27db_c79e_5975e751c4a6 --> 642c8c4e_4b43_0739_f7ae_558dc2a5794f 7498c38a_7ddb_9cb7_5098_8006515160fd["QueryBuilder"] b96b941f_c2be_27db_c79e_5975e751c4a6 --> 7498c38a_7ddb_9cb7_5098_8006515160fd 1802ae0d_e56f_7575_eb4a_b95e50f061c0["select.types.ts"] b96b941f_c2be_27db_c79e_5975e751c4a6 --> 1802ae0d_e56f_7575_eb4a_b95e50f061c0 956cc921_a752_6eef_2068_90c91a3cc0a7["update.ts"] b96b941f_c2be_27db_c79e_5975e751c4a6 --> 956cc921_a752_6eef_2068_90c91a3cc0a7 27705a9d_afe9_57dd_8c97_e52d8a67d426["entity.ts"] b96b941f_c2be_27db_c79e_5975e751c4a6 --> 27705a9d_afe9_57dd_8c97_e52d8a67d426 f86d3f7c_7b46_5b9f_94e2_ac0a5f48d903["dialect.ts"] b96b941f_c2be_27db_c79e_5975e751c4a6 --> f86d3f7c_7b46_5b9f_94e2_ac0a5f48d903 0d4283fd_4295_c9f2_d179_0e0f96dde2c6["indexes.ts"] b96b941f_c2be_27db_c79e_5975e751c4a6 --> 0d4283fd_4295_c9f2_d179_0e0f96dde2c6 90dfe595_29ab_0495_4263_3b19b4bb4d9b["session.ts"] b96b941f_c2be_27db_c79e_5975e751c4a6 --> 90dfe595_29ab_0495_4263_3b19b4bb4d9b c1a47e5e_63aa_1ab2_abac_86e509f63e7c["table.ts"] b96b941f_c2be_27db_c79e_5975e751c4a6 --> c1a47e5e_63aa_1ab2_abac_86e509f63e7c d31ad410_b8fc_5d88_a194_70aa7419676a["query-builder.ts"] b96b941f_c2be_27db_c79e_5975e751c4a6 --> d31ad410_b8fc_5d88_a194_70aa7419676a 8fb028b7_6ce0_27fa_29b6_39545ba11529["select.types.ts"] b96b941f_c2be_27db_c79e_5975e751c4a6 --> 8fb028b7_6ce0_27fa_29b6_39545ba11529 style b96b941f_c2be_27db_c79e_5975e751c4a6 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { entityKind, is } from '~/entity.ts';
import type { GelDialect } from '~/gel-core/dialect.ts';
import type { IndexColumn } from '~/gel-core/indexes.ts';
import type {
GelPreparedQuery,
GelQueryResultHKT,
GelQueryResultKind,
GelSession,
PreparedQueryConfig,
} from '~/gel-core/session.ts';
import type { GelTable, TableConfig } from '~/gel-core/table.ts';
import type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';
import type { SelectResultFields } from '~/query-builders/select.types.ts';
import { QueryPromise } from '~/query-promise.ts';
import type { RunnableQuery } from '~/runnable-query.ts';
import type { Placeholder, Query, SQLWrapper } from '~/sql/sql.ts';
import { Param, SQL } from '~/sql/sql.ts';
import type { Subquery } from '~/subquery.ts';
import type { InferInsertModel } from '~/table.ts';
import { Columns, Table } from '~/table.ts';
import { tracer } from '~/tracing.ts';
import { haveSameKeys, type NeonAuthToken, orderSelectedFields } from '~/utils.ts';
import type { AnyGelColumn, GelColumn } from '../columns/common.ts';
import { extractUsedTable } from '../utils.ts';
import { QueryBuilder } from './query-builder.ts';
import type { SelectedFieldsFlat, SelectedFieldsOrdered } from './select.types.ts';
import type { GelUpdateSetSource } from './update.ts';
export interface GelInsertConfig<TTable extends GelTable = GelTable> {
table: TTable;
values: Record<string, Param | SQL>[] | GelInsertSelectQueryBuilder<TTable> | SQL;
withList?: Subquery[];
onConflict?: SQL;
returning?: SelectedFieldsOrdered;
select?: boolean;
overridingSystemValue_?: boolean;
}
export type GelInsertValue<TTable extends GelTable<TableConfig>, OverrideT extends boolean = false> =
& {
[Key in keyof InferInsertModel<TTable, { dbColumnNames: false; override: OverrideT }>]:
| InferInsertModel<TTable, { dbColumnNames: false; override: OverrideT }>[Key]
| SQL
| Placeholder;
}
& {};
export type GelInsertSelectQueryBuilder<TTable extends GelTable> = TypedQueryBuilder<
{ [K in keyof TTable['$inferInsert']]: AnyGelColumn | SQL | SQL.Aliased | TTable['$inferInsert'][K] }
>;
export class GelInsertBuilder<
TTable extends GelTable,
TQueryResult extends GelQueryResultHKT,
OverrideT extends boolean = false,
> {
static readonly [entityKind]: string = 'GelInsertBuilder';
constructor(
private table: TTable,
// ... (351 more lines)
Domain
Subdomains
Classes
Types
Dependencies
- QueryBuilder
- common.ts
- dialect.ts
- entity.ts
- extractUsedTable
- indexes.ts
- query-builder.ts
- query-builder.ts
- query-promise.ts
- runnable-query.ts
- select.types.ts
- select.types.ts
- session.ts
- sql.ts
- subquery.ts
- table.ts
- table.ts
- tracing.ts
- update.ts
- utils.ts
- utils.ts
Source
Frequently Asked Questions
What does insert.ts do?
insert.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleORM domain, QueryBuilders subdomain.
What does insert.ts depend on?
insert.ts imports 21 module(s): QueryBuilder, common.ts, dialect.ts, entity.ts, extractUsedTable, indexes.ts, query-builder.ts, query-builder.ts, and 13 more.
Where is insert.ts in the architecture?
insert.ts is located at drizzle-orm/src/gel-core/query-builders/insert.ts (domain: DrizzleORM, subdomain: QueryBuilders, directory: drizzle-orm/src/gel-core/query-builders).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free