mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-03-01 18:22:41 -08:00
feat(core): add Electron runtime, services, and app composition
This commit is contained in:
39
src/main/runtime/field-grouping-overlay-main-deps.ts
Normal file
39
src/main/runtime/field-grouping-overlay-main-deps.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
import type { FieldGroupingOverlayRuntimeOptions } from '../../core/services/field-grouping-overlay';
|
||||
|
||||
type FieldGroupingOverlayMainDeps<TModal extends string> = Omit<
|
||||
FieldGroupingOverlayRuntimeOptions<TModal>,
|
||||
'sendToVisibleOverlay'
|
||||
> & {
|
||||
sendToActiveOverlayWindow: (
|
||||
channel: string,
|
||||
payload?: unknown,
|
||||
runtimeOptions?: { restoreOnModalClose?: TModal },
|
||||
) => boolean;
|
||||
};
|
||||
|
||||
type BuiltFieldGroupingOverlayMainDeps<TModal extends string> =
|
||||
FieldGroupingOverlayRuntimeOptions<TModal> & {
|
||||
sendToVisibleOverlay: NonNullable<
|
||||
FieldGroupingOverlayRuntimeOptions<TModal>['sendToVisibleOverlay']
|
||||
>;
|
||||
};
|
||||
|
||||
export function createBuildFieldGroupingOverlayMainDepsHandler<TModal extends string>(
|
||||
deps: FieldGroupingOverlayMainDeps<TModal>,
|
||||
) {
|
||||
return (): BuiltFieldGroupingOverlayMainDeps<TModal> => ({
|
||||
getMainWindow: () => deps.getMainWindow(),
|
||||
getVisibleOverlayVisible: () => deps.getVisibleOverlayVisible(),
|
||||
getInvisibleOverlayVisible: () => deps.getInvisibleOverlayVisible(),
|
||||
setVisibleOverlayVisible: (visible: boolean) => deps.setVisibleOverlayVisible(visible),
|
||||
setInvisibleOverlayVisible: (visible: boolean) => deps.setInvisibleOverlayVisible(visible),
|
||||
getResolver: () => deps.getResolver(),
|
||||
setResolver: (resolver) => deps.setResolver(resolver),
|
||||
getRestoreVisibleOverlayOnModalClose: () => deps.getRestoreVisibleOverlayOnModalClose(),
|
||||
sendToVisibleOverlay: (
|
||||
channel: string,
|
||||
payload?: unknown,
|
||||
runtimeOptions?: { restoreOnModalClose?: TModal },
|
||||
) => deps.sendToActiveOverlayWindow(channel, payload, runtimeOptions),
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user