Home / Type/ SelectPartialResult Type — drizzle-orm Architecture

SelectPartialResult Type — drizzle-orm Architecture

Architecture documentation for the SelectPartialResult type/interface in select.types.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  4df8c58c_d714_c888_40f7_0cfb1f5207a8["SelectPartialResult"]
  7e7f8434_4765_0a70_b7fa_d197dd2fa706["select.types.ts"]
  4df8c58c_d714_c888_40f7_0cfb1f5207a8 -->|defined in| 7e7f8434_4765_0a70_b7fa_d197dd2fa706
  style 4df8c58c_d714_c888_40f7_0cfb1f5207a8 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-orm/src/query-builders/select.types.ts lines 47–74

type SelectPartialResult<TFields, TNullability extends Record<string, JoinNullability>> = TNullability extends
	TNullability ? {
		[Key in keyof TFields]: TFields[Key] extends infer TField
			? TField extends Table ? TField['_']['name'] extends keyof TNullability ? ApplyNullability<
						SelectResultFields<TField['_']['columns']>,
						TNullability[TField['_']['name']]
					>
				: never
			: TField extends Column
				? TField['_']['tableName'] extends keyof TNullability
					? ApplyNullability<SelectResultField<TField>, TNullability[TField['_']['tableName']]>
				: never
			: TField extends SQL | SQL.Aliased ? SelectResultField<TField>
			: TField extends Subquery ? FromSingleKeyObject<
					TField['_']['selectedFields'],
					TField['_']['selectedFields'] extends { [key: string]: infer TValue } ? SelectResultField<TValue> : never,
					'You can only select one column in the subquery'
				>
			: TField extends Record<string, any>
				? TField[keyof TField] extends AnyColumn<{ tableName: infer TTableName extends string }> | SQL | SQL.Aliased
					? Not<IsUnion<TTableName>> extends true
						? ApplyNullability<SelectResultFields<TField>, TNullability[TTableName]>
					: SelectPartialResult<TField, TNullability>
				: never
			: never
			: never;
	}
	: never;

Frequently Asked Questions

What is the SelectPartialResult type?
SelectPartialResult is a type/interface in the drizzle-orm codebase, defined in drizzle-orm/src/query-builders/select.types.ts.
Where is SelectPartialResult defined?
SelectPartialResult is defined in drizzle-orm/src/query-builders/select.types.ts at line 47.

Analyze Your Own Codebase

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

Try Supermodel Free