{"version":3,"file":"errorBoundaryUtils.mjs","sources":["../../../src/react/errorBoundaryUtils.ts"],"sourcesContent":["import * as React from 'react'\n\nimport {\n  ObservableQueryOptions,\n  ObservableQueryResult,\n  ThrowOnError,\n} from '../vanilla/observableQuery'\nimport { QueryInfo } from '../vanilla/queryInfo'\nimport type { QueryErrorResetBoundaryValue } from './QueryErrorResetBoundary'\nimport { shouldThrowError } from './utils'\n\nexport const ensurePreventErrorBoundaryRetry = (\n  options: ObservableQueryOptions<any, any, any>,\n  errorResetBoundary: QueryErrorResetBoundaryValue\n) => {\n  if (options.suspense || options.throwOnError) {\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  result: ObservableQueryResult<any, any>,\n  errorResetBoundary: QueryErrorResetBoundaryValue,\n  queryInfo: QueryInfo<any, any, any>,\n  throwOnError?: ThrowOnError<any, any, any>\n) => {\n  return (\n    queryInfo.state.status === 'error' &&\n    !errorResetBoundary.isReset() &&\n    !result.isFetching &&\n    shouldThrowError(throwOnError, [result.error, queryInfo])\n  )\n}\n"],"names":["ensurePreventErrorBoundaryRetry","options","errorResetBoundary","suspense","throwOnError","isReset","retryOnMount","useClearResetErrorBoundary","React","useEffect","clearReset","getHasError","result","queryInfo","state","status","isFetching","shouldThrowError","error"],"mappings":";;;MAWaA,+BAA+B,GAAGA,CAC7CC,OAA8C,EAC9CC,kBAAgD,KAC7C;AACH,EAAA,IAAID,OAAO,CAACE,QAAQ,IAAIF,OAAO,CAACG,YAAY,EAAE;AAC5C;AACA,IAAA,IAAI,CAACF,kBAAkB,CAACG,OAAO,EAAE,EAAE;MACjCJ,OAAO,CAACK,YAAY,GAAG,KAAK,CAAA;AAC9B,KAAA;AACF,GAAA;AACF,EAAC;AAEYC,MAAAA,0BAA0B,GACrCL,kBAAgD,IAC7C;EACHM,KAAK,CAACC,SAAS,CAAC,MAAM;IACpBP,kBAAkB,CAACQ,UAAU,EAAE,CAAA;AACjC,GAAC,EAAE,CAACR,kBAAkB,CAAC,CAAC,CAAA;AAC1B,EAAC;AAEM,MAAMS,WAAW,GAAGA,CACzBC,MAAuC,EACvCV,kBAAgD,EAChDW,SAAmC,EACnCT,YAA0C,KACvC;AACH,EAAA,OACES,SAAS,CAACC,KAAK,CAACC,MAAM,KAAK,OAAO,IAClC,CAACb,kBAAkB,CAACG,OAAO,EAAE,IAC7B,CAACO,MAAM,CAACI,UAAU,IAClBC,gBAAgB,CAACb,YAAY,EAAE,CAACQ,MAAM,CAACM,KAAK,EAAEL,SAAS,CAAC,CAAC,CAAA;AAE7D;;;;"}