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

createSetOperator() — drizzle-orm Function Reference

Architecture documentation for the createSetOperator() function in select.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  3269f166_3dd3_b5bf_ca31_d24930b3e857["createSetOperator()"]
  df5c4433_48d4_a196_2e73_fc27b943fdae["select.ts"]
  3269f166_3dd3_b5bf_ca31_d24930b3e857 -->|defined in| df5c4433_48d4_a196_2e73_fc27b943fdae
  style 3269f166_3dd3_b5bf_ca31_d24930b3e857 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-orm/src/gel-core/query-builders/select.ts lines 1111–1129

function createSetOperator(type: SetOperator, isAll: boolean): GelCreateSetOperatorFn {
	return (leftSelect, rightSelect, ...restSelects) => {
		const setOperators = [rightSelect, ...restSelects].map((select) => ({
			type,
			isAll,
			rightSelect: select as AnyGelSelect,
		}));

		for (const setOperator of setOperators) {
			if (!haveSameKeys((leftSelect as any).getSelectedFields(), setOperator.rightSelect.getSelectedFields())) {
				throw new Error(
					'Set operator error (union / intersect / except): selected fields are not the same or are in a different order',
				);
			}
		}

		return (leftSelect as AnyGelSelect).addSetOperators(setOperators) as any;
	};
}

Domain

Subdomains

Frequently Asked Questions

What does createSetOperator() do?
createSetOperator() is a function in the drizzle-orm codebase, defined in drizzle-orm/src/gel-core/query-builders/select.ts.
Where is createSetOperator() defined?
createSetOperator() is defined in drizzle-orm/src/gel-core/query-builders/select.ts at line 1111.

Analyze Your Own Codebase

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

Try Supermodel Free