import { v2ToV3 } from './v2-to-v3'; type MigrationFn = ({ state }: { state: unknown }) => unknown; /** * key = version we're migrating from * value = migration function */ const migrations: Record = { 2: v2ToV3, }; export const CURRENT_VERSION = 3; export function runMigrations({ state, fromVersion, }: { state: unknown; fromVersion: number; }): unknown { let current = state; for (let version = fromVersion; version < CURRENT_VERSION; version++) { const migrate = migrations[version]; if (migrate) current = migrate({ state: current }); } return current; }