mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-03-21 12:11:28 -07:00
46 lines
1.7 KiB
TypeScript
46 lines
1.7 KiB
TypeScript
import type {
|
|
EnsureMpvConnectedDeps,
|
|
LaunchMpvForJellyfinDeps,
|
|
WaitForMpvConnectedDeps,
|
|
} from './jellyfin-remote-connection';
|
|
|
|
export function createBuildWaitForMpvConnectedMainDepsHandler(deps: WaitForMpvConnectedDeps) {
|
|
return (): WaitForMpvConnectedDeps => ({
|
|
getMpvClient: () => deps.getMpvClient(),
|
|
now: () => deps.now(),
|
|
sleep: (delayMs: number) => deps.sleep(delayMs),
|
|
});
|
|
}
|
|
|
|
export function createBuildLaunchMpvIdleForJellyfinPlaybackMainDepsHandler(
|
|
deps: LaunchMpvForJellyfinDeps,
|
|
) {
|
|
return (): LaunchMpvForJellyfinDeps => ({
|
|
getSocketPath: () => deps.getSocketPath(),
|
|
platform: deps.platform,
|
|
execPath: deps.execPath,
|
|
defaultMpvLogPath: deps.defaultMpvLogPath,
|
|
defaultMpvArgs: deps.defaultMpvArgs,
|
|
removeSocketPath: (socketPath: string) => deps.removeSocketPath(socketPath),
|
|
spawnMpv: (args: string[]) => deps.spawnMpv(args),
|
|
logWarn: (message: string, error: unknown) => deps.logWarn(message, error),
|
|
logInfo: (message: string) => deps.logInfo(message),
|
|
});
|
|
}
|
|
|
|
export function createBuildEnsureMpvConnectedForJellyfinPlaybackMainDepsHandler(
|
|
deps: EnsureMpvConnectedDeps,
|
|
) {
|
|
return (): EnsureMpvConnectedDeps => ({
|
|
getMpvClient: () => deps.getMpvClient(),
|
|
setMpvClient: (client) => deps.setMpvClient(client),
|
|
createMpvClient: () => deps.createMpvClient(),
|
|
waitForMpvConnected: (timeoutMs: number) => deps.waitForMpvConnected(timeoutMs),
|
|
launchMpvIdleForJellyfinPlayback: () => deps.launchMpvIdleForJellyfinPlayback(),
|
|
getAutoLaunchInFlight: () => deps.getAutoLaunchInFlight(),
|
|
setAutoLaunchInFlight: (promise) => deps.setAutoLaunchInFlight(promise),
|
|
connectTimeoutMs: deps.connectTimeoutMs,
|
|
autoLaunchTimeoutMs: deps.autoLaunchTimeoutMs,
|
|
});
|
|
}
|