UNPKG

@supabase-kit/react

Version:

> Hooks by management data from supabase and fetch data by react.

49 lines (48 loc) 4.43 kB
import { PostgrestError, SupabaseClient } from '@supabase/supabase-js'; import { GenericSchema } from '@supabase/supabase-js/dist/module/lib/types'; import { UseQueryOptions, UseQueryResult } from '@tanstack/react-query'; import { DatabaseTemp, SupabaseQueryResult, TableRow, ViewRow } from './types'; import { SupabaseInfoniteQueryConfig } from './types.infonite'; import { SupabaseQueryConfig } from './types.query'; export declare const createSupabaseQuery: <D extends DatabaseTemp, SchemaName extends string & keyof D = "public" extends keyof D ? "public" : string & keyof D, Schema extends GenericSchema = D[SchemaName] extends GenericSchema ? D[SchemaName] : any>(client: SupabaseClient<D, SchemaName, Schema>) => { 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/react-query").InfiniteData<SupabaseQueryResult<TableRow<D[S], T>[]>, 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<TableRow<D[S], T_1>>, 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<TableRow<D[S_1], T_1>[]>, PostgrestError>; }; QueryBuilder: <D_1 extends DatabaseTemp, S_2 extends keyof D_1>({ where, ...options }: { enabled?: boolean | undefined; schema?: S_2 | undefined; where?: import("./types").Where<(TableRow<D_1[S_2], keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]> & ViewRow<D_1[S_2], keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]>) | (TableRow<D_1[S_2], keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]> & 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<(TableRow<D_1[S_2], keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]> & ViewRow<D_1[S_2], keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]> extends infer T_1 ? T_1 extends TableRow<D_1[S_2], keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]> & ViewRow<D_1[S_2], keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]> ? T_1 extends any[] ? keyof T_1[0] : keyof T_1 : never : never) | keyof TableRow<D_1[S_2], keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]> | keyof 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("./types").baseRangeWhere | import("./types").baseRangeWhere[]) | undefined; csv?: boolean | undefined; explain?: { analyze?: boolean; verbose?: boolean; settings?: boolean; buffers?: boolean; wal?: boolean; format?: "json" | "text"; } | undefined; options?: (Omit<UseQueryOptions<SupabaseQueryResult<(TableRow<D_1[S_2], keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]> & ViewRow<D_1[S_2], keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]>) | (TableRow<D_1[S_2], keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]> & ViewRow<D_1[S_2], keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]>)[]>, PostgrestError, SupabaseQueryResult<(TableRow<D_1[S_2], keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]> & ViewRow<D_1[S_2], keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]>) | (TableRow<D_1[S_2], keyof D_1[S_2]["Tables"] | keyof D_1[S_2]["Views"]> & 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>; };