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
Defined In
Source
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