refactor(core): consolidate services and remove runtime wrappers

This commit is contained in:
kyasuda
2026-02-10 13:13:47 -08:00
committed by sudacode
parent 5cc22e3f1b
commit f868fdbbb3
62 changed files with 954 additions and 1858 deletions

View File

@@ -0,0 +1,64 @@
import {
RuntimeOptionApplyResult,
RuntimeOptionId,
RuntimeOptionValue,
} from "../../types";
export interface RuntimeOptionsManagerLike {
setOptionValue: (
id: RuntimeOptionId,
value: RuntimeOptionValue,
) => RuntimeOptionApplyResult;
cycleOption: (
id: RuntimeOptionId,
direction: 1 | -1,
) => RuntimeOptionApplyResult;
}
export function applyRuntimeOptionResultRuntimeService(
result: RuntimeOptionApplyResult,
showMpvOsd: (text: string) => void,
): RuntimeOptionApplyResult {
if (result.ok && result.osdMessage) {
showMpvOsd(result.osdMessage);
}
return result;
}
export function setRuntimeOptionFromIpcRuntimeService(
manager: RuntimeOptionsManagerLike | null,
id: RuntimeOptionId,
value: RuntimeOptionValue,
showMpvOsd: (text: string) => void,
): RuntimeOptionApplyResult {
if (!manager) {
return { ok: false, error: "Runtime options manager unavailable" };
}
const result = applyRuntimeOptionResultRuntimeService(
manager.setOptionValue(id, value),
showMpvOsd,
);
if (!result.ok && result.error) {
showMpvOsd(result.error);
}
return result;
}
export function cycleRuntimeOptionFromIpcRuntimeService(
manager: RuntimeOptionsManagerLike | null,
id: RuntimeOptionId,
direction: 1 | -1,
showMpvOsd: (text: string) => void,
): RuntimeOptionApplyResult {
if (!manager) {
return { ok: false, error: "Runtime options manager unavailable" };
}
const result = applyRuntimeOptionResultRuntimeService(
manager.cycleOption(id, direction),
showMpvOsd,
);
if (!result.ok && result.error) {
showMpvOsd(result.error);
}
return result;
}