driver.ts — drizzle-orm Source File
Architecture documentation for driver.ts, a typescript file in the drizzle-orm codebase. 13 imports, 1 dependents.
Entity Profile
Dependency Diagram
graph LR d4882ed1_0e96_6210_f61b_425eb48edf20["driver.ts"] e8d52f5f_2316_1b4f_9799_7155b57c23ff["session.ts"] d4882ed1_0e96_6210_f61b_425eb48edf20 --> e8d52f5f_2316_1b4f_9799_7155b57c23ff 96e11865_03f5_599b_419a_05dba059c0a5["AwsDataApiSession"] d4882ed1_0e96_6210_f61b_425eb48edf20 --> 96e11865_03f5_599b_419a_05dba059c0a5 c1888528_22f2_78cd_a2b9_80fc9f29b8f3["client-rds-data"] d4882ed1_0e96_6210_f61b_425eb48edf20 --> c1888528_22f2_78cd_a2b9_80fc9f29b8f3 27705a9d_afe9_57dd_8c97_e52d8a67d426["entity.ts"] d4882ed1_0e96_6210_f61b_425eb48edf20 --> 27705a9d_afe9_57dd_8c97_e52d8a67d426 220c512d_350b_24bf_2142_53ec35a980ac["logger.ts"] d4882ed1_0e96_6210_f61b_425eb48edf20 --> 220c512d_350b_24bf_2142_53ec35a980ac 84b656ff_244f_df0f_a4a0_653292f28349["db.ts"] d4882ed1_0e96_6210_f61b_425eb48edf20 --> 84b656ff_244f_df0f_a4a0_653292f28349 65dc222f_bc11_439f_d65b_20d7052b24ec["dialect.ts"] d4882ed1_0e96_6210_f61b_425eb48edf20 --> 65dc222f_bc11_439f_d65b_20d7052b24ec fa14e9c0_b73d_4bcb_463b_adf18df8a285["index.ts"] d4882ed1_0e96_6210_f61b_425eb48edf20 --> fa14e9c0_b73d_4bcb_463b_adf18df8a285 4b057e06_8cce_074d_7c75_28be612c5aae["raw.ts"] d4882ed1_0e96_6210_f61b_425eb48edf20 --> 4b057e06_8cce_074d_7c75_28be612c5aae e4d6a0ab_9aa2_13a6_a2f1_58d94314c3f2["relations.ts"] d4882ed1_0e96_6210_f61b_425eb48edf20 --> e4d6a0ab_9aa2_13a6_a2f1_58d94314c3f2 be483a7f_d5d7_7a9b_9a13_44a4a6aafbbd["sql.ts"] d4882ed1_0e96_6210_f61b_425eb48edf20 --> be483a7f_d5d7_7a9b_9a13_44a4a6aafbbd 1fd6ac27_a0fb_a054_a358_c8766c3fcbd7["table.ts"] d4882ed1_0e96_6210_f61b_425eb48edf20 --> 1fd6ac27_a0fb_a054_a358_c8766c3fcbd7 ecce3253_1e75_a87f_27b3_ca87e81a3024["utils.ts"] d4882ed1_0e96_6210_f61b_425eb48edf20 --> ecce3253_1e75_a87f_27b3_ca87e81a3024 11fbe91a_9ce1_b916_36c9_940fa37ae9c4["migrator.ts"] 11fbe91a_9ce1_b916_36c9_940fa37ae9c4 --> d4882ed1_0e96_6210_f61b_425eb48edf20 style d4882ed1_0e96_6210_f61b_425eb48edf20 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { RDSDataClient, type RDSDataClientConfig } from '@aws-sdk/client-rds-data';
import { entityKind, is } from '~/entity.ts';
import type { Logger } from '~/logger.ts';
import { DefaultLogger } from '~/logger.ts';
import { PgDatabase } from '~/pg-core/db.ts';
import { PgDialect } from '~/pg-core/dialect.ts';
import type { PgColumn, PgInsertConfig, PgTable, TableConfig } from '~/pg-core/index.ts';
import { PgArray } from '~/pg-core/index.ts';
import type { PgRaw } from '~/pg-core/query-builders/raw.ts';
import {
createTableRelationsHelpers,
extractTablesRelationalConfig,
type RelationalSchemaConfig,
type TablesRelationalConfig,
} from '~/relations.ts';
import { Param, type SQL, sql, type SQLWrapper } from '~/sql/sql.ts';
import { Table } from '~/table.ts';
import type { DrizzleConfig, UpdateSet } from '~/utils.ts';
import type { AwsDataApiClient, AwsDataApiPgQueryResult, AwsDataApiPgQueryResultHKT } from './session.ts';
import { AwsDataApiSession } from './session.ts';
export interface PgDriverOptions {
logger?: Logger;
cache?: Cache;
database: string;
resourceArn: string;
secretArn: string;
}
export interface DrizzleAwsDataApiPgConfig<
TSchema extends Record<string, unknown> = Record<string, never>,
> extends DrizzleConfig<TSchema> {
database: string;
resourceArn: string;
secretArn: string;
}
export class AwsDataApiPgDatabase<
TSchema extends Record<string, unknown> = Record<string, never>,
> extends PgDatabase<AwsDataApiPgQueryResultHKT, TSchema> {
static override readonly [entityKind]: string = 'AwsDataApiPgDatabase';
override execute<
TRow extends Record<string, unknown> = Record<string, unknown>,
>(query: SQLWrapper | string): PgRaw<AwsDataApiPgQueryResult<TRow>> {
return super.execute(query);
}
}
export class AwsPgDialect extends PgDialect {
static override readonly [entityKind]: string = 'AwsPgDialect';
override escapeParam(num: number): string {
return `:${num + 1}`;
}
override buildInsertQuery(
{ table, values, onConflict, returning, select, withList }: PgInsertConfig<PgTable<TableConfig>>,
): SQL<unknown> {
const columns: Record<string, PgColumn> = table[Table.Symbol.Columns];
// ... (130 more lines)
Domain
Subdomains
Functions
Classes
Dependencies
- AwsDataApiSession
- client-rds-data
- db.ts
- dialect.ts
- entity.ts
- index.ts
- logger.ts
- raw.ts
- relations.ts
- session.ts
- sql.ts
- table.ts
- utils.ts
Imported By
Source
Frequently Asked Questions
What does driver.ts do?
driver.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleORM domain, DatabaseDrivers subdomain.
What functions are defined in driver.ts?
driver.ts defines 3 function(s): construct, drizzle, mock.
What does driver.ts depend on?
driver.ts imports 13 module(s): AwsDataApiSession, client-rds-data, db.ts, dialect.ts, entity.ts, index.ts, logger.ts, raw.ts, and 5 more.
What files import driver.ts?
driver.ts is imported by 1 file(s): migrator.ts.
Where is driver.ts in the architecture?
driver.ts is located at drizzle-orm/src/aws-data-api/pg/driver.ts (domain: DrizzleORM, subdomain: DatabaseDrivers, directory: drizzle-orm/src/aws-data-api/pg).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free