Home / Class/ PgNumericNumber Class — drizzle-orm Architecture

PgNumericNumber Class — drizzle-orm Architecture

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

Entity Profile

Dependency Diagram

graph TD
  368efdd7_5437_9f9f_9be4_ea833658c23e["PgNumericNumber"]
  b02d9686_b68f_1cdd_74bf_e7c79bb754fb["numeric.ts"]
  368efdd7_5437_9f9f_9be4_ea833658c23e -->|defined in| b02d9686_b68f_1cdd_74bf_e7c79bb754fb
  459f9073_7047_3e97_596f_f0a45810d71a["constructor()"]
  368efdd7_5437_9f9f_9be4_ea833658c23e -->|method| 459f9073_7047_3e97_596f_f0a45810d71a
  db26f1a8_2ce8_9704_4c8b_8dd429cbe5d2["mapFromDriverValue()"]
  368efdd7_5437_9f9f_9be4_ea833658c23e -->|method| db26f1a8_2ce8_9704_4c8b_8dd429cbe5d2
  7af7fc36_c26b_0055_0c91_d178b1fbfed4["getSQLType()"]
  368efdd7_5437_9f9f_9be4_ea833658c23e -->|method| 7af7fc36_c26b_0055_0c91_d178b1fbfed4

Relationship Graph

Source Code

drizzle-orm/src/pg-core/columns/numeric.ts lines 106–135

export class PgNumericNumber<T extends ColumnBaseConfig<'number', 'PgNumericNumber'>> extends PgColumn<T> {
	static override readonly [entityKind]: string = 'PgNumericNumber';

	readonly precision: number | undefined;
	readonly scale: number | undefined;

	constructor(table: AnyPgTable<{ name: T['tableName'] }>, config: PgNumericNumberBuilder<T>['config']) {
		super(table, config);
		this.precision = config.precision;
		this.scale = config.scale;
	}

	override mapFromDriverValue(value: unknown): number {
		if (typeof value === 'number') return value;

		return Number(value);
	}

	override mapToDriverValue = String;

	getSQLType(): string {
		if (this.precision !== undefined && this.scale !== undefined) {
			return `numeric(${this.precision}, ${this.scale})`;
		} else if (this.precision === undefined) {
			return 'numeric';
		} else {
			return `numeric(${this.precision})`;
		}
	}
}

Domain

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free