import type { AndByDiscriminatingKey } from "keycloakify/tools/AndByDiscriminatingKey"; import { ftlValuesGlobalName } from "keycloakify/bin/keycloakify/ftlValuesGlobalName"; import type { KcContext } from "./KcContext"; export type ExtendKcContext = [KcContextExtension] extends [never] ? KcContext : AndByDiscriminatingKey<"pageId", KcContextExtension & KcContext.Common, KcContext>; export function getKcContextFromWindow(): ExtendKcContext | undefined { return typeof window === "undefined" ? undefined : (window as any)[ftlValuesGlobalName]; }