@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 +86 -0
- 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 +269 -77
- package/dist/plugins/hooks.js.map +1 -1
- package/package.json +2 -2
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
|
/**
|
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":"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"}
|
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,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;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
|
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;
|
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
587
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
829
|
-
const
|
|
830
|
-
const
|
|
831
|
-
const
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
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
|
-
|
|
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.
|
|
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.
|
|
22
|
+
"openapi-zod-ts": "2.4.0"
|
|
23
23
|
},
|
|
24
24
|
"peerDependencies": {
|
|
25
25
|
"@tanstack/react-query": "^5.0.0"
|