testEnumsResolver() — drizzle-orm Function Reference
Architecture documentation for the testEnumsResolver() function in schemaDiffer.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 6670774e_1db8_2949_ed84_d99556952a75["testEnumsResolver()"] fb6b4a65_030b_ce6b_df0d_2be21adcd2b3["schemaDiffer.ts"] 6670774e_1db8_2949_ed84_d99556952a75 -->|defined in| fb6b4a65_030b_ce6b_df0d_2be21adcd2b3 e15327fc_6c47_0a22_5e26_e5f3a2056272["diffTestSchemasPush()"] e15327fc_6c47_0a22_5e26_e5f3a2056272 -->|calls| 6670774e_1db8_2949_ed84_d99556952a75 a9b90700_95b1_2733_ec44_94b71b29bd74["applyPgDiffs()"] a9b90700_95b1_2733_ec44_94b71b29bd74 -->|calls| 6670774e_1db8_2949_ed84_d99556952a75 c00494ea_6230_22b6_9b91_d37781a8ac08["diffTestSchemas()"] c00494ea_6230_22b6_9b91_d37781a8ac08 -->|calls| 6670774e_1db8_2949_ed84_d99556952a75 099eb17b_7dab_5785_cbf8_b861b392a028["introspectPgToFile()"] 099eb17b_7dab_5785_cbf8_b861b392a028 -->|calls| 6670774e_1db8_2949_ed84_d99556952a75 style 6670774e_1db8_2949_ed84_d99556952a75 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-kit/tests/schemaDiffer.ts lines 248–322
export const testEnumsResolver = (renames: Set<string>) =>
async (
input: ResolverInput<Enum>,
): Promise<ResolverOutputWithMoved<Enum>> => {
try {
if (
input.created.length === 0
|| input.deleted.length === 0
|| renames.size === 0
) {
return {
created: input.created,
moved: [],
renamed: [],
deleted: input.deleted,
};
}
let createdEnums = [...input.created];
let deletedEnums = [...input.deleted];
const result: {
created: Enum[];
moved: { name: string; schemaFrom: string; schemaTo: string }[];
renamed: { from: Enum; to: Enum }[];
deleted: Enum[];
} = { created: [], renamed: [], deleted: [], moved: [] };
for (let rename of renames) {
const [from, to] = rename.split('->');
const idxFrom = deletedEnums.findIndex((it) => {
return `${it.schema || 'public'}.${it.name}` === from;
});
if (idxFrom >= 0) {
const idxTo = createdEnums.findIndex((it) => {
return `${it.schema || 'public'}.${it.name}` === to;
});
const tableFrom = deletedEnums[idxFrom];
const tableTo = createdEnums[idxFrom];
if (tableFrom.schema !== tableTo.schema) {
result.moved.push({
name: tableFrom.name,
schemaFrom: tableFrom.schema,
schemaTo: tableTo.schema,
});
}
if (tableFrom.name !== tableTo.name) {
result.renamed.push({
from: deletedEnums[idxFrom],
to: createdEnums[idxTo],
});
}
delete createdEnums[idxTo];
delete deletedEnums[idxFrom];
createdEnums = createdEnums.filter(Boolean);
deletedEnums = deletedEnums.filter(Boolean);
}
}
result.created = createdEnums;
result.deleted = deletedEnums;
return result;
} catch (e) {
console.error(e);
throw e;
}
};
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does testEnumsResolver() do?
testEnumsResolver() is a function in the drizzle-orm codebase, defined in drizzle-kit/tests/schemaDiffer.ts.
Where is testEnumsResolver() defined?
testEnumsResolver() is defined in drizzle-kit/tests/schemaDiffer.ts at line 248.
What calls testEnumsResolver()?
testEnumsResolver() 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