mirror of
https://github.com/OpenCut-app/OpenCut.git
synced 2026-07-13 21:52:53 +02:00
26 lines
737 B
TypeScript
26 lines
737 B
TypeScript
import type { TActionWithOptionalArgs } from "@/lib/actions";
|
|
import type { ShortcutKey } from "@/lib/actions/keybinding";
|
|
import type { KeybindingConfig } from "@/lib/actions/keybinding";
|
|
|
|
interface V3State {
|
|
keybindings: KeybindingConfig;
|
|
isCustomized: boolean;
|
|
}
|
|
|
|
export function v3ToV4({ state }: { state: unknown }): unknown {
|
|
const v3 = state as V3State;
|
|
|
|
const renames: Record<string, string> = {
|
|
"paste-selected": "paste-copied",
|
|
};
|
|
|
|
const migrated = { ...v3.keybindings };
|
|
for (const [key, action] of Object.entries(migrated)) {
|
|
if (action && renames[action]) {
|
|
migrated[key as ShortcutKey] = renames[action] as TActionWithOptionalArgs;
|
|
}
|
|
}
|
|
|
|
return { ...v3, keybindings: migrated };
|
|
}
|