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

mysqlImports.ts — drizzle-orm Source File

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

Entity Profile

Dependency Diagram

graph LR
  e4ff2441_6b02_c5e0_fe9b_88ac10130e68["mysqlImports.ts"]
  09e5bcf1_0f03_3dbd_fbdb_762440f28855["utils.ts"]
  e4ff2441_6b02_c5e0_fe9b_88ac10130e68 --> 09e5bcf1_0f03_3dbd_fbdb_762440f28855
  54221957_c725_0bfe_4345_4f3837d39296["safeRegister"]
  e4ff2441_6b02_c5e0_fe9b_88ac10130e68 --> 54221957_c725_0bfe_4345_4f3837d39296
  690f7dfc_0aea_9ee8_d6e7_26bbb3689031["drizzle-orm"]
  e4ff2441_6b02_c5e0_fe9b_88ac10130e68 --> 690f7dfc_0aea_9ee8_d6e7_26bbb3689031
  93ed9350_daa0_6c21_81a6_ed6b2a48bbdf["mysql-core"]
  e4ff2441_6b02_c5e0_fe9b_88ac10130e68 --> 93ed9350_daa0_6c21_81a6_ed6b2a48bbdf
  style e4ff2441_6b02_c5e0_fe9b_88ac10130e68 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { is } from 'drizzle-orm';
import { AnyMySqlTable, MySqlTable, MySqlView } from 'drizzle-orm/mysql-core';
import { safeRegister } from '../cli/commands/utils';

export const prepareFromExports = (exports: Record<string, unknown>) => {
	const tables: AnyMySqlTable[] = [];
	const views: MySqlView[] = [];

	const i0values = Object.values(exports);
	i0values.forEach((t) => {
		if (is(t, MySqlTable)) {
			tables.push(t);
		}

		if (is(t, MySqlView)) {
			views.push(t);
		}
	});

	return { tables, views };
};

export const prepareFromMySqlImports = async (imports: string[]) => {
	const tables: AnyMySqlTable[] = [];
	const views: MySqlView[] = [];

	const { unregister } = await safeRegister();
	for (let i = 0; i < imports.length; i++) {
		const it = imports[i];
		const i0: Record<string, unknown> = require(`${it}`);
		const prepared = prepareFromExports(i0);

		tables.push(...prepared.tables);
		views.push(...prepared.views);
	}
	unregister();
	return { tables: Array.from(new Set(tables)), views };
};

Domain

Subdomains

Dependencies

Frequently Asked Questions

What does mysqlImports.ts do?
mysqlImports.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 mysqlImports.ts?
mysqlImports.ts defines 2 function(s): prepareFromExports, prepareFromMySqlImports.
What does mysqlImports.ts depend on?
mysqlImports.ts imports 4 module(s): drizzle-orm, mysql-core, safeRegister, utils.ts.
Where is mysqlImports.ts in the architecture?
mysqlImports.ts is located at drizzle-kit/src/serializer/mysqlImports.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