Home / Class/ PgJsonb Class — drizzle-orm Architecture

PgJsonb Class — drizzle-orm Architecture

Architecture documentation for the PgJsonb class in jsonb.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  11c1c1a7_61a9_1425_3497_81ed6a3dc483["PgJsonb"]
  2fd2f2ae_d4e2_8ce0_f746_356ae2a2a918["jsonb.ts"]
  11c1c1a7_61a9_1425_3497_81ed6a3dc483 -->|defined in| 2fd2f2ae_d4e2_8ce0_f746_356ae2a2a918
  221e4da8_246e_7378_2ae0_a6dd32526dd6["constructor()"]
  11c1c1a7_61a9_1425_3497_81ed6a3dc483 -->|method| 221e4da8_246e_7378_2ae0_a6dd32526dd6
  4426522f_355f_ffd0_78c3_b6b8b7887691["getSQLType()"]
  11c1c1a7_61a9_1425_3497_81ed6a3dc483 -->|method| 4426522f_355f_ffd0_78c3_b6b8b7887691
  9a65ee36_fa5a_ef0b_20fe_1de277f5160f["mapToDriverValue()"]
  11c1c1a7_61a9_1425_3497_81ed6a3dc483 -->|method| 9a65ee36_fa5a_ef0b_20fe_1de277f5160f
  223ac0ba_15c0_1460_ef03_e2b8d2b1defe["mapFromDriverValue()"]
  11c1c1a7_61a9_1425_3497_81ed6a3dc483 -->|method| 223ac0ba_15c0_1460_ef03_e2b8d2b1defe

Relationship Graph

Source Code

drizzle-orm/src/pg-core/columns/jsonb.ts lines 31–56

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

	constructor(table: AnyPgTable<{ name: T['tableName'] }>, config: PgJsonbBuilder<T>['config']) {
		super(table, config);
	}

	getSQLType(): string {
		return 'jsonb';
	}

	override mapToDriverValue(value: T['data']): string {
		return JSON.stringify(value);
	}

	override mapFromDriverValue(value: T['data'] | string): T['data'] {
		if (typeof value === 'string') {
			try {
				return JSON.parse(value);
			} catch {
				return value as T['data'];
			}
		}
		return value;
	}
}

Domain

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free