refactor: standardize use of MaybePromise<T> in place of Promise<T> | T
This commit builds on the changes introduced in refactor/narrow-callback-types and replaces all instances of Promise<T> | T with the new MaybePromise<T> helper type. The MaybePromise type, originally defined in @tanstack/query-persist-client-core/src/createPersister.ts, is now moved to query-core for broader, consistent use.
- Moves the
MaybePromisetype definition toquery-core, making it the canonical utility for representing values that may be returned synchronously or as a promise. - Updates all relevant callback signatures (such as
onSuccess,onError,onMutate,onSettled, and other callbacks) to useMaybePromise<T>instead ofPromise<T> | T. - Updates documentation to reference
MaybePromise<T>for clarity and consistency.
This builds on the direction set by refactor/narrow-callback-types, further improving type readability and maintainability by using a single, expressive type for all maybe-async callback returns.
View your CI Pipeline Execution ↗ for commit c3e3026aa3d06cfcb671ac553ced7946f63508e4.
| Command | Status | Duration | Result |
|---|---|---|---|
nx affected --targets=test:sherif,test:knip,tes... |
✅ Succeeded | 2m 24s | View ↗ |
nx run-many --target=build --exclude=examples/*... |
✅ Succeeded | 55s | View ↗ |
☁️ Nx Cloud last updated this comment at 2025-06-09 06:28:33 UTC
More templates
- @tanstack/query-example-angular-auto-refetching
- @tanstack/query-example-angular-basic
- @tanstack/query-example-angular-basic-persister
- @tanstack/query-example-angular-devtools-panel
- @tanstack/query-example-angular-infinite-query-with-max-pages
- @tanstack/query-example-angular-optimistic-updates
- @tanstack/query-example-angular-pagination
- @tanstack/query-example-angular-query-options-from-a-service
- @tanstack/query-example-angular-router
- @tanstack/query-example-angular-rxjs
- @tanstack/query-example-angular-simple
- @tanstack/query-example-react-algolia
- @tanstack/query-example-react-auto-refetching
- @tanstack/query-example-react-basic
- @tanstack/query-example-react-basic-graphql-request
- @tanstack/query-example-chat
- @tanstack/query-example-react-default-query-function
- @tanstack/query-example-react-devtools-panel
- @tanstack/query-example-eslint-legacy
- @tanstack/query-example-react-infinite-query-with-max-pages
- @tanstack/query-example-react-load-more-infinite-scroll
- @tanstack/query-example-react-nextjs
- @tanstack/query-example-react-nextjs-app-prefetching
- @tanstack/query-example-nextjs-suspense-streaming
- @tanstack/query-example-react-offline
- @tanstack/query-example-react-optimistic-updates-cache
- @tanstack/query-example-react-optimistic-updates-ui
- @tanstack/query-example-react-pagination
- @tanstack/query-example-react-playground
- @tanstack/query-example-react-prefetching
- @tanstack/query-example-react-react-native
- @tanstack/query-example-react-router
- @tanstack/query-example-react-rick-morty
- @tanstack/query-example-react-shadow-dom
- @tanstack/query-example-react-simple
- @tanstack/query-example-react-star-wars
- @tanstack/query-example-react-suspense
- @tanstack/query-example-solid-astro
- @tanstack/query-example-solid-basic
- @tanstack/query-example-solid-basic-graphql-request
- @tanstack/query-example-solid-default-query-function
- @tanstack/query-example-solid-simple
- @tanstack/query-example-solid-start-streaming
- @tanstack/query-example-svelte-auto-refetching
- @tanstack/query-example-svelte-basic
- @tanstack/query-example-svelte-load-more-infinite-scroll
- @tanstack/query-example-svelte-optimistic-updates
- @tanstack/query-example-svelte-playground
- @tanstack/query-example-svelte-simple
- @tanstack/query-example-svelte-ssr
- @tanstack/query-example-svelte-star-wars
- @tanstack/query-example-vue-2.6-basic
- @tanstack/query-example-vue-2.7-basic
- @tanstack/query-example-vue-basic
- @tanstack/query-example-vue-dependent-queries
- @tanstack/query-example-vue-nuxt3
- @tanstack/query-example-vue-persister
- @tanstack/query-example-vue-simple
@tanstack/angular-query-devtools-experimental
npm i https://pkg.pr.new/@tanstack/angular-query-devtools-experimental@9203
@tanstack/angular-query-experimental
npm i https://pkg.pr.new/@tanstack/angular-query-experimental@9203
@tanstack/eslint-plugin-query
npm i https://pkg.pr.new/@tanstack/eslint-plugin-query@9203
@tanstack/query-async-storage-persister
npm i https://pkg.pr.new/@tanstack/query-async-storage-persister@9203
@tanstack/query-broadcast-client-experimental
npm i https://pkg.pr.new/@tanstack/query-broadcast-client-experimental@9203
@tanstack/query-core
npm i https://pkg.pr.new/@tanstack/query-core@9203
@tanstack/query-devtools
npm i https://pkg.pr.new/@tanstack/query-devtools@9203
@tanstack/query-persist-client-core
npm i https://pkg.pr.new/@tanstack/query-persist-client-core@9203
@tanstack/query-sync-storage-persister
npm i https://pkg.pr.new/@tanstack/query-sync-storage-persister@9203
@tanstack/react-query
npm i https://pkg.pr.new/@tanstack/react-query@9203
@tanstack/react-query-devtools
npm i https://pkg.pr.new/@tanstack/react-query-devtools@9203
@tanstack/react-query-next-experimental
npm i https://pkg.pr.new/@tanstack/react-query-next-experimental@9203
@tanstack/react-query-persist-client
npm i https://pkg.pr.new/@tanstack/react-query-persist-client@9203
@tanstack/solid-query
npm i https://pkg.pr.new/@tanstack/solid-query@9203
@tanstack/solid-query-devtools
npm i https://pkg.pr.new/@tanstack/solid-query-devtools@9203
@tanstack/solid-query-persist-client
npm i https://pkg.pr.new/@tanstack/solid-query-persist-client@9203
@tanstack/svelte-query
npm i https://pkg.pr.new/@tanstack/svelte-query@9203
@tanstack/svelte-query-devtools
npm i https://pkg.pr.new/@tanstack/svelte-query-devtools@9203
@tanstack/svelte-query-persist-client
npm i https://pkg.pr.new/@tanstack/svelte-query-persist-client@9203
@tanstack/vue-query
npm i https://pkg.pr.new/@tanstack/vue-query@9203
@tanstack/vue-query-devtools
npm i https://pkg.pr.new/@tanstack/vue-query-devtools@9203
commit: c3e3026
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 59.68%. Comparing base (
10b4c2f) to head (c3e3026).
Additional details and impacted files
@@ Coverage Diff @@
## main #9203 +/- ##
===========================================
+ Coverage 45.37% 59.68% +14.31%
===========================================
Files 207 136 -71
Lines 8276 5514 -2762
Branches 1863 1486 -377
===========================================
- Hits 3755 3291 -464
+ Misses 4080 1925 -2155
+ Partials 441 298 -143
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
- :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
ah, this conflicts now, even tough it was build on top of your other PR.