query icon indicating copy to clipboard operation
query copied to clipboard

Add `NoInfer` to `useQuery` return types

Open braeden opened this issue 11 months ago • 4 comments

Partially fixes https://github.com/TanStack/query/issues/8639

TODOs:

  • We should try to push NoInfer upstream into the query-core types (eg. QueryObserverResult)
    • I didn't have extensive time, but didn't have any luck w/o pushing this as close to the usage as possible
    • If ^ doesn't work, I'd probably need some assistance to enumerate other (non-react) codepaths to change similarly.
  • We should try to use native NoInfer from TS (https://devblogs.microsoft.com/typescript/announcing-typescript-5-4-beta/#the-noinfer-utility-type) instead of our own utility -- not 100% what our TS compatibility story is (eg what if a project doesn't have a "native" feature like NoInfer when we publish d.ts files)

braeden avatar Feb 16 '25 00:02 braeden

View your CI Pipeline Execution ↗ for commit 7b5bb5d7a47c79270136920280695e1e5e511ebb.

Command Status Duration Result
nx affected --targets=test:sherif,test:knip,tes... ❌ Failed 3m 15s View ↗
nx run-many --target=build --exclude=examples/*... ✅ Succeeded 32s View ↗

☁️ Nx Cloud last updated this comment at 2025-02-16 09:50:59 UTC

nx-cloud[bot] avatar Feb 16 '25 09:02 nx-cloud[bot]

We should try to use native NoInfer from TS

we support TS 5.0 so this is currently not possible

TkDodo avatar Feb 16 '25 09:02 TkDodo

Open in Stackblitz

More templates

@tanstack/angular-query-devtools-experimental

npm i https://pkg.pr.new/@tanstack/angular-query-devtools-experimental@8654
@tanstack/eslint-plugin-query

npm i https://pkg.pr.new/@tanstack/eslint-plugin-query@8654
@tanstack/query-async-storage-persister

npm i https://pkg.pr.new/@tanstack/query-async-storage-persister@8654
@tanstack/angular-query-experimental

npm i https://pkg.pr.new/@tanstack/angular-query-experimental@8654
@tanstack/query-broadcast-client-experimental

npm i https://pkg.pr.new/@tanstack/query-broadcast-client-experimental@8654
@tanstack/query-core

npm i https://pkg.pr.new/@tanstack/query-core@8654
@tanstack/query-devtools

npm i https://pkg.pr.new/@tanstack/query-devtools@8654
@tanstack/query-persist-client-core

npm i https://pkg.pr.new/@tanstack/query-persist-client-core@8654
@tanstack/query-sync-storage-persister

npm i https://pkg.pr.new/@tanstack/query-sync-storage-persister@8654
@tanstack/react-query

npm i https://pkg.pr.new/@tanstack/react-query@8654
@tanstack/react-query-devtools

npm i https://pkg.pr.new/@tanstack/react-query-devtools@8654
@tanstack/react-query-next-experimental

npm i https://pkg.pr.new/@tanstack/react-query-next-experimental@8654
@tanstack/react-query-persist-client

npm i https://pkg.pr.new/@tanstack/react-query-persist-client@8654
@tanstack/solid-query

npm i https://pkg.pr.new/@tanstack/solid-query@8654
@tanstack/solid-query-devtools

npm i https://pkg.pr.new/@tanstack/solid-query-devtools@8654
@tanstack/solid-query-persist-client

npm i https://pkg.pr.new/@tanstack/solid-query-persist-client@8654
@tanstack/svelte-query

npm i https://pkg.pr.new/@tanstack/svelte-query@8654
@tanstack/svelte-query-devtools

npm i https://pkg.pr.new/@tanstack/svelte-query-devtools@8654
@tanstack/svelte-query-persist-client

npm i https://pkg.pr.new/@tanstack/svelte-query-persist-client@8654
@tanstack/vue-query

npm i https://pkg.pr.new/@tanstack/vue-query@8654
@tanstack/vue-query-devtools

npm i https://pkg.pr.new/@tanstack/vue-query-devtools@8654

commit: 7b5bb5d

pkg-pr-new[bot] avatar Feb 16 '25 09:02 pkg-pr-new[bot]

how’s it coming along here? Tests are failing and there are also conflicts by now

TkDodo avatar May 26 '25 12:05 TkDodo