mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-03-21 00:11:27 -07:00
42 lines
1.8 KiB
TypeScript
42 lines
1.8 KiB
TypeScript
import type { createCriticalConfigErrorHandler, createReloadConfigHandler } from './startup-config';
|
|
|
|
type ReloadConfigMainDeps = Parameters<typeof createReloadConfigHandler>[0];
|
|
type CriticalConfigErrorMainDeps = Parameters<typeof createCriticalConfigErrorHandler>[0];
|
|
|
|
export function createBuildReloadConfigMainDepsHandler(deps: ReloadConfigMainDeps) {
|
|
return (): ReloadConfigMainDeps => ({
|
|
reloadConfigStrict: () => deps.reloadConfigStrict(),
|
|
logInfo: (message: string) => deps.logInfo(message),
|
|
logWarning: (message: string) => deps.logWarning(message),
|
|
showDesktopNotification: (title: string, options: { body: string }) =>
|
|
deps.showDesktopNotification(title, options),
|
|
startConfigHotReload: () => deps.startConfigHotReload(),
|
|
refreshAnilistClientSecretState: (options: { force: boolean }) =>
|
|
deps.refreshAnilistClientSecretState(options),
|
|
failHandlers: {
|
|
logError: (details: string) => deps.failHandlers.logError(details),
|
|
showErrorBox: (title: string, details: string) =>
|
|
deps.failHandlers.showErrorBox(title, details),
|
|
setExitCode: deps.failHandlers.setExitCode
|
|
? (code: number) => deps.failHandlers.setExitCode?.(code)
|
|
: undefined,
|
|
quit: () => deps.failHandlers.quit(),
|
|
},
|
|
});
|
|
}
|
|
|
|
export function createBuildCriticalConfigErrorMainDepsHandler(deps: CriticalConfigErrorMainDeps) {
|
|
return (): CriticalConfigErrorMainDeps => ({
|
|
getConfigPath: () => deps.getConfigPath(),
|
|
failHandlers: {
|
|
logError: (details: string) => deps.failHandlers.logError(details),
|
|
showErrorBox: (title: string, details: string) =>
|
|
deps.failHandlers.showErrorBox(title, details),
|
|
setExitCode: deps.failHandlers.setExitCode
|
|
? (code: number) => deps.failHandlers.setExitCode?.(code)
|
|
: undefined,
|
|
quit: () => deps.failHandlers.quit(),
|
|
},
|
|
});
|
|
}
|