react-firebase-hooks
Version:
React Hooks for Firebase
28 lines (24 loc) • 896 B
Flow
// @flow
import typeof { FirebaseError } from 'firebase';
import type { DataSnapshot, Query } from 'firebase/database';
type LoadingHook<T> = [T | void, boolean, FirebaseError | void];
export type ListHook = LoadingHook<DataSnapshot[]>;
export type ListKeysHook = LoadingHook<string[]>;
export type ListValsHook<T> = LoadingHook<T[]>;
export type ObjectHook = LoadingHook<DataSnapshot>;
export type ObjectValHook<T> = LoadingHook<T>;
declare export function useList(query?: Query | null): ListHook;
declare export function useListKeys(query?: Query | null): ListKeysHook;
declare export function useListVals<T>(
query?: Query | null,
options?: {
keyField?: string,
}
): ListValsHook<T>;
declare export function useObject(query?: Query | null): ObjectHook;
declare export function useObjectVal<T>(
query?: Query | null,
options?: {
keyField?: string,
}
): ObjectValHook<T>;