testPolicyResolver() — drizzle-orm Function Reference
Architecture documentation for the testPolicyResolver() function in schemaDiffer.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 5c0a54e1_d2f8_ab8d_7ce4_e9a683283904["testPolicyResolver()"] fb6b4a65_030b_ce6b_df0d_2be21adcd2b3["schemaDiffer.ts"] 5c0a54e1_d2f8_ab8d_7ce4_e9a683283904 -->|defined in| fb6b4a65_030b_ce6b_df0d_2be21adcd2b3 e15327fc_6c47_0a22_5e26_e5f3a2056272["diffTestSchemasPush()"] e15327fc_6c47_0a22_5e26_e5f3a2056272 -->|calls| 5c0a54e1_d2f8_ab8d_7ce4_e9a683283904 a9b90700_95b1_2733_ec44_94b71b29bd74["applyPgDiffs()"] a9b90700_95b1_2733_ec44_94b71b29bd74 -->|calls| 5c0a54e1_d2f8_ab8d_7ce4_e9a683283904 c00494ea_6230_22b6_9b91_d37781a8ac08["diffTestSchemas()"] c00494ea_6230_22b6_9b91_d37781a8ac08 -->|calls| 5c0a54e1_d2f8_ab8d_7ce4_e9a683283904 099eb17b_7dab_5785_cbf8_b861b392a028["introspectPgToFile()"] 099eb17b_7dab_5785_cbf8_b861b392a028 -->|calls| 5c0a54e1_d2f8_ab8d_7ce4_e9a683283904 style 5c0a54e1_d2f8_ab8d_7ce4_e9a683283904 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-kit/tests/schemaDiffer.ts lines 464–526
export const testPolicyResolver = (renames: Set<string>) =>
async (
input: TablePolicyResolverInput<Policy>,
): Promise<TablePolicyResolverOutput<Policy>> => {
try {
if (
input.created.length === 0
|| input.deleted.length === 0
|| renames.size === 0
) {
return {
tableName: input.tableName,
schema: input.schema,
created: input.created,
renamed: [],
deleted: input.deleted,
};
}
let createdPolicies = [...input.created];
let deletedPolicies = [...input.deleted];
const renamed: { from: Policy; to: Policy }[] = [];
const schema = input.schema || 'public';
for (let rename of renames) {
const [from, to] = rename.split('->');
const idxFrom = deletedPolicies.findIndex((it) => {
return `${schema}.${input.tableName}.${it.name}` === from;
});
if (idxFrom >= 0) {
const idxTo = createdPolicies.findIndex((it) => {
return `${schema}.${input.tableName}.${it.name}` === to;
});
renamed.push({
from: deletedPolicies[idxFrom],
to: createdPolicies[idxTo],
});
delete createdPolicies[idxTo];
delete deletedPolicies[idxFrom];
createdPolicies = createdPolicies.filter(Boolean);
deletedPolicies = deletedPolicies.filter(Boolean);
}
}
return {
tableName: input.tableName,
schema: input.schema,
created: createdPolicies,
deleted: deletedPolicies,
renamed,
};
} catch (e) {
console.error(e);
throw e;
}
};
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does testPolicyResolver() do?
testPolicyResolver() is a function in the drizzle-orm codebase, defined in drizzle-kit/tests/schemaDiffer.ts.
Where is testPolicyResolver() defined?
testPolicyResolver() is defined in drizzle-kit/tests/schemaDiffer.ts at line 464.
What calls testPolicyResolver()?
testPolicyResolver() is called by 4 function(s): applyPgDiffs, diffTestSchemas, diffTestSchemasPush, introspectPgToFile.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free