Home / Class/ PgVarcharBuilder Class — drizzle-orm Architecture

PgVarcharBuilder Class — drizzle-orm Architecture

Architecture documentation for the PgVarcharBuilder class in varchar.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  6f0f848e_409b_e1ff_5f8e_35e9be858f46["PgVarcharBuilder"]
  10fa851b_a5c2_87ef_18e8_115bcbf2d9d4["varchar.ts"]
  6f0f848e_409b_e1ff_5f8e_35e9be858f46 -->|defined in| 10fa851b_a5c2_87ef_18e8_115bcbf2d9d4
  a6dc2d91_bbe6_d884_2a22_50ca198bd17b["constructor()"]
  6f0f848e_409b_e1ff_5f8e_35e9be858f46 -->|method| a6dc2d91_bbe6_d884_2a22_50ca198bd17b
  6f4d7938_26b2_72da_42b1_cbd7398a6b10["build()"]
  6f0f848e_409b_e1ff_5f8e_35e9be858f46 -->|method| 6f4d7938_26b2_72da_42b1_cbd7398a6b10

Relationship Graph

Source Code

drizzle-orm/src/pg-core/columns/varchar.ts lines 22–46

export class PgVarcharBuilder<
	T extends ColumnBuilderBaseConfig<'string', 'PgVarchar'> & { length?: number | undefined },
> extends PgColumnBuilder<
	T,
	{ length: T['length']; enumValues: T['enumValues'] },
	{ length: T['length'] }
> {
	static override readonly [entityKind]: string = 'PgVarcharBuilder';

	constructor(name: T['name'], config: PgVarcharConfig<T['enumValues'], T['length']>) {
		super(name, 'string', 'PgVarchar');
		this.config.length = config.length;
		this.config.enumValues = config.enum;
	}

	/** @internal */
	override build<TTableName extends string>(
		table: AnyPgTable<{ name: TTableName }>,
	): PgVarchar<MakeColumnConfig<T, TTableName> & { length: T['length'] }> {
		return new PgVarchar<MakeColumnConfig<T, TTableName> & { length: T['length'] }>(
			table,
			this.config as ColumnBuilderRuntimeConfig<any, any>,
		);
	}
}

Domain

Frequently Asked Questions

What is the PgVarcharBuilder class?
PgVarcharBuilder is a class in the drizzle-orm codebase, defined in drizzle-orm/src/pg-core/columns/varchar.ts.
Where is PgVarcharBuilder defined?
PgVarcharBuilder is defined in drizzle-orm/src/pg-core/columns/varchar.ts at line 22.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free