UNPKG

@leancodepl/kratos

Version:

Headless React components library for building Ory Kratos authentication flows

11 lines (10 loc) 566 B
import { Identity, Session } from "../kratos"; import { TraitsConfig } from "../utils"; export type IdentityWithTypedTraits<TTraitsConfig extends TraitsConfig> = Omit<Identity, "traits"> & { traits: { [TC in keyof TTraitsConfig as TTraitsConfig[TC]["trait"]]: TTraitsConfig[TC]["type"] extends "string" ? string : TTraitsConfig[TC]["type"] extends "boolean" ? boolean : unknown; }; }; export type SessionWithTypedUserTraits<TTraitsConfig extends TraitsConfig> = Omit<Session, "identity"> & { identity?: IdentityWithTypedTraits<TTraitsConfig>; };