Home / File/ set-operators.ts — drizzle-orm Source File

set-operators.ts — drizzle-orm Source File

Architecture documentation for set-operators.ts, a typescript file in the drizzle-orm codebase. 8 imports, 0 dependents.

File typescript DrizzleORM DatabaseDrivers 8 imports 2 functions

Entity Profile

Dependency Diagram

graph LR
  c92a60fb_e3eb_9b19_a159_7c0ce89462aa["set-operators.ts"]
  02ee7a70_490f_3b80_fa60_d59aaa62cd1d["db.ts"]
  c92a60fb_e3eb_9b19_a159_7c0ce89462aa --> 02ee7a70_490f_3b80_fa60_d59aaa62cd1d
  caa15051_4c2c_cd8b_fcc3_001b783b7336["tables.ts"]
  c92a60fb_e3eb_9b19_a159_7c0ce89462aa --> caa15051_4c2c_cd8b_fcc3_001b783b7336
  d929dcac_4d3c_8543_2323_07023b291633["cities"]
  c92a60fb_e3eb_9b19_a159_7c0ce89462aa --> d929dcac_4d3c_8543_2323_07023b291633
  af8d5a1e_788a_d02e_b32c_8fb7cd129ff9["users"]
  c92a60fb_e3eb_9b19_a159_7c0ce89462aa --> af8d5a1e_788a_d02e_b32c_8fb7cd129ff9
  25b05299_f48f_bceb_01ca_1343d330a8f7["utils.ts"]
  c92a60fb_e3eb_9b19_a159_7c0ce89462aa --> 25b05299_f48f_bceb_01ca_1343d330a8f7
  076448f5_e30d_7700_bbe9_f5d1e76b579a["index.ts"]
  c92a60fb_e3eb_9b19_a159_7c0ce89462aa --> 076448f5_e30d_7700_bbe9_f5d1e76b579a
  5c46beaf_8b59_d2e3_def3_8af6daf1fccd["index.ts"]
  c92a60fb_e3eb_9b19_a159_7c0ce89462aa --> 5c46beaf_8b59_d2e3_def3_8af6daf1fccd
  944a2bed_8787_5f43_03e5_9a3b696c293c["index.ts"]
  c92a60fb_e3eb_9b19_a159_7c0ce89462aa --> 944a2bed_8787_5f43_03e5_9a3b696c293c
  style c92a60fb_e3eb_9b19_a159_7c0ce89462aa fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { type Equal, Expect } from 'type-tests/utils.ts';
import { except, exceptAll, type GelSetOperator, intersect, intersectAll, union, unionAll } from '~/gel-core/index.ts';
import { eq } from '~/sql/expressions/index.ts';
import { desc, sql } from '~/sql/index.ts';
import { db } from './db.ts';
import { cities, classes, users } from './tables.ts';

const except2Test = await except(
	db.select({
		userId: users.id,
	})
		.from(users),
	db.select({
		userId: users.id,
	}).from(users),
);

Expect<Equal<{ userId: number }[], typeof except2Test>>;

const exceptAll2Test = await exceptAll(
	db.select({
		id: users.id,
		age1: users.age1,
	})
		.from(users).where(sql``),
	db.select({
		id: users.id,
		age1: users.age1,
	}).from(users),
);

Expect<Equal<{ id: number; age1: number }[], typeof exceptAll2Test>>;

const unionTest = await db
	.select({ id: users.id })
	.from(users)
	.union(
		db
			.select({ id: users.id })
			.from(users),
	);

Expect<Equal<{ id: number }[], typeof unionTest>>;

const unionAllTest = await db
	.select({ id: users.id, age: users.age1 })
	.from(users)
	.unionAll(
		db.select({ id: users.id, age: users.age1 })
			.from(users)
			.leftJoin(cities, eq(users.id, cities.id)),
	);

Expect<Equal<{ id: number; age: number }[], typeof unionAllTest>>;

const intersectTest = await db
	.select({ id: users.id, homeCity: users.homeCity })
	.from(users)
	.intersect(({ intersect }) =>
		intersect(
// ... (217 more lines)

Domain

Subdomains

Dependencies

Frequently Asked Questions

What does set-operators.ts do?
set-operators.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleORM domain, DatabaseDrivers subdomain.
What functions are defined in set-operators.ts?
set-operators.ts defines 2 function(s): dynamic, intersectTest.
What does set-operators.ts depend on?
set-operators.ts imports 8 module(s): cities, db.ts, index.ts, index.ts, index.ts, tables.ts, users, utils.ts.
Where is set-operators.ts in the architecture?
set-operators.ts is located at drizzle-orm/type-tests/geldb/set-operators.ts (domain: DrizzleORM, subdomain: DatabaseDrivers, directory: drizzle-orm/type-tests/geldb).

Analyze Your Own Codebase

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

Try Supermodel Free