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

testViewsResolverSqlite() — drizzle-orm Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  ca971472_1126_152f_0fc8_502996a52ea8["testViewsResolverSqlite()"]
  fb6b4a65_030b_ce6b_df0d_2be21adcd2b3["schemaDiffer.ts"]
  ca971472_1126_152f_0fc8_502996a52ea8 -->|defined in| fb6b4a65_030b_ce6b_df0d_2be21adcd2b3
  cb68215e_fbbc_c2e1_0cbe_6e65ee0bd145["diffTestSchemasPushSqlite()"]
  cb68215e_fbbc_c2e1_0cbe_6e65ee0bd145 -->|calls| ca971472_1126_152f_0fc8_502996a52ea8
  68ca323e_4506_d486_b587_96a21ba359f3["diffTestSchemasPushLibSQL()"]
  68ca323e_4506_d486_b587_96a21ba359f3 -->|calls| ca971472_1126_152f_0fc8_502996a52ea8
  0edb9fbe_a5ec_9995_347a_9ea655353950["applySqliteDiffs()"]
  0edb9fbe_a5ec_9995_347a_9ea655353950 -->|calls| ca971472_1126_152f_0fc8_502996a52ea8
  bf733442_f700_0747_b445_7417f19f76ae["applyLibSQLDiffs()"]
  bf733442_f700_0747_b445_7417f19f76ae -->|calls| ca971472_1126_152f_0fc8_502996a52ea8
  843d184b_68ea_28e0_a4e7_11ed8d0a221a["diffTestSchemasSqlite()"]
  843d184b_68ea_28e0_a4e7_11ed8d0a221a -->|calls| ca971472_1126_152f_0fc8_502996a52ea8
  dddf05dc_476a_ddb0_9213_efecd046356f["diffTestSchemasLibSQL()"]
  dddf05dc_476a_ddb0_9213_efecd046356f -->|calls| ca971472_1126_152f_0fc8_502996a52ea8
  f80fdfdf_e892_8d61_803f_096dd9e493c9["introspectSQLiteToFile()"]
  f80fdfdf_e892_8d61_803f_096dd9e493c9 -->|calls| ca971472_1126_152f_0fc8_502996a52ea8
  b6612fd2_9181_aeb0_1129_3ff1a369e4e3["introspectLibSQLToFile()"]
  b6612fd2_9181_aeb0_1129_3ff1a369e4e3 -->|calls| ca971472_1126_152f_0fc8_502996a52ea8
  style ca971472_1126_152f_0fc8_502996a52ea8 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-kit/tests/schemaDiffer.ts lines 872–938

export const testViewsResolverSqlite = (renames: Set<string>) =>
async (
	input: ResolverInput<SqliteView>,
): Promise<ResolverOutputWithMoved<SqliteView>> => {
	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: SqliteView[];
			moved: { name: string; schemaFrom: string; schemaTo: string }[];
			renamed: { from: SqliteView; to: SqliteView }[];
			deleted: SqliteView[];
		} = { created: [], renamed: [], deleted: [], moved: [] };

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

			const idxFrom = deletedViews.findIndex((it) => {
				return it.name === from;
			});

			if (idxFrom >= 0) {
				const idxTo = createdViews.findIndex((it) => {
					return it.name === to;
				});

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

				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 testViewsResolverSqlite() do?
testViewsResolverSqlite() is a function in the drizzle-orm codebase, defined in drizzle-kit/tests/schemaDiffer.ts.
Where is testViewsResolverSqlite() defined?
testViewsResolverSqlite() is defined in drizzle-kit/tests/schemaDiffer.ts at line 872.
What calls testViewsResolverSqlite()?
testViewsResolverSqlite() is called by 8 function(s): applyLibSQLDiffs, applySqliteDiffs, diffTestSchemasLibSQL, diffTestSchemasPushLibSQL, diffTestSchemasPushSqlite, diffTestSchemasSqlite, introspectLibSQLToFile, introspectSQLiteToFile.

Analyze Your Own Codebase

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

Try Supermodel Free