import type { createRefreshKnownWordCacheHandler } from './anki-actions'; type RefreshKnownWordCacheMainDeps = Parameters[0]; export function createBuildUpdateLastCardFromClipboardMainDepsHandler(deps: { getAnkiIntegration: () => TAnki; readClipboardText: () => string; showMpvOsd: (text: string) => void; updateLastCardFromClipboardCore: (options: { ankiIntegration: TAnki; readClipboardText: () => string; showMpvOsd: (text: string) => void; }) => Promise; }) { return () => ({ getAnkiIntegration: () => deps.getAnkiIntegration(), readClipboardText: () => deps.readClipboardText(), showMpvOsd: (text: string) => deps.showMpvOsd(text), updateLastCardFromClipboardCore: (options: { ankiIntegration: TAnki; readClipboardText: () => string; showMpvOsd: (text: string) => void; }) => deps.updateLastCardFromClipboardCore(options), }); } export function createBuildRefreshKnownWordCacheMainDepsHandler( deps: RefreshKnownWordCacheMainDeps, ) { return (): RefreshKnownWordCacheMainDeps => ({ getAnkiIntegration: () => deps.getAnkiIntegration(), missingIntegrationMessage: deps.missingIntegrationMessage, }); } export function createBuildTriggerFieldGroupingMainDepsHandler(deps: { getAnkiIntegration: () => TAnki; showMpvOsd: (text: string) => void; triggerFieldGroupingCore: (options: { ankiIntegration: TAnki; showMpvOsd: (text: string) => void; }) => Promise; }) { return () => ({ getAnkiIntegration: () => deps.getAnkiIntegration(), showMpvOsd: (text: string) => deps.showMpvOsd(text), triggerFieldGroupingCore: (options: { ankiIntegration: TAnki; showMpvOsd: (text: string) => void; }) => deps.triggerFieldGroupingCore(options), }); } export function createBuildMarkLastCardAsAudioCardMainDepsHandler(deps: { getAnkiIntegration: () => TAnki; showMpvOsd: (text: string) => void; markLastCardAsAudioCardCore: (options: { ankiIntegration: TAnki; showMpvOsd: (text: string) => void; }) => Promise; }) { return () => ({ getAnkiIntegration: () => deps.getAnkiIntegration(), showMpvOsd: (text: string) => deps.showMpvOsd(text), markLastCardAsAudioCardCore: (options: { ankiIntegration: TAnki; showMpvOsd: (text: string) => void; }) => deps.markLastCardAsAudioCardCore(options), }); } export function createBuildMineSentenceCardMainDepsHandler(deps: { getAnkiIntegration: () => TAnki; getMpvClient: () => TMpv; showMpvOsd: (text: string) => void; mineSentenceCardCore: (options: { ankiIntegration: TAnki; mpvClient: TMpv; showMpvOsd: (text: string) => void; }) => Promise; recordCardsMined: (count: number) => void; }) { return () => ({ getAnkiIntegration: () => deps.getAnkiIntegration(), getMpvClient: () => deps.getMpvClient(), showMpvOsd: (text: string) => deps.showMpvOsd(text), mineSentenceCardCore: (options: { ankiIntegration: TAnki; mpvClient: TMpv; showMpvOsd: (text: string) => void; }) => deps.mineSentenceCardCore(options), recordCardsMined: (count: number) => deps.recordCardsMined(count), }); }