handleColumns() — drizzle-orm Function Reference
Architecture documentation for the handleColumns() function in schema.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD ca765c74_0736_6b3c_ef77_d23f23e865ce["handleColumns()"] b3de3d3d_2c66_6c17_9e29_4ae6af2ae68f["schema.ts"] ca765c74_0736_6b3c_ef77_d23f23e865ce -->|defined in| b3de3d3d_2c66_6c17_9e29_4ae6af2ae68f 6e070b6f_d0cc_a64f_497c_11ca95c95ef6["createSelectSchema()"] 6e070b6f_d0cc_a64f_497c_11ca95c95ef6 -->|calls| ca765c74_0736_6b3c_ef77_d23f23e865ce 5e15e483_73fa_7a28_a2c2_91e5a4f78efd["createInsertSchema()"] 5e15e483_73fa_7a28_a2c2_91e5a4f78efd -->|calls| ca765c74_0736_6b3c_ef77_d23f23e865ce 6285c8fb_7970_1795_d0c8_944c048ca70b["createUpdateSchema()"] 6285c8fb_7970_1795_d0c8_944c048ca70b -->|calls| ca765c74_0736_6b3c_ef77_d23f23e865ce cb025dc0_bc0b_8055_d943_c2035efad279["getColumns()"] ca765c74_0736_6b3c_ef77_d23f23e865ce -->|calls| cb025dc0_bc0b_8055_d943_c2035efad279 b1c074f5_2da3_d41e_58f2_747e87ddff7d["columnToSchema()"] ca765c74_0736_6b3c_ef77_d23f23e865ce -->|calls| b1c074f5_2da3_d41e_58f2_747e87ddff7d style ca765c74_0736_6b3c_ef77_d23f23e865ce fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-arktype/src/schema.ts lines 14–59
function handleColumns(
columns: Record<string, any>,
refinements: Record<string, any>,
conditions: Conditions,
): Type {
const columnSchemas: Record<string, Type> = {};
for (const [key, selected] of Object.entries(columns)) {
if (!is(selected, Column) && !is(selected, SQL) && !is(selected, SQL.Aliased) && typeof selected === 'object') {
const columns = isTable(selected) || isView(selected) ? getColumns(selected) : selected;
columnSchemas[key] = handleColumns(columns, refinements[key] ?? {}, conditions);
continue;
}
const refinement = refinements[key];
if (
refinement !== undefined
&& (typeof refinement !== 'function' || (typeof refinement === 'function' && refinement.expression !== undefined))
) {
columnSchemas[key] = refinement;
continue;
}
const column = is(selected, Column) ? selected : undefined;
const schema = column ? columnToSchema(column) : type.unknown;
const refined = typeof refinement === 'function' ? refinement(schema) : schema;
if (conditions.never(column)) {
continue;
} else {
columnSchemas[key] = refined;
}
if (column) {
if (conditions.nullable(column)) {
columnSchemas[key] = columnSchemas[key]!.or(type.null);
}
if (conditions.optional(column)) {
columnSchemas[key] = columnSchemas[key]!.optional() as any;
}
}
}
return type(columnSchemas);
}
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does handleColumns() do?
handleColumns() is a function in the drizzle-orm codebase, defined in drizzle-arktype/src/schema.ts.
Where is handleColumns() defined?
handleColumns() is defined in drizzle-arktype/src/schema.ts at line 14.
What does handleColumns() call?
handleColumns() calls 2 function(s): columnToSchema, getColumns.
What calls handleColumns()?
handleColumns() is called by 3 function(s): createInsertSchema, createSelectSchema, createUpdateSchema.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free