Files
SubMiner/src/main/runtime/runtime-bootstrap-main-deps.ts
2026-03-01 02:36:51 -08:00

54 lines
2.5 KiB
TypeScript

import type { AnilistStateRuntimeDeps } from './anilist-state';
import type { ConfigDerivedRuntimeDeps } from './config-derived';
import type { ImmersionMediaRuntimeDeps } from './immersion-media';
import type { MainSubsyncRuntimeDeps } from './subsync-runtime';
export function createBuildImmersionMediaRuntimeMainDepsHandler(deps: ImmersionMediaRuntimeDeps) {
return (): ImmersionMediaRuntimeDeps => ({
getResolvedConfig: () => deps.getResolvedConfig(),
defaultImmersionDbPath: deps.defaultImmersionDbPath,
getTracker: () => deps.getTracker(),
getMpvClient: () => deps.getMpvClient(),
getCurrentMediaPath: () => deps.getCurrentMediaPath(),
getCurrentMediaTitle: () => deps.getCurrentMediaTitle(),
sleep: deps.sleep,
seedWaitMs: deps.seedWaitMs,
seedAttempts: deps.seedAttempts,
logDebug: (message: string) => deps.logDebug(message),
logInfo: (message: string) => deps.logInfo(message),
});
}
export function createBuildAnilistStateRuntimeMainDepsHandler(deps: AnilistStateRuntimeDeps) {
return (): AnilistStateRuntimeDeps => ({
getClientSecretState: () => deps.getClientSecretState(),
setClientSecretState: (next) => deps.setClientSecretState(next),
getRetryQueueState: () => deps.getRetryQueueState(),
setRetryQueueState: (next) => deps.setRetryQueueState(next),
getUpdateQueueSnapshot: () => deps.getUpdateQueueSnapshot(),
clearStoredToken: () => deps.clearStoredToken(),
clearCachedAccessToken: () => deps.clearCachedAccessToken(),
});
}
export function createBuildConfigDerivedRuntimeMainDepsHandler(deps: ConfigDerivedRuntimeDeps) {
return (): ConfigDerivedRuntimeDeps => ({
getResolvedConfig: () => deps.getResolvedConfig(),
getRuntimeOptionsManager: () => deps.getRuntimeOptionsManager(),
defaultJimakuLanguagePreference: deps.defaultJimakuLanguagePreference,
defaultJimakuMaxEntryResults: deps.defaultJimakuMaxEntryResults,
defaultJimakuApiBaseUrl: deps.defaultJimakuApiBaseUrl,
});
}
export function createBuildMainSubsyncRuntimeMainDepsHandler(deps: MainSubsyncRuntimeDeps) {
return (): MainSubsyncRuntimeDeps => ({
getMpvClient: () => deps.getMpvClient(),
getResolvedConfig: () => deps.getResolvedConfig(),
getSubsyncInProgress: () => deps.getSubsyncInProgress(),
setSubsyncInProgress: (inProgress: boolean) => deps.setSubsyncInProgress(inProgress),
showMpvOsd: (text: string) => deps.showMpvOsd(text),
openManualPicker: (payload) => deps.openManualPicker(payload),
});
}