refactor: extract ipc mpv and tokenizer runtime deps

This commit is contained in:
2026-02-10 01:22:13 -08:00
parent 4e9c6985b4
commit dec9320b34
9 changed files with 308 additions and 87 deletions

View File

@@ -0,0 +1,38 @@
import {
RuntimeOptionId,
RuntimeOptionValue,
} from "../../types";
import {
cycleRuntimeOptionFromIpcRuntimeService,
RuntimeOptionsManagerLike,
setRuntimeOptionFromIpcRuntimeService,
} from "./runtime-options-runtime-service";
export interface RuntimeOptionsIpcDepsRuntimeOptions {
getRuntimeOptionsManager: () => RuntimeOptionsManagerLike | null;
showMpvOsd: (text: string) => void;
}
export function createRuntimeOptionsIpcDepsRuntimeService(
options: RuntimeOptionsIpcDepsRuntimeOptions,
): {
setRuntimeOption: (id: string, value: unknown) => unknown;
cycleRuntimeOption: (id: string, direction: 1 | -1) => unknown;
} {
return {
setRuntimeOption: (id, value) =>
setRuntimeOptionFromIpcRuntimeService(
options.getRuntimeOptionsManager(),
id as RuntimeOptionId,
value as RuntimeOptionValue,
options.showMpvOsd,
),
cycleRuntimeOption: (id, direction) =>
cycleRuntimeOptionFromIpcRuntimeService(
options.getRuntimeOptionsManager(),
id as RuntimeOptionId,
direction,
options.showMpvOsd,
),
};
}