@react-keycloak-fork/ssr
Version:
Fork of https://github.com/react-keycloak/react-keycloak.git with updated packages for Keycloak >=17. SSR bindings for Keycloak javascript adapter
44 lines (43 loc) • 1.58 kB
TypeScript
import * as React from 'react';
import type { SSRAuthClient } from './types';
declare type InjectedProps<ACT> = {
keycloakInitialized: boolean;
keycloak: ACT;
};
/**
* An HOC which injects the `keycloak` instance and the `keycloakInitialized` flag as props.
*
* @deprecated Please migrate to useKeycloak hook where/when possible.
*/
export declare function withKeycloak<P extends InjectedProps<ACT>, ACT extends SSRAuthClient = SSRAuthClient>(Component: React.ComponentType<P>): React.FC<Subtract<P, InjectedProps<ACT>>>;
/**
* SetDifference (same as Exclude)
* @desc Set difference of given union types `A` and `B`
* @example
* // Expect: "1"
* SetDifference<'1' | '2' | '3', '2' | '3' | '4'>;
*
* // Expect: string | number
* SetDifference<string | number | (() => void), Function>;
*/
declare type SetDifference<A, B> = A extends B ? never : A;
/**
* SetComplement
* @desc Set complement of given union types `A` and (it's subset) `A1`
* @example
* // Expect: "1"
* SetComplement<'1' | '2' | '3', '2' | '3'>;
*/
declare type SetComplement<A, A1 extends A> = SetDifference<A, A1>;
/**
* Subtract
* @desc From `T` remove properties that exist in `T1` (`T1` has a subset of the properties of `T`)
* @example
* type Props = { name: string; age: number; visible: boolean };
* type DefaultProps = { age: number };
*
* // Expect: { name: string; visible: boolean; }
* type RestProps = Subtract<Props, DefaultProps>;
*/
declare type Subtract<T extends T1, T1 extends object> = Pick<T, SetComplement<keyof T, keyof T1>>;
export {};