@realm/react
Version:
React specific hooks and implementation helpers for Realm
31 lines • 1.97 kB
TypeScript
import Realm from "realm";
import { AnyRealmObject, RealmClassType } from "./helpers";
type QueryCallback<T> = (collection: Realm.Results<T>) => Realm.Results<T>;
type DependencyList = ReadonlyArray<unknown>;
export type QueryHookPartialOptions<T> = {
type: string | RealmClassType<T>;
keyPaths?: string | string[];
};
export type QueryHookOptions<T> = QueryHookPartialOptions<T> & {
query?: QueryCallback<T>;
};
export type UseQueryHook = {
<T>(options: QueryHookOptions<T>, deps?: DependencyList): Realm.Results<T & Realm.Object<T>>;
<T extends AnyRealmObject>(options: QueryHookOptions<T>, deps?: DependencyList): Realm.Results<T>;
<T>(type: string): Realm.Results<T & Realm.Object<T>>;
<T extends AnyRealmObject>(type: RealmClassType<T>): Realm.Results<T>;
<T extends AnyRealmObject>(query: QueryCallback<T>, deps: DependencyList, options: QueryHookPartialOptions<T>): Realm.Results<T>;
<T>(query: QueryCallback<T>, deps: DependencyList, options: QueryHookPartialOptions<T>): Realm.Results<T & Realm.Object<T>>;
/** @deprecated To help the `react-hooks/exhaustive-deps` eslint rule detect missing dependencies, we've suggest passing a option object as the first argument */
<T>(type: string, query?: QueryCallback<T>, deps?: DependencyList): Realm.Results<T & Realm.Object<T>>;
/** @deprecated To help the `react-hooks/exhaustive-deps` eslint rule detect missing dependencies, we've suggest passing a option object as the first argument */
<T extends AnyRealmObject>(type: RealmClassType<T>, query?: QueryCallback<T>, deps?: DependencyList): Realm.Results<T>;
};
/**
* Generates the `useQuery` hook from a given `useRealm` hook.
* @param useRealm - Hook that returns an open Realm instance
* @returns useObject - Hook that is used to gain access to a {@link Realm.Collection}
*/
export declare function createUseQuery(useRealm: () => Realm): UseQueryHook;
export {};
//# sourceMappingURL=useQuery.d.ts.map