Home / Class/ PgEnumObjectColumnBuilder Class — drizzle-orm Architecture

PgEnumObjectColumnBuilder Class — drizzle-orm Architecture

Architecture documentation for the PgEnumObjectColumnBuilder class in enum.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  8f6846bd_5c49_e979_0472_708ff228d489["PgEnumObjectColumnBuilder"]
  cc1fbfaa_1553_bc17_cd31_5fefac6896d3["enum.ts"]
  8f6846bd_5c49_e979_0472_708ff228d489 -->|defined in| cc1fbfaa_1553_bc17_cd31_5fefac6896d3
  ea769aea_7544_12ca_a98b_7385115d16fb["constructor()"]
  8f6846bd_5c49_e979_0472_708ff228d489 -->|method| ea769aea_7544_12ca_a98b_7385115d16fb
  71af0931_7eb9_64e9_7e34_d53016b8226e["build()"]
  8f6846bd_5c49_e979_0472_708ff228d489 -->|method| 71af0931_7eb9_64e9_7e34_d53016b8226e

Relationship Graph

Source Code

drizzle-orm/src/pg-core/columns/enum.ts lines 31–50

export class PgEnumObjectColumnBuilder<
	T extends ColumnBuilderBaseConfig<'string', 'PgEnumObjectColumn'> & { enumValues: string[] },
> extends PgColumnBuilder<T, { enum: PgEnumObject<any> }> {
	static override readonly [entityKind]: string = 'PgEnumObjectColumnBuilder';

	constructor(name: T['name'], enumInstance: PgEnumObject<any>) {
		super(name, 'string', 'PgEnumObjectColumn');
		this.config.enum = enumInstance;
	}

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

Domain

Frequently Asked Questions

What is the PgEnumObjectColumnBuilder class?
PgEnumObjectColumnBuilder is a class in the drizzle-orm codebase, defined in drizzle-orm/src/pg-core/columns/enum.ts.
Where is PgEnumObjectColumnBuilder defined?
PgEnumObjectColumnBuilder is defined in drizzle-orm/src/pg-core/columns/enum.ts at line 31.

Analyze Your Own Codebase

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

Try Supermodel Free