diff --git a/src/types/migration.ts b/src/types/migration.ts new file mode 100644 index 0000000..c4760b7 --- /dev/null +++ b/src/types/migration.ts @@ -0,0 +1,22 @@ +const FMT_VER_0 = 0 +const FMT_VER_LATEST = FMT_VER_0 + +function migrate_A_to_0(e: journey): journey { + e.title = e.name; + e.main.forEach((v) => { + v.date_range = v.date_range || (v as any).dateRange; + v.day_title = v.day_title || (v as any).step_title; + v.travel; + }) + console.log(e) + return e; +} + +export const migrator = (e: journey): journey => { + if (e.fmt_ver == FMT_VER_LATEST) return e; + switch (e.fmt_ver) { + case FMT_VER_0: break; // Update when FMT_VER_1 releases + default: + return migrate_A_to_0(e) + } +} \ No newline at end of file