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

gelSerializer.ts — drizzle-orm Source File

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

File typescript DrizzleKit SnapshotSerializer 14 imports 2 dependents 12 functions

Entity Profile

Dependency Diagram

graph LR
  33990744_4141_72e3_2ae9_3c695bf71d75["gelSerializer.ts"]
  502fb53b_89d2_ec40_3a24_f05850833f68["outputs.ts"]
  33990744_4141_72e3_2ae9_3c695bf71d75 --> 502fb53b_89d2_ec40_3a24_f05850833f68
  5847e5ae_7b4a_4b02_b68f_883ef88b3c1a["utils.ts"]
  33990744_4141_72e3_2ae9_3c695bf71d75 --> 5847e5ae_7b4a_4b02_b68f_883ef88b3c1a
  6a0cfd17_5e20_42bb_3596_ae02093b0fda["escapeSingleQuotes"]
  33990744_4141_72e3_2ae9_3c695bf71d75 --> 6a0cfd17_5e20_42bb_3596_ae02093b0fda
  964b24c5_3481_bed3_69f7_b6e4cefe58bb["gelSchema.ts"]
  33990744_4141_72e3_2ae9_3c695bf71d75 --> 964b24c5_3481_bed3_69f7_b6e4cefe58bb
  d8097f04_a188_ed1a_3c1c_3446a8d2c62c["GelSchemaInternal"]
  33990744_4141_72e3_2ae9_3c695bf71d75 --> d8097f04_a188_ed1a_3c1c_3446a8d2c62c
  12d176aa_882f_ddcb_4bc8_df3fbb9542b1["utils.ts"]
  33990744_4141_72e3_2ae9_3c695bf71d75 --> 12d176aa_882f_ddcb_4bc8_df3fbb9542b1
  0f6bcec9_496e_3388_a2d6_2f3af1e12d53["getColumnCasing"]
  33990744_4141_72e3_2ae9_3c695bf71d75 --> 0f6bcec9_496e_3388_a2d6_2f3af1e12d53
  5de2ec9b_64d7_f004_04c1_e08f9695c862["sqlToStr"]
  33990744_4141_72e3_2ae9_3c695bf71d75 --> 5de2ec9b_64d7_f004_04c1_e08f9695c862
  0f00c7dd_5eba_f1f8_c559_a99431086500["chalk"]
  33990744_4141_72e3_2ae9_3c695bf71d75 --> 0f00c7dd_5eba_f1f8_c559_a99431086500
  690f7dfc_0aea_9ee8_d6e7_26bbb3689031["drizzle-orm"]
  33990744_4141_72e3_2ae9_3c695bf71d75 --> 690f7dfc_0aea_9ee8_d6e7_26bbb3689031
  a141d2d3_896c_404c_4eeb_43205225eb94["gel-core"]
  33990744_4141_72e3_2ae9_3c695bf71d75 --> a141d2d3_896c_404c_4eeb_43205225eb94
  69eb5c6a_1f39_88ff_23e8_06dadec35df5["common"]
  33990744_4141_72e3_2ae9_3c695bf71d75 --> 69eb5c6a_1f39_88ff_23e8_06dadec35df5
  8b93d3ac_6c44_f9eb_dc05_5b711681ec2c["views"]
  33990744_4141_72e3_2ae9_3c695bf71d75 --> 8b93d3ac_6c44_f9eb_dc05_5b711681ec2c
  7513a123_1698_6fd0_965e_fd62857948cd["vector"]
  33990744_4141_72e3_2ae9_3c695bf71d75 --> 7513a123_1698_6fd0_965e_fd62857948cd
  style 33990744_4141_72e3_2ae9_3c695bf71d75 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import chalk from 'chalk';
import { getTableName, is, SQL } from 'drizzle-orm';
import {
	AnyGelTable,
	GelColumn,
	GelDialect,
	GelMaterializedView,
	GelPolicy,
	GelRole,
	GelSchema,
	GelSequence,
	GelView,
	getMaterializedViewConfig,
	getTableConfig,
	getViewConfig,
	IndexedColumn,
} from 'drizzle-orm/gel-core';
import { CasingType } from 'src/cli/validations/common';
import { IntrospectStage, IntrospectStatus } from 'src/cli/views';
import { vectorOps } from 'src/extensions/vector';
import { withStyle } from '../cli/validations/outputs';
import { type DB, escapeSingleQuotes } from '../utils';
import { GelSchemaInternal } from './gelSchema';
import type {
	Column,
	ForeignKey,
	GelKitInternals,
	Index,
	IndexColumnType,
	Policy,
	PrimaryKey,
	Role,
	Sequence,
	Table,
	UniqueConstraint,
	View,
} from './gelSchema';
import { getColumnCasing, sqlToStr } from './utils';

export const indexName = (tableName: string, columns: string[]) => {
	return `${tableName}_${columns.join('_')}_index`;
};

function stringFromIdentityProperty(field: string | number | undefined): string | undefined {
	return typeof field === 'string' ? (field as string) : typeof field === 'undefined' ? undefined : String(field);
}

function maxRangeForIdentityBasedOn(columnType: string) {
	return columnType === 'integer' ? '2147483647' : columnType === 'bigint' ? '9223372036854775807' : '32767';
}

function minRangeForIdentityBasedOn(columnType: string) {
	return columnType === 'integer' ? '-2147483648' : columnType === 'bigint' ? '-9223372036854775808' : '-32768';
}

function stringFromDatabaseIdentityProperty(field: any): string | undefined {
	return typeof field === 'string'
		? (field as string)
		: typeof field === 'undefined'
		? undefined
// ... (1602 more lines)

Domain

Subdomains

Frequently Asked Questions

What does gelSerializer.ts do?
gelSerializer.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 gelSerializer.ts?
gelSerializer.ts defines 12 function(s): buildArrayString, defaultForColumn, fromDatabase, generateGelSnapshot, getColumnsInfoQuery, indexName, maxRangeForIdentityBasedOn, minRangeForIdentityBasedOn, prepareRoles, stringFromDatabaseIdentityProperty, and 2 more.
What does gelSerializer.ts depend on?
gelSerializer.ts imports 14 module(s): GelSchemaInternal, chalk, common, drizzle-orm, escapeSingleQuotes, gel-core, gelSchema.ts, getColumnCasing, and 6 more.
What files import gelSerializer.ts?
gelSerializer.ts is imported by 2 file(s): introspect-gel.ts, introspect.ts.
Where is gelSerializer.ts in the architecture?
gelSerializer.ts is located at drizzle-kit/src/serializer/gelSerializer.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