import { createHandleMpvCommandFromIpcHandler, createRunSubsyncManualFromIpcHandler, } from './ipc-bridge-actions'; import { createBuildHandleMpvCommandFromIpcMainDepsHandler, createBuildRunSubsyncManualFromIpcMainDepsHandler, } from './ipc-bridge-actions-main-deps'; type HandleMpvCommandFromIpcMainDeps = Parameters< typeof createBuildHandleMpvCommandFromIpcMainDepsHandler >[0]; type RunSubsyncManualFromIpcMainDeps = Parameters< typeof createBuildRunSubsyncManualFromIpcMainDepsHandler >[0]; export function createIpcRuntimeHandlers(deps: { handleMpvCommandFromIpcDeps: HandleMpvCommandFromIpcMainDeps; runSubsyncManualFromIpcDeps: RunSubsyncManualFromIpcMainDeps; }) { const handleMpvCommandFromIpcMainDeps = createBuildHandleMpvCommandFromIpcMainDepsHandler( deps.handleMpvCommandFromIpcDeps, )(); const handleMpvCommandFromIpc = createHandleMpvCommandFromIpcHandler( handleMpvCommandFromIpcMainDeps, ); const runSubsyncManualFromIpcMainDeps = createBuildRunSubsyncManualFromIpcMainDepsHandler< TRequest, TResult >(deps.runSubsyncManualFromIpcDeps)(); const runSubsyncManualFromIpc = createRunSubsyncManualFromIpcHandler( runSubsyncManualFromIpcMainDeps, ); return { handleMpvCommandFromIpc, runSubsyncManualFromIpc, }; }