29 lines
921 B
TypeScript
Raw Normal View History

2021-06-23 08:16:51 +02:00
import type { KcContextBase } from "./KcContextBase";
import { kcContextMocks, kcContextCommonMock } from "./kcContextMocks";
import { ftlValuesGlobalName } from "../../bin/build-keycloak-theme/ftlValuesGlobalName";
export function getKcContext<KcContextExtended extends { pageId: string; } = never>(
params?: {
mockPageId?: KcContextBase["pageId"] | KcContextExtended["pageId"];
2021-06-23 08:16:51 +02:00
kcContextExtendedMock?: KcContextExtended[];
}
): { kcContext: (KcContextBase | KcContextExtended & KcContextBase.Common) | undefined; } {
2021-06-23 08:16:51 +02:00
const { mockPageId, kcContextExtendedMock } = params ?? { "mockPageId": false };
if (mockPageId !== undefined) {
2021-06-23 08:16:51 +02:00
return {
"pageId": mockPageId,
...(kcContextMocks.find(({ pageId }) => pageId === mockPageId) ?? kcContextCommonMock),
...(kcContextExtendedMock?.find(({ pageId }) => pageId === mockPageId) ?? {})
} as any;
}
return (window as any)[ftlValuesGlobalName];
}