UNPKG

@tanstack/react-query

Version:

Hooks for managing, caching and syncing asynchronous and remote data in React

1 lines 2.79 kB
{"version":3,"file":"errorBoundaryUtils.mjs","sources":["../../src/errorBoundaryUtils.ts"],"sourcesContent":["import type {\n DefaultedQueryObserverOptions,\n Query,\n QueryKey,\n QueryObserverResult,\n UseErrorBoundary,\n} from '@tanstack/query-core'\nimport type { QueryErrorResetBoundaryValue } from './QueryErrorResetBoundary'\nimport * as React from 'react'\nimport { shouldThrowError } from './utils'\n\nexport const ensurePreventErrorBoundaryRetry = <\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n>(\n options: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n errorResetBoundary: QueryErrorResetBoundaryValue,\n) => {\n if (options.suspense || options.useErrorBoundary) {\n // Prevent retrying failed query if the error boundary has not been reset yet\n if (!errorResetBoundary.isReset()) {\n options.retryOnMount = false\n }\n }\n}\n\nexport const useClearResetErrorBoundary = (\n errorResetBoundary: QueryErrorResetBoundaryValue,\n) => {\n React.useEffect(() => {\n errorResetBoundary.clearReset()\n }, [errorResetBoundary])\n}\n\nexport const getHasError = <\n TData,\n TError,\n TQueryFnData,\n TQueryData,\n TQueryKey extends QueryKey,\n>({\n result,\n errorResetBoundary,\n useErrorBoundary,\n query,\n}: {\n result: QueryObserverResult<TData, TError>\n errorResetBoundary: QueryErrorResetBoundaryValue\n useErrorBoundary: UseErrorBoundary<\n TQueryFnData,\n TError,\n TQueryData,\n TQueryKey\n >\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>\n}) => {\n return (\n result.isError &&\n !errorResetBoundary.isReset() &&\n !result.isFetching &&\n shouldThrowError(useErrorBoundary, [result.error, query])\n )\n}\n"],"names":["ensurePreventErrorBoundaryRetry","options","errorResetBoundary","suspense","useErrorBoundary","isReset","retryOnMount","useClearResetErrorBoundary","React","useEffect","clearReset","getHasError","result","query","isError","isFetching","shouldThrowError","error"],"mappings":";;;MAWaA,+BAA+B,GAAG,CAO7CC,OAP6C,EAc7CC,kBAd6C,KAe1C;AACH,EAAA,IAAID,OAAO,CAACE,QAAR,IAAoBF,OAAO,CAACG,gBAAhC,EAAkD;AAChD;AACA,IAAA,IAAI,CAACF,kBAAkB,CAACG,OAAnB,EAAL,EAAmC;MACjCJ,OAAO,CAACK,YAAR,GAAuB,KAAvB,CAAA;AACD,KAAA;AACF,GAAA;AACF,EAtBM;AAwBMC,MAAAA,0BAA0B,GACrCL,kBADwC,IAErC;EACHM,KAAK,CAACC,SAAN,CAAgB,MAAM;AACpBP,IAAAA,kBAAkB,CAACQ,UAAnB,EAAA,CAAA;GADF,EAEG,CAACR,kBAAD,CAFH,CAAA,CAAA;AAGD,EANM;AAQA,MAAMS,WAAW,GAAG,CAMzB;EACAC,MADA;EAEAV,kBAFA;EAGAE,gBAHA;AAIAS,EAAAA,KAAAA;AAJA,CANyB,KAqBrB;EACJ,OACED,MAAM,CAACE,OAAP,IACA,CAACZ,kBAAkB,CAACG,OAAnB,EADD,IAEA,CAACO,MAAM,CAACG,UAFR,IAGAC,gBAAgB,CAACZ,gBAAD,EAAmB,CAACQ,MAAM,CAACK,KAAR,EAAeJ,KAAf,CAAnB,CAJlB,CAAA;AAMD;;;;"}