Files
SubMiner/src/main/runtime/global-shortcuts-main-deps.ts

48 lines
1.9 KiB
TypeScript

import type { Config } from '../../types';
import type { ConfiguredShortcuts } from '../../core/utils/shortcut-config';
import type { RegisterGlobalShortcutsServiceOptions } from '../../core/services/shortcut';
export function createBuildGetConfiguredShortcutsMainDepsHandler(deps: {
getResolvedConfig: () => Config;
defaultConfig: Config;
resolveConfiguredShortcuts: (config: Config, defaultConfig: Config) => ConfiguredShortcuts;
}) {
return () => ({
getResolvedConfig: () => deps.getResolvedConfig(),
defaultConfig: deps.defaultConfig,
resolveConfiguredShortcuts: (config: Config, defaultConfig: Config) =>
deps.resolveConfiguredShortcuts(config, defaultConfig),
});
}
export function createBuildRegisterGlobalShortcutsMainDepsHandler(deps: {
getConfiguredShortcuts: () => RegisterGlobalShortcutsServiceOptions['shortcuts'];
registerGlobalShortcutsCore: (options: RegisterGlobalShortcutsServiceOptions) => void;
toggleVisibleOverlay: () => void;
openYomitanSettings: () => void;
isDev: boolean;
getMainWindow: RegisterGlobalShortcutsServiceOptions['getMainWindow'];
}) {
return () => ({
getConfiguredShortcuts: () => deps.getConfiguredShortcuts(),
registerGlobalShortcutsCore: (options: RegisterGlobalShortcutsServiceOptions) =>
deps.registerGlobalShortcutsCore(options),
onToggleVisibleOverlay: () => deps.toggleVisibleOverlay(),
onOpenYomitanSettings: () => deps.openYomitanSettings(),
isDev: deps.isDev,
getMainWindow: deps.getMainWindow,
});
}
export function createBuildRefreshGlobalAndOverlayShortcutsMainDepsHandler(deps: {
unregisterAllGlobalShortcuts: () => void;
registerGlobalShortcuts: () => void;
syncOverlayShortcuts: () => void;
}) {
return () => ({
unregisterAllGlobalShortcuts: () => deps.unregisterAllGlobalShortcuts(),
registerGlobalShortcuts: () => deps.registerGlobalShortcuts(),
syncOverlayShortcuts: () => deps.syncOverlayShortcuts(),
});
}