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

assertCollisions() — drizzle-orm Function Reference

Architecture documentation for the assertCollisions() function in common.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  1a1e367d_3e95_6af9_9782_580aa3a198d2["assertCollisions()"]
  9135e6b6_37f7_c980_ee35_90f5531de5a4["common.ts"]
  1a1e367d_3e95_6af9_9782_580aa3a198d2 -->|defined in| 9135e6b6_37f7_c980_ee35_90f5531de5a4
  cb25439a_9bb1_11b4_f51d_495e7dd1da07["generate.transform()"]
  cb25439a_9bb1_11b4_f51d_495e7dd1da07 -->|calls| 1a1e367d_3e95_6af9_9782_580aa3a198d2
  69a8b700_4795_8e50_4490_ba67bc8ec9d0["push.transform()"]
  69a8b700_4795_8e50_4490_ba67bc8ec9d0 -->|calls| 1a1e367d_3e95_6af9_9782_580aa3a198d2
  c4d15e30_a008_294f_9290_2c4fed1237ff["check.transform()"]
  c4d15e30_a008_294f_9290_2c4fed1237ff -->|calls| 1a1e367d_3e95_6af9_9782_580aa3a198d2
  f1f8beda_fd6a_e8c0_4640_ab8f8114dd5f["up.transform()"]
  f1f8beda_fd6a_e8c0_4640_ab8f8114dd5f -->|calls| 1a1e367d_3e95_6af9_9782_580aa3a198d2
  2d811fdf_1e13_3829_a25f_89056cb2a502["pull.transform()"]
  2d811fdf_1e13_3829_a25f_89056cb2a502 -->|calls| 1a1e367d_3e95_6af9_9782_580aa3a198d2
  67a4966d_9164_7cb1_dcd5_8c205545c584["drop.transform()"]
  67a4966d_9164_7cb1_dcd5_8c205545c584 -->|calls| 1a1e367d_3e95_6af9_9782_580aa3a198d2
  8ac39f3a_57cf_0538_3bf2_ca46c4542dc3["exportRaw.transform()"]
  8ac39f3a_57cf_0538_3bf2_ca46c4542dc3 -->|calls| 1a1e367d_3e95_6af9_9782_580aa3a198d2
  style 1a1e367d_3e95_6af9_9782_580aa3a198d2 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-kit/src/cli/validations/common.ts lines 30–62

export const assertCollisions = <
	T extends Record<string, unknown>,
	TKeys extends (keyof T)[],
	TRemainingKeys extends Exclude<keyof T, TKeys[number] | 'config'>[],
	Exhaustive extends TRemainingKeys,
	UNIQ extends UniqueArrayOfUnion<TRemainingKeys[number], Exhaustive>,
>(
	command: Commands,
	options: T,
	whitelist: Exclude<TKeys, 'config'>,
	remainingKeys: UniqueArrayOfUnion<TRemainingKeys[number], Exhaustive>,
): IsUnion<LastTupleElement<UNIQ>> extends false ? 'cli' | 'config' : TKeys => {
	const { config, ...rest } = options;

	let atLeastOneParam = false;
	for (const key of Object.keys(rest)) {
		if (whitelist.includes(key)) continue;

		atLeastOneParam = atLeastOneParam || rest[key] !== undefined;
	}

	if (!config && atLeastOneParam) {
		return 'cli' as any;
	}

	if (!atLeastOneParam) {
		return 'config' as any;
	}

	// if config and cli - return error - write a reason
	console.log(outputs.common.ambiguousParams(command));
	process.exit(1);
};

Domain

Subdomains

Frequently Asked Questions

What does assertCollisions() do?
assertCollisions() is a function in the drizzle-orm codebase, defined in drizzle-kit/src/cli/validations/common.ts.
Where is assertCollisions() defined?
assertCollisions() is defined in drizzle-kit/src/cli/validations/common.ts at line 30.
What calls assertCollisions()?
assertCollisions() is called by 7 function(s): check.transform, drop.transform, exportRaw.transform, generate.transform, pull.transform, push.transform, up.transform.

Analyze Your Own Codebase

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

Try Supermodel Free