import type { createAppendClipboardVideoToQueueHandler, createHandleOverlayModalClosedHandler, createSetOverlayVisibleHandler, createToggleOverlayHandler, } from './overlay-main-actions'; type SetOverlayVisibleMainDeps = Parameters[0]; type ToggleOverlayMainDeps = Parameters[0]; type HandleOverlayModalClosedMainDeps = Parameters[0]; type AppendClipboardVideoToQueueMainDeps = Parameters< typeof createAppendClipboardVideoToQueueHandler >[0]; export function createBuildSetOverlayVisibleMainDepsHandler(deps: SetOverlayVisibleMainDeps) { return (): SetOverlayVisibleMainDeps => ({ setVisibleOverlayVisible: (visible: boolean) => deps.setVisibleOverlayVisible(visible), }); } export function createBuildToggleOverlayMainDepsHandler(deps: ToggleOverlayMainDeps) { return (): ToggleOverlayMainDeps => ({ toggleVisibleOverlay: () => deps.toggleVisibleOverlay(), }); } export function createBuildHandleOverlayModalClosedMainDepsHandler( deps: HandleOverlayModalClosedMainDeps, ) { return (): HandleOverlayModalClosedMainDeps => ({ handleOverlayModalClosedRuntime: (modal) => deps.handleOverlayModalClosedRuntime(modal), }); } export function createBuildAppendClipboardVideoToQueueMainDepsHandler( deps: AppendClipboardVideoToQueueMainDeps, ) { return (): AppendClipboardVideoToQueueMainDeps => ({ appendClipboardVideoToQueueRuntime: (options) => deps.appendClipboardVideoToQueueRuntime(options), getMpvClient: () => deps.getMpvClient(), readClipboardText: () => deps.readClipboardText(), showMpvOsd: (text: string) => deps.showMpvOsd(text), sendMpvCommand: (command: (string | number)[]) => deps.sendMpvCommand(command), }); }