@supabase-kit/react
Version:
> Hooks by management data from supabase and fetch data by react.
48 lines (47 loc) • 4.05 kB
TypeScript
import { PostgrestError, SupabaseClient } from '@supabase/supabase-js';
import { UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
import { DatabaseTemp, SupabaseQueryResult } from './types';
import { SupabaseInfoniteQueryConfig } from './types.infonite';
import { SupabaseQueryConfig } from './types.query';
export declare const createSupabaseQuery: <D extends DatabaseTemp>(client: SupabaseClient<D>) => {
useSupaInfiniteQuery: <S extends keyof D, T extends keyof D[S]["Tables"] & keyof D[S]["Views"] & string>({ table, schema, column, options, enabled, count, ...configObj }: SupabaseInfoniteQueryConfig<D> & {
table: T;
}) => import("@tanstack/react-query").DefinedUseInfiniteQueryResult<import("@tanstack/query-core").InfiniteData<SupabaseQueryResult<D[S]["Tables"][T]["Row"][]>, unknown>, PostgrestError>;
useSupaQuery: {
<T_1 extends keyof D[S]["Tables"] | keyof D[S]["Views"], S extends keyof D = "public">(config: SupabaseQueryConfig<D, S> & {
table: T_1;
single: true;
}): UseQueryResult<SupabaseQueryResult<D[S]["Tables"][T_1]["Row"]>, PostgrestError>;
<T_1 extends keyof D[S_1]["Tables"] | keyof D[S_1]["Views"], S_1 extends keyof D = "public">(config: SupabaseQueryConfig<D, S_1> & {
table: T_1;
single?: false;
}): UseQueryResult<SupabaseQueryResult<D[S_1]["Tables"][T_1]["Row"][]>, 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<UseQueryOptions<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"][]>, PostgrestError, 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("./types").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_1 ? T_1 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_1 extends any[] ? keyof T_1[0] : keyof T_1 : 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("./types").baseRangeWhere | import("./types").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>;
};