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

diffPolicies() — drizzle-orm Function Reference

Architecture documentation for the diffPolicies() function in jsonDiffer.js from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  90e1758a_0f7f_54fb_c779_49c80a540b03["diffPolicies()"]
  42cd5bcb_caa4_6b61_11ea_da1b767eeadd["jsonDiffer.js"]
  90e1758a_0f7f_54fb_c779_49c80a540b03 -->|defined in| 42cd5bcb_caa4_6b61_11ea_da1b767eeadd
  c7a398db_43c9_7771_09b7_73bc09e703e8["applyPgSnapshotsDiff()"]
  c7a398db_43c9_7771_09b7_73bc09e703e8 -->|calls| 90e1758a_0f7f_54fb_c779_49c80a540b03
  style 90e1758a_0f7f_54fb_c779_49c80a540b03 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-kit/src/jsonDiffer.js lines 165–206

export function diffPolicies(left, right) {
	left = JSON.parse(JSON.stringify(left));
	right = JSON.parse(JSON.stringify(right));
	const result = diff(left, right) ?? {};

	const alteredTables = Object.fromEntries(
		Object.entries(result)
			.filter((it) => {
				return !(it[0].includes('__added') || it[0].includes('__deleted'));
			})
			.map((tableEntry) => {
				// const entry = { name: it, ...result[it] }
				const deletedPolicies = Object.entries(tableEntry[1].policies ?? {})
					.filter((it) => {
						return it[0].endsWith('__deleted');
					})
					.map((it) => {
						return it[1];
					});

				const addedPolicies = Object.entries(tableEntry[1].policies ?? {})
					.filter((it) => {
						return it[0].endsWith('__added');
					})
					.map((it) => {
						return it[1];
					});

				tableEntry[1].policies = {
					added: addedPolicies,
					deleted: deletedPolicies,
				};
				const table = left[tableEntry[0]];
				return [
					tableEntry[0],
					{ name: table.name, schema: table.schema, ...tableEntry[1] },
				];
			}),
	);

	return alteredTables;
}

Domain

Subdomains

Frequently Asked Questions

What does diffPolicies() do?
diffPolicies() is a function in the drizzle-orm codebase, defined in drizzle-kit/src/jsonDiffer.js.
Where is diffPolicies() defined?
diffPolicies() is defined in drizzle-kit/src/jsonDiffer.js at line 165.
What calls diffPolicies()?
diffPolicies() is called by 1 function(s): applyPgSnapshotsDiff.

Analyze Your Own Codebase

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

Try Supermodel Free