Home / Class/ PgJson Class — drizzle-orm Architecture

PgJson Class — drizzle-orm Architecture

Architecture documentation for the PgJson class in json.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  d653799a_baee_dea6_ff41_5ce8e536bfb3["PgJson"]
  9cf33382_6a25_c3a9_0185_da2af17a8484["json.ts"]
  d653799a_baee_dea6_ff41_5ce8e536bfb3 -->|defined in| 9cf33382_6a25_c3a9_0185_da2af17a8484
  5b6603a2_bbc4_0cbc_ecc6_9a7b8b6b85e1["constructor()"]
  d653799a_baee_dea6_ff41_5ce8e536bfb3 -->|method| 5b6603a2_bbc4_0cbc_ecc6_9a7b8b6b85e1
  6520fd28_52b0_f09c_c4d3_64b628cb4591["getSQLType()"]
  d653799a_baee_dea6_ff41_5ce8e536bfb3 -->|method| 6520fd28_52b0_f09c_c4d3_64b628cb4591
  8b43840b_5bc8_56d8_4f17_147a8cdc90dd["mapToDriverValue()"]
  d653799a_baee_dea6_ff41_5ce8e536bfb3 -->|method| 8b43840b_5bc8_56d8_4f17_147a8cdc90dd
  81ec6a90_d650_c1d2_0979_dc032788aad7["mapFromDriverValue()"]
  d653799a_baee_dea6_ff41_5ce8e536bfb3 -->|method| 81ec6a90_d650_c1d2_0979_dc032788aad7

Relationship Graph

Source Code

drizzle-orm/src/pg-core/columns/json.ts lines 33–58

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

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

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

	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 PgJson class?
PgJson is a class in the drizzle-orm codebase, defined in drizzle-orm/src/pg-core/columns/json.ts.
Where is PgJson defined?
PgJson is defined in drizzle-orm/src/pg-core/columns/json.ts at line 33.

Analyze Your Own Codebase

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

Try Supermodel Free