index.ts — drizzle-orm Source File
Architecture documentation for index.ts, a typescript file in the drizzle-orm codebase. 4 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR c48f608f_6ead_8a97_afb7_72a2931d53d5["index.ts"] a9334ac2_693e_d2b0_7aa8_0e8c536982a0["driver-core.ts"] c48f608f_6ead_8a97_afb7_72a2931d53d5 --> a9334ac2_693e_d2b0_7aa8_0e8c536982a0 b91dc682_fc28_2e61_4197_8c9918cec2d7["construct"] c48f608f_6ead_8a97_afb7_72a2931d53d5 --> b91dc682_fc28_2e61_4197_8c9918cec2d7 6f32af20_ab5b_cbce_a419_7668b18f337c["node"] c48f608f_6ead_8a97_afb7_72a2931d53d5 --> 6f32af20_ab5b_cbce_a419_7668b18f337c ecce3253_1e75_a87f_27b3_ca87e81a3024["utils.ts"] c48f608f_6ead_8a97_afb7_72a2931d53d5 --> ecce3253_1e75_a87f_27b3_ca87e81a3024 style c48f608f_6ead_8a97_afb7_72a2931d53d5 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { type Client, type Config, createClient } from '@libsql/client/node';
import { type DrizzleConfig, isConfig } from '~/utils.ts';
import { construct, type LibSQLDatabase } from '../driver-core.ts';
export function drizzle<
TSchema extends Record<string, unknown> = Record<string, never>,
TClient extends Client = Client,
>(
...params: [
TClient | string,
] | [
TClient | string,
DrizzleConfig<TSchema>,
] | [
(
& DrizzleConfig<TSchema>
& ({
connection: string | Config;
} | {
client: TClient;
})
),
]
): LibSQLDatabase<TSchema> & {
$client: TClient;
} {
if (typeof params[0] === 'string') {
const instance = createClient({
url: params[0],
});
return construct(instance, params[1]) as any;
}
if (isConfig(params[0])) {
const { connection, client, ...drizzleConfig } = params[0] as
& { connection?: Config; client?: TClient }
& DrizzleConfig<TSchema>;
if (client) return construct(client, drizzleConfig) as any;
const instance = typeof connection === 'string' ? createClient({ url: connection }) : createClient(connection!);
return construct(instance, drizzleConfig) as any;
}
return construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema> | undefined) as any;
}
export namespace drizzle {
export function mock<TSchema extends Record<string, unknown> = Record<string, never>>(
config?: DrizzleConfig<TSchema>,
): LibSQLDatabase<TSchema> & {
$client: '$client is not available on drizzle.mock()';
} {
return construct({} as any, config) as any;
}
}
Domain
Subdomains
Dependencies
- construct
- driver-core.ts
- node
- utils.ts
Source
Frequently Asked Questions
What does index.ts do?
index.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleORM domain, RelationalQuery subdomain.
What functions are defined in index.ts?
index.ts defines 2 function(s): drizzle, mock.
What does index.ts depend on?
index.ts imports 4 module(s): construct, driver-core.ts, node, utils.ts.
Where is index.ts in the architecture?
index.ts is located at drizzle-orm/src/libsql/node/index.ts (domain: DrizzleORM, subdomain: RelationalQuery, directory: drizzle-orm/src/libsql/node).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free