Home / Class/ PgNumericNumberBuilder Class — drizzle-orm Architecture

PgNumericNumberBuilder Class — drizzle-orm Architecture

Architecture documentation for the PgNumericNumberBuilder class in numeric.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  1fe57c27_c296_612d_d17f_09bfae50dae7["PgNumericNumberBuilder"]
  b02d9686_b68f_1cdd_74bf_e7c79bb754fb["numeric.ts"]
  1fe57c27_c296_612d_d17f_09bfae50dae7 -->|defined in| b02d9686_b68f_1cdd_74bf_e7c79bb754fb
  89d850a9_2cf1_d5e7_5322_9cfc77fb51e2["constructor()"]
  1fe57c27_c296_612d_d17f_09bfae50dae7 -->|method| 89d850a9_2cf1_d5e7_5322_9cfc77fb51e2
  3dcb3080_04dc_8920_a32c_3701d8f02421["build()"]
  1fe57c27_c296_612d_d17f_09bfae50dae7 -->|method| 3dcb3080_04dc_8920_a32c_3701d8f02421

Relationship Graph

Source Code

drizzle-orm/src/pg-core/columns/numeric.ts lines 78–104

export class PgNumericNumberBuilder<T extends ColumnBuilderBaseConfig<'number', 'PgNumericNumber'>>
	extends PgColumnBuilder<
		T,
		{
			precision: number | undefined;
			scale: number | undefined;
		}
	>
{
	static override readonly [entityKind]: string = 'PgNumericNumberBuilder';

	constructor(name: T['name'], precision?: number, scale?: number) {
		super(name, 'number', 'PgNumericNumber');
		this.config.precision = precision;
		this.config.scale = scale;
	}

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

Domain

Frequently Asked Questions

What is the PgNumericNumberBuilder class?
PgNumericNumberBuilder is a class in the drizzle-orm codebase, defined in drizzle-orm/src/pg-core/columns/numeric.ts.
Where is PgNumericNumberBuilder defined?
PgNumericNumberBuilder is defined in drizzle-orm/src/pg-core/columns/numeric.ts at line 78.

Analyze Your Own Codebase

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

Try Supermodel Free