34 lines
1.1 KiB
TypeScript
34 lines
1.1 KiB
TypeScript
// SPDX-FileCopyrightText: 2021 Johannes Loher
|
|
//
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
import {
|
|
getActorUpdateDataGetter,
|
|
getCompendiumMigrator,
|
|
getSceneUpdateDataGetter,
|
|
migrateActors,
|
|
migrateCompendiums,
|
|
migrateItems,
|
|
migrateScenes,
|
|
} from "./migrationHelpers";
|
|
|
|
export async function migrate(): Promise<void> {
|
|
await migrateItems(getItemUpdateData);
|
|
await migrateActors(getActorUpdateData);
|
|
await migrateScenes(getSceneUpdateData);
|
|
await migrateCompendiums(migrateCompendium);
|
|
}
|
|
|
|
function getItemUpdateData(
|
|
itemData: Partial<foundry.data.ItemData["_source"]>,
|
|
): DeepPartial<foundry.data.ItemData["_source"]> | undefined {
|
|
if (!["equipment", "trinket"].includes(itemData.type ?? "")) return undefined;
|
|
return { type: itemData.type === "equipment" ? ("loot" as const) : ("equipment" as const) };
|
|
}
|
|
|
|
const getActorUpdateData = getActorUpdateDataGetter(getItemUpdateData);
|
|
const getSceneUpdateData = getSceneUpdateDataGetter(getActorUpdateData);
|
|
const migrateCompendium = getCompendiumMigrator(
|
|
{ getItemUpdateData, getActorUpdateData, getSceneUpdateData },
|
|
{ migrateToTemplateEarly: false },
|
|
);
|