@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 +87 -1
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +15 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +6 -0
- package/dist/config.js.map +1 -1
- package/dist/generator.d.ts.map +1 -1
- package/dist/generator.js +3 -0
- package/dist/generator.js.map +1 -1
- package/dist/plugins/hooks.d.ts +19 -0
- package/dist/plugins/hooks.d.ts.map +1 -1
- package/dist/plugins/hooks.js +271 -83
- package/dist/plugins/hooks.js.map +1 -1
- package/dist/plugins/test-utils.js +0 -1
- package/dist/plugins/test-utils.js.map +1 -1
- package/package.json +14 -9
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
📖 **[Full documentation](https://openapi.codewithagents.de/openapi-react-query)**
|
|
9
9
|
|
|
10
|
-
|
|
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,
|
|
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
|
/**
|
package/dist/config.d.ts.map
CHANGED
|
@@ -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;
|
|
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) {
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAA;AAyCpE,SAAS,cAAc,CAAC,QAAgB,EAAE,MAAe;IACvD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,cAAc,QAAQ,qBAAqB,CAAC,CAAA;IAC9D,CAAC;IACD,MAAM,CAAC,GAAG,MAAiC,CAAA;IAC3C,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,YAAY,CAAC,KAAK,QAAQ,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,cAAc,QAAQ,+BAA+B,CAAC,CAAA;IACxE,CAAC;IACD,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,cAAc,QAAQ,4BAA4B,CAAC,CAAA;IACrE,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;IAClD,CAAC;IACD,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;QAClF,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAClC,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,GAA4B,EAAE,GAAW,EAAE,OAAe;IAC9E,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;AACtF,CAAC;AAED,SAAS,aAAa,CAAC,GAA4B,EAAE,GAAW,EAAE,OAAe;IAC/E,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;AACvF,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IAC3C,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QAC1E,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;IACjE,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,GAA4B;IAC5D,YAAY,CAAC,GAAG,EAAE,YAAY,EAAE,8CAA8C,CAAC,CAAA;IAC/E,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,2CAA2C,CAAC,CAAA;IACzE,aAAa,CAAC,GAAG,EAAE,UAAU,EAAE,8BAA8B,CAAC,CAAA;IAC9D,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,qCAAqC,CAAC,CAAA;IAC5E,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,kCAAkC,CAAC,CAAA;IACtE,aAAa,CAAC,GAAG,EAAE,SAAS,EAAE,6BAA6B,CAAC,CAAA;IAC5D,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,wCAAwC,CAAC,CAAA;IAClF,qBAAqB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAA;IAC5C,IAAI,GAAG,CAAC,WAAW,CAAC,KAAK,SAAS;QAAE,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAA;AACzE,CAAC;AAED,SAAS,qBAAqB,CAC5B,GAA4B,EAC5B,IAAqD;IAErD,wBAAwB,CAAC,GAAG,CAAC,CAAA;IAC7B,OAAO;QACL,GAAG,IAAI;QACP,UAAU,EAAE,GAAG,CAAC,YAAY,CAAuB;QACnD,OAAO,EAAE,GAAG,CAAC,SAAS,CAAuB;QAC7C,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAwB;QAChD,SAAS,EAAE,GAAG,CAAC,WAAW,CAC6C;QACvE,eAAe,EAAE,GAAG,CAAC,iBAAiB,CAAwB;QAC9D,cAAc,EAAE,GAAG,CAAC,gBAAgB,CAAiC;QACrE,YAAY,EAAE,GAAG,CAAC,cAAc,CAAwB;QACxD,OAAO,EAAE,GAAG,CAAC,SAAS,CAAwB;QAC9C,kBAAkB,EAAE,GAAG,CAAC,oBAAoB,CAAwB;KACrE,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAW,EAAE,UAAmB;IAC/D,OAAO,cAAc,CAAmB;QACtC,GAAG;QACH,UAAU;QACV,eAAe,EAAE,iCAAiC;QAClD,KAAK,EAAE,qBAAqB;KAC7B,CAAC,CAAA;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAW,EAAE,UAAmB;IAChE,OAAO,eAAe,CAAmB;QACvC,GAAG;QACH,UAAU;QACV,eAAe,EAAE,iCAAiC;QAClD,KAAK,EAAE,qBAAqB;KAC7B,CAAC,CAAA;AACJ,CAAC"}
|
package/dist/generator.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"
|
|
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
|
];
|
package/dist/generator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,WAAW,EAAyB,MAAM,aAAa,CAAA;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAE3D,KAAK,UAAU,QAAQ,CAAC,OAAe,EAAE,QAAgB;IACvD,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAA;IAC1D,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAA;IAC5C,OAAO,MAAM,CAAC,OAAO,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAA;AAC7D,CAAC;AAED,8FAA8F;AAC9F,SAAS,cAAc,CACrB,MAAwB,EACxB,eAAuB,EACvB,YAAoB;IAEpB,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,OAAO,SAAS,CAAA;IACvC,MAAM,SAAS,GAA0D,EAAE,CAAA;IAC3E,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAClE,SAAS,CAAC,QAAQ,CAAC,GAAG;YACpB,SAAS,EAAE,MAAM,CAAC,UAAU,IAAI,eAAe;YAC/C,MAAM,EAAE,MAAM,CAAC,OAAO,IAAI,YAAY;SACvC,CAAA;IACH,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;AAClE,CAAC;AAED,KAAK,UAAU,WAAW,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,WAAW,EAAyB,MAAM,aAAa,CAAA;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAE3D,KAAK,UAAU,QAAQ,CAAC,OAAe,EAAE,QAAgB;IACvD,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAA;IAC1D,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAA;IAC5C,OAAO,MAAM,CAAC,OAAO,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAA;AAC7D,CAAC;AAED,8FAA8F;AAC9F,SAAS,cAAc,CACrB,MAAwB,EACxB,eAAuB,EACvB,YAAoB;IAEpB,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,OAAO,SAAS,CAAA;IACvC,MAAM,SAAS,GAA0D,EAAE,CAAA;IAC3E,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAClE,SAAS,CAAC,QAAQ,CAAC,GAAG;YACpB,SAAS,EAAE,MAAM,CAAC,UAAU,IAAI,eAAe;YAC/C,MAAM,EAAE,MAAM,CAAC,OAAO,IAAI,YAAY;SACvC,CAAA;IACH,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;AAClE,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,GAAW,EAAE,MAAwB,EAAE,KAAc;IAC9E,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,aAAa,CAAC,CAAA;IACpD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IAC7C,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;IAEvD,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,iBAAiB,SAAS,EAAE,CAAC,CAAA;IAClD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,CAAA;IACvC,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,IAAI,CAAC,CAAA;IAC9C,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,IAAI,OAAO,CAAA;IAC9C,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,EAAE,eAAe,EAAE,YAAY,CAAC,CAAA;IAEvE,MAAM,KAAK,GAAG;QACZ,aAAa,CAAC,IAAI,EAAE;YAClB,SAAS,EAAE,eAAe;YAC1B,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,SAAS;YACT,cAAc,EAAE,MAAM,CAAC,eAAe;YACtC,aAAa,EAAE,MAAM,CAAC,cAAc;YACpC,WAAW,EAAE,MAAM,CAAC,YAAY;YAChC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,iBAAiB,EAAE,MAAM,CAAC,kBAAkB;SAC7C,CAAC;QACF,iBAAiB,CAAC,IAAI,CAAC;KACxB,CAAA;IAED,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC/C,MAAM,SAAS,CAAC,QAAQ,EAAE,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAA;QAC1E,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC5C,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAW,EAAE,UAAmB;IAC7D,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;IAClD,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;AAChF,CAAC"}
|
package/dist/plugins/hooks.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/plugins/hooks.js
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
591
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
833
|
-
const
|
|
834
|
-
const
|
|
835
|
-
const
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
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
|
-
|
|
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":"AAOA;;;;;;;;;;GAUG;
|
|
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.
|
|
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.
|
|
19
|
-
"openapi-zod-ts": "2.
|
|
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": "^
|
|
26
|
-
"@stryker-mutator/vitest-runner": "^
|
|
27
|
-
"@types/node": "^26.
|
|
28
|
-
"@vitest/coverage-v8": "^
|
|
29
|
-
"fast-check": "^4.
|
|
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": "^
|
|
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",
|