@supabase-kit/react
Version:
> Hooks by management data from supabase and fetch data by react.
53 lines (52 loc) • 7.29 kB
TypeScript
import { SupabaseClient } from '@supabase/supabase-js';
import { DatabaseTemp } from './query';
import { GetSupaQUeryNameProps } from './utils/getName';
export declare const createSupabaseTools: <D extends DatabaseTemp = any>(client: SupabaseClient<D, any, any>) => {
useSupaSubscription: <SchemaKey extends keyof D>({ table, schema, event, where, type, channel, callback, }: import("./subscription/types").SupaSubscriptionProps<D, SchemaKey, "*", keyof D[SchemaKey]["Tables"] | keyof D[SchemaKey]["Views"], import("./query").TableRow<D[SchemaKey], keyof D[SchemaKey]["Tables"] | keyof D[SchemaKey]["Views"]> & import("./query").ViewRow<D[SchemaKey], keyof D[SchemaKey]["Tables"] | keyof D[SchemaKey]["Views"]>>) => void;
useSupaRealtime: <SchemaKey extends string & keyof D, T extends keyof D[SchemaKey]["Tables"] & string>({ table, where, channel, schema, }: Omit<import("./subscription/types").SupaSubscriptionProps<D, SchemaKey, "*", keyof D[SchemaKey]["Tables"] | keyof D[SchemaKey]["Views"], import("./query").TableRow<D[SchemaKey], keyof D[SchemaKey]["Tables"] | keyof D[SchemaKey]["Views"]> & import("./query").ViewRow<D[SchemaKey], keyof D[SchemaKey]["Tables"] | keyof D[SchemaKey]["Views"]>>, "event" | "type" | "callback"> & {
table: T;
}) => import("@tanstack/react-query").UseQueryResult<import("./query").SupabaseQueryResult<import("./query").TableRow<D[SchemaKey], (keyof D[SchemaKey]["Tables"] | keyof D[SchemaKey]["Views"]) & T>[]>, import("@supabase/supabase-js").PostgrestError>;
useSupaInfiniteQuery: <S extends keyof D, T_1 extends keyof D[S]["Tables"] & keyof D[S]["Views"] & string>({ table, schema, column, options, enabled, count, ...configObj }: import("./query").SupabaseInfoniteQueryConfig<D, "public", keyof D["public"]["Tables"] | keyof D["public"]["Views"], (import("./query").TableRow<D["public"], keyof D["public"]["Tables"] | keyof D["public"]["Views"]> & import("./query").ViewRow<D["public"], keyof D["public"]["Tables"] | keyof D["public"]["Views"]>)[]> & {
table: T_1;
}) => import("@tanstack/react-query").DefinedUseInfiniteQueryResult<import("@tanstack/react-query").InfiniteData<import("./query").SupabaseQueryResult<import("./query").TableRow<D[S], T_1>[]>, unknown>, import("@supabase/supabase-js").PostgrestError>;
useSupaQuery: {
<T_2 extends keyof D[S]["Tables"] | keyof D[S]["Views"], S extends keyof D = "public">(config: import("./query").SupabaseQueryConfig<D, S, keyof D[S]["Tables"] | keyof D[S]["Views"], boolean, (import("./query").TableRow<D[S], keyof D[S]["Tables"] | keyof D[S]["Views"]> & import("./query").ViewRow<D[S], keyof D[S]["Tables"] | keyof D[S]["Views"]>) | (import("./query").TableRow<D[S], keyof D[S]["Tables"] | keyof D[S]["Views"]> & import("./query").ViewRow<D[S], keyof D[S]["Tables"] | keyof D[S]["Views"]>)[]> & {
table: T_2;
single: true;
}): import("@tanstack/react-query").UseQueryResult<import("./query").SupabaseQueryResult<import("./query").TableRow<D[S], T_2>>, import("@supabase/supabase-js").PostgrestError>;
<T_2 extends keyof D[S_1]["Tables"] | keyof D[S_1]["Views"], S_1 extends keyof D = "public">(config: import("./query").SupabaseQueryConfig<D, S_1, keyof D[S_1]["Tables"] | keyof D[S_1]["Views"], boolean, (import("./query").TableRow<D[S_1], keyof D[S_1]["Tables"] | keyof D[S_1]["Views"]> & import("./query").ViewRow<D[S_1], keyof D[S_1]["Tables"] | keyof D[S_1]["Views"]>) | (import("./query").TableRow<D[S_1], keyof D[S_1]["Tables"] | keyof D[S_1]["Views"]> & import("./query").ViewRow<D[S_1], keyof D[S_1]["Tables"] | keyof D[S_1]["Views"]>)[]> & {
table: T_2;
single?: false;
}): import("@tanstack/react-query").UseQueryResult<import("./query").SupabaseQueryResult<import("./query").TableRow<D[S_1], T_2>[]>, import("@supabase/supabase-js").PostgrestError>;
};
QueryBuilder: <D_1 extends DatabaseTemp, S_2 extends keyof D_1>({ where, ...options }: {
enabled?: boolean | undefined;
schema?: S_2 | undefined;
where?: import("./query").Where<(import("./query").TableRow<D_1[S_2], keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]> & import("./query").ViewRow<D_1[S_2], keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]>) | (import("./query").TableRow<D_1[S_2], keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]> & import("./query").ViewRow<D_1[S_2], keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]>)[]> | undefined;
single?: boolean | undefined;
maybeSingle?: boolean | undefined;
limit?: number | undefined;
order?: Partial<Record<(import("./query").TableRow<D_1[S_2], keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]> & import("./query").ViewRow<D_1[S_2], keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]> extends infer T_2 ? T_2 extends import("./query").TableRow<D_1[S_2], keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]> & import("./query").ViewRow<D_1[S_2], keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]> ? T_2 extends any[] ? keyof T_2[0] : keyof T_2 : never : never) | keyof import("./query").TableRow<D_1[S_2], keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]> | keyof import("./query").ViewRow<D_1[S_2], keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]>, {
ascending?: boolean;
nullsFirst?: boolean;
foreignTable?: string;
referencedTable?: string;
}>> | undefined;
range?: (import("./query").baseRangeWhere | import("./query").baseRangeWhere[]) | undefined;
csv?: boolean | undefined;
explain?: {
analyze?: boolean;
verbose?: boolean;
settings?: boolean;
buffers?: boolean;
wal?: boolean;
format?: "json" | "text";
} | undefined;
options?: (Omit<import("@tanstack/react-query").UseQueryOptions<import("./query").SupabaseQueryResult<(import("./query").TableRow<D_1[S_2], keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]> & import("./query").ViewRow<D_1[S_2], keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]>) | (import("./query").TableRow<D_1[S_2], keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]> & import("./query").ViewRow<D_1[S_2], keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]>)[]>, import("@supabase/supabase-js").PostgrestError, import("./query").SupabaseQueryResult<(import("./query").TableRow<D_1[S_2], keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]> & import("./query").ViewRow<D_1[S_2], keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]>) | (import("./query").TableRow<D_1[S_2], keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]> & import("./query").ViewRow<D_1[S_2], keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]>)[]>, readonly unknown[]>, "queryKey" | "queryFn"> & {
queryKey?: string[];
}) | undefined;
}, Query: import("@supabase/postgrest-js").PostgrestFilterBuilder<any, any, any>) => import("@supabase/postgrest-js").PostgrestFilterBuilder<any, any, any, unknown, unknown>;
useSupabase: () => SupabaseClient<D, any, any>;
useSupaSession: () => import("@tanstack/react-query").DefinedUseQueryResult<import("@supabase/supabase-js").AuthSession | null, Error>;
getSupaQueryName: ({ table, queryKey }: GetSupaQUeryNameProps<D>) => string;
};