polyfact
Version:
<h1 align="center">PolyFact</h1>
41 lines (40 loc) • 1.67 kB
TypeScript
import { createClient } from "@supabase/supabase-js";
import { ClientOptions } from "./clientOpts";
import { MutablePromise } from "./utils";
type SimpleProvider = "github" | "google";
type LoginWithFirebaseInput = {
token: string;
provider: "firebase";
};
type LoginFunctionInput = SimpleProvider | {
provider: SimpleProvider;
} | LoginWithFirebaseInput;
export declare function getSession(): Promise<{
token?: string;
email?: string;
}>;
type Awaited<T> = T extends PromiseLike<infer U> ? U : T;
export declare function oAuthRedirect(credentials: Awaited<Parameters<ReturnType<typeof createClient>["auth"]["signInWithOAuth"]>[0]>, browserRedirect?: boolean): Promise<string>;
export declare function signInWithOAuthToken(token: string, authType: "token" | "firebase", co: MutablePromise<Partial<ClientOptions>>, { project, endpoint }: {
project: string;
endpoint: string;
}): Promise<void>;
export declare function login(input: LoginFunctionInput, projectOptions: {
project: string;
endpoint: string;
}, co: MutablePromise<Partial<ClientOptions>>): Promise<void>;
export declare function logout(co: MutablePromise<Partial<ClientOptions>>): Promise<void>;
export declare function init(co: MutablePromise<Partial<ClientOptions>>, projectOptions: {
project: string;
endpoint: string;
}): Promise<boolean>;
export type AuthClient = {
init: () => Promise<boolean>;
login: (input: LoginFunctionInput) => Promise<void>;
logout: () => Promise<void>;
};
export default function authClient(co: MutablePromise<Partial<ClientOptions>>, projectOptions: {
project: string;
endpoint: string;
}): AuthClient;
export {};