Home / Function/ orderSelectedFields() — drizzle-orm Function Reference

orderSelectedFields() — drizzle-orm Function Reference

Architecture documentation for the orderSelectedFields() function in utils.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  992adf9d_d07d_06b0_049c_a9a79e923c80["orderSelectedFields()"]
  99737bc3_a631_a054_9291_f966c791930f["utils.ts"]
  992adf9d_d07d_06b0_049c_a9a79e923c80 -->|defined in| 99737bc3_a631_a054_9291_f966c791930f
  c020d230_75a2_3639_d9a6_35f2ba7fd5bc["is()"]
  992adf9d_d07d_06b0_049c_a9a79e923c80 -->|calls| c020d230_75a2_3639_d9a6_35f2ba7fd5bc
  style 992adf9d_d07d_06b0_049c_a9a79e923c80 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-orm/src/utils.ts lines 76–95

export function orderSelectedFields<TColumn extends AnyColumn>(
	fields: Record<string, unknown>,
	pathPrefix?: string[],
): SelectedFieldsOrdered<TColumn> {
	return Object.entries(fields).reduce<SelectedFieldsOrdered<AnyColumn>>((result, [name, field]) => {
		if (typeof name !== 'string') {
			return result;
		}

		const newPath = pathPrefix ? [...pathPrefix, name] : [name];
		if (is(field, Column) || is(field, SQL) || is(field, SQL.Aliased) || is(field, Subquery)) {
			result.push({ path: newPath, field });
		} else if (is(field, Table)) {
			result.push(...orderSelectedFields(field[Table.Symbol.Columns], newPath));
		} else {
			result.push(...orderSelectedFields(field as Record<string, unknown>, newPath));
		}
		return result;
	}, []) as SelectedFieldsOrdered<TColumn>;
}

Domain

Subdomains

Calls

Frequently Asked Questions

What does orderSelectedFields() do?
orderSelectedFields() is a function in the drizzle-orm codebase, defined in drizzle-orm/src/utils.ts.
Where is orderSelectedFields() defined?
orderSelectedFields() is defined in drizzle-orm/src/utils.ts at line 76.
What does orderSelectedFields() call?
orderSelectedFields() calls 1 function(s): is.

Analyze Your Own Codebase

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

Try Supermodel Free