UNPKG

@propelauth/react

Version:

A React library for managing authentication, backed by PropelAuth

38 lines (37 loc) 1.35 kB
import { AccessHelper, OrgHelper, User, UserClass } from "@propelauth/javascript"; import React from "react"; import { Subtract } from "utility-types"; import { Tokens } from "./AuthContext"; export declare type WithLoggedInAuthInfoProps = { isLoggedIn: true; accessToken: string; getAccessToken: () => Promise<string>; user: User; userClass: UserClass; orgHelper: OrgHelper; accessHelper: AccessHelper; isImpersonating: boolean; impersonatorUserId?: string; refreshAuthInfo: () => Promise<void>; tokens: Tokens; accessTokenExpiresAtSeconds: number; }; export declare type WithNotLoggedInAuthInfoProps = { isLoggedIn: false; accessToken: null; getAccessToken: () => Promise<undefined>; user: null; userClass: null; orgHelper: null; accessHelper: null; isImpersonating: false; impersonatorUserId: null; refreshAuthInfo: () => Promise<void>; tokens: Tokens; accessTokenExpiresAtSeconds: null; }; export declare type WithAuthInfoProps = WithLoggedInAuthInfoProps | WithNotLoggedInAuthInfoProps; export interface WithAuthInfoArgs { displayWhileLoading?: React.ReactElement; } export declare function withAuthInfo<P extends WithAuthInfoProps>(Component: React.ComponentType<P>, args?: WithAuthInfoArgs): React.ComponentType<Subtract<P, WithAuthInfoProps>>;