UNPKG

@suspensive/react-query-4

Version:

Suspensive interfaces for @tanstack/react-query@4

1 lines 1.33 kB
{"version":3,"file":"SuspenseQuery.cjs","names":[],"sources":["../src/SuspenseQuery.tsx"],"sourcesContent":["'use client'\nimport {\n type QueryKey,\n type UseSuspenseQueryOptions,\n type UseSuspenseQueryResult,\n useSuspenseQuery,\n} from '@tanstack/react-query'\nimport type { ReactNode } from 'react'\n\n/**\n * We provide these components to clearly express what causes suspense at the same depth.\n * `<SuspenseQuery/>` serves to make `useSuspenseQuery` easier to use in jsx.\n * @see {@link https://suspensive.org/docs/react-query/SuspenseQuery Suspensive Docs}\n * @example\n * ```tsx\n * import { SuspenseQuery } from '@suspensive/react-query'\n *\n * // You can use QueryOptions as props.\n * <SuspenseQuery {...queryOptions()}>\n * {({ data, isLoading }) => {\n * return <></>\n * }\n * </SuspenseQuery>\n * ```\n */\nexport const SuspenseQuery = <\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>({\n children,\n ...options\n}: UseSuspenseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n children: (queryResult: UseSuspenseQueryResult<TData, TError>) => ReactNode\n}) => <>{children(useSuspenseQuery(options))}</>\n"],"mappings":";;;;;;;;mBA+BE;;;;;;;;;;;;;;;;;AANF,MAAa,iBAKX,SAKI;KALJ,EACA;CAII,0FAAG,6HAAgC,CAAC,CAAC,EAAI"}