UNPKG

@mussnad/frappe-react-query

Version:
229 lines (228 loc) 7.54 kB
import { Filter, SearchResult } from '../types'; /** * Hook to search for documents - only works with Frappe v15+ * * @param doctype - name of the doctype (table) where we are performing our search * @param text - search text * @param filters - (optional) the results will be filtered based on these * @param limit - (optional) the number of results to return. Defaults to 20 * @param debounce - (optional) the number of milliseconds to wait before making the API call. Defaults to 250ms. * * @returns Returns an object with the following properties: data, error, isFetching, mutate * * @example * * const [searchText, setSearchText] = useState("") * const { data, error, isFetching, mutate } = useSearch("User", searchText) */ export declare const useSearch: (doctype: string, text: string, filters?: Filter[], limit?: number, debounce?: number) => { data: { message: SearchResult[]; } | undefined; error: Error | null; isFetching: boolean; mutate: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<{ message: SearchResult[]; }, Error>>; isError: true; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: true; isSuccess: false; isPlaceholderData: false; status: "error"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: Error | null; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isInitialLoading: boolean; isPaused: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<{ message: SearchResult[]; }, Error>>; fetchStatus: import('@tanstack/react-query').FetchStatus; promise: Promise<{ message: SearchResult[]; }>; } | { data: { message: SearchResult[]; } | undefined; error: Error | null; isFetching: boolean; mutate: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<{ message: SearchResult[]; }, Error>>; isError: false; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: false; isSuccess: true; isPlaceholderData: false; status: "success"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: Error | null; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isInitialLoading: boolean; isPaused: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<{ message: SearchResult[]; }, Error>>; fetchStatus: import('@tanstack/react-query').FetchStatus; promise: Promise<{ message: SearchResult[]; }>; } | { data: { message: SearchResult[]; } | undefined; error: Error | null; isFetching: boolean; mutate: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<{ message: SearchResult[]; }, Error>>; isError: true; isPending: false; isLoading: false; isLoadingError: true; isRefetchError: false; isSuccess: false; isPlaceholderData: false; status: "error"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: Error | null; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isInitialLoading: boolean; isPaused: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<{ message: SearchResult[]; }, Error>>; fetchStatus: import('@tanstack/react-query').FetchStatus; promise: Promise<{ message: SearchResult[]; }>; } | { data: { message: SearchResult[]; } | undefined; error: Error | null; isFetching: boolean; mutate: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<{ message: SearchResult[]; }, Error>>; isError: false; isPending: true; isLoading: true; isLoadingError: false; isRefetchError: false; isSuccess: false; isPlaceholderData: false; status: "pending"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: Error | null; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isInitialLoading: boolean; isPaused: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<{ message: SearchResult[]; }, Error>>; fetchStatus: import('@tanstack/react-query').FetchStatus; promise: Promise<{ message: SearchResult[]; }>; } | { data: { message: SearchResult[]; } | undefined; error: Error | null; isFetching: boolean; mutate: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<{ message: SearchResult[]; }, Error>>; isError: false; isPending: true; isLoadingError: false; isRefetchError: false; isSuccess: false; isPlaceholderData: false; status: "pending"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: Error | null; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isLoading: boolean; isInitialLoading: boolean; isPaused: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<{ message: SearchResult[]; }, Error>>; fetchStatus: import('@tanstack/react-query').FetchStatus; promise: Promise<{ message: SearchResult[]; }>; } | { data: { message: SearchResult[]; } | undefined; error: Error | null; isFetching: boolean; mutate: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<{ message: SearchResult[]; }, Error>>; isError: false; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: false; isSuccess: true; isPlaceholderData: true; status: "success"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: Error | null; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isInitialLoading: boolean; isPaused: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<{ message: SearchResult[]; }, Error>>; fetchStatus: import('@tanstack/react-query').FetchStatus; promise: Promise<{ message: SearchResult[]; }>; };