Home / Class/ MySqlDecimalNumber Class — drizzle-orm Architecture

MySqlDecimalNumber Class — drizzle-orm Architecture

Architecture documentation for the MySqlDecimalNumber class in decimal.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  651825c6_a1e1_f899_e012_bf1ba281c5c6["MySqlDecimalNumber"]
  1cab2e69_931d_80bd_c0f4_f9093012117e["decimal.ts"]
  651825c6_a1e1_f899_e012_bf1ba281c5c6 -->|defined in| 1cab2e69_931d_80bd_c0f4_f9093012117e
  f248043e_e22e_33c1_e29a_241fe0c879ac["mapFromDriverValue()"]
  651825c6_a1e1_f899_e012_bf1ba281c5c6 -->|method| f248043e_e22e_33c1_e29a_241fe0c879ac
  f9f168e6_6b8d_79e9_3e77_4b19718c9391["getSQLType()"]
  651825c6_a1e1_f899_e012_bf1ba281c5c6 -->|method| f9f168e6_6b8d_79e9_3e77_4b19718c9391

Relationship Graph

Source Code

drizzle-orm/src/mysql-core/columns/decimal.ts lines 101–130

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

	readonly precision: number | undefined = this.config.precision;
	readonly scale: number | undefined = this.config.scale;
	readonly unsigned: boolean | undefined = this.config.unsigned;

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

		return Number(value);
	}

	override mapToDriverValue = String;

	getSQLType(): string {
		let type = '';
		if (this.precision !== undefined && this.scale !== undefined) {
			type += `decimal(${this.precision},${this.scale})`;
		} else if (this.precision === undefined) {
			type += 'decimal';
		} else {
			type += `decimal(${this.precision})`;
		}
		type = type === 'decimal(10,0)' || type === 'decimal(10)' ? 'decimal' : type;
		return this.unsigned ? `${type} unsigned` : type;
	}
}

Domain

Frequently Asked Questions

What is the MySqlDecimalNumber class?
MySqlDecimalNumber is a class in the drizzle-orm codebase, defined in drizzle-orm/src/mysql-core/columns/decimal.ts.
Where is MySqlDecimalNumber defined?
MySqlDecimalNumber is defined in drizzle-orm/src/mysql-core/columns/decimal.ts at line 101.

Analyze Your Own Codebase

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

Try Supermodel Free