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