@supabase-kit/react
Version:
> Hooks by management data from supabase and fetch data by react.
53 lines (52 loc) • 6.53 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>) => {
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"], (D[SchemaKey]["Tables"] & D[SchemaKey]["Views"])[keyof D[SchemaKey]["Tables"] | keyof D[SchemaKey]["Views"]]["Row"]>) => 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"], (D[SchemaKey]["Tables"] & D[SchemaKey]["Views"])[keyof D[SchemaKey]["Tables"] | keyof D[SchemaKey]["Views"]]["Row"]>, "event" | "type" | "callback"> & {
table: T;
}) => import("@tanstack/react-query").UseQueryResult<import("./query").SupabaseQueryResult<D[SchemaKey]["Tables"][(keyof D[SchemaKey]["Tables"] | keyof D[SchemaKey]["Views"]) & T]["Row"][]>, import("@supabase/postgrest-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"], (D["public"]["Tables"] & D["public"]["Views"])[keyof D["public"]["Tables"] | keyof D["public"]["Views"]]["Row"][]> & {
table: T_1;
}) => import("@tanstack/react-query").DefinedUseInfiniteQueryResult<import("@tanstack/query-core").InfiniteData<import("./query").SupabaseQueryResult<D[S]["Tables"][T_1]["Row"][]>, unknown>, import("@supabase/postgrest-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, (D[S]["Tables"] | D[S]["Views"])[keyof D[S]["Tables"] | keyof D[S]["Views"]]["Row"] | (D[S]["Tables"] | D[S]["Views"])[keyof D[S]["Tables"] | keyof D[S]["Views"]]["Row"][]> & {
table: T_2;
single: true;
}): import("@tanstack/react-query").UseQueryResult<import("./query").SupabaseQueryResult<D[S]["Tables"][T_2]["Row"]>, import("@supabase/postgrest-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, (D[S_1]["Tables"] | D[S_1]["Views"])[keyof D[S_1]["Tables"] | keyof D[S_1]["Views"]]["Row"] | (D[S_1]["Tables"] | D[S_1]["Views"])[keyof D[S_1]["Tables"] | keyof D[S_1]["Views"]]["Row"][]> & {
table: T_2;
single?: false;
}): import("@tanstack/react-query").UseQueryResult<import("./query").SupabaseQueryResult<D[S_1]["Tables"][T_2]["Row"][]>, import("@supabase/postgrest-js").PostgrestError>;
};
QueryBuilder: <D_1 extends DatabaseTemp, S_2 extends keyof D_1, SchemaName extends string & keyof D_1 = "public" extends keyof D_1 ? "public" : string & keyof D_1, Schema extends import("@supabase/supabase-js/dist/module/lib/types").GenericSchema = D_1[SchemaName] extends import("@supabase/supabase-js/dist/module/lib/types").GenericSchema ? D_1[SchemaName] : any>({ where, ...options }: {
schema?: S_2 | undefined;
options?: (Omit<import("@tanstack/react-query").UseQueryOptions<import("./query").SupabaseQueryResult<(D_1[S_2]["Tables"] | D_1[S_2]["Views"])[keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]]["Row"] | (D_1[S_2]["Tables"] | D_1[S_2]["Views"])[keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]]["Row"][]>, import("@supabase/postgrest-js").PostgrestError, import("./query").SupabaseQueryResult<(D_1[S_2]["Tables"] | D_1[S_2]["Views"])[keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]]["Row"] | (D_1[S_2]["Tables"] | D_1[S_2]["Views"])[keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]]["Row"][]>, readonly unknown[]>, "queryKey" | "queryFn"> & {
queryKey?: string[];
}) | undefined;
enabled?: boolean | undefined;
where?: import("./query").Where<(D_1[S_2]["Tables"] | D_1[S_2]["Views"])[keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]]["Row"] | (D_1[S_2]["Tables"] | D_1[S_2]["Views"])[keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]]["Row"][]> | undefined;
limit?: number | undefined;
single?: boolean | undefined;
maybeSingle?: boolean | undefined;
order?: Partial<Record<((D_1[S_2]["Tables"] | D_1[S_2]["Views"])[keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]]["Row"] extends infer T_2 ? T_2 extends (D_1[S_2]["Tables"] | D_1[S_2]["Views"])[keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]]["Row"] ? T_2 extends any[] ? keyof T_2[0] : keyof T_2 : never : never) | keyof (D_1[S_2]["Tables"] | D_1[S_2]["Views"])[keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]]["Row"], {
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;
}, Query: import("@supabase/postgrest-js").PostgrestFilterBuilder<Schema, any, any>) => import("@supabase/postgrest-js").PostgrestFilterBuilder<Schema, any, any, unknown, unknown>;
useSupabase: () => SupabaseClient<D, "public" extends keyof D ? keyof D & "public" : string & keyof D, D["public" extends keyof D ? keyof D & "public" : string & keyof D] extends import("@supabase/supabase-js/dist/module/lib/types").GenericSchema ? D["public" extends keyof D ? keyof D & "public" : string & keyof D] : any>;
useSupaSession: () => import("@tanstack/react-query").DefinedUseQueryResult<import("@supabase/auth-js").Session | null, Error>;
getSupaQueryName: ({ table, queryKey }: GetSupaQUeryNameProps<D>) => string;
};