UNPKG

@suspensive/react-query-5

Version:

Suspensive interfaces for @tanstack/react-query@5

1 lines 1.38 kB
{"version":3,"file":"SuspenseQueries.cjs","names":[],"sources":["../src/SuspenseQueries.tsx"],"sourcesContent":["'use client'\nimport { type SuspenseQueriesOptions, type SuspenseQueriesResults, useSuspenseQueries } 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 * `<SuspenseQueries/>` serves to make `useSuspenseQueries` easier to use in jsx.\n * @see {@link https://suspensive.org/docs/react-query/SuspenseQueries Suspensive Docs}\n * @example\n * ```tsx\n * import { SuspenseQueries } from '@suspensive/react-query'\n *\n * <SuspenseQueries queries={[firstQueryOptions(), secondQueryOptions()]}>\n * {([{ data: firstQueryData }, { data: secondQueryData }]) => {\n * return <></>\n * }}\n * </SuspenseQueries>\n * ```\n */\nexport function SuspenseQueries<T extends any[], TCombinedResult = SuspenseQueriesResults<T>>({\n children,\n queries,\n combine,\n}: {\n queries: readonly [...SuspenseQueriesOptions<T>]\n children: (queries: TCombinedResult) => ReactNode\n combine?: (result: SuspenseQueriesResults<T>) => TCombinedResult\n}) {\n return <>{children(useSuspenseQueries({ queries, combine }))}</>\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAmBA,SAAgB,gBAA8E,EAC5F,UACA,SACA,WAKC;CACD,OAAO,mFAAG,uDAA4B;EAAE;EAAS;CAAQ,CAAC,CAAC,EAAI;AACjE"}