Home / File/ utils.ts — drizzle-orm Source File

utils.ts — drizzle-orm Source File

Architecture documentation for utils.ts, a typescript file in the drizzle-orm codebase. 2 imports, 4 dependents.

File typescript DrizzleORM RelationalQuery 2 imports 4 dependents 4 functions

Entity Profile

Dependency Diagram

graph LR
  220ae495_e2e6_9482_daa5_19553ac47578["utils.ts"]
  26760edf_9a0c_0204_77e6_f8bffa96e354["typebox"]
  220ae495_e2e6_9482_daa5_19553ac47578 --> 26760edf_9a0c_0204_77e6_f8bffa96e354
  8d35eaf2_a542_cfd4_fa1a_fafca0f02686["vitest"]
  220ae495_e2e6_9482_daa5_19553ac47578 --> 8d35eaf2_a542_cfd4_fa1a_fafca0f02686
  309c7a3c_ce0e_2772_e3ae_e5912b8697af["mysql.test.ts"]
  309c7a3c_ce0e_2772_e3ae_e5912b8697af --> 220ae495_e2e6_9482_daa5_19553ac47578
  494ada20_7a0b_fdd4_0bd2_5b98f1e44957["pg.test.ts"]
  494ada20_7a0b_fdd4_0bd2_5b98f1e44957 --> 220ae495_e2e6_9482_daa5_19553ac47578
  514382cb_23aa_aec1_55c0_e372a6ec90ae["singlestore.test.ts"]
  514382cb_23aa_aec1_55c0_e372a6ec90ae --> 220ae495_e2e6_9482_daa5_19553ac47578
  9ba047f0_4075_24d8_492e_4da8de88ce1c["sqlite.test.ts"]
  9ba047f0_4075_24d8_492e_4da8de88ce1c --> 220ae495_e2e6_9482_daa5_19553ac47578
  style 220ae495_e2e6_9482_daa5_19553ac47578 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import type * as t from '@sinclair/typebox';
import { expect, type TaskContext } from 'vitest';

function removeKeysFromObject(obj: Record<string, any>, keys: string[]) {
	for (const key of keys) {
		delete obj[key];
	}
	return obj;
}

export function expectSchemaShape<T extends t.TObject>(t: TaskContext, expected: T) {
	return {
		from(actual: T) {
			expect(Object.keys(actual.properties)).toStrictEqual(Object.keys(expected.properties));
			const keys = ['$id', '$schema', 'title', 'description', 'default', 'examples', 'readOnly', 'writeOnly'];

			for (const key of Object.keys(actual.properties)) {
				expect(removeKeysFromObject(actual.properties[key]!, keys)).toStrictEqual(
					removeKeysFromObject(expected.properties[key]!, keys),
				);
			}
		},
	};
}

export function expectEnumValues<T extends t.TEnum<any>>(t: TaskContext, expected: T) {
	return {
		from(actual: T) {
			expect(actual.anyOf).toStrictEqual(expected.anyOf);
		},
	};
}

export function Expect<_ extends true>() {}

Domain

Subdomains

Dependencies

  • typebox
  • vitest

Frequently Asked Questions

What does utils.ts do?
utils.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleORM domain, RelationalQuery subdomain.
What functions are defined in utils.ts?
utils.ts defines 4 function(s): Expect, expectEnumValues, expectSchemaShape, removeKeysFromObject.
What does utils.ts depend on?
utils.ts imports 2 module(s): typebox, vitest.
What files import utils.ts?
utils.ts is imported by 4 file(s): mysql.test.ts, pg.test.ts, singlestore.test.ts, sqlite.test.ts.
Where is utils.ts in the architecture?
utils.ts is located at drizzle-typebox/tests/utils.ts (domain: DrizzleORM, subdomain: RelationalQuery, directory: drizzle-typebox/tests).

Analyze Your Own Codebase

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

Try Supermodel Free