@orpc/react-query

1.2.0 • Public • Published
oRPC logo

Typesafe APIs Made Simple 🪄

oRPC is a powerful combination of RPC and OpenAPI, makes it easy to build APIs that are end-to-end type-safe and adhere to OpenAPI standards


Highlights

  • 🔗 End-to-End Type Safety: Ensure type-safe inputs, outputs, and errors from client to server.
  • 📘 First-Class OpenAPI: Built-in support that fully adheres to the OpenAPI standard.
  • 📝 Contract-First Development: Optionally define your API contract before implementation.
  • ⚙️ Framework Integrations: Seamlessly integrate with TanStack Query (React, Vue, Solid, Svelte), Pinia Colada, and more.
  • 🚀 Server Actions: Fully compatible with React Server Actions on Next.js, TanStack Start, and other platforms.
  • 🔠 Standard Schema Support: Works out of the box with Zod, Valibot, ArkType, and other schema validators.
  • 🗃️ Native Types: Supports native types like Date, File, Blob, BigInt, URL, and more.
  • ⏱️ Lazy Router: Enhance cold start times with our lazy routing feature.
  • 📡 SSE & Streaming: Enjoy full type-safe support for SSE and streaming.
  • 🌍 Multi-Runtime Support: Fast and lightweight on Cloudflare, Deno, Bun, Node.js, and beyond.
  • 🔌 Extendability: Easily extend functionality with plugins, middleware, and interceptors.
  • 🛡️ Reliability: Well-tested, TypeScript-based, production-ready, and MIT licensed.

Documentation

You can find the full documentation here.

Packages

@orpc/react-query

Integration with React Query. Read the documentation for more information.

export function Example() {
  const query = useQuery(orpc.planet.find.queryOptions({
    input: { id: 123 }, // Specify input if needed
    context: { cache: true }, // Provide client context if needed
  // additional options...
  }))

  const query = useInfiniteQuery(orpc.planet.list.infiniteOptions({
    input: (pageParam: number | undefined) => ({ limit: 10, offset: pageParam }),
    context: { cache: true }, // Provide client context if needed
    initialPageParam: undefined,
    getNextPageParam: lastPage => lastPage.nextPageParam,
  // additional options...
  }))

  const mutation = useMutation(orpc.planet.create.mutationOptions({
    context: { cache: true }, // Provide client context if needed
  // additional options...
  }))

  mutation.mutate({ name: 'Earth' })

  const queryClient = useQueryClient()

  // Invalidate all planet queries
  queryClient.invalidateQueries({
    queryKey: orpc.planet.key(),
  })

  // Invalidate only regular (non-infinite) planet queries
  queryClient.invalidateQueries({
    queryKey: orpc.planet.key({ type: 'query' })
  })

  // Invalidate the planet find query with id 123
  queryClient.invalidateQueries({
    queryKey: orpc.planet.find.key({ input: { id: 123 } })
  })
}

Sponsors

License

Distributed under the MIT License. See LICENSE for more information.

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
1.2.0
2,596latest
1.0.0-beta.7
1beta
0.0.0-next.fb0d07c
0next

Version History

