Home / Function/ testViewsResolverSingleStore() — drizzle-orm Function Reference

testViewsResolverSingleStore() — drizzle-orm Function Reference

Architecture documentation for the testViewsResolverSingleStore() function in schemaDiffer.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  27d15f34_be1e_1a5a_02d8_42dc7bfaaaca["testViewsResolverSingleStore()"]
  fb6b4a65_030b_ce6b_df0d_2be21adcd2b3["schemaDiffer.ts"]
  27d15f34_be1e_1a5a_02d8_42dc7bfaaaca -->|defined in| fb6b4a65_030b_ce6b_df0d_2be21adcd2b3
  71887843_e685_2fe9_f3a7_549f6e355d64["diffTestSchemasSingleStore()"]
  71887843_e685_2fe9_f3a7_549f6e355d64 -->|calls| 27d15f34_be1e_1a5a_02d8_42dc7bfaaaca
  bc002c34_a98e_d525_e2d6_5039b1edf66e["diffTestSchemasPushSingleStore()"]
  bc002c34_a98e_d525_e2d6_5039b1edf66e -->|calls| 27d15f34_be1e_1a5a_02d8_42dc7bfaaaca
  cf9722d5_e3b3_fa2b_488c_913fd17a2e54["applySingleStoreDiffs()"]
  cf9722d5_e3b3_fa2b_488c_913fd17a2e54 -->|calls| 27d15f34_be1e_1a5a_02d8_42dc7bfaaaca
  695a97ad_89f6_0a40_949a_56e0db9225d7["introspectSingleStoreToFile()"]
  695a97ad_89f6_0a40_949a_56e0db9225d7 -->|calls| 27d15f34_be1e_1a5a_02d8_42dc7bfaaaca
  style 27d15f34_be1e_1a5a_02d8_42dc7bfaaaca fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-kit/tests/schemaDiffer.ts lines 796–870

export const testViewsResolverSingleStore = (renames: Set<string>) =>
async (
	input: ResolverInput<ViewSquashed & { schema: '' }>,
): Promise<ResolverOutputWithMoved<ViewSquashed>> => {
	try {
		if (
			input.created.length === 0
			|| input.deleted.length === 0
			|| renames.size === 0
		) {
			return {
				created: input.created,
				moved: [],
				renamed: [],
				deleted: input.deleted,
			};
		}

		let createdViews = [...input.created];
		let deletedViews = [...input.deleted];

		const result: {
			created: ViewSquashed[];
			moved: { name: string; schemaFrom: string; schemaTo: string }[];
			renamed: { from: ViewSquashed; to: ViewSquashed }[];
			deleted: ViewSquashed[];
		} = { created: [], renamed: [], deleted: [], moved: [] };

		for (let rename of renames) {
			const [from, to] = rename.split('->');

			const idxFrom = deletedViews.findIndex((it) => {
				return `${it.schema || 'public'}.${it.name}` === from;
			});

			if (idxFrom >= 0) {
				const idxTo = createdViews.findIndex((it) => {
					return `${it.schema || 'public'}.${it.name}` === to;
				});

				const viewFrom = deletedViews[idxFrom];
				const viewTo = createdViews[idxFrom];

				if (viewFrom.schema !== viewTo.schema) {
					result.moved.push({
						name: viewFrom.name,
						schemaFrom: viewFrom.schema,
						schemaTo: viewTo.schema,
					});
				}

				if (viewFrom.name !== viewTo.name) {
					result.renamed.push({
						from: deletedViews[idxFrom],
						to: createdViews[idxTo],
					});
				}

				delete createdViews[idxTo];
				delete deletedViews[idxFrom];

				createdViews = createdViews.filter(Boolean);
				deletedViews = deletedViews.filter(Boolean);
			}
		}

		result.created = createdViews;
		result.deleted = deletedViews;

		return result;
	} catch (e) {
		console.error(e);
		throw e;
	}
};

Domain

Subdomains

Frequently Asked Questions

What does testViewsResolverSingleStore() do?
testViewsResolverSingleStore() is a function in the drizzle-orm codebase, defined in drizzle-kit/tests/schemaDiffer.ts.
Where is testViewsResolverSingleStore() defined?
testViewsResolverSingleStore() is defined in drizzle-kit/tests/schemaDiffer.ts at line 796.
What calls testViewsResolverSingleStore()?
testViewsResolverSingleStore() is called by 4 function(s): applySingleStoreDiffs, diffTestSchemasPushSingleStore, diffTestSchemasSingleStore, introspectSingleStoreToFile.

Analyze Your Own Codebase

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

Try Supermodel Free