insert.ts — drizzle-orm Source File
Architecture documentation for insert.ts, a typescript file in the drizzle-orm codebase. 20 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 84987318_b83b_9a2c_d793_542fa0b46175["insert.ts"] a4c1e5cb_a206_4786_985b_0e0a35ddd536["common.ts"] 84987318_b83b_9a2c_d793_542fa0b46175 --> a4c1e5cb_a206_4786_985b_0e0a35ddd536 5eb95521_a13c_5ed6_36c8_8869eb8138fc["utils.ts"] 84987318_b83b_9a2c_d793_542fa0b46175 --> 5eb95521_a13c_5ed6_36c8_8869eb8138fc 8cb72a5a_ac64_bab7_7080_4d49b2e823f9["extractUsedTable"] 84987318_b83b_9a2c_d793_542fa0b46175 --> 8cb72a5a_ac64_bab7_7080_4d49b2e823f9 05592167_6811_c578_aecb_8ce071c602a7["query-builder.ts"] 84987318_b83b_9a2c_d793_542fa0b46175 --> 05592167_6811_c578_aecb_8ce071c602a7 9e7877a8_9c04_8c04_0ea7_d880ebdc47af["QueryBuilder"] 84987318_b83b_9a2c_d793_542fa0b46175 --> 9e7877a8_9c04_8c04_0ea7_d880ebdc47af 18a5fcd5_994e_4f8e_c531_decae9341796["select.types.ts"] 84987318_b83b_9a2c_d793_542fa0b46175 --> 18a5fcd5_994e_4f8e_c531_decae9341796 521e96ec_d755_9be7_bb0d_0c92d181f793["update.ts"] 84987318_b83b_9a2c_d793_542fa0b46175 --> 521e96ec_d755_9be7_bb0d_0c92d181f793 27705a9d_afe9_57dd_8c97_e52d8a67d426["entity.ts"] 84987318_b83b_9a2c_d793_542fa0b46175 --> 27705a9d_afe9_57dd_8c97_e52d8a67d426 d31ad410_b8fc_5d88_a194_70aa7419676a["query-builder.ts"] 84987318_b83b_9a2c_d793_542fa0b46175 --> d31ad410_b8fc_5d88_a194_70aa7419676a 8fb028b7_6ce0_27fa_29b6_39545ba11529["select.types.ts"] 84987318_b83b_9a2c_d793_542fa0b46175 --> 8fb028b7_6ce0_27fa_29b6_39545ba11529 6acf5c54_62a7_1da1_984a_7374cbb9983e["query-promise.ts"] 84987318_b83b_9a2c_d793_542fa0b46175 --> 6acf5c54_62a7_1da1_984a_7374cbb9983e 05d1039e_d7d0_0fa1_6f52_956655638080["runnable-query.ts"] 84987318_b83b_9a2c_d793_542fa0b46175 --> 05d1039e_d7d0_0fa1_6f52_956655638080 be483a7f_d5d7_7a9b_9a13_44a4a6aafbbd["sql.ts"] 84987318_b83b_9a2c_d793_542fa0b46175 --> be483a7f_d5d7_7a9b_9a13_44a4a6aafbbd 3d205d67_2ef4_984a_3241_ff4981527231["dialect.ts"] 84987318_b83b_9a2c_d793_542fa0b46175 --> 3d205d67_2ef4_984a_3241_ff4981527231 style 84987318_b83b_9a2c_d793_542fa0b46175 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { entityKind, is } from '~/entity.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, sql } from '~/sql/sql.ts';
import type { SQLiteDialect } from '~/sqlite-core/dialect.ts';
import type { IndexColumn } from '~/sqlite-core/indexes.ts';
import type { SQLitePreparedQuery, SQLiteSession } from '~/sqlite-core/session.ts';
import { SQLiteTable } from '~/sqlite-core/table.ts';
import type { Subquery } from '~/subquery.ts';
import { Columns, Table } from '~/table.ts';
import { type DrizzleTypeError, haveSameKeys, mapUpdateSet, orderSelectedFields, type Simplify } from '~/utils.ts';
import type { AnySQLiteColumn, SQLiteColumn } 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 { SQLiteUpdateSetSource } from './update.ts';
export interface SQLiteInsertConfig<TTable extends SQLiteTable = SQLiteTable> {
table: TTable;
values: Record<string, Param | SQL>[] | SQLiteInsertSelectQueryBuilder<TTable> | SQL;
withList?: Subquery[];
onConflict?: SQL[];
returning?: SelectedFieldsOrdered;
select?: boolean;
}
export type SQLiteInsertValue<TTable extends SQLiteTable> = Simplify<
{
[Key in keyof TTable['$inferInsert']]: TTable['$inferInsert'][Key] | SQL | Placeholder;
}
>;
export type SQLiteInsertSelectQueryBuilder<TTable extends SQLiteTable> = TypedQueryBuilder<
{ [K in keyof TTable['$inferInsert']]: AnySQLiteColumn | SQL | SQL.Aliased | TTable['$inferInsert'][K] }
>;
export class SQLiteInsertBuilder<
TTable extends SQLiteTable,
TResultType extends 'sync' | 'async',
TRunResult,
> {
static readonly [entityKind]: string = 'SQLiteInsertBuilder';
constructor(
protected table: TTable,
protected session: SQLiteSession<any, any, any, any>,
protected dialect: SQLiteDialect,
private withList?: Subquery[],
) {}
values(value: SQLiteInsertValue<TTable>): SQLiteInsertBase<TTable, TResultType, TRunResult>;
values(values: SQLiteInsertValue<TTable>[]): SQLiteInsertBase<TTable, TResultType, TRunResult>;
values(
values: SQLiteInsertValue<TTable> | SQLiteInsertValue<TTable>[],
): SQLiteInsertBase<TTable, TResultType, TRunResult> {
values = Array.isArray(values) ? values : [values];
if (values.length === 0) {
// ... (361 more lines)
Domain
Subdomains
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
- 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 20 module(s): QueryBuilder, common.ts, dialect.ts, entity.ts, extractUsedTable, indexes.ts, query-builder.ts, query-builder.ts, and 12 more.
Where is insert.ts in the architecture?
insert.ts is located at drizzle-orm/src/sqlite-core/query-builders/insert.ts (domain: DrizzleORM, subdomain: QueryBuilders, directory: drizzle-orm/src/sqlite-core/query-builders).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free