diff --git a/src/main.ts b/src/main.ts index 4b0a678..546b087 100644 --- a/src/main.ts +++ b/src/main.ts @@ -386,7 +386,6 @@ import { composeMpvRuntimeHandlers, composeOverlayVisibilityRuntime, composeShortcutRuntimes, - composeSubtitlePrefetchRuntime, composeStartupLifecycleHandlers, } from './main/runtime/composers'; import { createOverlayWindowRuntimeHandlers } from './main/runtime/overlay-window-runtime-handlers'; @@ -1396,13 +1395,14 @@ function scheduleSubtitlePrefetchRefresh(delayMs = 0): void { void refreshSubtitlePrefetchFromActiveTrackHandler(); }, delayMs); } -const subtitlePrefetchRuntime = composeSubtitlePrefetchRuntime({ - subtitlePrefetchInitController, - refreshSubtitleSidebarFromSource: (sourcePath) => refreshSubtitleSidebarFromSource(sourcePath), +const subtitlePrefetchRuntime = { + cancelPendingInit: () => subtitlePrefetchInitController.cancelPendingInit(), + initSubtitlePrefetch: subtitlePrefetchInitController.initSubtitlePrefetch, + refreshSubtitleSidebarFromSource: (sourcePath: string) => refreshSubtitleSidebarFromSource(sourcePath), refreshSubtitlePrefetchFromActiveTrack: () => refreshSubtitlePrefetchFromActiveTrackHandler(), - scheduleSubtitlePrefetchRefresh: (delayMs) => scheduleSubtitlePrefetchRefresh(delayMs), + scheduleSubtitlePrefetchRefresh: (delayMs?: number) => scheduleSubtitlePrefetchRefresh(delayMs), clearScheduledSubtitlePrefetchRefresh: () => clearScheduledSubtitlePrefetchRefresh(), -}); +} as const; const overlayShortcutsRuntime = createOverlayShortcutsRuntimeService( createBuildOverlayShortcutsRuntimeMainDepsHandler({ diff --git a/src/main/runtime/composers/index.ts b/src/main/runtime/composers/index.ts index f39206e..af44379 100644 --- a/src/main/runtime/composers/index.ts +++ b/src/main/runtime/composers/index.ts @@ -10,5 +10,4 @@ export * from './jellyfin-runtime-composer'; export * from './mpv-runtime-composer'; export * from './overlay-visibility-runtime-composer'; export * from './shortcuts-runtime-composer'; -export * from './subtitle-prefetch-runtime-composer'; export * from './startup-lifecycle-composer'; diff --git a/src/main/runtime/composers/subtitle-prefetch-runtime-composer.test.ts b/src/main/runtime/composers/subtitle-prefetch-runtime-composer.test.ts deleted file mode 100644 index d391727..0000000 --- a/src/main/runtime/composers/subtitle-prefetch-runtime-composer.test.ts +++ /dev/null @@ -1,23 +0,0 @@ -import assert from 'node:assert/strict'; -import test from 'node:test'; -import { composeSubtitlePrefetchRuntime } from './subtitle-prefetch-runtime-composer'; - -test('composeSubtitlePrefetchRuntime returns subtitle prefetch runtime helpers', () => { - const composed = composeSubtitlePrefetchRuntime({ - subtitlePrefetchInitController: { - cancelPendingInit: () => {}, - initSubtitlePrefetch: async () => {}, - }, - refreshSubtitleSidebarFromSource: async () => {}, - refreshSubtitlePrefetchFromActiveTrack: async () => {}, - scheduleSubtitlePrefetchRefresh: () => {}, - clearScheduledSubtitlePrefetchRefresh: () => {}, - }); - - assert.equal(typeof composed.cancelPendingInit, 'function'); - assert.equal(typeof composed.initSubtitlePrefetch, 'function'); - assert.equal(typeof composed.refreshSubtitleSidebarFromSource, 'function'); - assert.equal(typeof composed.refreshSubtitlePrefetchFromActiveTrack, 'function'); - assert.equal(typeof composed.scheduleSubtitlePrefetchRefresh, 'function'); - assert.equal(typeof composed.clearScheduledSubtitlePrefetchRefresh, 'function'); -}); diff --git a/src/main/runtime/composers/subtitle-prefetch-runtime-composer.ts b/src/main/runtime/composers/subtitle-prefetch-runtime-composer.ts deleted file mode 100644 index f269eb8..0000000 --- a/src/main/runtime/composers/subtitle-prefetch-runtime-composer.ts +++ /dev/null @@ -1,32 +0,0 @@ -import type { SubtitlePrefetchInitController } from '../subtitle-prefetch-init'; -import type { ComposerInputs, ComposerOutputs } from './contracts'; - -export type SubtitlePrefetchRuntimeComposerOptions = ComposerInputs<{ - subtitlePrefetchInitController: SubtitlePrefetchInitController; - refreshSubtitleSidebarFromSource: (sourcePath: string) => Promise; - refreshSubtitlePrefetchFromActiveTrack: () => Promise; - scheduleSubtitlePrefetchRefresh: (delayMs?: number) => void; - clearScheduledSubtitlePrefetchRefresh: () => void; -}>; - -export type SubtitlePrefetchRuntimeComposerResult = ComposerOutputs<{ - cancelPendingInit: () => void; - initSubtitlePrefetch: SubtitlePrefetchInitController['initSubtitlePrefetch']; - refreshSubtitleSidebarFromSource: (sourcePath: string) => Promise; - refreshSubtitlePrefetchFromActiveTrack: () => Promise; - scheduleSubtitlePrefetchRefresh: (delayMs?: number) => void; - clearScheduledSubtitlePrefetchRefresh: () => void; -}>; - -export function composeSubtitlePrefetchRuntime( - options: SubtitlePrefetchRuntimeComposerOptions, -): SubtitlePrefetchRuntimeComposerResult { - return { - cancelPendingInit: () => options.subtitlePrefetchInitController.cancelPendingInit(), - initSubtitlePrefetch: options.subtitlePrefetchInitController.initSubtitlePrefetch, - refreshSubtitleSidebarFromSource: options.refreshSubtitleSidebarFromSource, - refreshSubtitlePrefetchFromActiveTrack: options.refreshSubtitlePrefetchFromActiveTrack, - scheduleSubtitlePrefetchRefresh: options.scheduleSubtitlePrefetchRefresh, - clearScheduledSubtitlePrefetchRefresh: options.clearScheduledSubtitlePrefetchRefresh, - }; -}