@codewithagents/openapi-react-query 3.12.3 → 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
@@ -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/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;AAgED,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"}
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":"AA8DA,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;AAy6BD,wBAAgB,aAAa,CAC3B,IAAI,EAAE,WAAW,CAAC,QAAQ,EAC1B,OAAO,EAAE,cAAc,GACtB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAiOvC"}
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;
@@ -264,6 +264,15 @@ function buildKeyFactory(resource, entries) {
264
264
  return lines.join('\n');
265
265
  }
266
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
+ }
267
276
  /**
268
277
  * Derives the factory function name for a GET operation.
269
278
  * e.g. funcName "listTasks" -> "listTasksQueryOptions"
@@ -293,6 +302,7 @@ function buildQueryKeyCall(keyFactoryName, keyEntry, pathParams, hasQueryParams,
293
302
  */
294
303
  function buildQueryOptionsFactory(op, keyFactoryName, keyEntry, staleTime, gcTime) {
295
304
  const lines = [];
305
+ const dataType = queryDataType(op.funcName);
296
306
  const hasQueryParams = keyEntry.hasQueryParams;
297
307
  const paramsRequired = keyEntry.hasRequiredQueryParams;
298
308
  const pathParams = op.pathParams;
@@ -307,7 +317,7 @@ function buildQueryOptionsFactory(op, keyFactoryName, keyEntry, staleTime, gcTim
307
317
  const paramsToken = paramsRequired ? 'params' : 'params?';
308
318
  sigParts.push(`${paramsToken}: Parameters<typeof ${op.funcName}>[${pathParams.length}]`);
309
319
  }
310
- 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'>`);
311
321
  const queryKeyCall = buildQueryKeyCall(keyFactoryName, keyEntry, pathParams, hasQueryParams, false);
312
322
  const queryFnArgs = [...pathParams];
313
323
  if (hasQueryParams)
@@ -317,10 +327,10 @@ function buildQueryOptionsFactory(op, keyFactoryName, keyEntry, staleTime, gcTim
317
327
  if (op.deprecated) {
318
328
  lines.push(`/** @deprecated */`);
319
329
  }
320
- lines.push(`export function ${factoryName}(`);
330
+ lines.push(`export function ${factoryName}<TData = ${dataType}>(`);
321
331
  lines.push(` ${sigParts.join(',\n ')},`);
322
332
  lines.push(`) {`);
323
- lines.push(` return queryOptions<Awaited<ReturnType<typeof ${op.funcName}>>, ApiError>({`);
333
+ lines.push(` return queryOptions<${dataType}, ${op.errorType}, TData>({`);
324
334
  lines.push(` queryKey: ${queryKeyCall},`);
325
335
  lines.push(` queryFn: () => ${queryFnCall},`);
326
336
  lines.push(` staleTime: ${staleTime},`);
@@ -333,6 +343,7 @@ function buildQueryOptionsFactory(op, keyFactoryName, keyEntry, staleTime, gcTim
333
343
  // ── Query hook generation ──────────────────────────────────────────────────────
334
344
  function buildQueryHook(op, keyFactoryName, keyEntry, staleTime, gcTime) {
335
345
  const lines = [];
346
+ const dataType = queryDataType(op.funcName);
336
347
  const hasQueryParams = keyEntry.hasQueryParams;
337
348
  const paramsRequired = keyEntry.hasRequiredQueryParams;
338
349
  const pathParams = op.pathParams;
@@ -348,7 +359,7 @@ function buildQueryHook(op, keyFactoryName, keyEntry, staleTime, gcTime) {
348
359
  const paramsToken = paramsRequired ? 'params' : 'params?';
349
360
  sigParts.push(`${paramsToken}: Parameters<typeof ${op.funcName}>[${pathParams.length}]`);
350
361
  }
351
- 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'>`);
352
363
  // Build queryKey call (with non-null assertions for path params, since hook has enabled guard)
353
364
  const queryKeyCall = buildQueryKeyCall(keyFactoryName, keyEntry, pathParams, hasQueryParams, true);
354
365
  // Build queryFn call — use non-null assertions
@@ -364,10 +375,10 @@ function buildQueryHook(op, keyFactoryName, keyEntry, staleTime, gcTime) {
364
375
  if (op.deprecated) {
365
376
  lines.push(`/** @deprecated */`);
366
377
  }
367
- lines.push(`export function ${op.hookName}(`);
378
+ lines.push(`export function ${op.hookName}<TData = ${dataType}>(`);
368
379
  lines.push(` ${sigParts.join(',\n ')},`);
369
380
  lines.push(`) {`);
370
- lines.push(` return useQuery<Awaited<ReturnType<typeof ${op.funcName}>>, ApiError>({`);
381
+ lines.push(` return useQuery<${dataType}, ${op.errorType}, TData>({`);
371
382
  lines.push(` queryKey: ${queryKeyCall},`);
372
383
  lines.push(` queryFn: () => ${queryFnCall},`);
373
384
  lines.push(` staleTime: ${staleTime},`);
@@ -382,6 +393,7 @@ function buildQueryHook(op, keyFactoryName, keyEntry, staleTime, gcTime) {
382
393
  }
383
394
  function buildSuspenseQueryHook(op, keyFactoryName, keyEntry, staleTime, gcTime) {
384
395
  const lines = [];
396
+ const dataType = queryDataType(op.funcName);
385
397
  const hasQueryParams = keyEntry.hasQueryParams;
386
398
  const paramsRequired = keyEntry.hasRequiredQueryParams;
387
399
  const pathParams = op.pathParams;
@@ -395,7 +407,7 @@ function buildSuspenseQueryHook(op, keyFactoryName, keyEntry, staleTime, gcTime)
395
407
  const paramsToken = paramsRequired ? 'params' : 'params?';
396
408
  sigParts.push(`${paramsToken}: Parameters<typeof ${op.funcName}>[${pathParams.length}]`);
397
409
  }
398
- 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'>`);
399
411
  // Build queryKey call (no non-null assertions — suspense params are always required strings)
400
412
  const queryKeyCall = buildQueryKeyCall(keyFactoryName, keyEntry, pathParams, hasQueryParams, false);
401
413
  // Build queryFn call
@@ -407,10 +419,10 @@ function buildSuspenseQueryHook(op, keyFactoryName, keyEntry, staleTime, gcTime)
407
419
  if (op.deprecated) {
408
420
  lines.push(`/** @deprecated */`);
409
421
  }
410
- lines.push(`export function ${suspenseHookName}(`);
422
+ lines.push(`export function ${suspenseHookName}<TData = ${dataType}>(`);
411
423
  lines.push(` ${sigParts.join(',\n ')},`);
412
424
  lines.push(`) {`);
413
- lines.push(` return useSuspenseQuery<Awaited<ReturnType<typeof ${op.funcName}>>, ApiError>({`);
425
+ lines.push(` return useSuspenseQuery<${dataType}, ${op.errorType}, TData>({`);
414
426
  lines.push(` queryKey: ${queryKeyCall},`);
415
427
  lines.push(` queryFn: () => ${queryFnCall},`);
416
428
  lines.push(` staleTime: ${staleTime},`);
@@ -420,6 +432,53 @@ function buildSuspenseQueryHook(op, keyFactoryName, keyEntry, staleTime, gcTime)
420
432
  lines.push(`}`);
421
433
  return lines.join('\n');
422
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
+ }
423
482
  // ── Infinite query hook generation ────────────────────────────────────────────
424
483
  /**
425
484
  * Builds the query key call for the infinite hook.
@@ -445,12 +504,13 @@ function buildInfiniteQueryHook(op, keyFactoryName, keyEntry, pageParamName, sta
445
504
  const lines = [];
446
505
  const { funcName, hasQueryParams, hasRequiredQueryParams, deprecated } = op;
447
506
  const infiniteHookName = `use${capitalize(funcName)}Infinite`;
507
+ const dataType = queryDataType(funcName);
448
508
  const sigParts = [];
449
509
  if (hasQueryParams) {
450
510
  const paramsToken = hasRequiredQueryParams ? 'params' : 'params?';
451
511
  sigParts.push(`${paramsToken}: Parameters<typeof ${funcName}>[0]`);
452
512
  }
453
- 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'>`);
454
514
  const queryKeyCall = buildInfiniteQueryKeyCall(keyFactoryName, keyEntry, hasQueryParams);
455
515
  // Build queryFn: merges pageParam into the params object under the detected param name
456
516
  let queryFnBody;
@@ -463,10 +523,10 @@ function buildInfiniteQueryHook(op, keyFactoryName, keyEntry, pageParamName, sta
463
523
  if (deprecated) {
464
524
  lines.push(`/** @deprecated */`);
465
525
  }
466
- lines.push(`export function ${infiniteHookName}(`);
526
+ lines.push(`export function ${infiniteHookName}<TData = InfiniteData<${dataType}>>(`);
467
527
  lines.push(` ${sigParts.join(',\n ')},`);
468
528
  lines.push(`) {`);
469
- 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>({`);
470
530
  lines.push(` queryKey: ${queryKeyCall},`);
471
531
  lines.push(` queryFn: ${queryFnBody},`);
472
532
  lines.push(` initialPageParam: undefined,`);
@@ -573,62 +633,162 @@ function buildMutationVars(op, paramsArgIndex) {
573
633
  mutationFnBody: `({ ${destructured} }) => ${funcName}(${[...pathParams, 'body', 'params'].join(', ')})`,
574
634
  };
575
635
  }
576
- 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]}`;
577
652
  const lines = [];
578
- 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;
579
668
  // Compute the index of the params argument in the client function signature
580
669
  const paramsArgIndex = pathParams.length + (hasBody ? 1 : 0);
581
670
  const { variablesType, mutationFnBody } = buildMutationVars(op, paramsArgIndex);
671
+ const dataType = `Awaited<ReturnType<typeof ${funcName}>>`;
582
672
  // @deprecated JSDoc on deprecated operations
583
673
  if (op.deprecated) {
584
674
  lines.push(`/** @deprecated */`);
585
675
  }
586
- lines.push(`export function ${hookName}(`);
587
- 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
+ }
588
686
  lines.push(`) {`);
589
687
  const shouldInvalidate = autoInvalidate && invalidateInfo !== undefined;
590
- if (shouldInvalidate) {
688
+ if (shouldInvalidate || optimistic) {
591
689
  lines.push(` const queryClient = useQueryClient()`);
592
690
  }
593
- 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
+ }
594
698
  lines.push(` mutationFn: ${mutationFnBody},`);
595
699
  // Spread options first so caller can override mutationFn-unrelated options (e.g. retry, meta).
596
700
  // onSuccess must come AFTER the spread so the auto-invalidation logic always runs —
597
701
  // the caller's onSuccess is composed via options?.onSuccess?.(...args) inside.
598
- lines.push(` ...options,`);
702
+ lines.push(optimistic ? ` ...mutationOptions,` : ` ...options,`);
599
703
  if (shouldInvalidate) {
600
- const { keyFactoryName, detailKeyName } = invalidateInfo;
601
- const canInvalidateDetail = detailKeyName !== undefined &&
602
- pathParams.length >= 1 &&
603
- (op.method === 'put' || op.method === 'patch');
604
- // Determine how to reference the first path param from variables in onSuccess
605
- let detailIdRef;
606
- if (pathParams.length === 1 && !hasBody && !hasQueryParams) {
607
- // variablesType is 'string' — variables IS the id directly
608
- detailIdRef = 'variables';
609
- }
610
- else if (pathParams.length >= 1) {
611
- // variablesType is an object — access via property name
612
- detailIdRef = `variables.${pathParams[0]}`;
613
- }
614
- else {
615
- detailIdRef = 'variables';
616
- }
617
- lines.push(` onSuccess: (...args) => {`);
618
- if (canInvalidateDetail) {
619
- lines.push(` const [, variables] = args`);
620
- }
621
- lines.push(` queryClient.invalidateQueries({ queryKey: ${keyFactoryName}.all() })`);
622
- if (canInvalidateDetail) {
623
- lines.push(` queryClient.invalidateQueries({ queryKey: ${keyFactoryName}.${detailKeyName}(${detailIdRef}) })`);
624
- }
625
- lines.push(` options?.onSuccess?.(...args)`);
626
- lines.push(` },`);
704
+ lines.push(...buildAutoInvalidateOnSuccess(op, invalidateInfo, optimistic ? 'mutationOptions' : 'options?'));
627
705
  }
628
706
  lines.push(` })`);
629
707
  lines.push(`}`);
630
708
  return lines.join('\n');
631
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
+ }
632
792
  // ── Main generator ─────────────────────────────────────────────────────────────
633
793
  // Cognitive complexity is dominated by the two nested for-loops that existed
634
794
  // before #189; the pagination detection call added here is a single ternary.
@@ -639,7 +799,7 @@ function buildMutationHook(op, autoInvalidate, invalidateInfo) {
639
799
  * Name deduplication mirrors the client generator so that funcName values stay in
640
800
  * sync with client exports (e.g. getConfig -> getConfig_2, fetch -> fetch_2).
641
801
  */
642
- function collectOperations(spec, infiniteQuery = 'auto') {
802
+ function collectOperations(spec, infiniteQuery = 'auto', errorTypeNames = new Map()) {
643
803
  const paths = spec.paths;
644
804
  // Build the writable-variant map so getBodyInfo can redirect request-body schemas
645
805
  // that have readOnly/writeOnly props to their XWritable variant.
@@ -694,16 +854,46 @@ function collectOperations(spec, infiniteQuery = 'auto') {
694
854
  deprecated,
695
855
  isPaginated,
696
856
  pageParamName,
857
+ errorType: errorTypeNames.get(funcName) ?? 'ApiError',
697
858
  });
698
859
  }
699
860
  }
700
861
  }
701
862
  return operations;
702
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
+ }
703
892
  export function generateHooks(spec, options) {
704
- 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;
705
894
  // Collect all operations (metadata extraction separated from string emission)
706
- const operations = collectOperations(spec, infiniteQuery);
895
+ const errorTypeNames = typedErrors ? buildOperationErrorTypeNames(spec) : undefined;
896
+ const operations = collectOperations(spec, infiniteQuery, errorTypeNames);
707
897
  // Separate GET vs mutation operations
708
898
  const getOps = operations.filter((op) => op.method === 'get');
709
899
  const mutationOps = operations.filter((op) => op.method !== 'get');
@@ -780,6 +970,9 @@ export function generateHooks(spec, options) {
780
970
  const queryOptionsBlocks = [];
781
971
  const queryHookBlocks = [];
782
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));
783
976
  for (const op of getOps) {
784
977
  const info = opToKeyInfo.get(op.funcName);
785
978
  if (info === undefined)
@@ -794,6 +987,14 @@ export function generateHooks(spec, options) {
794
987
  if (suspense) {
795
988
  queryHookBlocks.push(buildSuspenseQueryHook(op, factoryName, keyEntry, effectiveStaleTime, effectiveGcTime));
796
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
+ }
797
998
  if (op.isPaginated && op.pageParamName !== undefined) {
798
999
  needsUseInfiniteQuery = true;
799
1000
  queryHookBlocks.push(buildInfiniteQueryHook(op, factoryName, keyEntry, op.pageParamName, effectiveStaleTime, effectiveGcTime));
@@ -822,29 +1023,21 @@ export function generateHooks(spec, options) {
822
1023
  invalidateInfo = { keyFactoryName, detailKeyName };
823
1024
  }
824
1025
  }
825
- mutationHookBlocks.push(buildMutationHook(op, autoInvalidate, invalidateInfo));
1026
+ mutationHookBlocks.push(buildMutationHook(op, autoInvalidate, invalidateInfo, optimisticUpdates));
826
1027
  }
827
1028
  // Determine which react-query exports to import
828
- const needsQueryOptions = getOps.length > 0;
829
- const needsUseQuery = getOps.length > 0;
830
- const needsUseMutation = mutationOps.length > 0;
831
- const needsUseSuspenseQuery = suspense && getOps.length > 0;
832
- const needsUseQueryClient = autoInvalidate && needsUseMutation;
833
- const rqImports = [];
834
- if (needsQueryOptions)
835
- rqImports.push('queryOptions');
836
- if (needsUseQuery)
837
- rqImports.push('useQuery', 'type UseQueryOptions');
838
- if (needsUseSuspenseQuery)
839
- rqImports.push('useSuspenseQuery', 'type UseSuspenseQueryOptions');
840
- if (needsUseInfiniteQuery)
841
- rqImports.push('useInfiniteQuery', 'type UseInfiniteQueryOptions', 'type InfiniteData', 'type QueryKey');
842
- if (needsUseMutation)
843
- rqImports.push('useMutation', 'type UseMutationOptions');
844
- if (needsUseQueryClient)
845
- rqImports.push('useQueryClient');
846
- // Collect all function names for client import
847
- 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
+ });
848
1041
  // Build file content
849
1042
  const lines = [];
850
1043
  lines.push('// This file is auto-generated by @codewithagents/openapi-react-query — do not edit');
@@ -852,12 +1045,7 @@ export function generateHooks(spec, options) {
852
1045
  if (rqImports.length > 0) {
853
1046
  lines.push(`import { ${rqImports.join(', ')} } from '@tanstack/react-query'`);
854
1047
  }
855
- if (allFuncNames.length > 0) {
856
- lines.push(`import { ${allFuncNames.join(', ')}, type ApiError } from './client.js'`);
857
- }
858
- else {
859
- lines.push(`import { type ApiError } from './client.js'`);
860
- }
1048
+ lines.push(`import { ${buildClientImports(operations).join(', ')} } from './client.js'`);
861
1049
  lines.push('');
862
1050
  if (keyFactoryBlocks.length > 0) {
863
1051
  lines.push('// ── Query key factories ──────────────────────────────────────');
@@ -880,6 +1068,10 @@ export function generateHooks(spec, options) {
880
1068
  if (mutationHookBlocks.length > 0) {
881
1069
  lines.push('// ── Mutations ────────────────────────────────────────────────');
882
1070
  lines.push('');
1071
+ if (needsOptimistic) {
1072
+ lines.push(buildOptimisticHelpers());
1073
+ lines.push('');
1074
+ }
883
1075
  lines.push(mutationHookBlocks.join('\n\n'));
884
1076
  lines.push('');
885
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codewithagents/openapi-react-query",
3
- "version": "3.12.3",
3
+ "version": "3.13.0",
4
4
  "description": "Generate typed React Query v5 hooks from OpenAPI 3.1 specs",
5
5
  "type": "module",
6
6
  "engines": {
@@ -19,7 +19,7 @@
19
19
  "dependencies": {
20
20
  "openapi-types": "^12.1.3",
21
21
  "prettier": "^3.9.10",
22
- "openapi-zod-ts": "2.3.1"
22
+ "openapi-zod-ts": "2.4.0"
23
23
  },
24
24
  "peerDependencies": {
25
25
  "@tanstack/react-query": "^5.0.0"