Home / Type/ InferModelFromColumns Type — drizzle-orm Architecture

InferModelFromColumns Type — drizzle-orm Architecture

Architecture documentation for the InferModelFromColumns type/interface in table.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  1f37be18_5d67_c7ec_5b27_c6888c4fae09["InferModelFromColumns"]
  ad1509aa_a2ec_699f_67fc_1a4afad5d49d["table.ts"]
  1f37be18_5d67_c7ec_5b27_c6888c4fae09 -->|defined in| ad1509aa_a2ec_699f_67fc_1a4afad5d49d
  style 1f37be18_5d67_c7ec_5b27_c6888c4fae09 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-orm/src/table.ts lines 155–187

export type InferModelFromColumns<
	TColumns extends Record<string, Column>,
	TInferMode extends 'select' | 'insert' = 'select',
	TConfig extends { dbColumnNames: boolean; override?: boolean } = { dbColumnNames: false; override: false },
> = Simplify<
	TInferMode extends 'insert' ?
			& {
				[
					Key in keyof TColumns & string as RequiredKeyOnly<
						MapColumnName<Key, TColumns[Key], TConfig['dbColumnNames']>,
						TColumns[Key]
					>
				]: GetColumnData<TColumns[Key], 'query'>;
			}
			& {
				[
					Key in keyof TColumns & string as OptionalKeyOnly<
						MapColumnName<Key, TColumns[Key], TConfig['dbColumnNames']>,
						TColumns[Key],
						TConfig['override']
					>
				]?: GetColumnData<TColumns[Key], 'query'> | undefined;
			}
		: {
			[
				Key in keyof TColumns & string as MapColumnName<
					Key,
					TColumns[Key],
					TConfig['dbColumnNames']
				>
			]: GetColumnData<TColumns[Key], 'query'>;
		}
>;

Frequently Asked Questions

What is the InferModelFromColumns type?
InferModelFromColumns is a type/interface in the drizzle-orm codebase, defined in drizzle-orm/src/table.ts.
Where is InferModelFromColumns defined?
InferModelFromColumns is defined in drizzle-orm/src/table.ts at line 155.

Analyze Your Own Codebase

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

Try Supermodel Free