feat(core): add Electron runtime, services, and app composition

This commit is contained in:
2026-02-22 21:43:43 -08:00
parent 448ce03fd4
commit d3fd47f0ec
562 changed files with 69719 additions and 0 deletions

View 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),
});
}