VersionDownloads (Last 7 Days)Published
0.0.0-next.fb0d07c
0
0.0.0-next.2a5fc3e
0
0.0.0-next.bec5773
0
0.0.0-next.e000d9a
0
0.0.0-next.92f04f2
0
0.0.0-next.18dad53
0
0.0.0-next.ba44cb8
32
0.0.0-next.a9447ff
35
0.0.0-next.262a4c9
30
0.0.0-next.f4ed9ab
40
0.0.0-next.fd13879
37
0.0.0-next.d2a7109
35
0.0.0-next.eae6003
35
0.0.0-next.d8301f4
36
0.0.0-next.fa8d145
35
0.0.0-next.1d2c8b6
33
0.0.0-next.fcb9d5a
37
0.0.0-next.cac5dd3
38
0.0.0-next.253950b
36
0.0.0-next.3cc45a9
32
0.0.0-next.d3571d4
35
0.0.0-next.01f89f6
9
0.0.0-next.6019604
9
0.0.0-next.d888fab
5
0.0.0-next.4a7a06a
6
0.0.0-next.a65f345
7
0.0.0-next.7fb4405
5
0.0.0-next.518cbe1
5
0.0.0-next.cbe59c9
6
0.0.0-next.a09e9be
4
0.0.0-next.0ce0926
4
0.0.0-next.b47b94e
4
0.0.0-next.4d7bc23
2
0.0.0-next.c4671e3
3
0.0.0-next.4b03359
2
0.0.0-next.9f70405
0
0.0.0-next.6a247c4
0
0.0.0-next.ae2f20c
0
0.0.0-next.b0720d2
0
1.2.0
2,596
0.0.0-next.754784f
0
0.0.0-next.a439c82
0
0.0.0-next.7fd7c94
0
0.0.0-next.775667a
0
0.0.0-next.075ee44
0
0.0.0-next.244297c
1
0.0.0-next.d5f6b77
1
0.0.0-next.9878430
0
0.0.0-next.1330730
0
0.0.0-next.95b67ec
2
0.0.0-next.a2fc015
1
0.0.0-next.7b73a06
2
0.0.0-next.7a6598d
1
1.1.1
331
0.0.0-next.9cd157a
1
0.0.0-next.f635909
1
0.0.0-next.0b87474
2
1.1.0
136
0.0.0-next.4163101
2
0.0.0-next.7336c81
2
0.0.0-next.4c2a250
1
0.0.0-next.9afa7b8
3
0.0.0-next.7c4acaa
1
0.0.0-next.f72e6b9
1
0.0.0-next.68241f5
0
0.0.0-next.eea495c
1
0.0.0-next.7461b74
1
0.0.0-next.2d41af5
1
0.0.0-next.ff41b3a
1
0.0.0-next.b11d127
1
0.0.0-next.4a2200e
1
0.0.0-next.3d10c98
1
0.0.0-next.da5a969
1
0.0.0-next.f710cd7
1
0.0.0-next.16739f4
1
0.0.0-next.d9aa1c2
1
0.0.0-next.912a4ba
0
0.0.0-next.649a676
0
0.0.0-next.9d7bfaa
0
1.0.3
18
0.0.0-next.c788572
0
0.0.0-next.f81b4a2
0
0.0.0-next.e0f01a5
0
0.0.0-next.6f0af5e
0
0.0.0-next.060b589
0
0.0.0-next.2568a3f
0
1.0.0-beta.7
1
0.54.0
6
0.0.0-next.7bb9940
0
0.0.0-next.a2b3a55
0
0.0.0-next.66d4d3b
0
0.0.0-next.df486d6
0
0.0.0-next.a7609ce
0
0.0.0-next.c7f8b1d
0
0.0.0-next.132cc71
0
0.0.0-next.01b4184
1
0.0.0-next.08f0a9e
0
0.0.0-next.589c5b1
1
0.0.0-next.dcc6c29
1
0.0.0-next.816d52d
1
0.0.0-next.ac2c329
1
0.0.0-next.57ccf55
1
0.0.0-next.75edb88
1
0.0.0-next.964aca5
1
0.0.0-next.67f0b13
1
0.0.0-next.40c69eb
1
0.0.0-next.9b13466
1
0.0.0-next.cf06e99
1
0.0.0-next.384d94a
1
0.0.0-next.c287818
1
0.0.0-next.6b26cdc
1
0.0.0-next.6e49c5c
1
0.0.0-next.bb2589d
1
0.0.0-next.a6dec3e
1
0.0.0-next.05d8f9b
1
0.0.0-next.57d90ad
1
1.0.0-beta.6
1
0.53.0
1
0.0.0-next.f538070
1
0.0.0-next.5d5051b
1
0.0.0-next.0adc01c
1
0.0.0-next.c72b962
1
0.0.0-next.3ee2e95
1
0.0.0-next.2f2dbaa
0
0.0.0-next.350a165
1
0.0.0-next.96f9dd3
0
0.0.0-next.d760838
0
0.0.0-next.4c9dd72
0
0.0.0-next.32a6de9
0
0.0.0-next.25532a8
0
0.0.0-next.6b06c96
0
0.0.0-next.85cc28f
0
0.0.0-next.aa59d19
0
0.0.0-next.3191601
0
0.0.0-next.ce2f84d
0
0.0.0-next.ee46dab
0
0.0.0-next.c40d0c9
0
0.0.0-next.655ea3c
0
0.0.0-next.4038fb9
0
0.0.0-next.b5b7502
0
0.0.0-next.bdd211a
0
0.0.0-next.f47352c
0
0.0.0-next.910f96e
0
0.0.0-next.c0ca4c7
0
0.0.0-next.05a8f88
0
1.0.0-beta.5
0
0.52.0
0
0.0.0-next.48a5661
0
0.0.0-next.73eeb92
0
0.0.0-next.1135ce7
0
0.0.0-next.00fb0f4
0
0.0.0-next.1a3a083
0
0.0.0-next.85e5dff
0
0.0.0-next.10ace4f
0
0.0.0-next.d1f8ea3
0
0.0.0-next.aac73c2
0
0.0.0-next.783ae4e
0
0.0.0-next.9486ab5
0
0.0.0-next.54ba24c
0
0.0.0-next.904b0c2
0
0.0.0-next.2f7ecd8
1
0.0.0-next.30c0e6b
0
0.0.0-next.bec9f4e
0
0.0.0-next.a246703
0
0.0.0-next.ea0903c
0
0.0.0-next.a419c18
0
0.0.0-next.427bff4
0
0.0.0-next.173b319
0
1.0.0-beta.4
0
0.51.0
0
0.0.0-next.d3b4900
0
0.0.0-next.6896c4f
0
0.0.0-next.6d75718
0
0.0.0-next.d17ef5e
0
0.0.0-next.62795ca
0
0.0.0-next.73a87c7
0
0.0.0-next.aa51bbc
0
0.0.0-next.b3afdeb
0
0.0.0-next.b4fc1d9
0
0.0.0-next.3e1c2e9
0
1.0.0-beta.3
55
0.50.0
7
0.0.0-next.7134cf9
1
0.0.0-next.1ea8333
0
0.0.0-next.c0dd7cd
0
0.0.0-next.b5ac9a3
0
0.0.0-next.25e937d
0
0.0.0-next.a932824
0
0.0.0-next.8f622a0
0
0.0.0-next.a8e421c
0
0.0.0-next.a4ecb29
0
1.0.0-beta.2
0
0.49.0
1
0.0.0-next.21961be
0
0.0.0-next.e563486
0
0.0.0-next.28aa60a
0
0.0.0-next.9e880d7
0
0.0.0-next.232b708
0
0.0.0-next.8900489
0
0.0.0-next.4fc998d
0
0.0.0-next.98e1b3d
0
0.0.0-next.283e153
0
0.0.0-next.6c1c681
0
0.0.0-next.f4d410a
0
0.0.0-next.33ca37d
0
0.48.0
0
1.0.0-beta.1
0
0.0.0-next.37a3308
0
0.0.0-next.2ebf00e
0
0.0.0-next.9dfcee8
0
0.0.0-next.5737a7d
0
0.0.0-next.5d6030b
0
0.0.0-next.ba53a01
0
0.0.0-next.9fc14d1
0
0.0.0-next.924a598
0
0.0.0-next.32f3296
0
0.0.0-next.0f0c680
0
0.0.0-next.15d9202
0
0.0.0-next.ff68fdb
0
0.0.0-next.b45a533
0
0.0.0-next.d452413
0
0.0.0-next.a5c2886
0
0.0.0-next.8e347ae
0
0.0.0-next.c0afbea
0
0.0.0-next.999d654
0
0.0.0-next.e98b833
0
0.0.0-next.9b9ade5
0
0.0.0-next.cc8802c
0
0.0.0-next.bf49833
0
0.0.0-next.69674a7
0
0.0.0-next.352022d
0
0.0.0-next.6178a6d
0
0.0.0-next.6176ee9
0
0.0.0-next.6c5bfe4
0
0.0.0-next.1d3318c
0
0.0.0-next.3b1dac3
0
0.0.0-next.9adcd05
0
0.0.0-next.3afb521
0
0.0.0-next.371be67
0
0.0.0-next.2546825
0
0.0.0-next.4534675
0
0.47.0
0
0.0.0-next.c0088c7
0
0.0.0-next.56cbd20
0
0.0.0-next.1431467
0
0.0.0-next.62473ae
0
0.0.0-next.68378b4
0
0.0.0-next.b0d4662
0
0.0.0-next.df024bb
0
0.0.0-next.954e6e2
1
0.46.0
0
0.0.0-next.93e6063
0
0.0.0-next.d16a1b6
0
0.0.0-next.0165ee0
0
0.0.0-next.09ec5b4
0
0.0.0-next.e7ee5a9
0
0.45.1
0
0.0.0-next.1b15515
0
0.45.0
0
0.0.0-next.2fcf6dc
0
0.0.0-next.05ebcce
0
0.0.0-next.cd121e3
0
0.0.0-next.a05fbfd
0
0.0.0-next.85df466
0
0.44.0
0
0.0.0-next.b0f324e
0
0.0.0-next.84e58e0
0
0.0.0-next.d0e429d
0
0.0.0-next.b36125c
0
0.0.0-next.92faaf9
0
0.0.0-next.ca29a36
0
0.0.0-next.fea68c1
0
0.0.0-next.ac2a918
0
0.0.0-next.cc4cb21
0
0.0.0-next.370978b
0
0.0.0-next.b2e67f7
0
0.43.0
0
0.0.0-next.7e41bc4
0
0.0.0-next.fd117b2
0
0.0.0-next.553adec
0
0.0.0-next.5559bf8
0
0.42.0
0
0.0.0-next.f17a1a0
0
0.0.0-next.7e904b4
0
0.0.0-next.47e44e3
0
0.0.0-next.0c0619f
0
0.0.0-next.0d235c8
0
0.0.0-next.d5f0415
0
0.41.2
0
0.0.0-next.905e81c
0
0.0.0-next.30f4fa7
0
0.0.0-next.6c13765
0
0.0.0-next.7d3bd71
0
0.0.0-next.fd0ca3d
0
0.0.0-next.ff5907c
0
0.41.1
0
0.0.0-next.380dcaa
0
0.0.0-next.430a0fe
0
0.0.0-next.4f63ec1
0
0.0.0-next.fe39bf3
0
0.0.0-next.7fe1333
0
0.0.0-next.3cb80cf
0
0.41.0
0
0.0.0-next.59108a3
0
0.0.0-next.3826d73
0
0.40.0
0
0.0.0-next.d74cac4
0
0.0.0-next.6affcc9
0
0.0.0-next.bf323bf
0
0.0.0-next.3f40711
0
0.0.0-next.9125edb
0
0.0.0-next.989a435
0
0.39.0
0
0.0.0-next.5b2c897
0
0.0.0-next.da8ae32
0
0.38.0
1
0.0.0-next.b4e6d3a
0
0.0.0-next.435356b
1
0.0.0-next.64762ac
1
0.0.0-next.b42ba03
1
0.0.0-next.a8ad31d
1
0.37.0
0
0.0.0-next.0787cc6
0
0.0.0-next.7b09958
0
0.0.0-next.0361c32
0
0.0.0-next.172fe95
0
0.0.0-next.854b646
0
0.0.0-next.bc9d3dd
0
0.36.1
0
0.0.0-next.564695e
0
0.36.0
0
0.0.0-next.9723092
0
0.0.0-next.b825e0c
0
0.0.0-next.caefe3a
0
0.35.1
0
0.0.0-next.6acfc62
0
0.35.0
0
0.0.0-next.31590a1
0
0.0.0-next.c3068b4
1
0.0.0-next.ad0709a
0
0.0.0-next.ccd4e42
0
0.34.0
0
0.0.0-next.9fe2a8b
0
0.0.0-next.c099c92
0
0.0.0-next.bc564a6
0
0.33.0
0
0.0.0-next.f56d2b3
0
0.0.0-next.8f101b9
1
0.0.0-next.32cb70c
0
0.0.0-next.ed15210
0
0.0.0-next.43889a7
0
0.0.0-next.a2e4a58
0
0.32.0
0
0.0.0-next.0c8e57d
0
0.0.0-next.4e27480
0
0.31.0
0
0.0.0-next.44bdf93
0
0.0.0-next.43c0c87
0
0.0.0-next.c4a591c
0
0.0.0-next.f22c7ec
0
0.30.0
0
0.0.0-next.a3c9e47
0
0.0.0-next.9914009
0
0.0.0-next.cba521d
1
0.29.0
0
0.0.0-next.da84cda
0
0.0.0-next.c6c659d
0
0.0.0-next.23aa4be
1
0.0.0-next.4220427
0
0.28.0
0
0.0.0-next.9b3a030
0
0.0.0-next.748dfd9
0
0.0.0-next.7ea4bbf
0
0.0.0-next.141bae5
0
0.27.0
0
0.0.0-next.331b26b
0
0.0.0-next.aa72097
0
0.0.0-next.911bdd9
0
0.26.0
0
0.0.0-next.7e55b05
0
0.25.0
0
0.0.0-next.4a31e17
0
0.0.0-next.837ee14
0
0.0.0-next.00a3135
0
0.0.0-next.22ccd98
0
0.0.0-next.67ca77c
0
0.0.0-next.3f6c426
0
0.0.0-next.5204560
0
0.0.0-next.6083cd9
0
0.0.0-next.0a2672f
0
0.0.0-next.3b1cf14
0
0.0.0-next.e7d7758
0
0.0.0-next.e7b4f63
0
0.24.0
0
0.0.0-next.f99e554
0
0.0.0-next.73eb96a
0
0.23.0
0
0.0.0-next.fd1db03
0
0.0.0-next.1cee930
0
0.0.0-next.0f053ee
0
0.0.0-next.07423e6
0
0.0.0-next.af8ac85
0
0.0.0-next.c12be86
0
0.22.0
0
0.0.0-next.0d79ab9
0
0.0.0-next.011bc88
0
0.0.0-next.649534d
0
0.21.0
0
0.0.0-next.eb37cbe
0
0.0.0-next.b6be6f0
0
0.0.0-next.2ba0691
0
0.0.0-next.9ada823
0
0.0.0-next.5d3da98
0
0.0.0-next.c29cb6d
0
0.20.0
0
0.0.0-next.d7b5662
0
0.0.0-next.2a66984
0
0.19.0
0
0.0.0-next.d42488d
0
0.0.0-next.9588d75
0
0.18.0
0
0.0.0-next.93e7a4c
0
0.0.0-next.0640aed
0
0.0.0-next.97446ff
0
0.0.0-next.2281fcb
0
0.0.0-next.e361acd
0
0.17.0
0
0.0.0-next.316c163
0
0.0.0-next.56e31fa
0
0.0.0-next.57a6344
0
0.0.0-next.10945d3
0
0.0.0-next.ee0aeaf
0
0.0.0-next.4555a17
0
0.16.0
0
0.0.0-next.18dacf3
0
0.0.0-next.7b4c812
0
0.0.0-next.3f3f19b
0
0.0.0-next.571d5d7
0
0.0.0-next.5e77e65
0
0.15.0
0
0.0.0-next.568a5ad
0
0.0.0-next.9306271
0
0.0.0-next.2f8ca7f
0
0.0.0-next.8b5a6d6
0
0.0.0-next.6a7b82f
0
0.0.0-next.86f057c
0
0.0.011

Package Sidebar

Install

npm i @orpc/react-query

Weekly Downloads

3,832

Version

1.2.0

License

MIT

Unpacked Size

21.8 kB

Total Files

6

Last publish

Collaborators

  • unnoq