refactor: extract overlay visibility facade deps runtime service

This commit is contained in:
2026-02-10 01:17:34 -08:00
parent 0bba3a4380
commit 4e9c6985b4
4 changed files with 111 additions and 28 deletions

View File

@@ -0,0 +1,35 @@
import {
OverlayVisibilityFacadeDeps,
} from "./overlay-visibility-facade-service";
export interface OverlayVisibilityFacadeDepsRuntimeOptions {
getVisibleOverlayVisible: () => boolean;
getInvisibleOverlayVisible: () => boolean;
setVisibleOverlayVisibleState: (nextVisible: boolean) => void;
setInvisibleOverlayVisibleState: (nextVisible: boolean) => void;
updateVisibleOverlayVisibility: () => void;
updateInvisibleOverlayVisibility: () => void;
syncInvisibleOverlayMousePassthrough: () => void;
shouldBindVisibleOverlayToMpvSubVisibility: () => boolean;
isMpvConnected: () => boolean;
setMpvSubVisibility: (mpvSubVisible: boolean) => void;
}
export function createOverlayVisibilityFacadeDepsRuntimeService(
options: OverlayVisibilityFacadeDepsRuntimeOptions,
): OverlayVisibilityFacadeDeps {
return {
getVisibleOverlayVisible: options.getVisibleOverlayVisible,
getInvisibleOverlayVisible: options.getInvisibleOverlayVisible,
setVisibleOverlayVisibleState: options.setVisibleOverlayVisibleState,
setInvisibleOverlayVisibleState: options.setInvisibleOverlayVisibleState,
updateVisibleOverlayVisibility: options.updateVisibleOverlayVisibility,
updateInvisibleOverlayVisibility: options.updateInvisibleOverlayVisibility,
syncInvisibleOverlayMousePassthrough:
options.syncInvisibleOverlayMousePassthrough,
shouldBindVisibleOverlayToMpvSubVisibility:
options.shouldBindVisibleOverlayToMpvSubVisibility,
isMpvConnected: options.isMpvConnected,
setMpvSubVisibility: options.setMpvSubVisibility,
};
}