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