@codewithagents/openapi-react-query 3.12.2 → 3.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  📖 **[Full documentation](https://openapi.codewithagents.de/openapi-react-query)**
9
9
 
10
- Generate typed [React Query v5](https://tanstack.com/query/v5) hooks from an OpenAPI 3.1 spec. Run once, get a fully typed `useQuery` hook per GET endpoint and a `useMutation` hook per write operation. No hand-written boilerplate.
10
+ `@codewithagents/openapi-react-query` is an OpenAPI React Query codegen tool that generates typed TanStack Query v5 hooks (`useQuery`, `useMutation`, key factories) directly from your OpenAPI 3.1 spec, with no hand-written boilerplate and full TypeScript strict-mode compliance.
11
11
 
12
12
  - **One hook per operation**: a `useQuery` variant for every GET and a `useMutation` for every write. Types are derived directly from the generated client, no duplication.
13
13
  - **`queryOptions()` factories**: a plain `xxxQueryOptions()` factory alongside every `useQuery` hook, enabling `queryClient.prefetchQuery()` in Next.js App Router server components and `<HydrationBoundary>` SSR patterns.
@@ -55,6 +55,9 @@ Create `openapi-react-query.config.json` in your project root:
55
55
  | `suspense` | No | `false` | When `true`, generates a `useSuspense*` variant alongside every query hook |
56
56
  | `auto_invalidate` | No | `false` | When `true`, mutation hooks auto-invalidate related queries on success |
57
57
  | `infinite_query` | No | `'auto'` | `boolean \| 'auto'`. Generates a `useXxxInfinite` hook for paginated list operations. `'auto'` detects paginated GETs; `true` forces generation, `false` disables it |
58
+ | `typed_errors` | No | `false` | When `true`, hooks type their error as the client's per-operation error alias (e.g. `GetTaskError`), so `error.status` narrows `error.body` (see [Typed per-status errors](#typed-per-status-errors)) |
59
+ | `queries` | No | `false` | When `true`, generates a `useXxxQueries(paramsList, options?, combine?)` hook per GET operation with parameters, for a dynamic number of parallel queries (see [Dynamic parallel queries](#dynamic-parallel-queries)) |
60
+ | `optimistic_updates` | No | `false` | When `true`, mutation hooks accept an `optimistic: { queryKey, updater }` option that updates the cache before the request and rolls back on error (see [Optimistic updates](#optimistic-updates)) |
58
61
  | `overrides` | No | none | Per-resource cache timing (see [Per-resource cache timing](#per-resource-cache-timing)) |
59
62
 
60
63
  ## Generate
@@ -76,6 +79,8 @@ Or add to `package.json`:
76
79
  }
77
80
  ```
78
81
 
82
+ Testing the hooks? The output directory also gets a generated `test-utils.ts` with `createTestQueryClient()` (no retries, `gcTime: 0`) and `createWrapper()` (a `QueryClientProvider` wrapper for `renderHook`), so you do not hand-write that setup. See [Testing](#testing).
83
+
79
84
  ## What gets generated
80
85
 
81
86
  Given a spec with a `/tasks` resource, `hooks.ts` contains:
@@ -161,6 +166,64 @@ All types are derived from the generated client, no duplication:
161
166
  - Data type: `Awaited<ReturnType<typeof listTasks>>`
162
167
  - Variables type: `Parameters<typeof createTask>[0]`
163
168
 
169
+ ## Typed `select` transforms
170
+
171
+ Every query hook, `queryOptions` factory, `useSuspense*` hook and `useXxxInfinite` hook takes a `TData` generic that defaults to the response type. A `select` transform therefore changes the type of `data`:
172
+
173
+ ```ts
174
+ const { data } = useGetTask(id, { select: (task) => task.title })
175
+ // ^? string | undefined
176
+
177
+ const { data: count } = useListTasks({}, { select: (page) => page.items.length })
178
+ // ^? number | undefined
179
+
180
+ // The queryOptions factory carries the select type into useQuery / useQueries
181
+ useQuery(getTaskQueryOptions(id, { select: (task) => task.id }))
182
+ ```
183
+
184
+ Without `select`, `data` is still the raw response type, so existing call sites (including explicit `UseQueryResult<Task, ApiError>` annotations) keep compiling.
185
+
186
+ ## Typed per-status errors
187
+
188
+ `openapi-zod-ts` exports a per-operation error alias from `client.ts` for every operation that documents explicit `4xx` / `5xx` responses, e.g. `export type GetTaskError = ApiError<404, NotFound> | ApiError<422, ValidationProblem>`. With `typed_errors: true` the hooks use it as their error type:
189
+
190
+ ```ts
191
+ const { error } = useGetTask(id)
192
+ if (error?.status === 422) {
193
+ error.body.errors // ValidationProblem
194
+ }
195
+
196
+ useCreateTask({
197
+ onError: (error) => {
198
+ if (error.status === 409) toast(error.body.message)
199
+ },
200
+ })
201
+ ```
202
+
203
+ Operations without documented error statuses keep `ApiError`. This is opt-in because the alias only lists *documented* statuses: an existing comparison against an undocumented status (`error.status === 500`) stops compiling once the type is narrowed, and an undocumented status at runtime is still thrown as a plain `ApiError`.
204
+
205
+ ## Dynamic parallel queries
206
+
207
+ When `queries: true` in config, every GET operation that takes parameters also gets a `useXxxQueries` hook: a `useQueries` wrapper that builds each query with the operation's `xxxQueryOptions` factory, so cache keys, timing and `queryFn` match the single-query hook exactly.
208
+
209
+ ```ts
210
+ // One argument (a path param or the params object): pass the values directly
211
+ const results = useGetTaskQueries(taskIds) // UseQueryResult<Task, ApiError>[]
212
+
213
+ // Several arguments: pass one tuple per query, in client-function order
214
+ const repos = useGetRepoQueries([
215
+ ['acme', 'web', { ref: 'main' }],
216
+ ['acme', 'api', { ref: 'main' }],
217
+ ])
218
+
219
+ // Shared options apply to every query; `combine` reduces the results
220
+ const titles = useGetTaskQueries(taskIds, { staleTime: 60_000 }, (results) =>
221
+ results.flatMap((r) => (r.data ? [r.data.title] : []))
222
+ )
223
+ ```
224
+
225
+ Operations without parameters get no `useXxxQueries` hook (there is nothing to vary). With `typed_errors: true` the results use the per-operation error alias.
226
+
164
227
  ## Next.js App Router SSR prefetch
165
228
 
166
229
  The generated `queryOptions` factories work in React Server Components (RSC) without any client-boundary workarounds. Prefetch on the server, then pass the dehydrated cache to the client:
@@ -259,6 +322,29 @@ Invalidation scope:
259
322
 
260
323
  Your `onSuccess` callback (if provided in `options`) is called after invalidation.
261
324
 
325
+ ## Optimistic updates
326
+
327
+ When `optimistic_updates: true` in config, every mutation hook accepts an `optimistic` option implementing the TanStack Query v5 optimistic-update recipe:
328
+
329
+ ```ts
330
+ const update = useUpdateTask({
331
+ optimistic: {
332
+ // static key, or derived from the mutation variables
333
+ queryKey: (vars) => taskKeys.detail(vars.id),
334
+ // annotate `old` to type the cache entry
335
+ updater: (old: Task | undefined, vars) => old && { ...old, ...vars.body },
336
+ },
337
+ })
338
+ update.mutate({ id: '123', body: { title: 'Renamed' } }) // the UI updates immediately
339
+ ```
340
+
341
+ What the generated hook does:
342
+ - **onMutate**: `cancelQueries` for the key (so an in-flight fetch cannot overwrite the optimistic value), snapshots `getQueryData`, then `setQueryData` with your `updater`.
343
+ - **onError**: restores the snapshot (or resets the entry if it was not cached before).
344
+ - **onSettled**: invalidates the key so the server state wins.
345
+
346
+ Your own `onMutate` / `onError` / `onSuccess` / `onSettled` still run. `onMutate` runs after the optimistic write, and whatever it returns is passed to your other callbacks as their context, exactly as without the option. With `auto_invalidate: true` the resource invalidation runs on success as well. Without an `optimistic` option the hooks behave exactly like plain mutations. The hooks export `OptimisticUpdate<TVariables, TQueryData>` and `OptimisticContext<TContext>` types.
347
+
262
348
  ## Per-resource cache timing
263
349
 
264
350
  Use `overrides` in config to set different `staleTime` / `gcTime` per resource:
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE5C,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;AAExD,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;IAC7B,OAAO,CAAC,GAAG,CACT;QACE,8CAA8C;QAC9C,EAAE;QACF,+DAA+D;QAC/D,EAAE;QACF,UAAU;QACV,2FAA2F;QAC3F,4CAA4C;QAC5C,yCAAyC;KAC1C,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAA;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;IAChC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAC5C,CAAA;IACxB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;IAC9B,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;IAC3D,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;IACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE5C,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;AAExD,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;IAC7B,OAAO,CAAC,GAAG,CACT;QACE,8CAA8C;QAC9C,EAAE;QACF,+DAA+D;QAC/D,EAAE;QACF,UAAU;QACV,2FAA2F;QAC3F,4CAA4C;QAC5C,yCAAyC;KAC1C,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAA;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;IAChC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAExF,CAAA;IACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;IAC9B,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;IAC3D,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;IACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
package/dist/config.d.ts CHANGED
@@ -25,6 +25,21 @@ export interface ReactQueryConfig {
25
25
  * - false: never emit useXxxInfinite hooks.
26
26
  */
27
27
  infinite_query?: boolean | 'auto';
28
+ /**
29
+ * When true, hooks type their error as the client's per-operation error alias
30
+ * (e.g. `GetPetError`) so `error.status` narrows `error.body` (default: false).
31
+ */
32
+ typed_errors?: boolean;
33
+ /**
34
+ * When true, emits a `useXxxQueries(paramsList, options?, combine?)` useQueries
35
+ * wrapper per parameterized GET operation (default: false).
36
+ */
37
+ queries?: boolean;
38
+ /**
39
+ * When true, mutation hooks accept an `optimistic: { queryKey, updater }` option
40
+ * for optimistic cache updates with rollback on error (default: false).
41
+ */
42
+ optimistic_updates?: boolean;
28
43
  }
29
44
  export declare function loadConfig(cwd: string, configPath?: string): Promise<ReactQueryConfig>;
30
45
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAA;AAEpE,MAAM,WAAW,gBAAgB;IAC/B,mDAAmD;IACnD,aAAa,EAAE,MAAM,CAAA;IACrB,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAA;IACd,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,iGAAiG;IACjG,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACrE,qGAAqG;IACrG,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;CAClC;AAiED,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAO5F;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAO7B"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAA;AAEpE,MAAM,WAAW,gBAAgB;IAC/B,mDAAmD;IACnD,aAAa,EAAE,MAAM,CAAA;IACrB,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAA;IACd,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,iGAAiG;IACjG,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACrE,qGAAqG;IACrG,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IACjC;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAsED,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAO5F;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAO/F"}
package/dist/config.js CHANGED
@@ -38,6 +38,9 @@ function validateReactQueryFields(raw) {
38
38
  expectNumber(raw, 'gc_time', '"gc_time" must be a number (milliseconds)');
39
39
  expectBoolean(raw, 'suspense', '"suspense" must be a boolean');
40
40
  expectBoolean(raw, 'auto_invalidate', '"auto_invalidate" must be a boolean');
41
+ expectBoolean(raw, 'typed_errors', '"typed_errors" must be a boolean');
42
+ expectBoolean(raw, 'queries', '"queries" must be a boolean');
43
+ expectBoolean(raw, 'optimistic_updates', '"optimistic_updates" must be a boolean');
41
44
  validateInfiniteQuery(raw['infinite_query']);
42
45
  if (raw['overrides'] !== undefined)
43
46
  validateOverrides(raw['overrides']);
@@ -52,6 +55,9 @@ function parseReactQueryConfig(raw, base) {
52
55
  overrides: raw['overrides'],
53
56
  auto_invalidate: raw['auto_invalidate'],
54
57
  infinite_query: raw['infinite_query'],
58
+ typed_errors: raw['typed_errors'],
59
+ queries: raw['queries'],
60
+ optimistic_updates: raw['optimistic_updates'],
55
61
  };
56
62
  }
57
63
  export async function loadConfig(cwd, configPath) {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAkEA,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG9E"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAiEA,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG9E"}
package/dist/generator.js CHANGED
@@ -40,6 +40,9 @@ async function generateOne(cwd, config, label) {
40
40
  overrides,
41
41
  autoInvalidate: config.auto_invalidate,
42
42
  infiniteQuery: config.infinite_query,
43
+ typedErrors: config.typed_errors,
44
+ queries: config.queries,
45
+ optimisticUpdates: config.optimistic_updates,
43
46
  }),
44
47
  generateTestUtils(spec),
45
48
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,25 @@ export interface HookGenOptions {
15
15
  * - false: never emit useXxxInfinite hooks.
16
16
  */
17
17
  infiniteQuery?: boolean | 'auto';
18
+ /**
19
+ * When true, hooks type their error as the client's per-operation error alias
20
+ * (e.g. `GetPetError = ApiError<404, NotFound> | ApiError<422, ...>`) instead of
21
+ * bare `ApiError`, so `error.status === 422` narrows `error.body`. Operations
22
+ * without documented 4xx/5xx responses keep `ApiError`. Default: false.
23
+ */
24
+ typedErrors?: boolean;
25
+ /**
26
+ * When true, emits a `useXxxQueries(paramsList, options?, combine?)` hook per
27
+ * GET operation with parameters: a `useQueries` wrapper over the operation's
28
+ * queryOptions factory for a dynamic number of parallel queries. Default: false.
29
+ */
30
+ queries?: boolean;
31
+ /**
32
+ * When true, mutation hooks accept an `optimistic: { queryKey, updater }` option
33
+ * that applies an optimistic cache update with snapshot rollback on error and
34
+ * invalidation on settle, composed with the caller's callbacks. Default: false.
35
+ */
36
+ optimisticUpdates?: boolean;
18
37
  }
19
38
  export declare function generateHooks(spec: OpenAPIV3_1.Document, options: HookGenOptions): {
20
39
  filename: string;
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/plugins/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAgBhD,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACjE,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;CACjC;AAi7BD,wBAAgB,aAAa,CAC3B,IAAI,EAAE,WAAW,CAAC,QAAQ,EAC1B,OAAO,EAAE,cAAc,GACtB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CA4NvC"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/plugins/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAiBhD,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACjE,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IAChC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B;AAyoCD,wBAAgB,aAAa,CAC3B,IAAI,EAAE,WAAW,CAAC,QAAQ,EAC1B,OAAO,EAAE,cAAc,GACtB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAyOvC"}
@@ -1,4 +1,4 @@
1
- import { sanitizeOperationId, deriveOperationName, uniquifyName, buildWritableVariantMap, resolveBodyRefToWritableName, CLIENT_INTERNAL_NAMES, getParamPresence, } from 'openapi-zod-ts';
1
+ import { sanitizeOperationId, deriveOperationName, uniquifyName, buildWritableVariantMap, resolveBodyRefToWritableName, CLIENT_INTERNAL_NAMES, getParamPresence, buildOperationErrorTypeNames, } from 'openapi-zod-ts';
2
2
  // ── Helpers ───────────────────────────────────────────────────────────────────
3
3
  function isRef(obj) {
4
4
  return typeof obj === 'object' && obj !== null && '$ref' in obj;
@@ -112,9 +112,7 @@ function getResolvedQueryParamNames(pathItem, operation, spec) {
112
112
  for (const p of resolved) {
113
113
  seen.set(`${p.name}::${p.in}`, p);
114
114
  }
115
- return [...seen.values()]
116
- .filter((p) => p.in === 'query')
117
- .map((p) => p.name);
115
+ return [...seen.values()].filter((p) => p.in === 'query').map((p) => p.name);
118
116
  }
119
117
  const PAGINATED_FALSE = { isPaginated: false, pageParamName: undefined };
120
118
  /**
@@ -266,6 +264,15 @@ function buildKeyFactory(resource, entries) {
266
264
  return lines.join('\n');
267
265
  }
268
266
  // ── queryOptions factory generation ───────────────────────────────────────────
267
+ /**
268
+ * The raw response type of a client function (the queryFn's resolved value).
269
+ * Every query hook / factory also takes a `TData` generic defaulting to this
270
+ * type, so a caller's `select` transform narrows the hook's `data` type
271
+ * (#195). The default keeps existing call sites source compatible.
272
+ */
273
+ function queryDataType(funcName) {
274
+ return `Awaited<ReturnType<typeof ${funcName}>>`;
275
+ }
269
276
  /**
270
277
  * Derives the factory function name for a GET operation.
271
278
  * e.g. funcName "listTasks" -> "listTasksQueryOptions"
@@ -295,6 +302,7 @@ function buildQueryKeyCall(keyFactoryName, keyEntry, pathParams, hasQueryParams,
295
302
  */
296
303
  function buildQueryOptionsFactory(op, keyFactoryName, keyEntry, staleTime, gcTime) {
297
304
  const lines = [];
305
+ const dataType = queryDataType(op.funcName);
298
306
  const hasQueryParams = keyEntry.hasQueryParams;
299
307
  const paramsRequired = keyEntry.hasRequiredQueryParams;
300
308
  const pathParams = op.pathParams;
@@ -309,7 +317,7 @@ function buildQueryOptionsFactory(op, keyFactoryName, keyEntry, staleTime, gcTim
309
317
  const paramsToken = paramsRequired ? 'params' : 'params?';
310
318
  sigParts.push(`${paramsToken}: Parameters<typeof ${op.funcName}>[${pathParams.length}]`);
311
319
  }
312
- sigParts.push(`options?: Omit<UseQueryOptions<Awaited<ReturnType<typeof ${op.funcName}>>, ApiError>, 'queryKey' | 'queryFn'>`);
320
+ sigParts.push(`options?: Omit<UseQueryOptions<${dataType}, ${op.errorType}, TData>, 'queryKey' | 'queryFn'>`);
313
321
  const queryKeyCall = buildQueryKeyCall(keyFactoryName, keyEntry, pathParams, hasQueryParams, false);
314
322
  const queryFnArgs = [...pathParams];
315
323
  if (hasQueryParams)
@@ -319,10 +327,10 @@ function buildQueryOptionsFactory(op, keyFactoryName, keyEntry, staleTime, gcTim
319
327
  if (op.deprecated) {
320
328
  lines.push(`/** @deprecated */`);
321
329
  }
322
- lines.push(`export function ${factoryName}(`);
330
+ lines.push(`export function ${factoryName}<TData = ${dataType}>(`);
323
331
  lines.push(` ${sigParts.join(',\n ')},`);
324
332
  lines.push(`) {`);
325
- lines.push(` return queryOptions<Awaited<ReturnType<typeof ${op.funcName}>>, ApiError>({`);
333
+ lines.push(` return queryOptions<${dataType}, ${op.errorType}, TData>({`);
326
334
  lines.push(` queryKey: ${queryKeyCall},`);
327
335
  lines.push(` queryFn: () => ${queryFnCall},`);
328
336
  lines.push(` staleTime: ${staleTime},`);
@@ -335,6 +343,7 @@ function buildQueryOptionsFactory(op, keyFactoryName, keyEntry, staleTime, gcTim
335
343
  // ── Query hook generation ──────────────────────────────────────────────────────
336
344
  function buildQueryHook(op, keyFactoryName, keyEntry, staleTime, gcTime) {
337
345
  const lines = [];
346
+ const dataType = queryDataType(op.funcName);
338
347
  const hasQueryParams = keyEntry.hasQueryParams;
339
348
  const paramsRequired = keyEntry.hasRequiredQueryParams;
340
349
  const pathParams = op.pathParams;
@@ -350,7 +359,7 @@ function buildQueryHook(op, keyFactoryName, keyEntry, staleTime, gcTime) {
350
359
  const paramsToken = paramsRequired ? 'params' : 'params?';
351
360
  sigParts.push(`${paramsToken}: Parameters<typeof ${op.funcName}>[${pathParams.length}]`);
352
361
  }
353
- sigParts.push(`options?: Omit<UseQueryOptions<Awaited<ReturnType<typeof ${op.funcName}>>, ApiError>, 'queryKey' | 'queryFn'>`);
362
+ sigParts.push(`options?: Omit<UseQueryOptions<${dataType}, ${op.errorType}, TData>, 'queryKey' | 'queryFn'>`);
354
363
  // Build queryKey call (with non-null assertions for path params, since hook has enabled guard)
355
364
  const queryKeyCall = buildQueryKeyCall(keyFactoryName, keyEntry, pathParams, hasQueryParams, true);
356
365
  // Build queryFn call — use non-null assertions
@@ -366,10 +375,10 @@ function buildQueryHook(op, keyFactoryName, keyEntry, staleTime, gcTime) {
366
375
  if (op.deprecated) {
367
376
  lines.push(`/** @deprecated */`);
368
377
  }
369
- lines.push(`export function ${op.hookName}(`);
378
+ lines.push(`export function ${op.hookName}<TData = ${dataType}>(`);
370
379
  lines.push(` ${sigParts.join(',\n ')},`);
371
380
  lines.push(`) {`);
372
- lines.push(` return useQuery<Awaited<ReturnType<typeof ${op.funcName}>>, ApiError>({`);
381
+ lines.push(` return useQuery<${dataType}, ${op.errorType}, TData>({`);
373
382
  lines.push(` queryKey: ${queryKeyCall},`);
374
383
  lines.push(` queryFn: () => ${queryFnCall},`);
375
384
  lines.push(` staleTime: ${staleTime},`);
@@ -384,6 +393,7 @@ function buildQueryHook(op, keyFactoryName, keyEntry, staleTime, gcTime) {
384
393
  }
385
394
  function buildSuspenseQueryHook(op, keyFactoryName, keyEntry, staleTime, gcTime) {
386
395
  const lines = [];
396
+ const dataType = queryDataType(op.funcName);
387
397
  const hasQueryParams = keyEntry.hasQueryParams;
388
398
  const paramsRequired = keyEntry.hasRequiredQueryParams;
389
399
  const pathParams = op.pathParams;
@@ -397,7 +407,7 @@ function buildSuspenseQueryHook(op, keyFactoryName, keyEntry, staleTime, gcTime)
397
407
  const paramsToken = paramsRequired ? 'params' : 'params?';
398
408
  sigParts.push(`${paramsToken}: Parameters<typeof ${op.funcName}>[${pathParams.length}]`);
399
409
  }
400
- sigParts.push(`options?: Omit<UseSuspenseQueryOptions<Awaited<ReturnType<typeof ${op.funcName}>>, ApiError>, 'queryKey' | 'queryFn'>`);
410
+ sigParts.push(`options?: Omit<UseSuspenseQueryOptions<${dataType}, ${op.errorType}, TData>, 'queryKey' | 'queryFn'>`);
401
411
  // Build queryKey call (no non-null assertions — suspense params are always required strings)
402
412
  const queryKeyCall = buildQueryKeyCall(keyFactoryName, keyEntry, pathParams, hasQueryParams, false);
403
413
  // Build queryFn call
@@ -409,10 +419,10 @@ function buildSuspenseQueryHook(op, keyFactoryName, keyEntry, staleTime, gcTime)
409
419
  if (op.deprecated) {
410
420
  lines.push(`/** @deprecated */`);
411
421
  }
412
- lines.push(`export function ${suspenseHookName}(`);
422
+ lines.push(`export function ${suspenseHookName}<TData = ${dataType}>(`);
413
423
  lines.push(` ${sigParts.join(',\n ')},`);
414
424
  lines.push(`) {`);
415
- lines.push(` return useSuspenseQuery<Awaited<ReturnType<typeof ${op.funcName}>>, ApiError>({`);
425
+ lines.push(` return useSuspenseQuery<${dataType}, ${op.errorType}, TData>({`);
416
426
  lines.push(` queryKey: ${queryKeyCall},`);
417
427
  lines.push(` queryFn: () => ${queryFnCall},`);
418
428
  lines.push(` staleTime: ${staleTime},`);
@@ -422,6 +432,53 @@ function buildSuspenseQueryHook(op, keyFactoryName, keyEntry, staleTime, gcTime)
422
432
  lines.push(`}`);
423
433
  return lines.join('\n');
424
434
  }
435
+ // ── Dynamic parallel queries (useQueries) ─────────────────────────────────────
436
+ /**
437
+ * Builds `useXxxQueries` for a GET operation: one query per entry of
438
+ * `paramsList`, each built by the operation's queryOptions factory so keys,
439
+ * timing and queryFn stay identical to the single-query hook.
440
+ *
441
+ * Entry shape: the bare argument when the factory takes exactly one (a path
442
+ * param, or the params object), otherwise a labeled tuple of the factory's
443
+ * positional arguments. Returns undefined for operations without parameters
444
+ * (there is nothing to vary between parallel queries).
445
+ */
446
+ function buildQueriesHook(op, hookName) {
447
+ const { funcName, pathParams, hasQueryParams, hasRequiredQueryParams } = op;
448
+ const argNames = hasQueryParams ? [...pathParams, 'params'] : [...pathParams];
449
+ if (argNames.length === 0)
450
+ return undefined;
451
+ const dataType = queryDataType(funcName);
452
+ const resultType = `UseQueryResult<${dataType}, ${op.errorType}>[]`;
453
+ let entryType;
454
+ let mapArg;
455
+ if (argNames.length === 1) {
456
+ entryType = `Parameters<typeof ${funcName}>[0]`;
457
+ mapArg = argNames[0];
458
+ }
459
+ else {
460
+ const labeled = argNames.map((name, i) => {
461
+ const optional = name === 'params' && !hasRequiredQueryParams ? '?' : '';
462
+ return `${name}${optional}: Parameters<typeof ${funcName}>[${i}]`;
463
+ });
464
+ entryType = `readonly [${labeled.join(', ')}]`;
465
+ mapArg = `[${argNames.join(', ')}]`;
466
+ }
467
+ const lines = [];
468
+ if (op.deprecated)
469
+ lines.push(`/** @deprecated */`);
470
+ lines.push(`export function ${hookName}<TCombinedResult = ${resultType}>(`);
471
+ lines.push(` paramsList: ReadonlyArray<${entryType}>,`);
472
+ lines.push(` options?: Omit<UseQueryOptions<${dataType}, ${op.errorType}>, 'queryKey' | 'queryFn'>,`);
473
+ lines.push(` combine?: (results: ${resultType}) => TCombinedResult,`);
474
+ lines.push(`): TCombinedResult {`);
475
+ lines.push(` return useQueries({`);
476
+ lines.push(` queries: paramsList.map((${mapArg}) => ${queryOptionsFuncName(funcName)}(${argNames.join(', ')}, options)),`);
477
+ lines.push(` combine,`);
478
+ lines.push(` })`);
479
+ lines.push(`}`);
480
+ return lines.join('\n');
481
+ }
425
482
  // ── Infinite query hook generation ────────────────────────────────────────────
426
483
  /**
427
484
  * Builds the query key call for the infinite hook.
@@ -447,12 +504,13 @@ function buildInfiniteQueryHook(op, keyFactoryName, keyEntry, pageParamName, sta
447
504
  const lines = [];
448
505
  const { funcName, hasQueryParams, hasRequiredQueryParams, deprecated } = op;
449
506
  const infiniteHookName = `use${capitalize(funcName)}Infinite`;
507
+ const dataType = queryDataType(funcName);
450
508
  const sigParts = [];
451
509
  if (hasQueryParams) {
452
510
  const paramsToken = hasRequiredQueryParams ? 'params' : 'params?';
453
511
  sigParts.push(`${paramsToken}: Parameters<typeof ${funcName}>[0]`);
454
512
  }
455
- sigParts.push(`options?: Omit<UseInfiniteQueryOptions<Awaited<ReturnType<typeof ${funcName}>>, ApiError, InfiniteData<Awaited<ReturnType<typeof ${funcName}>>>, QueryKey, unknown>, 'queryKey' | 'queryFn' | 'getNextPageParam' | 'initialPageParam'>`);
513
+ sigParts.push(`options?: Omit<UseInfiniteQueryOptions<${dataType}, ${op.errorType}, TData, QueryKey, unknown>, 'queryKey' | 'queryFn' | 'getNextPageParam' | 'initialPageParam'>`);
456
514
  const queryKeyCall = buildInfiniteQueryKeyCall(keyFactoryName, keyEntry, hasQueryParams);
457
515
  // Build queryFn: merges pageParam into the params object under the detected param name
458
516
  let queryFnBody;
@@ -465,10 +523,10 @@ function buildInfiniteQueryHook(op, keyFactoryName, keyEntry, pageParamName, sta
465
523
  if (deprecated) {
466
524
  lines.push(`/** @deprecated */`);
467
525
  }
468
- lines.push(`export function ${infiniteHookName}(`);
526
+ lines.push(`export function ${infiniteHookName}<TData = InfiniteData<${dataType}>>(`);
469
527
  lines.push(` ${sigParts.join(',\n ')},`);
470
528
  lines.push(`) {`);
471
- lines.push(` return useInfiniteQuery<Awaited<ReturnType<typeof ${funcName}>>, ApiError, InfiniteData<Awaited<ReturnType<typeof ${funcName}>>>, QueryKey, unknown>({`);
529
+ lines.push(` return useInfiniteQuery<${dataType}, ${op.errorType}, TData, QueryKey, unknown>({`);
472
530
  lines.push(` queryKey: ${queryKeyCall},`);
473
531
  lines.push(` queryFn: ${queryFnBody},`);
474
532
  lines.push(` initialPageParam: undefined,`);
@@ -544,9 +602,7 @@ function buildMutationVars(op, paramsArgIndex) {
544
602
  }
545
603
  // Multiple path params. Each path param type is derived from its positional
546
604
  // index in the client function so integer params stay number (#300).
547
- const fields = pathParams
548
- .map((p, i) => `${p}: Parameters<typeof ${funcName}>[${i}]`)
549
- .join('; ');
605
+ const fields = pathParams.map((p, i) => `${p}: Parameters<typeof ${funcName}>[${i}]`).join('; ');
550
606
  if (!hasBody && !hasQueryParams) {
551
607
  const destructured = pathParams.join(', ');
552
608
  return {
@@ -577,62 +633,162 @@ function buildMutationVars(op, paramsArgIndex) {
577
633
  mutationFnBody: `({ ${destructured} }) => ${funcName}(${[...pathParams, 'body', 'params'].join(', ')})`,
578
634
  };
579
635
  }
580
- function buildMutationHook(op, autoInvalidate, invalidateInfo) {
636
+ /**
637
+ * Emits the auto-invalidation `onSuccess` for a mutation hook. `optionsRef` is
638
+ * the expression holding the caller's options (`options?`, or the optimistic
639
+ * wrapper's `mutationOptions`) whose `onSuccess` is composed inside.
640
+ */
641
+ function buildAutoInvalidateOnSuccess(op, invalidateInfo, optionsRef) {
642
+ const { pathParams, hasBody, hasQueryParams } = op;
643
+ const { keyFactoryName, detailKeyName } = invalidateInfo;
644
+ const canInvalidateDetail = detailKeyName !== undefined &&
645
+ pathParams.length >= 1 &&
646
+ (op.method === 'put' || op.method === 'patch');
647
+ // How to reference the first path param from variables in onSuccess: a lone
648
+ // path param IS the variables value, otherwise it is a property.
649
+ const detailIdRef = pathParams.length === 1 && !hasBody && !hasQueryParams
650
+ ? 'variables'
651
+ : `variables.${pathParams[0]}`;
581
652
  const lines = [];
582
- const { funcName, hookName, pathParams, hasBody, hasQueryParams } = op;
653
+ lines.push(` onSuccess: (...args) => {`);
654
+ if (canInvalidateDetail) {
655
+ lines.push(` const [, variables] = args`);
656
+ }
657
+ lines.push(` queryClient.invalidateQueries({ queryKey: ${keyFactoryName}.all() })`);
658
+ if (canInvalidateDetail) {
659
+ lines.push(` queryClient.invalidateQueries({ queryKey: ${keyFactoryName}.${detailKeyName}(${detailIdRef}) })`);
660
+ }
661
+ lines.push(` ${optionsRef}.onSuccess?.(...args)`);
662
+ lines.push(` },`);
663
+ return lines;
664
+ }
665
+ function buildMutationHook(op, autoInvalidate, invalidateInfo, optimistic = false) {
666
+ const lines = [];
667
+ const { funcName, hookName, pathParams, hasBody } = op;
583
668
  // Compute the index of the params argument in the client function signature
584
669
  const paramsArgIndex = pathParams.length + (hasBody ? 1 : 0);
585
670
  const { variablesType, mutationFnBody } = buildMutationVars(op, paramsArgIndex);
671
+ const dataType = `Awaited<ReturnType<typeof ${funcName}>>`;
586
672
  // @deprecated JSDoc on deprecated operations
587
673
  if (op.deprecated) {
588
674
  lines.push(`/** @deprecated */`);
589
675
  }
590
- lines.push(`export function ${hookName}(`);
591
- lines.push(` options?: Omit<UseMutationOptions<Awaited<ReturnType<typeof ${funcName}>>, ApiError, ${variablesType}>, 'mutationFn'>,`);
676
+ if (optimistic) {
677
+ // TContext types the caller's own onMutate result; TQueryData is inferred
678
+ // from the optimistic updater's `old` parameter annotation.
679
+ lines.push(`export function ${hookName}<TContext = unknown, TQueryData = unknown>(`);
680
+ lines.push(` options?: Omit<UseMutationOptions<${dataType}, ${op.errorType}, ${variablesType}, TContext>, 'mutationFn'> & { optimistic?: OptimisticUpdate<${variablesType}, TQueryData> },`);
681
+ }
682
+ else {
683
+ lines.push(`export function ${hookName}(`);
684
+ lines.push(` options?: Omit<UseMutationOptions<${dataType}, ${op.errorType}, ${variablesType}>, 'mutationFn'>,`);
685
+ }
592
686
  lines.push(`) {`);
593
687
  const shouldInvalidate = autoInvalidate && invalidateInfo !== undefined;
594
- if (shouldInvalidate) {
688
+ if (shouldInvalidate || optimistic) {
595
689
  lines.push(` const queryClient = useQueryClient()`);
596
690
  }
597
- lines.push(` return useMutation<Awaited<ReturnType<typeof ${funcName}>>, ApiError, ${variablesType}>({`);
691
+ if (optimistic) {
692
+ lines.push(` const mutationOptions = _withOptimisticUpdate(queryClient, options)`);
693
+ lines.push(` return useMutation<${dataType}, ${op.errorType}, ${variablesType}, OptimisticContext<TContext>>({`);
694
+ }
695
+ else {
696
+ lines.push(` return useMutation<${dataType}, ${op.errorType}, ${variablesType}>({`);
697
+ }
598
698
  lines.push(` mutationFn: ${mutationFnBody},`);
599
699
  // Spread options first so caller can override mutationFn-unrelated options (e.g. retry, meta).
600
700
  // onSuccess must come AFTER the spread so the auto-invalidation logic always runs —
601
701
  // the caller's onSuccess is composed via options?.onSuccess?.(...args) inside.
602
- lines.push(` ...options,`);
702
+ lines.push(optimistic ? ` ...mutationOptions,` : ` ...options,`);
603
703
  if (shouldInvalidate) {
604
- const { keyFactoryName, detailKeyName } = invalidateInfo;
605
- const canInvalidateDetail = detailKeyName !== undefined &&
606
- pathParams.length >= 1 &&
607
- (op.method === 'put' || op.method === 'patch');
608
- // Determine how to reference the first path param from variables in onSuccess
609
- let detailIdRef;
610
- if (pathParams.length === 1 && !hasBody && !hasQueryParams) {
611
- // variablesType is 'string' — variables IS the id directly
612
- detailIdRef = 'variables';
613
- }
614
- else if (pathParams.length >= 1) {
615
- // variablesType is an object — access via property name
616
- detailIdRef = `variables.${pathParams[0]}`;
617
- }
618
- else {
619
- detailIdRef = 'variables';
620
- }
621
- lines.push(` onSuccess: (...args) => {`);
622
- if (canInvalidateDetail) {
623
- lines.push(` const [, variables] = args`);
624
- }
625
- lines.push(` queryClient.invalidateQueries({ queryKey: ${keyFactoryName}.all() })`);
626
- if (canInvalidateDetail) {
627
- lines.push(` queryClient.invalidateQueries({ queryKey: ${keyFactoryName}.${detailKeyName}(${detailIdRef}) })`);
628
- }
629
- lines.push(` options?.onSuccess?.(...args)`);
630
- lines.push(` },`);
704
+ lines.push(...buildAutoInvalidateOnSuccess(op, invalidateInfo, optimistic ? 'mutationOptions' : 'options?'));
631
705
  }
632
706
  lines.push(` })`);
633
707
  lines.push(`}`);
634
708
  return lines.join('\n');
635
709
  }
710
+ /**
711
+ * Shared optimistic-update helpers, emitted once when `optimisticUpdates` is on.
712
+ *
713
+ * Follows the TanStack Query v5 optimistic-update recipe: onMutate cancels
714
+ * in-flight queries for the key, snapshots the cached value and applies the
715
+ * updater; onError rolls back (or resets an entry that was not cached before);
716
+ * onSettled invalidates the key so the server state wins. The caller's own
717
+ * onMutate / onError / onSuccess / onSettled still run, receiving their own
718
+ * onMutate result as context. Extra callback arguments are forwarded with rest
719
+ * parameters so the helper works across @tanstack/react-query 5.x signatures.
720
+ */
721
+ function buildOptimisticHelpers() {
722
+ return `/** Optimistic cache update for a generated mutation hook (the \`optimistic\` option). */
723
+ export interface OptimisticUpdate<TVariables, TQueryData = unknown> {
724
+ /** Cache entry to update before the request runs; may be derived from the variables. */
725
+ queryKey: QueryKey | ((variables: TVariables) => QueryKey)
726
+ /** Next cache value, from the current one (undefined when not cached) and the variables. */
727
+ updater: (old: TQueryData | undefined, variables: TVariables) => TQueryData | undefined
728
+ }
729
+
730
+ /** Mutation context threaded from onMutate to onError / onSettled by optimistic hooks. */
731
+ export interface OptimisticContext<TContext> {
732
+ /** The optimistically updated key, when an \`optimistic\` option was given. */
733
+ queryKey: QueryKey | undefined
734
+ /** Whether the key held data before the optimistic update. */
735
+ hadPrevious: boolean
736
+ /** Snapshot taken before the optimistic update, restored on error. */
737
+ previous: unknown
738
+ /** The caller's own onMutate result. */
739
+ context: TContext | undefined
740
+ }
741
+
742
+ function _withOptimisticUpdate<TData, TError, TVariables, TContext, TQueryData>(
743
+ queryClient: QueryClient,
744
+ options:
745
+ | (Omit<UseMutationOptions<TData, TError, TVariables, TContext>, 'mutationFn'> & {
746
+ optimistic?: OptimisticUpdate<TVariables, TQueryData>
747
+ })
748
+ | undefined,
749
+ ): Omit<UseMutationOptions<TData, TError, TVariables, OptimisticContext<TContext>>, 'mutationFn'> {
750
+ const { optimistic, onMutate, onError, onSuccess, onSettled, ...rest } = options ?? {}
751
+ return {
752
+ ...rest,
753
+ onMutate: async (variables, ...args) => {
754
+ let queryKey: QueryKey | undefined
755
+ let previous: unknown
756
+ let hadPrevious = false
757
+ if (optimistic !== undefined) {
758
+ const key =
759
+ typeof optimistic.queryKey === 'function'
760
+ ? optimistic.queryKey(variables)
761
+ : optimistic.queryKey
762
+ queryKey = key
763
+ await queryClient.cancelQueries({ queryKey: key })
764
+ previous = queryClient.getQueryData(key)
765
+ hadPrevious = previous !== undefined
766
+ queryClient.setQueryData<TQueryData>(key, (old) => optimistic.updater(old, variables))
767
+ }
768
+ const context = await onMutate?.(variables, ...args)
769
+ return { queryKey, hadPrevious, previous, context }
770
+ },
771
+ onError: (error, variables, result, ...args) => {
772
+ if (result?.queryKey !== undefined) {
773
+ if (result.hadPrevious) {
774
+ queryClient.setQueryData(result.queryKey, result.previous)
775
+ } else {
776
+ void queryClient.resetQueries({ queryKey: result.queryKey, exact: true })
777
+ }
778
+ }
779
+ return onError?.(error, variables, result?.context, ...args)
780
+ },
781
+ onSuccess: (data, variables, result, ...args) =>
782
+ onSuccess?.(data, variables, result.context as TContext, ...args),
783
+ onSettled: (data, error, variables, result, ...args) => {
784
+ if (result?.queryKey !== undefined) {
785
+ void queryClient.invalidateQueries({ queryKey: result.queryKey })
786
+ }
787
+ return onSettled?.(data, error, variables, result?.context, ...args)
788
+ },
789
+ }
790
+ }`;
791
+ }
636
792
  // ── Main generator ─────────────────────────────────────────────────────────────
637
793
  // Cognitive complexity is dominated by the two nested for-loops that existed
638
794
  // before #189; the pagination detection call added here is a single ternary.
@@ -643,7 +799,7 @@ function buildMutationHook(op, autoInvalidate, invalidateInfo) {
643
799
  * Name deduplication mirrors the client generator so that funcName values stay in
644
800
  * sync with client exports (e.g. getConfig -> getConfig_2, fetch -> fetch_2).
645
801
  */
646
- function collectOperations(spec, infiniteQuery = 'auto') {
802
+ function collectOperations(spec, infiniteQuery = 'auto', errorTypeNames = new Map()) {
647
803
  const paths = spec.paths;
648
804
  // Build the writable-variant map so getBodyInfo can redirect request-body schemas
649
805
  // that have readOnly/writeOnly props to their XWritable variant.
@@ -698,16 +854,46 @@ function collectOperations(spec, infiniteQuery = 'auto') {
698
854
  deprecated,
699
855
  isPaginated,
700
856
  pageParamName,
857
+ errorType: errorTypeNames.get(funcName) ?? 'ApiError',
701
858
  });
702
859
  }
703
860
  }
704
861
  }
705
862
  return operations;
706
863
  }
864
+ function buildReactQueryImports(needs) {
865
+ const groups = [
866
+ [needs.queries, ['queryOptions', 'useQuery', 'type UseQueryOptions']],
867
+ [needs.useQueries, ['useQueries', 'type UseQueryResult']],
868
+ [needs.suspense, ['useSuspenseQuery', 'type UseSuspenseQueryOptions']],
869
+ [
870
+ needs.infinite,
871
+ ['useInfiniteQuery', 'type UseInfiniteQueryOptions', 'type InfiniteData', 'type QueryKey'],
872
+ ],
873
+ [needs.mutations, ['useMutation', 'type UseMutationOptions']],
874
+ [needs.queryClient, ['useQueryClient']],
875
+ // The optimistic helpers need QueryKey too; infinite hooks may already import it.
876
+ [
877
+ needs.optimistic,
878
+ needs.infinite ? ['type QueryClient'] : ['type QueryClient', 'type QueryKey'],
879
+ ],
880
+ ];
881
+ return groups.flatMap(([needed, names]) => (needed ? names : []));
882
+ }
883
+ /** Client imports: every operation function, ApiError, and per-operation error aliases in use. */
884
+ function buildClientImports(operations) {
885
+ const funcNames = operations.map((op) => op.funcName).sort();
886
+ const errorAliases = [...new Set(operations.map((op) => op.errorType))]
887
+ .filter((t) => t !== 'ApiError')
888
+ .sort()
889
+ .map((t) => `type ${t}`);
890
+ return [...funcNames, 'type ApiError', ...errorAliases];
891
+ }
707
892
  export function generateHooks(spec, options) {
708
- const { staleTime, gcTime, suspense = false, autoInvalidate = false, infiniteQuery = 'auto' } = options;
893
+ const { staleTime, gcTime, suspense = false, autoInvalidate = false, infiniteQuery = 'auto', typedErrors = false, queries = false, optimisticUpdates = false, } = options;
709
894
  // Collect all operations (metadata extraction separated from string emission)
710
- const operations = collectOperations(spec, infiniteQuery);
895
+ const errorTypeNames = typedErrors ? buildOperationErrorTypeNames(spec) : undefined;
896
+ const operations = collectOperations(spec, infiniteQuery, errorTypeNames);
711
897
  // Separate GET vs mutation operations
712
898
  const getOps = operations.filter((op) => op.method === 'get');
713
899
  const mutationOps = operations.filter((op) => op.method !== 'get');
@@ -784,6 +970,9 @@ export function generateHooks(spec, options) {
784
970
  const queryOptionsBlocks = [];
785
971
  const queryHookBlocks = [];
786
972
  let needsUseInfiniteQuery = false;
973
+ let needsUseQueries = false;
974
+ // useXxxQueries names must not collide with any operation's own hook name.
975
+ const usedHookNames = new Set(operations.map((op) => op.hookName));
787
976
  for (const op of getOps) {
788
977
  const info = opToKeyInfo.get(op.funcName);
789
978
  if (info === undefined)
@@ -798,6 +987,14 @@ export function generateHooks(spec, options) {
798
987
  if (suspense) {
799
988
  queryHookBlocks.push(buildSuspenseQueryHook(op, factoryName, keyEntry, effectiveStaleTime, effectiveGcTime));
800
989
  }
990
+ if (queries) {
991
+ const queriesHookName = uniquifyName(`${op.hookName}Queries`, usedHookNames);
992
+ const queriesHook = buildQueriesHook(op, queriesHookName);
993
+ if (queriesHook !== undefined) {
994
+ needsUseQueries = true;
995
+ queryHookBlocks.push(queriesHook);
996
+ }
997
+ }
801
998
  if (op.isPaginated && op.pageParamName !== undefined) {
802
999
  needsUseInfiniteQuery = true;
803
1000
  queryHookBlocks.push(buildInfiniteQueryHook(op, factoryName, keyEntry, op.pageParamName, effectiveStaleTime, effectiveGcTime));
@@ -826,29 +1023,21 @@ export function generateHooks(spec, options) {
826
1023
  invalidateInfo = { keyFactoryName, detailKeyName };
827
1024
  }
828
1025
  }
829
- mutationHookBlocks.push(buildMutationHook(op, autoInvalidate, invalidateInfo));
1026
+ mutationHookBlocks.push(buildMutationHook(op, autoInvalidate, invalidateInfo, optimisticUpdates));
830
1027
  }
831
1028
  // Determine which react-query exports to import
832
- const needsQueryOptions = getOps.length > 0;
833
- const needsUseQuery = getOps.length > 0;
834
- const needsUseMutation = mutationOps.length > 0;
835
- const needsUseSuspenseQuery = suspense && getOps.length > 0;
836
- const needsUseQueryClient = autoInvalidate && needsUseMutation;
837
- const rqImports = [];
838
- if (needsQueryOptions)
839
- rqImports.push('queryOptions');
840
- if (needsUseQuery)
841
- rqImports.push('useQuery', 'type UseQueryOptions');
842
- if (needsUseSuspenseQuery)
843
- rqImports.push('useSuspenseQuery', 'type UseSuspenseQueryOptions');
844
- if (needsUseInfiniteQuery)
845
- rqImports.push('useInfiniteQuery', 'type UseInfiniteQueryOptions', 'type InfiniteData', 'type QueryKey');
846
- if (needsUseMutation)
847
- rqImports.push('useMutation', 'type UseMutationOptions');
848
- if (needsUseQueryClient)
849
- rqImports.push('useQueryClient');
850
- // Collect all function names for client import
851
- const allFuncNames = operations.map((op) => op.funcName).sort();
1029
+ const hasQueries = getOps.length > 0;
1030
+ const hasMutations = mutationOps.length > 0;
1031
+ const needsOptimistic = optimisticUpdates && hasMutations;
1032
+ const rqImports = buildReactQueryImports({
1033
+ queries: hasQueries,
1034
+ useQueries: needsUseQueries,
1035
+ suspense: suspense && hasQueries,
1036
+ infinite: needsUseInfiniteQuery,
1037
+ mutations: hasMutations,
1038
+ queryClient: (autoInvalidate || optimisticUpdates) && hasMutations,
1039
+ optimistic: needsOptimistic,
1040
+ });
852
1041
  // Build file content
853
1042
  const lines = [];
854
1043
  lines.push('// This file is auto-generated by @codewithagents/openapi-react-query — do not edit');
@@ -856,12 +1045,7 @@ export function generateHooks(spec, options) {
856
1045
  if (rqImports.length > 0) {
857
1046
  lines.push(`import { ${rqImports.join(', ')} } from '@tanstack/react-query'`);
858
1047
  }
859
- if (allFuncNames.length > 0) {
860
- lines.push(`import { ${allFuncNames.join(', ')}, type ApiError } from './client.js'`);
861
- }
862
- else {
863
- lines.push(`import { type ApiError } from './client.js'`);
864
- }
1048
+ lines.push(`import { ${buildClientImports(operations).join(', ')} } from './client.js'`);
865
1049
  lines.push('');
866
1050
  if (keyFactoryBlocks.length > 0) {
867
1051
  lines.push('// ── Query key factories ──────────────────────────────────────');
@@ -884,6 +1068,10 @@ export function generateHooks(spec, options) {
884
1068
  if (mutationHookBlocks.length > 0) {
885
1069
  lines.push('// ── Mutations ────────────────────────────────────────────────');
886
1070
  lines.push('');
1071
+ if (needsOptimistic) {
1072
+ lines.push(buildOptimisticHelpers());
1073
+ lines.push('');
1074
+ }
887
1075
  lines.push(mutationHookBlocks.join('\n\n'));
888
1076
  lines.push('');
889
1077
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/plugins/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/plugins/hooks.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,6 @@
9
9
  * Consumers bring their own test runner / MSW / @testing-library/react.
10
10
  * This file just eliminates the boilerplate they'd write in every test suite.
11
11
  */
12
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
13
12
  export function generateTestUtils(_spec) {
14
13
  const lines = [];
15
14
  lines.push('// This file is auto-generated by @codewithagents/openapi-react-query — do not edit');
@@ -1 +1 @@
1
- {"version":3,"file":"test-utils.js","sourceRoot":"","sources":["../../src/plugins/test-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-utils.js","sourceRoot":"","sources":["../../src/plugins/test-utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,8 +1,11 @@
1
1
  {
2
2
  "name": "@codewithagents/openapi-react-query",
3
- "version": "3.12.2",
3
+ "version": "3.13.0",
4
4
  "description": "Generate typed React Query v5 hooks from OpenAPI 3.1 specs",
5
5
  "type": "module",
6
+ "engines": {
7
+ "node": ">=22.19.0"
8
+ },
6
9
  "bin": {
7
10
  "openapi-react-query": "dist/cli.js"
8
11
  },
@@ -15,26 +18,27 @@
15
18
  ],
16
19
  "dependencies": {
17
20
  "openapi-types": "^12.1.3",
18
- "prettier": "^3.8.4",
19
- "openapi-zod-ts": "2.2.0"
21
+ "prettier": "^3.9.10",
22
+ "openapi-zod-ts": "2.4.0"
20
23
  },
21
24
  "peerDependencies": {
22
25
  "@tanstack/react-query": "^5.0.0"
23
26
  },
24
27
  "devDependencies": {
25
- "@stryker-mutator/core": "^9.6.1",
26
- "@stryker-mutator/vitest-runner": "^9.6.1",
27
- "@types/node": "^26.0.0",
28
- "@vitest/coverage-v8": "^4.1.9",
29
- "fast-check": "^4.8.0",
28
+ "@stryker-mutator/core": "^10.1.1",
29
+ "@stryker-mutator/vitest-runner": "^10.1.1",
30
+ "@types/node": "^26.6.6",
31
+ "@vitest/coverage-v8": "^5.1.0",
32
+ "fast-check": "^4.10.2",
30
33
  "typescript": "^6.0.3",
31
- "vitest": "^4.1.9"
34
+ "vitest": "^5.1.0"
32
35
  },
33
36
  "keywords": [
34
37
  "openapi",
35
38
  "openapi-3.1",
36
39
  "react-query",
37
40
  "tanstack-query",
41
+ "react-query-codegen",
38
42
  "codegen",
39
43
  "typescript",
40
44
  "hooks",
@@ -42,6 +46,7 @@
42
46
  "useMutation",
43
47
  "code-generator"
44
48
  ],
49
+ "funding": "https://github.com/sponsors/codewithagents",
45
50
  "license": "MIT",
46
51
  "repository": {
47
52
  "type": "git",