import {Queue} from '../../types.d'; import {debug} from '../log'; import {versionAsNumber} from '../version'; import {migration_2020_11_26} from './2020-11-26'; const migrations: Queue.Migration[] = [migration_2020_11_26]; export function migrate( latestVersion: string, previous: Record, ): Record { let next = previous; for (const migration of migrations) { // If the saved version is >= the version from the migration, we've already // handled it previously, so skip it. if (versionAsNumber(latestVersion) >= versionAsNumber(migration.version)) { continue; } debug(`Running migration ${migration.date.toISOString()}`); next = migration.upgrade(next); } return next; }