GelArrayBuilder Class — drizzle-orm Architecture
Architecture documentation for the GelArrayBuilder class in common.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD df95a4aa_e7ab_e923_aa5e_677e0c7a8aac["GelArrayBuilder"] a74dd48d_d5e3_6bb4_19c7_1954c9126816["common.ts"] df95a4aa_e7ab_e923_aa5e_677e0c7a8aac -->|defined in| a74dd48d_d5e3_6bb4_19c7_1954c9126816 067f06ba_b296_dc3d_c892_7fe25fb80f90["constructor()"] df95a4aa_e7ab_e923_aa5e_677e0c7a8aac -->|method| 067f06ba_b296_dc3d_c892_7fe25fb80f90 4f196b53_edb2_9f50_eb22_aa610b19aa19["build()"] df95a4aa_e7ab_e923_aa5e_677e0c7a8aac -->|method| 4f196b53_edb2_9f50_eb22_aa610b19aa19
Relationship Graph
Source Code
drizzle-orm/src/gel-core/columns/common.ts lines 259–306
export class GelArrayBuilder<
T extends GelArrayColumnBuilderBaseConfig,
TBase extends ColumnBuilderBaseConfig<ColumnDataType, string> | GelArrayColumnBuilderBaseConfig,
> extends GelColumnBuilder<
T,
{
baseBuilder: TBase extends GelArrayColumnBuilderBaseConfig ? GelArrayBuilder<
TBase,
TBase extends { baseBuilder: infer TBaseBuilder extends ColumnBuilderBaseConfig<any, any> } ? TBaseBuilder
: never
>
: GelColumnBuilder<TBase, {}, Simplify<Omit<TBase, keyof ColumnBuilderBaseConfig<any, any>>>>;
size: T['size'];
},
{
baseBuilder: TBase extends GelArrayColumnBuilderBaseConfig ? GelArrayBuilder<
TBase,
TBase extends { baseBuilder: infer TBaseBuilder extends ColumnBuilderBaseConfig<any, any> } ? TBaseBuilder
: never
>
: GelColumnBuilder<TBase, {}, Simplify<Omit<TBase, keyof ColumnBuilderBaseConfig<any, any>>>>;
size: T['size'];
}
> {
static override readonly [entityKind] = 'GelArrayBuilder';
constructor(
name: string,
baseBuilder: GelArrayBuilder<T, TBase>['config']['baseBuilder'],
size: T['size'],
) {
super(name, 'array', 'GelArray');
this.config.baseBuilder = baseBuilder;
this.config.size = size;
}
/** @internal */
override build<TTableName extends string>(
table: AnyGelTable<{ name: TTableName }>,
): GelArray<MakeColumnConfig<T, TTableName> & { size: T['size']; baseBuilder: T['baseBuilder'] }, TBase> {
const baseColumn = this.config.baseBuilder.build(table);
return new GelArray<MakeColumnConfig<T, TTableName> & { size: T['size']; baseBuilder: T['baseBuilder'] }, TBase>(
table as AnyGelTable<{ name: MakeColumnConfig<T, TTableName>['tableName'] }>,
this.config as ColumnBuilderRuntimeConfig<any, any>,
baseColumn,
);
}
}
Domain
Defined In
Source
Frequently Asked Questions
What is the GelArrayBuilder class?
GelArrayBuilder is a class in the drizzle-orm codebase, defined in drizzle-orm/src/gel-core/columns/common.ts.
Where is GelArrayBuilder defined?
GelArrayBuilder is defined in drizzle-orm/src/gel-core/columns/common.ts at line 259.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free