keycloak_theme/src/login/kcContext/getKcContext.ts

22 lines
956 B
TypeScript
Raw Normal View History

2023-03-19 23:12:45 +01:00
import type { DeepPartial } from "keycloakify/tools/DeepPartial";
2023-03-19 14:48:01 +01:00
import type { ExtendKcContext } from "./getKcContextFromWindow";
import { createGetKcContext } from "./createGetKcContext";
2023-04-17 01:41:30 +02:00
/** NOTE: We now recommend using createGetKcContext instead of this function to make storybook integration easier
* See: https://github.com/keycloakify/keycloakify-starter/blob/main/src/keycloak-theme/account/kcContext.ts
*/
2023-03-18 18:27:50 +01:00
export function getKcContext<KcContextExtension extends { pageId: string } = never>(params?: {
2023-03-19 14:48:01 +01:00
mockPageId?: ExtendKcContext<KcContextExtension>["pageId"];
mockData?: readonly DeepPartial<ExtendKcContext<KcContextExtension>>[];
}): { kcContext: ExtendKcContext<KcContextExtension> | undefined } {
const { mockPageId, mockData } = params ?? {};
const { getKcContext } = createGetKcContext<KcContextExtension>({
mockData
});
const { kcContext } = getKcContext({ mockPageId });
return { kcContext };
2021-06-23 08:16:51 +02:00
}