Home / Type/ BuildRelationResult Type — drizzle-orm Architecture

BuildRelationResult Type — drizzle-orm Architecture

Architecture documentation for the BuildRelationResult type/interface in relations.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  01fd3508_5438_a141_42f2_555eec4040a4["BuildRelationResult"]
  2f47d090_425d_2e56_2395_4c4d912316f0["relations.ts"]
  01fd3508_5438_a141_42f2_555eec4040a4 -->|defined in| 2f47d090_425d_2e56_2395_4c4d912316f0
  style 01fd3508_5438_a141_42f2_555eec4040a4 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-orm/src/relations.ts lines 320–339

export type BuildRelationResult<
	TSchema extends TablesRelationalConfig,
	TInclude,
	TRelations extends Record<string, Relation>,
> = {
	[
		K in
			& NonUndefinedKeysOnly<TInclude>
			& keyof TRelations
	]: TRelations[K] extends infer TRel extends Relation ? BuildQueryResult<
			TSchema,
			FindTableByDBName<TSchema, TRel['referencedTableName']>,
			Assume<TInclude[K], true | Record<string, unknown>>
		> extends infer TResult ? TRel extends One ?
					| TResult
					| (Equal<TRel['isNullable'], false> extends true ? null : never)
			: TResult[]
		: never
		: never;
};

Frequently Asked Questions

What is the BuildRelationResult type?
BuildRelationResult is a type/interface in the drizzle-orm codebase, defined in drizzle-orm/src/relations.ts.
Where is BuildRelationResult defined?
BuildRelationResult is defined in drizzle-orm/src/relations.ts at line 320.

Analyze Your Own Codebase

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

Try Supermodel Free