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. 4 imports, 6 dependents.

File typescript DrizzleKit SnapshotSerializer 4 imports 6 dependents 3 functions

Entity Profile

Dependency Diagram

graph LR
  12d176aa_882f_ddcb_4bc8_df3fbb9542b1["utils.ts"]
  9135e6b6_37f7_c980_ee35_90f5531de5a4["common.ts"]
  12d176aa_882f_ddcb_4bc8_df3fbb9542b1 --> 9135e6b6_37f7_c980_ee35_90f5531de5a4
  0870fa3b_07a8_6547_8461_71560fba51e9["CasingType"]
  12d176aa_882f_ddcb_4bc8_df3fbb9542b1 --> 0870fa3b_07a8_6547_8461_71560fba51e9
  690f7dfc_0aea_9ee8_d6e7_26bbb3689031["drizzle-orm"]
  12d176aa_882f_ddcb_4bc8_df3fbb9542b1 --> 690f7dfc_0aea_9ee8_d6e7_26bbb3689031
  2b7d63c9_9828_8abd_ad6d_064a9cc83dd1["casing"]
  12d176aa_882f_ddcb_4bc8_df3fbb9542b1 --> 2b7d63c9_9828_8abd_ad6d_064a9cc83dd1
  33990744_4141_72e3_2ae9_3c695bf71d75["gelSerializer.ts"]
  33990744_4141_72e3_2ae9_3c695bf71d75 --> 12d176aa_882f_ddcb_4bc8_df3fbb9542b1
  1f633f0f_d981_8483_0b8f_fbabf0333ced["mysqlSerializer.ts"]
  1f633f0f_d981_8483_0b8f_fbabf0333ced --> 12d176aa_882f_ddcb_4bc8_df3fbb9542b1
  df5ff696_3bb2_dd84_a601_810793c9ec74["pgSerializer.ts"]
  df5ff696_3bb2_dd84_a601_810793c9ec74 --> 12d176aa_882f_ddcb_4bc8_df3fbb9542b1
  67437259_0670_dcef_f238_9264f0f16394["singlestoreSerializer.ts"]
  67437259_0670_dcef_f238_9264f0f16394 --> 12d176aa_882f_ddcb_4bc8_df3fbb9542b1
  8e6879a2_2b61_04aa_8765_25bc6cfe77be["sqliteSerializer.ts"]
  8e6879a2_2b61_04aa_8765_25bc6cfe77be --> 12d176aa_882f_ddcb_4bc8_df3fbb9542b1
  82de12f8_a8ca_9d38_8da8_9ac945d81e01["studio.ts"]
  82de12f8_a8ca_9d38_8da8_9ac945d81e01 --> 12d176aa_882f_ddcb_4bc8_df3fbb9542b1
  style 12d176aa_882f_ddcb_4bc8_df3fbb9542b1 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { SQL } from 'drizzle-orm';
import { CasingCache, toCamelCase, toSnakeCase } from 'drizzle-orm/casing';
import { CasingType } from '../cli/validations/common';

export function getColumnCasing(
	column: { keyAsName: boolean; name: string | undefined },
	casing: CasingType | undefined,
) {
	if (!column.name) return '';
	return !column.keyAsName || casing === undefined
		? column.name
		: casing === 'camelCase'
		? toCamelCase(column.name)
		: toSnakeCase(column.name);
}

export const sqlToStr = (sql: SQL, casing: CasingType | undefined) => {
	return sql.toQuery({
		escapeName: () => {
			throw new Error("we don't support params for `sql` default values");
		},
		escapeParam: () => {
			throw new Error("we don't support params for `sql` default values");
		},
		escapeString: () => {
			throw new Error("we don't support params for `sql` default values");
		},
		casing: new CasingCache(casing),
	}).sql;
};

export const sqlToStrGenerated = (sql: SQL, casing: CasingType | undefined) => {
	return sql.toQuery({
		escapeName: () => {
			throw new Error("we don't support params for `sql` default values");
		},
		escapeParam: () => {
			throw new Error("we don't support params for `sql` default values");
		},
		escapeString: () => {
			throw new Error("we don't support params for `sql` default values");
		},
		casing: new CasingCache(casing),
	}).sql;
};

Domain

Subdomains

Dependencies

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 DrizzleKit domain, SnapshotSerializer subdomain.
What functions are defined in utils.ts?
utils.ts defines 3 function(s): getColumnCasing, sqlToStr, sqlToStrGenerated.
What does utils.ts depend on?
utils.ts imports 4 module(s): CasingType, casing, common.ts, drizzle-orm.
What files import utils.ts?
utils.ts is imported by 6 file(s): gelSerializer.ts, mysqlSerializer.ts, pgSerializer.ts, singlestoreSerializer.ts, sqliteSerializer.ts, studio.ts.
Where is utils.ts in the architecture?
utils.ts is located at drizzle-kit/src/serializer/utils.ts (domain: DrizzleKit, subdomain: SnapshotSerializer, directory: drizzle-kit/src/serializer).

Analyze Your Own Codebase

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

Try Supermodel Free