MCPcopy
hub / github.com/drizzle-team/drizzle-orm / testViewsResolverSqlite

Function testViewsResolverSqlite

drizzle-kit/tests/schemaDiffer.ts:872–938  ·  view source on GitHub ↗
(renames: Set<string>)

Source from the content-addressed store, hash-verified

870};
871
872export const testViewsResolverSqlite = (renames: Set<string>) =>
873async (
874 input: ResolverInput<SqliteView>,
875): Promise<ResolverOutputWithMoved<SqliteView>> => {
876 try {
877 if (
878 input.created.length === 0
879 || input.deleted.length === 0
880 || renames.size === 0
881 ) {
882 return {
883 created: input.created,
884 moved: [],
885 renamed: [],
886 deleted: input.deleted,
887 };
888 }
889
890 let createdViews = [...input.created];
891 let deletedViews = [...input.deleted];
892
893 const result: {
894 created: SqliteView[];
895 moved: { name: string; schemaFrom: string; schemaTo: string }[];
896 renamed: { from: SqliteView; to: SqliteView }[];
897 deleted: SqliteView[];
898 } = { created: [], renamed: [], deleted: [], moved: [] };
899
900 for (let rename of renames) {
901 const [from, to] = rename.split('->');
902
903 const idxFrom = deletedViews.findIndex((it) => {
904 return it.name === from;
905 });
906
907 if (idxFrom >= 0) {
908 const idxTo = createdViews.findIndex((it) => {
909 return it.name === to;
910 });
911
912 const viewFrom = deletedViews[idxFrom];
913 const viewTo = createdViews[idxFrom];
914
915 if (viewFrom.name !== viewTo.name) {
916 result.renamed.push({
917 from: deletedViews[idxFrom],
918 to: createdViews[idxTo],
919 });
920 }
921
922 delete createdViews[idxTo];
923 delete deletedViews[idxFrom];
924
925 createdViews = createdViews.filter(Boolean);
926 deletedViews = deletedViews.filter(Boolean);
927 }
928 }
929

Callers 8

applySqliteDiffsFunction · 0.85
applyLibSQLDiffsFunction · 0.85
diffTestSchemasSqliteFunction · 0.85
diffTestSchemasLibSQLFunction · 0.85
introspectSQLiteToFileFunction · 0.85
introspectLibSQLToFileFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected