feat(core): add Electron runtime, services, and app composition

This commit is contained in:
2026-02-22 21:43:43 -08:00
parent 448ce03fd4
commit d3fd47f0ec
562 changed files with 69719 additions and 0 deletions
@@ -0,0 +1,32 @@
import { createAppendToMpvLogHandler, createShowMpvOsdHandler } from './mpv-osd-log';
import {
createBuildAppendToMpvLogMainDepsHandler,
createBuildShowMpvOsdMainDepsHandler,
} from './mpv-osd-log-main-deps';
type AppendToMpvLogMainDeps = Parameters<typeof createBuildAppendToMpvLogMainDepsHandler>[0];
type ShowMpvOsdMainDeps = Parameters<typeof createBuildShowMpvOsdMainDepsHandler>[0];
export function createMpvOsdRuntimeHandlers(deps: {
appendToMpvLogMainDeps: AppendToMpvLogMainDeps;
buildShowMpvOsdMainDeps: (appendToMpvLog: (message: string) => void) => ShowMpvOsdMainDeps;
}) {
const appendToMpvLogMainDeps = createBuildAppendToMpvLogMainDepsHandler(
deps.appendToMpvLogMainDeps,
)();
const appendToMpvLogRuntime = createAppendToMpvLogHandler(appendToMpvLogMainDeps);
const appendToMpvLog = (message: string) => appendToMpvLogRuntime.appendToMpvLog(message);
const flushMpvLog = async () => appendToMpvLogRuntime.flushMpvLog();
const showMpvOsdMainDeps = createBuildShowMpvOsdMainDepsHandler(
deps.buildShowMpvOsdMainDeps(appendToMpvLog),
)();
const showMpvOsdHandler = createShowMpvOsdHandler(showMpvOsdMainDeps);
const showMpvOsd = (text: string) => showMpvOsdHandler(text);
return {
appendToMpvLog,
flushMpvLog,
showMpvOsd,
};
}