@orval/swr 6.31.0 → 7.0.1
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 +9 -9
- package/dist/index.js +217 -129
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[](https://badge.fury.io/js/orval)
|
|
2
2
|
[](https://opensource.org/licenses/MIT)
|
|
3
|
-
[](https://github.com/orval-labs/orval/actions/workflows/tests.yaml)
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
6
6
|
<img src="./logo/orval-logo-horizontal.svg?raw=true" width="500" height="160" alt="orval - Restfull Client Generator" />
|
|
@@ -19,11 +19,11 @@
|
|
|
19
19
|
|
|
20
20
|
You can find below some samples
|
|
21
21
|
|
|
22
|
-
- [react app](https://github.com/
|
|
23
|
-
- [react query](https://github.com/
|
|
24
|
-
- [svelte query](https://github.com/
|
|
25
|
-
- [vue query](https://github.com/
|
|
26
|
-
- [react app with swr](https://github.com/
|
|
27
|
-
- [angular app](https://github.com/
|
|
28
|
-
- [hono](https://github.com/
|
|
29
|
-
- [next app with fetch](https://github.com/
|
|
22
|
+
- [react app](https://github.com/orval-labs/orval/tree/master/samples/react-app)
|
|
23
|
+
- [react query](https://github.com/orval-labs/orval/tree/master/samples/react-query)
|
|
24
|
+
- [svelte query](https://github.com/orval-labs/orval/tree/master/samples/svelte-query)
|
|
25
|
+
- [vue query](https://github.com/orval-labs/orval/tree/master/samples/vue-query)
|
|
26
|
+
- [react app with swr](https://github.com/orval-labs/orval/tree/master/samples/react-app-with-swr)
|
|
27
|
+
- [angular app](https://github.com/orval-labs/orval/tree/master/samples/angular-app)
|
|
28
|
+
- [hono](https://github.com/orval-labs/orval/tree/master/samples/hono)
|
|
29
|
+
- [next app with fetch](https://github.com/orval-labs/orval/tree/master/samples/next-app-with-fetch)
|
package/dist/index.js
CHANGED
|
@@ -27,7 +27,11 @@ __export(src_exports, {
|
|
|
27
27
|
getSwrDependencies: () => getSwrDependencies
|
|
28
28
|
});
|
|
29
29
|
module.exports = __toCommonJS(src_exports);
|
|
30
|
+
var import_core2 = require("@orval/core");
|
|
31
|
+
|
|
32
|
+
// src/client.ts
|
|
30
33
|
var import_core = require("@orval/core");
|
|
34
|
+
var import_fetch = require("@orval/fetch");
|
|
31
35
|
var AXIOS_DEPENDENCIES = [
|
|
32
36
|
{
|
|
33
37
|
exports: [
|
|
@@ -44,58 +48,14 @@ var AXIOS_DEPENDENCIES = [
|
|
|
44
48
|
dependency: "axios"
|
|
45
49
|
}
|
|
46
50
|
];
|
|
47
|
-
var
|
|
48
|
-
{
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
default: true,
|
|
53
|
-
values: true,
|
|
54
|
-
syntheticDefaultImport: true
|
|
55
|
-
}
|
|
56
|
-
],
|
|
57
|
-
dependency: "qs"
|
|
58
|
-
}
|
|
59
|
-
];
|
|
60
|
-
var SWR_DEPENDENCIES = [
|
|
61
|
-
{
|
|
62
|
-
exports: [
|
|
63
|
-
{ name: "useSwr", values: true, default: true },
|
|
64
|
-
{ name: "SWRConfiguration" },
|
|
65
|
-
{ name: "Key" },
|
|
66
|
-
{ name: "Arguments" }
|
|
67
|
-
],
|
|
68
|
-
dependency: "swr"
|
|
69
|
-
}
|
|
70
|
-
];
|
|
71
|
-
var SWR_INFINITE_DEPENDENCIES = [
|
|
72
|
-
{
|
|
73
|
-
exports: [
|
|
74
|
-
{ name: "useSWRInfinite", values: true, default: true },
|
|
75
|
-
{ name: "SWRInfiniteConfiguration" },
|
|
76
|
-
{ name: "SWRInfiniteKeyLoader" }
|
|
77
|
-
],
|
|
78
|
-
dependency: "swr/infinite"
|
|
79
|
-
}
|
|
80
|
-
];
|
|
81
|
-
var SWR_MUTATION_DEPENDENCIES = [
|
|
82
|
-
{
|
|
83
|
-
exports: [
|
|
84
|
-
{ name: "useSWRMutation", values: true, default: true },
|
|
85
|
-
{ name: "SWRMutationConfiguration" },
|
|
86
|
-
{ name: "SWRMutationKey" }
|
|
87
|
-
],
|
|
88
|
-
dependency: "swr/mutation"
|
|
51
|
+
var generateSwrRequestFunction = (verbOptions, options) => {
|
|
52
|
+
if (options.context.output.httpClient === import_core.OutputHttpClient.AXIOS) {
|
|
53
|
+
return generateAxiosRequestFunction(verbOptions, options);
|
|
54
|
+
} else {
|
|
55
|
+
return (0, import_fetch.generateRequestFunction)(verbOptions, options);
|
|
89
56
|
}
|
|
90
|
-
|
|
91
|
-
var
|
|
92
|
-
...!hasGlobalMutator ? AXIOS_DEPENDENCIES : [],
|
|
93
|
-
...hasParamsSerializerOptions ? PARAMS_SERIALIZER_DEPENDENCIES : [],
|
|
94
|
-
...SWR_DEPENDENCIES,
|
|
95
|
-
...SWR_INFINITE_DEPENDENCIES,
|
|
96
|
-
...SWR_MUTATION_DEPENDENCIES
|
|
97
|
-
];
|
|
98
|
-
var generateSwrRequestFunction = ({
|
|
57
|
+
};
|
|
58
|
+
var generateAxiosRequestFunction = ({
|
|
99
59
|
headers,
|
|
100
60
|
queryParams,
|
|
101
61
|
operationName,
|
|
@@ -147,14 +107,15 @@ var generateSwrRequestFunction = ({
|
|
|
147
107
|
override == null ? void 0 : override.requestOptions,
|
|
148
108
|
mutator.hasSecondArg
|
|
149
109
|
) : "";
|
|
150
|
-
|
|
110
|
+
const requestImplementation = `export const ${operationName} = (
|
|
151
111
|
${propsImplementation}
|
|
152
112
|
${isRequestOptions && mutator.hasSecondArg ? `options${context.output.optionsParamRequired ? "" : "?"}: SecondParameter<typeof ${mutator.name}>` : ""}) => {${bodyForm}
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
113
|
+
return ${mutator.name}<${response.definition.success || "unknown"}>(
|
|
114
|
+
${mutatorConfig},
|
|
115
|
+
${requestOptions});
|
|
116
|
+
}
|
|
117
|
+
`;
|
|
118
|
+
return requestImplementation;
|
|
158
119
|
}
|
|
159
120
|
const options = (0, import_core.generateOptions)({
|
|
160
121
|
route,
|
|
@@ -181,11 +142,123 @@ var generateSwrRequestFunction = ({
|
|
|
181
142
|
}
|
|
182
143
|
`;
|
|
183
144
|
};
|
|
145
|
+
var getSwrRequestOptions = (httpClient, mutator) => {
|
|
146
|
+
if (!mutator) {
|
|
147
|
+
return httpClient === import_core.OutputHttpClient.AXIOS ? "axios?: AxiosRequestConfig" : "fetch?: RequestInit";
|
|
148
|
+
} else if (mutator == null ? void 0 : mutator.hasSecondArg) {
|
|
149
|
+
return `request?: SecondParameter<typeof ${mutator.name}>`;
|
|
150
|
+
} else {
|
|
151
|
+
return "";
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
var getSwrErrorType = (response, httpClient, mutator) => {
|
|
155
|
+
if (mutator) {
|
|
156
|
+
return mutator.hasErrorType ? `ErrorType<${response.definition.errors || "unknown"}>` : response.definition.errors || "unknown";
|
|
157
|
+
} else {
|
|
158
|
+
const errorType = httpClient === import_core.OutputHttpClient.AXIOS ? "AxiosError" : "Promise";
|
|
159
|
+
return `${errorType}<${response.definition.errors || "unknown"}>`;
|
|
160
|
+
}
|
|
161
|
+
};
|
|
162
|
+
var getSwrRequestSecondArg = (httpClient, mutator) => {
|
|
163
|
+
if (!mutator) {
|
|
164
|
+
return httpClient === import_core.OutputHttpClient.AXIOS ? "axios: axiosOptions" : "fetch: fetchOptions";
|
|
165
|
+
} else if (mutator == null ? void 0 : mutator.hasSecondArg) {
|
|
166
|
+
return "request: requestOptions";
|
|
167
|
+
} else {
|
|
168
|
+
return "";
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
var getHttpRequestSecondArg = (httpClient, mutator) => {
|
|
172
|
+
if (!mutator) {
|
|
173
|
+
return httpClient === import_core.OutputHttpClient.AXIOS ? `axiosOptions` : `fetchOptions`;
|
|
174
|
+
} else if (mutator == null ? void 0 : mutator.hasSecondArg) {
|
|
175
|
+
return "requestOptions";
|
|
176
|
+
} else {
|
|
177
|
+
return "";
|
|
178
|
+
}
|
|
179
|
+
};
|
|
180
|
+
var getSwrMutationFetcherOptionType = (httpClient, mutator) => {
|
|
181
|
+
if (!mutator) {
|
|
182
|
+
return httpClient === import_core.OutputHttpClient.AXIOS ? "AxiosRequestConfig" : "RequestInit";
|
|
183
|
+
} else if (mutator.hasSecondArg) {
|
|
184
|
+
return `SecondParameter<typeof ${mutator.name}>`;
|
|
185
|
+
} else {
|
|
186
|
+
return "";
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
var getSwrMutationFetcherType = (response, httpClient, includeHttpStatusReturnType, operationName, mutator) => {
|
|
190
|
+
if (httpClient === import_core.OutputHttpClient.FETCH) {
|
|
191
|
+
const responseType = (0, import_fetch.fetchResponseTypeName)(
|
|
192
|
+
includeHttpStatusReturnType,
|
|
193
|
+
response.definition.success,
|
|
194
|
+
operationName
|
|
195
|
+
);
|
|
196
|
+
return `Promise<${responseType}>`;
|
|
197
|
+
} else if (mutator) {
|
|
198
|
+
return `Promise<${response.definition.success || "unknown"}>`;
|
|
199
|
+
} else {
|
|
200
|
+
return `Promise<AxiosResponse<${response.definition.success || "unknown"}>>`;
|
|
201
|
+
}
|
|
202
|
+
};
|
|
203
|
+
|
|
204
|
+
// src/index.ts
|
|
205
|
+
var PARAMS_SERIALIZER_DEPENDENCIES = [
|
|
206
|
+
{
|
|
207
|
+
exports: [
|
|
208
|
+
{
|
|
209
|
+
name: "qs",
|
|
210
|
+
default: true,
|
|
211
|
+
values: true,
|
|
212
|
+
syntheticDefaultImport: true
|
|
213
|
+
}
|
|
214
|
+
],
|
|
215
|
+
dependency: "qs"
|
|
216
|
+
}
|
|
217
|
+
];
|
|
218
|
+
var SWR_DEPENDENCIES = [
|
|
219
|
+
{
|
|
220
|
+
exports: [
|
|
221
|
+
{ name: "useSwr", values: true, default: true },
|
|
222
|
+
{ name: "SWRConfiguration" },
|
|
223
|
+
{ name: "Key" },
|
|
224
|
+
{ name: "Arguments" }
|
|
225
|
+
],
|
|
226
|
+
dependency: "swr"
|
|
227
|
+
}
|
|
228
|
+
];
|
|
229
|
+
var SWR_INFINITE_DEPENDENCIES = [
|
|
230
|
+
{
|
|
231
|
+
exports: [
|
|
232
|
+
{ name: "useSWRInfinite", values: true, default: true },
|
|
233
|
+
{ name: "SWRInfiniteConfiguration" },
|
|
234
|
+
{ name: "SWRInfiniteKeyLoader" }
|
|
235
|
+
],
|
|
236
|
+
dependency: "swr/infinite"
|
|
237
|
+
}
|
|
238
|
+
];
|
|
239
|
+
var SWR_MUTATION_DEPENDENCIES = [
|
|
240
|
+
{
|
|
241
|
+
exports: [
|
|
242
|
+
{ name: "useSWRMutation", values: true, default: true },
|
|
243
|
+
{ name: "SWRMutationConfiguration" },
|
|
244
|
+
{ name: "SWRMutationKey" }
|
|
245
|
+
],
|
|
246
|
+
dependency: "swr/mutation"
|
|
247
|
+
}
|
|
248
|
+
];
|
|
249
|
+
var getSwrDependencies = (hasGlobalMutator, hasParamsSerializerOptions, _packageJson, httpClient) => [
|
|
250
|
+
...!hasGlobalMutator && httpClient === import_core2.OutputHttpClient.AXIOS ? AXIOS_DEPENDENCIES : [],
|
|
251
|
+
...hasParamsSerializerOptions ? PARAMS_SERIALIZER_DEPENDENCIES : [],
|
|
252
|
+
...SWR_DEPENDENCIES,
|
|
253
|
+
...SWR_INFINITE_DEPENDENCIES,
|
|
254
|
+
...SWR_MUTATION_DEPENDENCIES
|
|
255
|
+
];
|
|
184
256
|
var generateSwrArguments = ({
|
|
185
257
|
operationName,
|
|
186
258
|
mutator,
|
|
187
259
|
isRequestOptions,
|
|
188
|
-
isInfinite
|
|
260
|
+
isInfinite,
|
|
261
|
+
httpClient
|
|
189
262
|
}) => {
|
|
190
263
|
const configType = isInfinite ? "SWRInfiniteConfiguration" : "SWRConfiguration";
|
|
191
264
|
const optionsType = isInfinite ? "{ swrKeyLoader?: SWRInfiniteKeyLoader, enabled?: boolean }" : "{ swrKey?: Key, enabled?: boolean }";
|
|
@@ -193,20 +266,21 @@ var generateSwrArguments = ({
|
|
|
193
266
|
if (!isRequestOptions) {
|
|
194
267
|
return `swrOptions?: ${definition}`;
|
|
195
268
|
}
|
|
196
|
-
return `options?: { swr?:${definition}, ${
|
|
269
|
+
return `options?: { swr?:${definition}, ${getSwrRequestOptions(httpClient, mutator)} }
|
|
197
270
|
`;
|
|
198
271
|
};
|
|
199
272
|
var generateSwrMutationArguments = ({
|
|
200
273
|
operationName,
|
|
201
274
|
isRequestOptions,
|
|
202
275
|
mutator,
|
|
203
|
-
swrBodyType
|
|
276
|
+
swrBodyType,
|
|
277
|
+
httpClient
|
|
204
278
|
}) => {
|
|
205
|
-
const definition = `SWRMutationConfiguration<Awaited<ReturnType<typeof ${operationName}>>, TError,
|
|
279
|
+
const definition = `SWRMutationConfiguration<Awaited<ReturnType<typeof ${operationName}>>, TError, Key, ${swrBodyType}, Awaited<ReturnType<typeof ${operationName}>>> & { swrKey?: string }`;
|
|
206
280
|
if (!isRequestOptions) {
|
|
207
281
|
return `swrOptions?: ${definition}`;
|
|
208
282
|
}
|
|
209
|
-
return `options?: { swr?:${definition}, ${
|
|
283
|
+
return `options?: { swr?:${definition}, ${getSwrRequestOptions(httpClient, mutator)}}
|
|
210
284
|
`;
|
|
211
285
|
};
|
|
212
286
|
var generateSwrImplementation = ({
|
|
@@ -221,10 +295,11 @@ var generateSwrImplementation = ({
|
|
|
221
295
|
response,
|
|
222
296
|
swrOptions,
|
|
223
297
|
props,
|
|
224
|
-
doc
|
|
298
|
+
doc,
|
|
299
|
+
httpClient
|
|
225
300
|
}) => {
|
|
226
301
|
var _a, _b;
|
|
227
|
-
const swrProps = (0,
|
|
302
|
+
const swrProps = (0, import_core2.toObjectString)(props, "implementation");
|
|
228
303
|
const hasParamReservedWord = props.some(
|
|
229
304
|
(prop) => prop.name === "query"
|
|
230
305
|
);
|
|
@@ -233,33 +308,33 @@ var generateSwrImplementation = ({
|
|
|
233
308
|
const enabledImplementation = `const isEnabled = swrOptions?.enabled !== false${params.length ? ` && !!(${params.map(({ name }) => name).join(" && ")})` : ""}`;
|
|
234
309
|
const swrKeyImplementation = `const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? ${swrKeyFnName}(${swrKeyProperties}) : null);`;
|
|
235
310
|
const swrKeyLoaderImplementation = `const swrKeyLoader = swrOptions?.swrKeyLoader ?? (() => isEnabled ? ${swrKeyLoaderFnName}(${swrKeyProperties}) : null);`;
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
}
|
|
311
|
+
const errorType = getSwrErrorType(response, httpClient, mutator);
|
|
312
|
+
const swrRequestSecondArg = getSwrRequestSecondArg(httpClient, mutator);
|
|
313
|
+
const httpRequestSecondArg = getHttpRequestSecondArg(httpClient, mutator);
|
|
240
314
|
const useSWRInfiniteImplementation = swrOptions.useInfinite ? `
|
|
241
|
-
export type ${(0,
|
|
315
|
+
export type ${(0, import_core2.pascal)(
|
|
242
316
|
operationName
|
|
243
317
|
)}InfiniteQueryResult = NonNullable<Awaited<ReturnType<typeof ${operationName}>>>
|
|
244
|
-
export type ${(0,
|
|
318
|
+
export type ${(0, import_core2.pascal)(operationName)}InfiniteError = ${errorType}
|
|
245
319
|
|
|
246
|
-
${doc}export const ${(0,
|
|
320
|
+
${doc}export const ${(0, import_core2.camel)(
|
|
247
321
|
`use-${operationName}-infinite`
|
|
248
322
|
)} = <TError = ${errorType}>(
|
|
249
323
|
${swrProps} ${generateSwrArguments({
|
|
250
324
|
operationName,
|
|
251
325
|
mutator,
|
|
252
326
|
isRequestOptions,
|
|
253
|
-
isInfinite: true
|
|
327
|
+
isInfinite: true,
|
|
328
|
+
httpClient
|
|
254
329
|
})}) => {
|
|
255
|
-
${isRequestOptions ? `const {swr: swrOptions${
|
|
330
|
+
${isRequestOptions ? `const {swr: swrOptions${swrRequestSecondArg ? `, ${swrRequestSecondArg}` : ""}} = options ?? {}` : ""}
|
|
256
331
|
|
|
257
332
|
${enabledImplementation}
|
|
258
333
|
${swrKeyLoaderImplementation}
|
|
259
|
-
const swrFn = () => ${operationName}(${httpFunctionProps}${httpFunctionProps ? ", " : ""}${
|
|
334
|
+
const swrFn = () => ${operationName}(${httpFunctionProps}${httpFunctionProps && httpRequestSecondArg ? ", " : ""}${httpRequestSecondArg})
|
|
260
335
|
|
|
261
336
|
const ${queryResultVarName} = useSWRInfinite<Awaited<ReturnType<typeof swrFn>>, TError>(swrKeyLoader, swrFn, ${swrOptions.swrInfiniteOptions ? `{
|
|
262
|
-
${(_a = (0,
|
|
337
|
+
${(_a = (0, import_core2.stringify)(swrOptions.swrInfiniteOptions)) == null ? void 0 : _a.slice(1, -1)}
|
|
263
338
|
...swrOptions
|
|
264
339
|
}` : "swrOptions"})
|
|
265
340
|
|
|
@@ -270,26 +345,27 @@ ${doc}export const ${(0, import_core.camel)(
|
|
|
270
345
|
}
|
|
271
346
|
` : "";
|
|
272
347
|
const useSwrImplementation = `
|
|
273
|
-
export type ${(0,
|
|
348
|
+
export type ${(0, import_core2.pascal)(
|
|
274
349
|
operationName
|
|
275
350
|
)}QueryResult = NonNullable<Awaited<ReturnType<typeof ${operationName}>>>
|
|
276
|
-
export type ${(0,
|
|
351
|
+
export type ${(0, import_core2.pascal)(operationName)}QueryError = ${errorType}
|
|
277
352
|
|
|
278
|
-
${doc}export const ${(0,
|
|
353
|
+
${doc}export const ${(0, import_core2.camel)(`use-${operationName}`)} = <TError = ${errorType}>(
|
|
279
354
|
${swrProps} ${generateSwrArguments({
|
|
280
355
|
operationName,
|
|
281
356
|
mutator,
|
|
282
357
|
isRequestOptions,
|
|
283
|
-
isInfinite: false
|
|
358
|
+
isInfinite: false,
|
|
359
|
+
httpClient
|
|
284
360
|
})}) => {
|
|
285
|
-
${isRequestOptions ? `const {swr: swrOptions${
|
|
361
|
+
${isRequestOptions ? `const {swr: swrOptions${swrRequestSecondArg ? `, ${swrRequestSecondArg}` : ""}} = options ?? {}` : ""}
|
|
286
362
|
|
|
287
363
|
${enabledImplementation}
|
|
288
364
|
${swrKeyImplementation}
|
|
289
|
-
const swrFn = () => ${operationName}(${httpFunctionProps}${httpFunctionProps ? ", " : ""}${
|
|
365
|
+
const swrFn = () => ${operationName}(${httpFunctionProps}${httpFunctionProps && httpRequestSecondArg ? ", " : ""}${httpRequestSecondArg})
|
|
290
366
|
|
|
291
367
|
const ${queryResultVarName} = useSwr<Awaited<ReturnType<typeof swrFn>>, TError>(swrKey, swrFn, ${swrOptions.swrOptions ? `{
|
|
292
|
-
${(_b = (0,
|
|
368
|
+
${(_b = (0, import_core2.stringify)(swrOptions.swrOptions)) == null ? void 0 : _b.slice(1, -1)}
|
|
293
369
|
...swrOptions
|
|
294
370
|
}` : "swrOptions"})
|
|
295
371
|
|
|
@@ -314,7 +390,8 @@ var generateSwrMutationImplementation = ({
|
|
|
314
390
|
mutator,
|
|
315
391
|
swrOptions,
|
|
316
392
|
doc,
|
|
317
|
-
swrBodyType
|
|
393
|
+
swrBodyType,
|
|
394
|
+
httpClient
|
|
318
395
|
}) => {
|
|
319
396
|
var _a;
|
|
320
397
|
const hasParamReservedWord = props.some(
|
|
@@ -322,31 +399,31 @@ var generateSwrMutationImplementation = ({
|
|
|
322
399
|
);
|
|
323
400
|
const queryResultVarName = hasParamReservedWord ? "_query" : "query";
|
|
324
401
|
const swrKeyImplementation = `const swrKey = swrOptions?.swrKey ?? ${swrKeyFnName}(${swrKeyProperties});`;
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
}
|
|
402
|
+
const errorType = getSwrErrorType(response, httpClient, mutator);
|
|
403
|
+
const swrRequestSecondArg = getSwrRequestSecondArg(httpClient, mutator);
|
|
404
|
+
const httpRequestSecondArg = getHttpRequestSecondArg(httpClient, mutator);
|
|
329
405
|
const useSwrImplementation = `
|
|
330
|
-
export type ${(0,
|
|
406
|
+
export type ${(0, import_core2.pascal)(
|
|
331
407
|
operationName
|
|
332
408
|
)}MutationResult = NonNullable<Awaited<ReturnType<typeof ${operationName}>>>
|
|
333
|
-
export type ${(0,
|
|
409
|
+
export type ${(0, import_core2.pascal)(operationName)}MutationError = ${errorType}
|
|
334
410
|
|
|
335
|
-
${doc}export const ${(0,
|
|
411
|
+
${doc}export const ${(0, import_core2.camel)(`use-${operationName}`)} = <TError = ${errorType}>(
|
|
336
412
|
${swrProps} ${generateSwrMutationArguments({
|
|
337
413
|
operationName,
|
|
338
414
|
isRequestOptions,
|
|
339
415
|
mutator,
|
|
340
|
-
swrBodyType
|
|
416
|
+
swrBodyType,
|
|
417
|
+
httpClient
|
|
341
418
|
})}) => {
|
|
342
419
|
|
|
343
|
-
${isRequestOptions ? `const {swr: swrOptions${
|
|
420
|
+
${isRequestOptions ? `const {swr: swrOptions${swrRequestSecondArg ? `, ${swrRequestSecondArg}` : ""}} = options ?? {}` : ""}
|
|
344
421
|
|
|
345
422
|
${swrKeyImplementation}
|
|
346
|
-
const swrFn = ${swrMutationFetcherName}(${swrMutationFetcherProperties}${swrMutationFetcherProperties &&
|
|
423
|
+
const swrFn = ${swrMutationFetcherName}(${swrMutationFetcherProperties}${swrMutationFetcherProperties && httpRequestSecondArg ? ", " : ""}${httpRequestSecondArg});
|
|
347
424
|
|
|
348
425
|
const ${queryResultVarName} = useSWRMutation(swrKey, swrFn, ${swrOptions.swrMutationOptions ? `{
|
|
349
|
-
${(_a = (0,
|
|
426
|
+
${(_a = (0, import_core2.stringify)(swrOptions.swrMutationOptions)) == null ? void 0 : _a.slice(1, -1)}
|
|
350
427
|
...swrOptions
|
|
351
428
|
}` : "swrOptions"})
|
|
352
429
|
|
|
@@ -373,28 +450,28 @@ var generateSwrHook = ({
|
|
|
373
450
|
}, { route, context }) => {
|
|
374
451
|
var _a, _b;
|
|
375
452
|
const isRequestOptions = (override == null ? void 0 : override.requestOptions) !== false;
|
|
376
|
-
const
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
453
|
+
const httpClient = context.output.httpClient;
|
|
454
|
+
const doc = (0, import_core2.jsDoc)({ summary, deprecated });
|
|
455
|
+
if (verb === import_core2.Verbs.GET) {
|
|
456
|
+
const swrKeyProperties = props.filter((prop) => prop.type !== import_core2.GetterPropType.HEADER).map((param) => {
|
|
457
|
+
if (param.type === import_core2.GetterPropType.NAMED_PATH_PARAMS)
|
|
380
458
|
return param.destructured;
|
|
381
|
-
return param.type ===
|
|
459
|
+
return param.type === import_core2.GetterPropType.BODY ? body.implementation : param.name;
|
|
382
460
|
}).join(",");
|
|
383
461
|
const swrProperties = props.map((param) => {
|
|
384
|
-
if (param.type ===
|
|
462
|
+
if (param.type === import_core2.GetterPropType.NAMED_PATH_PARAMS)
|
|
385
463
|
return param.destructured;
|
|
386
|
-
return param.type ===
|
|
464
|
+
return param.type === import_core2.GetterPropType.BODY ? body.implementation : param.name;
|
|
387
465
|
}).join(",");
|
|
388
|
-
const queryKeyProps = (0,
|
|
389
|
-
props.filter((prop) => prop.type !==
|
|
466
|
+
const queryKeyProps = (0, import_core2.toObjectString)(
|
|
467
|
+
props.filter((prop) => prop.type !== import_core2.GetterPropType.HEADER),
|
|
390
468
|
"implementation"
|
|
391
469
|
);
|
|
392
|
-
const swrKeyFnName = (0,
|
|
470
|
+
const swrKeyFnName = (0, import_core2.camel)(`get-${operationName}-key`);
|
|
393
471
|
const swrKeyFn = `
|
|
394
|
-
export const ${swrKeyFnName} = (${queryKeyProps}) => [\`${route}\`${queryParams ? ", ...(params ? [params]: [])" : ""}
|
|
395
|
-
|
|
472
|
+
export const ${swrKeyFnName} = (${queryKeyProps}) => [\`${route}\`${queryParams ? ", ...(params ? [params]: [])" : ""}] as const;
|
|
396
473
|
`;
|
|
397
|
-
const swrKeyLoaderFnName = (0,
|
|
474
|
+
const swrKeyLoaderFnName = (0, import_core2.camel)(
|
|
398
475
|
`get-${operationName}-infinite-key-loader`
|
|
399
476
|
);
|
|
400
477
|
const swrKeyLoader = override.swr.useInfinite ? `export const ${swrKeyLoaderFnName} = (${queryKeyProps}) => {
|
|
@@ -417,65 +494,75 @@ export const ${swrKeyFnName} = (${queryKeyProps}) => [\`${route}\`${queryParams
|
|
|
417
494
|
isRequestOptions,
|
|
418
495
|
response,
|
|
419
496
|
swrOptions: override.swr,
|
|
420
|
-
doc
|
|
497
|
+
doc,
|
|
498
|
+
httpClient
|
|
421
499
|
});
|
|
422
500
|
return swrKeyFn + swrKeyLoader + swrImplementation;
|
|
423
501
|
} else {
|
|
424
|
-
const queryKeyProps = (0,
|
|
502
|
+
const queryKeyProps = (0, import_core2.toObjectString)(
|
|
425
503
|
props.filter(
|
|
426
|
-
(prop) => prop.type ===
|
|
504
|
+
(prop) => prop.type === import_core2.GetterPropType.PARAM || prop.type === import_core2.GetterPropType.NAMED_PATH_PARAMS || prop.type === import_core2.GetterPropType.QUERY_PARAM
|
|
427
505
|
),
|
|
428
506
|
"implementation"
|
|
429
507
|
);
|
|
430
|
-
const swrProps = (0,
|
|
508
|
+
const swrProps = (0, import_core2.toObjectString)(
|
|
431
509
|
props.filter(
|
|
432
|
-
(prop) => prop.type ===
|
|
510
|
+
(prop) => prop.type === import_core2.GetterPropType.PARAM || prop.type === import_core2.GetterPropType.QUERY_PARAM || prop.type === import_core2.GetterPropType.NAMED_PATH_PARAMS
|
|
433
511
|
),
|
|
434
512
|
"implementation"
|
|
435
513
|
);
|
|
436
514
|
const swrMutationFetcherProperties = props.filter(
|
|
437
|
-
(prop) => prop.type ===
|
|
515
|
+
(prop) => prop.type === import_core2.GetterPropType.PARAM || prop.type === import_core2.GetterPropType.QUERY_PARAM || prop.type === import_core2.GetterPropType.NAMED_PATH_PARAMS
|
|
438
516
|
).map((param) => {
|
|
439
|
-
if (param.type ===
|
|
517
|
+
if (param.type === import_core2.GetterPropType.NAMED_PATH_PARAMS) {
|
|
440
518
|
return param.destructured;
|
|
441
519
|
} else {
|
|
442
520
|
return param.name;
|
|
443
521
|
}
|
|
444
522
|
}).join(",");
|
|
445
|
-
const httpFnProperties = props.filter((prop) => prop.type !==
|
|
446
|
-
if (prop.type ===
|
|
523
|
+
const httpFnProperties = props.filter((prop) => prop.type !== import_core2.GetterPropType.HEADER).map((prop) => {
|
|
524
|
+
if (prop.type === import_core2.GetterPropType.NAMED_PATH_PARAMS) {
|
|
447
525
|
return prop.destructured;
|
|
448
|
-
} else if (prop.type ===
|
|
526
|
+
} else if (prop.type === import_core2.GetterPropType.BODY) {
|
|
449
527
|
return `arg`;
|
|
450
528
|
} else {
|
|
451
529
|
return prop.name;
|
|
452
530
|
}
|
|
453
531
|
}).join(", ");
|
|
454
532
|
const swrKeyProperties = props.filter(
|
|
455
|
-
(prop) => prop.type ===
|
|
533
|
+
(prop) => prop.type === import_core2.GetterPropType.PARAM || prop.type === import_core2.GetterPropType.NAMED_PATH_PARAMS || prop.type === import_core2.GetterPropType.QUERY_PARAM
|
|
456
534
|
).map((prop) => {
|
|
457
|
-
if (prop.type ===
|
|
535
|
+
if (prop.type === import_core2.GetterPropType.NAMED_PATH_PARAMS) {
|
|
458
536
|
return prop.destructured;
|
|
459
537
|
} else {
|
|
460
538
|
return prop.name;
|
|
461
539
|
}
|
|
462
540
|
}).join(",");
|
|
463
|
-
const swrKeyFnName = (0,
|
|
464
|
-
const swrMutationKeyFn = `export const ${swrKeyFnName} = (${queryKeyProps}) => \`${route}
|
|
541
|
+
const swrKeyFnName = (0, import_core2.camel)(`get-${operationName}-mutation-key`);
|
|
542
|
+
const swrMutationKeyFn = `export const ${swrKeyFnName} = (${queryKeyProps}) => [\`${route}\`${queryParams ? ", ...(params ? [params]: [])" : ""}] as const;
|
|
465
543
|
`;
|
|
466
|
-
const swrMutationFetcherName = (0,
|
|
544
|
+
const swrMutationFetcherName = (0, import_core2.camel)(
|
|
467
545
|
`get-${operationName}-mutation-fetcher`
|
|
468
546
|
);
|
|
469
|
-
const swrMutationFetcherType =
|
|
470
|
-
|
|
547
|
+
const swrMutationFetcherType = getSwrMutationFetcherType(
|
|
548
|
+
response,
|
|
549
|
+
httpClient,
|
|
550
|
+
override.fetch.includeHttpStatusReturnType,
|
|
551
|
+
operationName,
|
|
552
|
+
mutator
|
|
553
|
+
);
|
|
554
|
+
const swrMutationFetcherOptionType = getSwrMutationFetcherOptionType(
|
|
555
|
+
httpClient,
|
|
556
|
+
mutator
|
|
557
|
+
);
|
|
471
558
|
const swrMutationFetcherOptions = isRequestOptions && swrMutationFetcherOptionType ? `options${context.output.optionsParamRequired ? "" : "?"}: ${swrMutationFetcherOptionType}` : "";
|
|
472
559
|
const swrMutationFetcherArg = props.some(
|
|
473
|
-
(prop) => prop.type ===
|
|
560
|
+
(prop) => prop.type === import_core2.GetterPropType.BODY
|
|
474
561
|
) ? "{ arg }" : "__";
|
|
475
|
-
const swrBodyType = (_b = (_a = props.find((prop) => prop.type ===
|
|
562
|
+
const swrBodyType = (_b = (_a = props.find((prop) => prop.type === import_core2.GetterPropType.BODY)) == null ? void 0 : _a.implementation.split(": ")[1]) != null ? _b : "Arguments";
|
|
476
563
|
const swrMutationFetcherFn = `
|
|
477
564
|
export const ${swrMutationFetcherName} = (${swrProps} ${swrMutationFetcherOptions}) => {
|
|
478
|
-
return (_:
|
|
565
|
+
return (_: Key, ${swrMutationFetcherArg}: { arg: ${swrBodyType} }): ${swrMutationFetcherType} => {
|
|
479
566
|
return ${operationName}(${httpFnProperties}${swrMutationFetcherOptions.length ? (httpFnProperties.length ? ", " : "") + "options" : ""});
|
|
480
567
|
}
|
|
481
568
|
}
|
|
@@ -493,7 +580,8 @@ export const ${swrMutationFetcherName} = (${swrProps} ${swrMutationFetcherOption
|
|
|
493
580
|
mutator,
|
|
494
581
|
swrOptions: override.swr,
|
|
495
582
|
doc,
|
|
496
|
-
swrBodyType
|
|
583
|
+
swrBodyType,
|
|
584
|
+
httpClient: context.output.httpClient
|
|
497
585
|
});
|
|
498
586
|
return swrMutationFetcherFn + swrMutationKeyFn + swrImplementation;
|
|
499
587
|
}
|
|
@@ -512,7 +600,7 @@ var generateSwrHeader = ({
|
|
|
512
600
|
|
|
513
601
|
` : ""}`;
|
|
514
602
|
var generateSwr = (verbOptions, options) => {
|
|
515
|
-
const imports = (0,
|
|
603
|
+
const imports = (0, import_core2.generateVerbImports)(verbOptions);
|
|
516
604
|
const functionImplementation = generateSwrRequestFunction(
|
|
517
605
|
verbOptions,
|
|
518
606
|
options
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import {\n camel,\n ClientBuilder,\n ClientDependenciesBuilder,\n ClientGeneratorsBuilder,\n ClientHeaderBuilder,\n generateFormDataAndUrlEncodedFunction,\n generateMutatorConfig,\n generateMutatorRequestOptions,\n generateOptions,\n generateVerbImports,\n GeneratorDependency,\n GeneratorMutator,\n GeneratorOptions,\n GeneratorVerbOptions,\n GetterParams,\n GetterProp,\n GetterProps,\n GetterPropType,\n GetterResponse,\n isSyntheticDefaultImportsAllow,\n pascal,\n stringify,\n toObjectString,\n Verbs,\n VERBS_WITH_BODY,\n jsDoc,\n SwrOptions,\n} from '@orval/core';\n\nconst AXIOS_DEPENDENCIES: GeneratorDependency[] = [\n {\n exports: [\n {\n name: 'axios',\n default: true,\n values: true,\n syntheticDefaultImport: true,\n },\n { name: 'AxiosRequestConfig' },\n { name: 'AxiosResponse' },\n { name: 'AxiosError' },\n ],\n dependency: 'axios',\n },\n];\n\nconst PARAMS_SERIALIZER_DEPENDENCIES: GeneratorDependency[] = [\n {\n exports: [\n {\n name: 'qs',\n default: true,\n values: true,\n syntheticDefaultImport: true,\n },\n ],\n dependency: 'qs',\n },\n];\n\nconst SWR_DEPENDENCIES: GeneratorDependency[] = [\n {\n exports: [\n { name: 'useSwr', values: true, default: true },\n { name: 'SWRConfiguration' },\n { name: 'Key' },\n { name: 'Arguments' },\n ],\n dependency: 'swr',\n },\n];\n\nconst SWR_INFINITE_DEPENDENCIES: GeneratorDependency[] = [\n {\n exports: [\n { name: 'useSWRInfinite', values: true, default: true },\n { name: 'SWRInfiniteConfiguration' },\n { name: 'SWRInfiniteKeyLoader' },\n ],\n dependency: 'swr/infinite',\n },\n];\n\nconst SWR_MUTATION_DEPENDENCIES: GeneratorDependency[] = [\n {\n exports: [\n { name: 'useSWRMutation', values: true, default: true },\n { name: 'SWRMutationConfiguration' },\n { name: 'SWRMutationKey' },\n ],\n dependency: 'swr/mutation',\n },\n];\n\nexport const getSwrDependencies: ClientDependenciesBuilder = (\n hasGlobalMutator: boolean,\n hasParamsSerializerOptions: boolean,\n) => [\n ...(!hasGlobalMutator ? AXIOS_DEPENDENCIES : []),\n ...(hasParamsSerializerOptions ? PARAMS_SERIALIZER_DEPENDENCIES : []),\n ...SWR_DEPENDENCIES,\n ...SWR_INFINITE_DEPENDENCIES,\n ...SWR_MUTATION_DEPENDENCIES,\n];\n\nconst generateSwrRequestFunction = (\n {\n headers,\n queryParams,\n operationName,\n response,\n mutator,\n body,\n props,\n verb,\n formData,\n formUrlEncoded,\n override,\n paramsSerializer,\n }: GeneratorVerbOptions,\n { route, context }: GeneratorOptions,\n) => {\n const isRequestOptions = override?.requestOptions !== false;\n const isFormData = override?.formData !== false;\n const isFormUrlEncoded = override?.formUrlEncoded !== false;\n const isExactOptionalPropertyTypes =\n !!context.output.tsconfig?.compilerOptions?.exactOptionalPropertyTypes;\n const isBodyVerb = VERBS_WITH_BODY.includes(verb);\n const isSyntheticDefaultImportsAllowed = isSyntheticDefaultImportsAllow(\n context.output.tsconfig,\n );\n\n const bodyForm = generateFormDataAndUrlEncodedFunction({\n formData,\n formUrlEncoded,\n body,\n isFormData,\n isFormUrlEncoded,\n });\n\n if (mutator) {\n const mutatorConfig = generateMutatorConfig({\n route,\n body,\n headers,\n queryParams,\n response,\n verb,\n isFormData,\n isFormUrlEncoded,\n hasSignal: false,\n isBodyVerb,\n isExactOptionalPropertyTypes,\n });\n\n const propsImplementation =\n mutator?.bodyTypeName && body.definition\n ? toObjectString(props, 'implementation').replace(\n new RegExp(`(\\\\w*):\\\\s?${body.definition}`),\n `$1: ${mutator.bodyTypeName}<${body.definition}>`,\n )\n : toObjectString(props, 'implementation');\n\n const requestOptions = isRequestOptions\n ? generateMutatorRequestOptions(\n override?.requestOptions,\n mutator.hasSecondArg,\n )\n : '';\n\n return `export const ${operationName} = (\\n ${propsImplementation}\\n ${\n isRequestOptions && mutator.hasSecondArg\n ? `options${context.output.optionsParamRequired ? '' : '?'}: SecondParameter<typeof ${mutator.name}>`\n : ''\n }) => {${bodyForm}\n return ${mutator.name}<${response.definition.success || 'unknown'}>(\n ${mutatorConfig},\n ${requestOptions});\n }\n `;\n }\n\n const options = generateOptions({\n route,\n body,\n headers,\n queryParams,\n response,\n verb,\n requestOptions: override?.requestOptions,\n isFormData,\n isFormUrlEncoded,\n paramsSerializer,\n paramsSerializerOptions: override?.paramsSerializerOptions,\n isExactOptionalPropertyTypes,\n hasSignal: false,\n });\n\n return `export const ${operationName} = (\\n ${toObjectString(\n props,\n 'implementation',\n )} ${\n isRequestOptions ? `options?: AxiosRequestConfig\\n` : ''\n } ): Promise<AxiosResponse<${\n response.definition.success || 'unknown'\n }>> => {${bodyForm}\n return axios${\n !isSyntheticDefaultImportsAllowed ? '.default' : ''\n }.${verb}(${options});\n }\n`;\n};\n\nconst generateSwrArguments = ({\n operationName,\n mutator,\n isRequestOptions,\n isInfinite,\n}: {\n operationName: string;\n mutator?: GeneratorMutator;\n isRequestOptions: boolean;\n isInfinite: boolean;\n}) => {\n const configType = isInfinite\n ? 'SWRInfiniteConfiguration'\n : 'SWRConfiguration';\n const optionsType = isInfinite\n ? '{ swrKeyLoader?: SWRInfiniteKeyLoader, enabled?: boolean }'\n : '{ swrKey?: Key, enabled?: boolean }';\n const definition = `${configType}<Awaited<ReturnType<typeof ${operationName}>>, TError> & ${optionsType}`;\n\n if (!isRequestOptions) {\n return `swrOptions?: ${definition}`;\n }\n\n return `options?: { swr?:${definition}, ${\n !mutator\n ? `axios?: AxiosRequestConfig`\n : mutator?.hasSecondArg\n ? `request?: SecondParameter<typeof ${mutator.name}>`\n : ''\n } }\\n`;\n};\n\nconst generateSwrMutationArguments = ({\n operationName,\n isRequestOptions,\n mutator,\n swrBodyType,\n}: {\n operationName: string;\n isRequestOptions: boolean;\n mutator?: GeneratorMutator;\n swrBodyType: string;\n}) => {\n const definition = `SWRMutationConfiguration<Awaited<ReturnType<typeof ${operationName}>>, TError, string, ${swrBodyType}, Awaited<ReturnType<typeof ${operationName}>>> & { swrKey?: string }`;\n\n if (!isRequestOptions) {\n return `swrOptions?: ${definition}`;\n }\n\n return `options?: { swr?:${definition}, ${\n !mutator\n ? `axios?: AxiosRequestConfig`\n : mutator?.hasSecondArg\n ? `request?: SecondParameter<typeof ${mutator.name}>`\n : ''\n } }\\n`;\n};\n\nconst generateSwrImplementation = ({\n operationName,\n swrKeyFnName,\n swrKeyLoaderFnName,\n swrProperties,\n swrKeyProperties,\n params,\n mutator,\n isRequestOptions,\n response,\n swrOptions,\n props,\n doc,\n}: {\n isRequestOptions: boolean;\n operationName: string;\n swrKeyFnName: string;\n swrKeyLoaderFnName: string;\n swrProperties: string;\n swrKeyProperties: string;\n params: GetterParams;\n props: GetterProps;\n response: GetterResponse;\n mutator?: GeneratorMutator;\n swrOptions: SwrOptions;\n doc?: string;\n}) => {\n const swrProps = toObjectString(props, 'implementation');\n\n const hasParamReservedWord = props.some(\n (prop: GetterProp) => prop.name === 'query',\n );\n const queryResultVarName = hasParamReservedWord ? '_query' : 'query';\n\n const httpFunctionProps = swrProperties;\n\n const enabledImplementation = `const isEnabled = swrOptions?.enabled !== false${\n params.length\n ? ` && !!(${params.map(({ name }) => name).join(' && ')})`\n : ''\n }`;\n const swrKeyImplementation = `const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? ${swrKeyFnName}(${swrKeyProperties}) : null);`;\n const swrKeyLoaderImplementation = `const swrKeyLoader = swrOptions?.swrKeyLoader ?? (() => isEnabled ? ${swrKeyLoaderFnName}(${swrKeyProperties}) : null);`;\n\n let errorType = `AxiosError<${response.definition.errors || 'unknown'}>`;\n\n if (mutator) {\n errorType = mutator.hasErrorType\n ? `ErrorType<${response.definition.errors || 'unknown'}>`\n : response.definition.errors || 'unknown';\n }\n\n const useSWRInfiniteImplementation = swrOptions.useInfinite\n ? `\nexport type ${pascal(\n operationName,\n )}InfiniteQueryResult = NonNullable<Awaited<ReturnType<typeof ${operationName}>>>\nexport type ${pascal(operationName)}InfiniteError = ${errorType}\n\n${doc}export const ${camel(\n `use-${operationName}-infinite`,\n )} = <TError = ${errorType}>(\n ${swrProps} ${generateSwrArguments({\n operationName,\n mutator,\n isRequestOptions,\n isInfinite: true,\n })}) => {\n ${\n isRequestOptions\n ? `const {swr: swrOptions${\n !mutator\n ? `, axios: axiosOptions`\n : mutator?.hasSecondArg\n ? ', request: requestOptions'\n : ''\n }} = options ?? {}`\n : ''\n }\n\n ${enabledImplementation}\n ${swrKeyLoaderImplementation}\n const swrFn = () => ${operationName}(${httpFunctionProps}${\n httpFunctionProps ? ', ' : ''\n }${\n isRequestOptions\n ? !mutator\n ? `axiosOptions`\n : mutator?.hasSecondArg\n ? 'requestOptions'\n : ''\n : ''\n });\n\n const ${queryResultVarName} = useSWRInfinite<Awaited<ReturnType<typeof swrFn>>, TError>(swrKeyLoader, swrFn, ${\n swrOptions.swrInfiniteOptions\n ? `{\n ${stringify(swrOptions.swrInfiniteOptions)?.slice(1, -1)}\n ...swrOptions\n }`\n : 'swrOptions'\n })\n\n return {\n swrKeyLoader,\n ...${queryResultVarName}\n }\n}\\n`\n : '';\n\n const useSwrImplementation = `\nexport type ${pascal(\n operationName,\n )}QueryResult = NonNullable<Awaited<ReturnType<typeof ${operationName}>>>\nexport type ${pascal(operationName)}QueryError = ${errorType}\n\n${doc}export const ${camel(`use-${operationName}`)} = <TError = ${errorType}>(\n ${swrProps} ${generateSwrArguments({\n operationName,\n mutator,\n isRequestOptions,\n isInfinite: false,\n })}) => {\n ${\n isRequestOptions\n ? `const {swr: swrOptions${\n !mutator\n ? `, axios: axiosOptions`\n : mutator?.hasSecondArg\n ? ', request: requestOptions'\n : ''\n }} = options ?? {}`\n : ''\n }\n\n ${enabledImplementation}\n ${swrKeyImplementation}\n const swrFn = () => ${operationName}(${httpFunctionProps}${\n httpFunctionProps ? ', ' : ''\n }${\n isRequestOptions\n ? !mutator\n ? `axiosOptions`\n : mutator?.hasSecondArg\n ? 'requestOptions'\n : ''\n : ''\n });\n\n const ${queryResultVarName} = useSwr<Awaited<ReturnType<typeof swrFn>>, TError>(swrKey, swrFn, ${\n swrOptions.swrOptions\n ? `{\n ${stringify(swrOptions.swrOptions)?.slice(1, -1)}\n ...swrOptions\n }`\n : 'swrOptions'\n })\n\n return {\n swrKey,\n ...${queryResultVarName}\n }\n}\\n`;\n\n return useSWRInfiniteImplementation + useSwrImplementation;\n};\n\nconst generateSwrMutationImplementation = ({\n isRequestOptions,\n operationName,\n swrKeyFnName,\n swrMutationFetcherName,\n swrKeyProperties,\n swrMutationFetcherProperties,\n swrProps,\n props,\n response,\n mutator,\n swrOptions,\n doc,\n swrBodyType,\n}: {\n isRequestOptions: boolean;\n operationName: string;\n swrKeyFnName: string;\n swrMutationFetcherName: string;\n swrKeyProperties: string;\n swrMutationFetcherProperties: string;\n swrProps: string;\n props: GetterProps;\n response: GetterResponse;\n mutator?: GeneratorMutator;\n swrOptions: SwrOptions;\n doc?: string;\n swrBodyType: string;\n}) => {\n const hasParamReservedWord = props.some(\n (prop: GetterProp) => prop.name === 'query',\n );\n const queryResultVarName = hasParamReservedWord ? '_query' : 'query';\n\n const swrKeyImplementation = `const swrKey = swrOptions?.swrKey ?? ${swrKeyFnName}(${swrKeyProperties});`;\n\n let errorType = `AxiosError<${response.definition.errors || 'unknown'}>`;\n\n if (mutator) {\n errorType = mutator.hasErrorType\n ? `ErrorType<${response.definition.errors || 'unknown'}>`\n : response.definition.errors || 'unknown';\n }\n\n const useSwrImplementation = `\nexport type ${pascal(\n operationName,\n )}MutationResult = NonNullable<Awaited<ReturnType<typeof ${operationName}>>>\nexport type ${pascal(operationName)}MutationError = ${errorType}\n\n${doc}export const ${camel(`use-${operationName}`)} = <TError = ${errorType}>(\n ${swrProps} ${generateSwrMutationArguments({\n operationName,\n isRequestOptions,\n mutator,\n swrBodyType,\n })}) => {\n\n ${\n isRequestOptions\n ? `const {swr: swrOptions${\n !mutator\n ? `, axios: axiosOptions`\n : mutator?.hasSecondArg\n ? ', request: requestOptions'\n : ''\n }} = options ?? {}`\n : ''\n }\n\n ${swrKeyImplementation}\n const swrFn = ${swrMutationFetcherName}(${swrMutationFetcherProperties}${\n swrMutationFetcherProperties && isRequestOptions ? ',' : ''\n }${\n isRequestOptions\n ? !mutator\n ? `axiosOptions`\n : mutator?.hasSecondArg\n ? 'requestOptions'\n : ''\n : ''\n });\n\n const ${queryResultVarName} = useSWRMutation(swrKey, swrFn, ${\n swrOptions.swrMutationOptions\n ? `{\n ${stringify(swrOptions.swrMutationOptions)?.slice(1, -1)}\n ...swrOptions\n }`\n : 'swrOptions'\n })\n\n return {\n swrKey,\n ...${queryResultVarName}\n }\n}\\n`;\n\n return useSwrImplementation;\n};\n\nconst generateSwrHook = (\n {\n queryParams,\n operationName,\n body,\n props,\n verb,\n params,\n override,\n mutator,\n response,\n summary,\n deprecated,\n }: GeneratorVerbOptions,\n { route, context }: GeneratorOptions,\n) => {\n const isRequestOptions = override?.requestOptions !== false;\n const doc = jsDoc({ summary, deprecated });\n\n if (verb === Verbs.GET) {\n const swrKeyProperties = props\n .filter((prop) => prop.type !== GetterPropType.HEADER)\n .map((param) => {\n if (param.type === GetterPropType.NAMED_PATH_PARAMS)\n return param.destructured;\n return param.type === GetterPropType.BODY\n ? body.implementation\n : param.name;\n })\n .join(',');\n\n const swrProperties = props\n .map((param) => {\n if (param.type === GetterPropType.NAMED_PATH_PARAMS)\n return param.destructured;\n return param.type === GetterPropType.BODY\n ? body.implementation\n : param.name;\n })\n .join(',');\n\n const queryKeyProps = toObjectString(\n props.filter((prop) => prop.type !== GetterPropType.HEADER),\n 'implementation',\n );\n\n const swrKeyFnName = camel(`get-${operationName}-key`);\n const swrKeyFn = `\nexport const ${swrKeyFnName} = (${queryKeyProps}) => [\\`${route}\\`${\n queryParams ? ', ...(params ? [params]: [])' : ''\n }${body.implementation ? `, ${body.implementation}` : ''}] as const;\n\\n`;\n\n const swrKeyLoaderFnName = camel(\n `get-${operationName}-infinite-key-loader`,\n );\n const swrKeyLoader = override.swr.useInfinite\n ? `export const ${swrKeyLoaderFnName} = (${queryKeyProps}) => {\n return (_: number, previousPageData: Awaited<ReturnType<typeof ${operationName}>>) => {\n if (previousPageData && !previousPageData.data) return null\n\n return [\\`${route}\\`${queryParams ? ', ...(params ? [params]: [])' : ''}${\n body.implementation ? `, ${body.implementation}` : ''\n }] as const;\n }\n}\\n`\n : '';\n\n const swrImplementation = generateSwrImplementation({\n operationName,\n swrKeyFnName,\n swrKeyLoaderFnName,\n swrProperties,\n swrKeyProperties,\n params,\n props,\n mutator,\n isRequestOptions,\n response,\n swrOptions: override.swr,\n doc,\n });\n\n return swrKeyFn + swrKeyLoader + swrImplementation;\n } else {\n const queryKeyProps = toObjectString(\n props.filter(\n (prop) =>\n prop.type === GetterPropType.PARAM ||\n prop.type === GetterPropType.NAMED_PATH_PARAMS,\n ),\n 'implementation',\n );\n\n const swrProps = toObjectString(\n props.filter(\n (prop) =>\n prop.type === GetterPropType.PARAM ||\n prop.type === GetterPropType.QUERY_PARAM ||\n prop.type === GetterPropType.NAMED_PATH_PARAMS,\n ),\n 'implementation',\n );\n\n const swrMutationFetcherProperties = props\n .filter(\n (prop) =>\n prop.type === GetterPropType.PARAM ||\n prop.type === GetterPropType.QUERY_PARAM ||\n prop.type === GetterPropType.NAMED_PATH_PARAMS,\n )\n .map((param) => {\n if (param.type === GetterPropType.NAMED_PATH_PARAMS) {\n return param.destructured;\n } else {\n return param.name;\n }\n })\n .join(',');\n\n const httpFnProperties = props\n .filter((prop) => prop.type !== GetterPropType.HEADER)\n .map((prop) => {\n if (prop.type === GetterPropType.NAMED_PATH_PARAMS) {\n return prop.destructured;\n } else if (prop.type === GetterPropType.BODY) {\n return `arg`;\n } else {\n return prop.name;\n }\n })\n .join(', ');\n\n const swrKeyProperties = props\n .filter(\n (prop) =>\n prop.type === GetterPropType.PARAM ||\n prop.type === GetterPropType.NAMED_PATH_PARAMS,\n )\n .map((prop) => {\n if (prop.type === GetterPropType.NAMED_PATH_PARAMS) {\n return prop.destructured;\n } else {\n return prop.name;\n }\n })\n .join(',');\n\n const swrKeyFnName = camel(`get-${operationName}-mutation-key`);\n const swrMutationKeyFn = `export const ${swrKeyFnName} = (${queryKeyProps}) => \\`${route}\\` as const;\\n`;\n\n const swrMutationFetcherName = camel(\n `get-${operationName}-mutation-fetcher`,\n );\n const swrMutationFetcherType = mutator\n ? `Promise<${response.definition.success || 'unknown'}>`\n : `Promise<AxiosResponse<${response.definition.success || 'unknown'}>>`;\n const swrMutationFetcherOptionType = !mutator\n ? 'AxiosRequestConfig'\n : mutator.hasSecondArg\n ? `SecondParameter<typeof ${mutator.name}>`\n : '';\n const swrMutationFetcherOptions =\n isRequestOptions && swrMutationFetcherOptionType\n ? `options${context.output.optionsParamRequired ? '' : '?'}: ${swrMutationFetcherOptionType}`\n : '';\n\n const swrMutationFetcherArg = props.some(\n (prop) => prop.type === GetterPropType.BODY,\n )\n ? '{ arg }'\n : '__';\n\n const swrBodyType =\n props\n .find((prop) => prop.type === GetterPropType.BODY)\n ?.implementation.split(': ')[1] ?? 'Arguments';\n\n const swrMutationFetcherFn = `\nexport const ${swrMutationFetcherName} = (${swrProps} ${swrMutationFetcherOptions}) => {\n return (_: string, ${swrMutationFetcherArg}: { arg: ${swrBodyType} }): ${swrMutationFetcherType} => {\n return ${operationName}(${httpFnProperties}${\n swrMutationFetcherOptions.length\n ? (httpFnProperties.length ? ', ' : '') + 'options'\n : ''\n });\n }\n}\\n`;\n\n const swrImplementation = generateSwrMutationImplementation({\n operationName,\n swrKeyFnName,\n swrMutationFetcherName,\n swrKeyProperties,\n swrMutationFetcherProperties,\n swrProps,\n props,\n isRequestOptions,\n response,\n mutator,\n swrOptions: override.swr,\n doc,\n swrBodyType,\n });\n\n return swrMutationFetcherFn + swrMutationKeyFn + swrImplementation;\n }\n};\n\nexport const generateSwrHeader: ClientHeaderBuilder = ({\n isRequestOptions,\n isMutator,\n hasAwaitedType,\n}) =>\n `\n ${\n !hasAwaitedType\n ? `type AwaitedInput<T> = PromiseLike<T> | T;\\n\n type Awaited<O> = O extends AwaitedInput<infer T> ? T : never;\\n\\n`\n : ''\n }\n ${\n isRequestOptions && isMutator\n ? `type SecondParameter<T extends (...args: any) => any> = Parameters<T>[1];\\n\\n`\n : ''\n }`;\n\nexport const generateSwr: ClientBuilder = (verbOptions, options) => {\n const imports = generateVerbImports(verbOptions);\n const functionImplementation = generateSwrRequestFunction(\n verbOptions,\n options,\n );\n const hookImplementation = generateSwrHook(verbOptions, options);\n\n return {\n implementation: `${functionImplementation}\\n\\n${hookImplementation}`,\n imports,\n };\n};\n\nconst swrClientBuilder: ClientGeneratorsBuilder = {\n client: generateSwr,\n header: generateSwrHeader,\n dependencies: getSwrDependencies,\n};\n\nexport const builder = () => () => swrClientBuilder;\n\nexport default builder;\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/client.ts"],"sourcesContent":["import {\n camel,\n ClientBuilder,\n ClientDependenciesBuilder,\n ClientGeneratorsBuilder,\n ClientHeaderBuilder,\n generateVerbImports,\n GeneratorDependency,\n GeneratorMutator,\n GeneratorOptions,\n GeneratorVerbOptions,\n GetterParams,\n GetterProp,\n GetterProps,\n GetterPropType,\n GetterResponse,\n pascal,\n stringify,\n toObjectString,\n Verbs,\n jsDoc,\n SwrOptions,\n OutputHttpClient,\n} from '@orval/core';\nimport {\n AXIOS_DEPENDENCIES,\n generateSwrRequestFunction,\n getSwrRequestOptions,\n getSwrErrorType,\n getSwrRequestSecondArg,\n getHttpRequestSecondArg,\n getSwrMutationFetcherOptionType,\n getSwrMutationFetcherType,\n} from './client';\n\nconst PARAMS_SERIALIZER_DEPENDENCIES: GeneratorDependency[] = [\n {\n exports: [\n {\n name: 'qs',\n default: true,\n values: true,\n syntheticDefaultImport: true,\n },\n ],\n dependency: 'qs',\n },\n];\n\nconst SWR_DEPENDENCIES: GeneratorDependency[] = [\n {\n exports: [\n { name: 'useSwr', values: true, default: true },\n { name: 'SWRConfiguration' },\n { name: 'Key' },\n { name: 'Arguments' },\n ],\n dependency: 'swr',\n },\n];\n\nconst SWR_INFINITE_DEPENDENCIES: GeneratorDependency[] = [\n {\n exports: [\n { name: 'useSWRInfinite', values: true, default: true },\n { name: 'SWRInfiniteConfiguration' },\n { name: 'SWRInfiniteKeyLoader' },\n ],\n dependency: 'swr/infinite',\n },\n];\n\nconst SWR_MUTATION_DEPENDENCIES: GeneratorDependency[] = [\n {\n exports: [\n { name: 'useSWRMutation', values: true, default: true },\n { name: 'SWRMutationConfiguration' },\n { name: 'SWRMutationKey' },\n ],\n dependency: 'swr/mutation',\n },\n];\n\nexport const getSwrDependencies: ClientDependenciesBuilder = (\n hasGlobalMutator: boolean,\n hasParamsSerializerOptions: boolean,\n _packageJson,\n httpClient?: OutputHttpClient,\n) => [\n ...(!hasGlobalMutator && httpClient === OutputHttpClient.AXIOS\n ? AXIOS_DEPENDENCIES\n : []),\n ...(hasParamsSerializerOptions ? PARAMS_SERIALIZER_DEPENDENCIES : []),\n ...SWR_DEPENDENCIES,\n ...SWR_INFINITE_DEPENDENCIES,\n ...SWR_MUTATION_DEPENDENCIES,\n];\n\nconst generateSwrArguments = ({\n operationName,\n mutator,\n isRequestOptions,\n isInfinite,\n httpClient,\n}: {\n operationName: string;\n mutator?: GeneratorMutator;\n isRequestOptions: boolean;\n isInfinite: boolean;\n httpClient: OutputHttpClient;\n}) => {\n const configType = isInfinite\n ? 'SWRInfiniteConfiguration'\n : 'SWRConfiguration';\n const optionsType = isInfinite\n ? '{ swrKeyLoader?: SWRInfiniteKeyLoader, enabled?: boolean }'\n : '{ swrKey?: Key, enabled?: boolean }';\n const definition = `${configType}<Awaited<ReturnType<typeof ${operationName}>>, TError> & ${optionsType}`;\n\n if (!isRequestOptions) {\n return `swrOptions?: ${definition}`;\n }\n\n return `options?: { swr?:${definition}, ${getSwrRequestOptions(httpClient, mutator)} }\\n`;\n};\n\nconst generateSwrMutationArguments = ({\n operationName,\n isRequestOptions,\n mutator,\n swrBodyType,\n httpClient,\n}: {\n operationName: string;\n isRequestOptions: boolean;\n mutator?: GeneratorMutator;\n swrBodyType: string;\n httpClient: OutputHttpClient;\n}) => {\n const definition = `SWRMutationConfiguration<Awaited<ReturnType<typeof ${operationName}>>, TError, Key, ${swrBodyType}, Awaited<ReturnType<typeof ${operationName}>>> & { swrKey?: string }`;\n\n if (!isRequestOptions) {\n return `swrOptions?: ${definition}`;\n }\n\n return `options?: { swr?:${definition}, ${getSwrRequestOptions(httpClient, mutator)}}\\n`;\n};\n\nconst generateSwrImplementation = ({\n operationName,\n swrKeyFnName,\n swrKeyLoaderFnName,\n swrProperties,\n swrKeyProperties,\n params,\n mutator,\n isRequestOptions,\n response,\n swrOptions,\n props,\n doc,\n httpClient,\n}: {\n isRequestOptions: boolean;\n operationName: string;\n swrKeyFnName: string;\n swrKeyLoaderFnName: string;\n swrProperties: string;\n swrKeyProperties: string;\n params: GetterParams;\n props: GetterProps;\n response: GetterResponse;\n mutator?: GeneratorMutator;\n swrOptions: SwrOptions;\n doc?: string;\n httpClient: OutputHttpClient;\n}) => {\n const swrProps = toObjectString(props, 'implementation');\n\n const hasParamReservedWord = props.some(\n (prop: GetterProp) => prop.name === 'query',\n );\n const queryResultVarName = hasParamReservedWord ? '_query' : 'query';\n\n const httpFunctionProps = swrProperties;\n\n const enabledImplementation = `const isEnabled = swrOptions?.enabled !== false${\n params.length\n ? ` && !!(${params.map(({ name }) => name).join(' && ')})`\n : ''\n }`;\n const swrKeyImplementation = `const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? ${swrKeyFnName}(${swrKeyProperties}) : null);`;\n const swrKeyLoaderImplementation = `const swrKeyLoader = swrOptions?.swrKeyLoader ?? (() => isEnabled ? ${swrKeyLoaderFnName}(${swrKeyProperties}) : null);`;\n\n const errorType = getSwrErrorType(response, httpClient, mutator);\n const swrRequestSecondArg = getSwrRequestSecondArg(httpClient, mutator);\n const httpRequestSecondArg = getHttpRequestSecondArg(httpClient, mutator);\n\n const useSWRInfiniteImplementation = swrOptions.useInfinite\n ? `\nexport type ${pascal(\n operationName,\n )}InfiniteQueryResult = NonNullable<Awaited<ReturnType<typeof ${operationName}>>>\nexport type ${pascal(operationName)}InfiniteError = ${errorType}\n\n${doc}export const ${camel(\n `use-${operationName}-infinite`,\n )} = <TError = ${errorType}>(\n ${swrProps} ${generateSwrArguments({\n operationName,\n mutator,\n isRequestOptions,\n isInfinite: true,\n httpClient,\n })}) => {\n ${\n isRequestOptions\n ? `const {swr: swrOptions${swrRequestSecondArg ? `, ${swrRequestSecondArg}` : ''}} = options ?? {}`\n : ''\n }\n\n ${enabledImplementation}\n ${swrKeyLoaderImplementation}\n const swrFn = () => ${operationName}(${httpFunctionProps}${\n httpFunctionProps && httpRequestSecondArg ? ', ' : ''\n }${httpRequestSecondArg})\n\n const ${queryResultVarName} = useSWRInfinite<Awaited<ReturnType<typeof swrFn>>, TError>(swrKeyLoader, swrFn, ${\n swrOptions.swrInfiniteOptions\n ? `{\n ${stringify(swrOptions.swrInfiniteOptions)?.slice(1, -1)}\n ...swrOptions\n }`\n : 'swrOptions'\n })\n\n return {\n swrKeyLoader,\n ...${queryResultVarName}\n }\n}\\n`\n : '';\n\n const useSwrImplementation = `\nexport type ${pascal(\n operationName,\n )}QueryResult = NonNullable<Awaited<ReturnType<typeof ${operationName}>>>\nexport type ${pascal(operationName)}QueryError = ${errorType}\n\n${doc}export const ${camel(`use-${operationName}`)} = <TError = ${errorType}>(\n ${swrProps} ${generateSwrArguments({\n operationName,\n mutator,\n isRequestOptions,\n isInfinite: false,\n httpClient,\n })}) => {\n ${\n isRequestOptions\n ? `const {swr: swrOptions${swrRequestSecondArg ? `, ${swrRequestSecondArg}` : ''}} = options ?? {}`\n : ''\n }\n\n ${enabledImplementation}\n ${swrKeyImplementation}\n const swrFn = () => ${operationName}(${httpFunctionProps}${\n httpFunctionProps && httpRequestSecondArg ? ', ' : ''\n }${httpRequestSecondArg})\n\n const ${queryResultVarName} = useSwr<Awaited<ReturnType<typeof swrFn>>, TError>(swrKey, swrFn, ${\n swrOptions.swrOptions\n ? `{\n ${stringify(swrOptions.swrOptions)?.slice(1, -1)}\n ...swrOptions\n }`\n : 'swrOptions'\n })\n\n return {\n swrKey,\n ...${queryResultVarName}\n }\n}\\n`;\n\n return useSWRInfiniteImplementation + useSwrImplementation;\n};\n\nconst generateSwrMutationImplementation = ({\n isRequestOptions,\n operationName,\n swrKeyFnName,\n swrMutationFetcherName,\n swrKeyProperties,\n swrMutationFetcherProperties,\n swrProps,\n props,\n response,\n mutator,\n swrOptions,\n doc,\n swrBodyType,\n httpClient,\n}: {\n isRequestOptions: boolean;\n operationName: string;\n swrKeyFnName: string;\n swrMutationFetcherName: string;\n swrKeyProperties: string;\n swrMutationFetcherProperties: string;\n swrProps: string;\n props: GetterProps;\n response: GetterResponse;\n mutator?: GeneratorMutator;\n swrOptions: SwrOptions;\n doc?: string;\n swrBodyType: string;\n httpClient: OutputHttpClient;\n}) => {\n const hasParamReservedWord = props.some(\n (prop: GetterProp) => prop.name === 'query',\n );\n const queryResultVarName = hasParamReservedWord ? '_query' : 'query';\n\n const swrKeyImplementation = `const swrKey = swrOptions?.swrKey ?? ${swrKeyFnName}(${swrKeyProperties});`;\n\n const errorType = getSwrErrorType(response, httpClient, mutator);\n const swrRequestSecondArg = getSwrRequestSecondArg(httpClient, mutator);\n const httpRequestSecondArg = getHttpRequestSecondArg(httpClient, mutator);\n\n const useSwrImplementation = `\nexport type ${pascal(\n operationName,\n )}MutationResult = NonNullable<Awaited<ReturnType<typeof ${operationName}>>>\nexport type ${pascal(operationName)}MutationError = ${errorType}\n\n${doc}export const ${camel(`use-${operationName}`)} = <TError = ${errorType}>(\n ${swrProps} ${generateSwrMutationArguments({\n operationName,\n isRequestOptions,\n mutator,\n swrBodyType,\n httpClient,\n })}) => {\n\n ${isRequestOptions ? `const {swr: swrOptions${swrRequestSecondArg ? `, ${swrRequestSecondArg}` : ''}} = options ?? {}` : ''}\n\n ${swrKeyImplementation}\n const swrFn = ${swrMutationFetcherName}(${swrMutationFetcherProperties}${\n swrMutationFetcherProperties && httpRequestSecondArg ? ', ' : ''\n }${httpRequestSecondArg});\n\n const ${queryResultVarName} = useSWRMutation(swrKey, swrFn, ${\n swrOptions.swrMutationOptions\n ? `{\n ${stringify(swrOptions.swrMutationOptions)?.slice(1, -1)}\n ...swrOptions\n }`\n : 'swrOptions'\n })\n\n return {\n swrKey,\n ...${queryResultVarName}\n }\n}\\n`;\n\n return useSwrImplementation;\n};\n\nconst generateSwrHook = (\n {\n queryParams,\n operationName,\n body,\n props,\n verb,\n params,\n override,\n mutator,\n response,\n summary,\n deprecated,\n }: GeneratorVerbOptions,\n { route, context }: GeneratorOptions,\n) => {\n const isRequestOptions = override?.requestOptions !== false;\n const httpClient = context.output.httpClient;\n const doc = jsDoc({ summary, deprecated });\n\n if (verb === Verbs.GET) {\n const swrKeyProperties = props\n .filter((prop) => prop.type !== GetterPropType.HEADER)\n .map((param) => {\n if (param.type === GetterPropType.NAMED_PATH_PARAMS)\n return param.destructured;\n return param.type === GetterPropType.BODY\n ? body.implementation\n : param.name;\n })\n .join(',');\n\n const swrProperties = props\n .map((param) => {\n if (param.type === GetterPropType.NAMED_PATH_PARAMS)\n return param.destructured;\n return param.type === GetterPropType.BODY\n ? body.implementation\n : param.name;\n })\n .join(',');\n\n const queryKeyProps = toObjectString(\n props.filter((prop) => prop.type !== GetterPropType.HEADER),\n 'implementation',\n );\n\n const swrKeyFnName = camel(`get-${operationName}-key`);\n const swrKeyFn = `\nexport const ${swrKeyFnName} = (${queryKeyProps}) => [\\`${route}\\`${\n queryParams ? ', ...(params ? [params]: [])' : ''\n }] as const;\n`;\n\n const swrKeyLoaderFnName = camel(\n `get-${operationName}-infinite-key-loader`,\n );\n const swrKeyLoader = override.swr.useInfinite\n ? `export const ${swrKeyLoaderFnName} = (${queryKeyProps}) => {\n return (_: number, previousPageData: Awaited<ReturnType<typeof ${operationName}>>) => {\n if (previousPageData && !previousPageData.data) return null\n\n return [\\`${route}\\`${queryParams ? ', ...(params ? [params]: [])' : ''}${\n body.implementation ? `, ${body.implementation}` : ''\n }] as const;\n }\n}\\n`\n : '';\n\n const swrImplementation = generateSwrImplementation({\n operationName,\n swrKeyFnName,\n swrKeyLoaderFnName,\n swrProperties,\n swrKeyProperties,\n params,\n props,\n mutator,\n isRequestOptions,\n response,\n swrOptions: override.swr,\n doc,\n httpClient,\n });\n\n return swrKeyFn + swrKeyLoader + swrImplementation;\n } else {\n const queryKeyProps = toObjectString(\n props.filter(\n (prop) =>\n prop.type === GetterPropType.PARAM ||\n prop.type === GetterPropType.NAMED_PATH_PARAMS ||\n prop.type === GetterPropType.QUERY_PARAM,\n ),\n 'implementation',\n );\n\n const swrProps = toObjectString(\n props.filter(\n (prop) =>\n prop.type === GetterPropType.PARAM ||\n prop.type === GetterPropType.QUERY_PARAM ||\n prop.type === GetterPropType.NAMED_PATH_PARAMS,\n ),\n 'implementation',\n );\n\n const swrMutationFetcherProperties = props\n .filter(\n (prop) =>\n prop.type === GetterPropType.PARAM ||\n prop.type === GetterPropType.QUERY_PARAM ||\n prop.type === GetterPropType.NAMED_PATH_PARAMS,\n )\n .map((param) => {\n if (param.type === GetterPropType.NAMED_PATH_PARAMS) {\n return param.destructured;\n } else {\n return param.name;\n }\n })\n .join(',');\n\n const httpFnProperties = props\n .filter((prop) => prop.type !== GetterPropType.HEADER)\n .map((prop) => {\n if (prop.type === GetterPropType.NAMED_PATH_PARAMS) {\n return prop.destructured;\n } else if (prop.type === GetterPropType.BODY) {\n return `arg`;\n } else {\n return prop.name;\n }\n })\n .join(', ');\n\n const swrKeyProperties = props\n .filter(\n (prop) =>\n prop.type === GetterPropType.PARAM ||\n prop.type === GetterPropType.NAMED_PATH_PARAMS ||\n prop.type === GetterPropType.QUERY_PARAM,\n )\n .map((prop) => {\n if (prop.type === GetterPropType.NAMED_PATH_PARAMS) {\n return prop.destructured;\n } else {\n return prop.name;\n }\n })\n .join(',');\n\n const swrKeyFnName = camel(`get-${operationName}-mutation-key`);\n const swrMutationKeyFn = `export const ${swrKeyFnName} = (${queryKeyProps}) => [\\`${route}\\`${\n queryParams ? ', ...(params ? [params]: [])' : ''\n }] as const;\n`;\n\n const swrMutationFetcherName = camel(\n `get-${operationName}-mutation-fetcher`,\n );\n\n const swrMutationFetcherType = getSwrMutationFetcherType(\n response,\n httpClient,\n override.fetch.includeHttpStatusReturnType,\n operationName,\n mutator,\n );\n const swrMutationFetcherOptionType = getSwrMutationFetcherOptionType(\n httpClient,\n mutator,\n );\n\n const swrMutationFetcherOptions =\n isRequestOptions && swrMutationFetcherOptionType\n ? `options${context.output.optionsParamRequired ? '' : '?'}: ${swrMutationFetcherOptionType}`\n : '';\n\n const swrMutationFetcherArg = props.some(\n (prop) => prop.type === GetterPropType.BODY,\n )\n ? '{ arg }'\n : '__';\n\n const swrBodyType =\n props\n .find((prop) => prop.type === GetterPropType.BODY)\n ?.implementation.split(': ')[1] ?? 'Arguments';\n\n const swrMutationFetcherFn = `\nexport const ${swrMutationFetcherName} = (${swrProps} ${swrMutationFetcherOptions}) => {\n return (_: Key, ${swrMutationFetcherArg}: { arg: ${swrBodyType} }): ${swrMutationFetcherType} => {\n return ${operationName}(${httpFnProperties}${\n swrMutationFetcherOptions.length\n ? (httpFnProperties.length ? ', ' : '') + 'options'\n : ''\n });\n }\n}\\n`;\n\n const swrImplementation = generateSwrMutationImplementation({\n operationName,\n swrKeyFnName,\n swrMutationFetcherName,\n swrKeyProperties,\n swrMutationFetcherProperties,\n swrProps,\n props,\n isRequestOptions,\n response,\n mutator,\n swrOptions: override.swr,\n doc,\n swrBodyType,\n httpClient: context.output.httpClient,\n });\n\n return swrMutationFetcherFn + swrMutationKeyFn + swrImplementation;\n }\n};\n\nexport const generateSwrHeader: ClientHeaderBuilder = ({\n isRequestOptions,\n isMutator,\n hasAwaitedType,\n}) =>\n `\n ${\n !hasAwaitedType\n ? `type AwaitedInput<T> = PromiseLike<T> | T;\\n\n type Awaited<O> = O extends AwaitedInput<infer T> ? T : never;\\n\\n`\n : ''\n }\n ${\n isRequestOptions && isMutator\n ? `type SecondParameter<T extends (...args: any) => any> = Parameters<T>[1];\\n\\n`\n : ''\n }`;\n\nexport const generateSwr: ClientBuilder = (verbOptions, options) => {\n const imports = generateVerbImports(verbOptions);\n const functionImplementation = generateSwrRequestFunction(\n verbOptions,\n options,\n );\n const hookImplementation = generateSwrHook(verbOptions, options);\n\n return {\n implementation: `${functionImplementation}\\n\\n${hookImplementation}`,\n imports,\n };\n};\n\nconst swrClientBuilder: ClientGeneratorsBuilder = {\n client: generateSwr,\n header: generateSwrHeader,\n dependencies: getSwrDependencies,\n};\n\nexport const builder = () => () => swrClientBuilder;\n\nexport default builder;\n","import {\n generateFormDataAndUrlEncodedFunction,\n generateMutatorConfig,\n generateMutatorRequestOptions,\n generateOptions,\n GeneratorDependency,\n GeneratorOptions,\n GeneratorVerbOptions,\n isSyntheticDefaultImportsAllow,\n toObjectString,\n VERBS_WITH_BODY,\n GeneratorMutator,\n GetterResponse,\n OutputHttpClient,\n} from '@orval/core';\n\nimport {\n generateRequestFunction as generateFetchRequestFunction,\n fetchResponseTypeName,\n} from '@orval/fetch';\n\nexport const AXIOS_DEPENDENCIES: GeneratorDependency[] = [\n {\n exports: [\n {\n name: 'axios',\n default: true,\n values: true,\n syntheticDefaultImport: true,\n },\n { name: 'AxiosRequestConfig' },\n { name: 'AxiosResponse' },\n { name: 'AxiosError' },\n ],\n dependency: 'axios',\n },\n];\n\nexport const generateSwrRequestFunction = (\n verbOptions: GeneratorVerbOptions,\n options: GeneratorOptions,\n) => {\n if (options.context.output.httpClient === OutputHttpClient.AXIOS) {\n return generateAxiosRequestFunction(verbOptions, options);\n } else {\n return generateFetchRequestFunction(verbOptions, options);\n }\n};\n\nconst generateAxiosRequestFunction = (\n {\n headers,\n queryParams,\n operationName,\n response,\n mutator,\n body,\n props,\n verb,\n formData,\n formUrlEncoded,\n override,\n paramsSerializer,\n }: GeneratorVerbOptions,\n { route, context }: GeneratorOptions,\n) => {\n const isRequestOptions = override?.requestOptions !== false;\n const isFormData = override?.formData !== false;\n const isFormUrlEncoded = override?.formUrlEncoded !== false;\n const isExactOptionalPropertyTypes =\n !!context.output.tsconfig?.compilerOptions?.exactOptionalPropertyTypes;\n const isBodyVerb = VERBS_WITH_BODY.includes(verb);\n const isSyntheticDefaultImportsAllowed = isSyntheticDefaultImportsAllow(\n context.output.tsconfig,\n );\n\n const bodyForm = generateFormDataAndUrlEncodedFunction({\n formData,\n formUrlEncoded,\n body,\n isFormData,\n isFormUrlEncoded,\n });\n\n if (mutator) {\n const mutatorConfig = generateMutatorConfig({\n route,\n body,\n headers,\n queryParams,\n response,\n verb,\n isFormData,\n isFormUrlEncoded,\n hasSignal: false,\n isBodyVerb,\n isExactOptionalPropertyTypes,\n });\n\n const propsImplementation =\n mutator?.bodyTypeName && body.definition\n ? toObjectString(props, 'implementation').replace(\n new RegExp(`(\\\\w*):\\\\s?${body.definition}`),\n `$1: ${mutator.bodyTypeName}<${body.definition}>`,\n )\n : toObjectString(props, 'implementation');\n\n const requestOptions = isRequestOptions\n ? generateMutatorRequestOptions(\n override?.requestOptions,\n mutator.hasSecondArg,\n )\n : '';\n\n const requestImplementation = `export const ${operationName} = (\\n ${propsImplementation}\\n ${\n isRequestOptions && mutator.hasSecondArg\n ? `options${context.output.optionsParamRequired ? '' : '?'}: SecondParameter<typeof ${mutator.name}>`\n : ''\n }) => {${bodyForm}\n return ${mutator.name}<${response.definition.success || 'unknown'}>(\n ${mutatorConfig},\n ${requestOptions});\n }\n`;\n\n return requestImplementation;\n }\n\n const options = generateOptions({\n route,\n body,\n headers,\n queryParams,\n response,\n verb,\n requestOptions: override?.requestOptions,\n isFormData,\n isFormUrlEncoded,\n paramsSerializer,\n paramsSerializerOptions: override?.paramsSerializerOptions,\n isExactOptionalPropertyTypes,\n hasSignal: false,\n });\n\n return `export const ${operationName} = (\\n ${toObjectString(\n props,\n 'implementation',\n )} ${\n isRequestOptions ? `options?: AxiosRequestConfig\\n` : ''\n } ): Promise<AxiosResponse<${\n response.definition.success || 'unknown'\n }>> => {${bodyForm}\n return axios${\n !isSyntheticDefaultImportsAllowed ? '.default' : ''\n }.${verb}(${options});\n }\n`;\n};\n\nexport const getSwrRequestOptions = (\n httpClient: OutputHttpClient,\n mutator?: GeneratorMutator,\n) => {\n if (!mutator) {\n return httpClient === OutputHttpClient.AXIOS\n ? 'axios?: AxiosRequestConfig'\n : 'fetch?: RequestInit';\n } else if (mutator?.hasSecondArg) {\n return `request?: SecondParameter<typeof ${mutator.name}>`;\n } else {\n return '';\n }\n};\n\nexport const getSwrErrorType = (\n response: GetterResponse,\n httpClient: OutputHttpClient,\n mutator?: GeneratorMutator,\n) => {\n if (mutator) {\n return mutator.hasErrorType\n ? `ErrorType<${response.definition.errors || 'unknown'}>`\n : response.definition.errors || 'unknown';\n } else {\n const errorType =\n httpClient === OutputHttpClient.AXIOS ? 'AxiosError' : 'Promise';\n\n return `${errorType}<${response.definition.errors || 'unknown'}>`;\n }\n};\n\nexport const getSwrRequestSecondArg = (\n httpClient: OutputHttpClient,\n mutator?: GeneratorMutator,\n) => {\n if (!mutator) {\n return httpClient === OutputHttpClient.AXIOS\n ? 'axios: axiosOptions'\n : 'fetch: fetchOptions';\n } else if (mutator?.hasSecondArg) {\n return 'request: requestOptions';\n } else {\n return '';\n }\n};\n\nexport const getHttpRequestSecondArg = (\n httpClient: OutputHttpClient,\n mutator?: GeneratorMutator,\n) => {\n if (!mutator) {\n return httpClient === OutputHttpClient.AXIOS\n ? `axiosOptions`\n : `fetchOptions`;\n } else if (mutator?.hasSecondArg) {\n return 'requestOptions';\n } else {\n return '';\n }\n};\n\nexport const getSwrMutationFetcherOptionType = (\n httpClient: OutputHttpClient,\n mutator?: GeneratorMutator,\n) => {\n if (!mutator) {\n return httpClient === OutputHttpClient.AXIOS\n ? 'AxiosRequestConfig'\n : 'RequestInit';\n } else if (mutator.hasSecondArg) {\n return `SecondParameter<typeof ${mutator.name}>`;\n } else {\n return '';\n }\n};\n\nexport const getSwrMutationFetcherType = (\n response: GetterResponse,\n httpClient: OutputHttpClient,\n includeHttpStatusReturnType: boolean,\n operationName: string,\n mutator?: GeneratorMutator,\n) => {\n if (httpClient === OutputHttpClient.FETCH) {\n const responseType = fetchResponseTypeName(\n includeHttpStatusReturnType,\n response.definition.success,\n operationName,\n );\n\n return `Promise<${responseType}>`;\n } else if (mutator) {\n return `Promise<${response.definition.success || 'unknown'}>`;\n } else {\n return `Promise<AxiosResponse<${response.definition.success || 'unknown'}>>`;\n }\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAA,eAuBO;;;ACvBP,kBAcO;AAEP,mBAGO;AAEA,IAAM,qBAA4C;AAAA,EACvD;AAAA,IACE,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,wBAAwB;AAAA,MAC1B;AAAA,MACA,EAAE,MAAM,qBAAqB;AAAA,MAC7B,EAAE,MAAM,gBAAgB;AAAA,MACxB,EAAE,MAAM,aAAa;AAAA,IACvB;AAAA,IACA,YAAY;AAAA,EACd;AACF;AAEO,IAAM,6BAA6B,CACxC,aACA,YACG;AACH,MAAI,QAAQ,QAAQ,OAAO,eAAe,6BAAiB,OAAO;AAChE,WAAO,6BAA6B,aAAa,OAAO;AAAA,EAC1D,OAAO;AACL,eAAO,aAAAC,yBAA6B,aAAa,OAAO;AAAA,EAC1D;AACF;AAEA,IAAM,+BAA+B,CACnC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GACA,EAAE,OAAO,QAAQ,MACd;AAjEL;AAkEE,QAAM,oBAAmB,qCAAU,oBAAmB;AACtD,QAAM,cAAa,qCAAU,cAAa;AAC1C,QAAM,oBAAmB,qCAAU,oBAAmB;AACtD,QAAM,+BACJ,CAAC,GAAC,mBAAQ,OAAO,aAAf,mBAAyB,oBAAzB,mBAA0C;AAC9C,QAAM,aAAa,4BAAgB,SAAS,IAAI;AAChD,QAAM,uCAAmC;AAAA,IACvC,QAAQ,OAAO;AAAA,EACjB;AAEA,QAAM,eAAW,mDAAsC;AAAA,IACrD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,MAAI,SAAS;AACX,UAAM,oBAAgB,mCAAsB;AAAA,MAC1C;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,WAAW;AAAA,MACX;AAAA,MACA;AAAA,IACF,CAAC;AAED,UAAM,uBACJ,mCAAS,iBAAgB,KAAK,iBAC1B,4BAAe,OAAO,gBAAgB,EAAE;AAAA,MACtC,IAAI,OAAO,cAAc,KAAK,UAAU,EAAE;AAAA,MAC1C,OAAO,QAAQ,YAAY,IAAI,KAAK,UAAU;AAAA,IAChD,QACA,4BAAe,OAAO,gBAAgB;AAE5C,UAAM,iBAAiB,uBACnB;AAAA,MACE,qCAAU;AAAA,MACV,QAAQ;AAAA,IACV,IACA;AAEJ,UAAM,wBAAwB,gBAAgB,aAAa;AAAA,MAAa,mBAAmB;AAAA,GACzF,oBAAoB,QAAQ,eACxB,UAAU,QAAQ,OAAO,uBAAuB,KAAK,GAAG,4BAA4B,QAAQ,IAAI,MAChG,EACN,SAAS,QAAQ;AAAA,aACR,QAAQ,IAAI,IAAI,SAAS,WAAW,WAAW,SAAS;AAAA,MAC/D,aAAa;AAAA,MACb,cAAc;AAAA;AAAA;AAIhB,WAAO;AAAA,EACT;AAEA,QAAM,cAAU,6BAAgB;AAAA,IAC9B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB,qCAAU;AAAA,IAC1B;AAAA,IACA;AAAA,IACA;AAAA,IACA,yBAAyB,qCAAU;AAAA,IACnC;AAAA,IACA,WAAW;AAAA,EACb,CAAC;AAED,SAAO,gBAAgB,aAAa;AAAA,UAAa;AAAA,IAC/C;AAAA,IACA;AAAA,EACF,CAAC,IACC,mBAAmB;AAAA,IAAmC,EACxD,6BACE,SAAS,WAAW,WAAW,SACjC,UAAU,QAAQ;AAAA,kBAEd,CAAC,mCAAmC,aAAa,EACnD,IAAI,IAAI,IAAI,OAAO;AAAA;AAAA;AAGvB;AAEO,IAAM,uBAAuB,CAClC,YACA,YACG;AACH,MAAI,CAAC,SAAS;AACZ,WAAO,eAAe,6BAAiB,QACnC,+BACA;AAAA,EACN,WAAW,mCAAS,cAAc;AAChC,WAAO,oCAAoC,QAAQ,IAAI;AAAA,EACzD,OAAO;AACL,WAAO;AAAA,EACT;AACF;AAEO,IAAM,kBAAkB,CAC7B,UACA,YACA,YACG;AACH,MAAI,SAAS;AACX,WAAO,QAAQ,eACX,aAAa,SAAS,WAAW,UAAU,SAAS,MACpD,SAAS,WAAW,UAAU;AAAA,EACpC,OAAO;AACL,UAAM,YACJ,eAAe,6BAAiB,QAAQ,eAAe;AAEzD,WAAO,GAAG,SAAS,IAAI,SAAS,WAAW,UAAU,SAAS;AAAA,EAChE;AACF;AAEO,IAAM,yBAAyB,CACpC,YACA,YACG;AACH,MAAI,CAAC,SAAS;AACZ,WAAO,eAAe,6BAAiB,QACnC,wBACA;AAAA,EACN,WAAW,mCAAS,cAAc;AAChC,WAAO;AAAA,EACT,OAAO;AACL,WAAO;AAAA,EACT;AACF;AAEO,IAAM,0BAA0B,CACrC,YACA,YACG;AACH,MAAI,CAAC,SAAS;AACZ,WAAO,eAAe,6BAAiB,QACnC,iBACA;AAAA,EACN,WAAW,mCAAS,cAAc;AAChC,WAAO;AAAA,EACT,OAAO;AACL,WAAO;AAAA,EACT;AACF;AAEO,IAAM,kCAAkC,CAC7C,YACA,YACG;AACH,MAAI,CAAC,SAAS;AACZ,WAAO,eAAe,6BAAiB,QACnC,uBACA;AAAA,EACN,WAAW,QAAQ,cAAc;AAC/B,WAAO,0BAA0B,QAAQ,IAAI;AAAA,EAC/C,OAAO;AACL,WAAO;AAAA,EACT;AACF;AAEO,IAAM,4BAA4B,CACvC,UACA,YACA,6BACA,eACA,YACG;AACH,MAAI,eAAe,6BAAiB,OAAO;AACzC,UAAM,mBAAe;AAAA,MACnB;AAAA,MACA,SAAS,WAAW;AAAA,MACpB;AAAA,IACF;AAEA,WAAO,WAAW,YAAY;AAAA,EAChC,WAAW,SAAS;AAClB,WAAO,WAAW,SAAS,WAAW,WAAW,SAAS;AAAA,EAC5D,OAAO;AACL,WAAO,yBAAyB,SAAS,WAAW,WAAW,SAAS;AAAA,EAC1E;AACF;;;AD7NA,IAAM,iCAAwD;AAAA,EAC5D;AAAA,IACE,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,wBAAwB;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,YAAY;AAAA,EACd;AACF;AAEA,IAAM,mBAA0C;AAAA,EAC9C;AAAA,IACE,SAAS;AAAA,MACP,EAAE,MAAM,UAAU,QAAQ,MAAM,SAAS,KAAK;AAAA,MAC9C,EAAE,MAAM,mBAAmB;AAAA,MAC3B,EAAE,MAAM,MAAM;AAAA,MACd,EAAE,MAAM,YAAY;AAAA,IACtB;AAAA,IACA,YAAY;AAAA,EACd;AACF;AAEA,IAAM,4BAAmD;AAAA,EACvD;AAAA,IACE,SAAS;AAAA,MACP,EAAE,MAAM,kBAAkB,QAAQ,MAAM,SAAS,KAAK;AAAA,MACtD,EAAE,MAAM,2BAA2B;AAAA,MACnC,EAAE,MAAM,uBAAuB;AAAA,IACjC;AAAA,IACA,YAAY;AAAA,EACd;AACF;AAEA,IAAM,4BAAmD;AAAA,EACvD;AAAA,IACE,SAAS;AAAA,MACP,EAAE,MAAM,kBAAkB,QAAQ,MAAM,SAAS,KAAK;AAAA,MACtD,EAAE,MAAM,2BAA2B;AAAA,MACnC,EAAE,MAAM,iBAAiB;AAAA,IAC3B;AAAA,IACA,YAAY;AAAA,EACd;AACF;AAEO,IAAM,qBAAgD,CAC3D,kBACA,4BACA,cACA,eACG;AAAA,EACH,GAAI,CAAC,oBAAoB,eAAe,8BAAiB,QACrD,qBACA,CAAC;AAAA,EACL,GAAI,6BAA6B,iCAAiC,CAAC;AAAA,EACnE,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAEA,IAAM,uBAAuB,CAAC;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAMM;AACJ,QAAM,aAAa,aACf,6BACA;AACJ,QAAM,cAAc,aAChB,+DACA;AACJ,QAAM,aAAa,GAAG,UAAU,8BAA8B,aAAa,iBAAiB,WAAW;AAEvG,MAAI,CAAC,kBAAkB;AACrB,WAAO,gBAAgB,UAAU;AAAA,EACnC;AAEA,SAAO,oBAAoB,UAAU,KAAK,qBAAqB,YAAY,OAAO,CAAC;AAAA;AACrF;AAEA,IAAM,+BAA+B,CAAC;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAMM;AACJ,QAAM,aAAa,sDAAsD,aAAa,oBAAoB,WAAW,+BAA+B,aAAa;AAEjK,MAAI,CAAC,kBAAkB;AACrB,WAAO,gBAAgB,UAAU;AAAA,EACnC;AAEA,SAAO,oBAAoB,UAAU,KAAK,qBAAqB,YAAY,OAAO,CAAC;AAAA;AACrF;AAEA,IAAM,4BAA4B,CAAC;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAcM;AAhLN;AAiLE,QAAM,eAAW,6BAAe,OAAO,gBAAgB;AAEvD,QAAM,uBAAuB,MAAM;AAAA,IACjC,CAAC,SAAqB,KAAK,SAAS;AAAA,EACtC;AACA,QAAM,qBAAqB,uBAAuB,WAAW;AAE7D,QAAM,oBAAoB;AAE1B,QAAM,wBAAwB,kDAC5B,OAAO,SACH,UAAU,OAAO,IAAI,CAAC,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,MAAM,CAAC,MACrD,EACN;AACA,QAAM,uBAAuB,2DAA2D,YAAY,IAAI,gBAAgB;AACxH,QAAM,6BAA6B,uEAAuE,kBAAkB,IAAI,gBAAgB;AAEhJ,QAAM,YAAY,gBAAgB,UAAU,YAAY,OAAO;AAC/D,QAAM,sBAAsB,uBAAuB,YAAY,OAAO;AACtE,QAAM,uBAAuB,wBAAwB,YAAY,OAAO;AAExE,QAAM,+BAA+B,WAAW,cAC5C;AAAA,kBACQ;AAAA,IACN;AAAA,EACF,CAAC,+DAA+D,aAAa;AAAA,kBACrE,qBAAO,aAAa,CAAC,mBAAmB,SAAS;AAAA;AAAA,EAE7D,GAAG,oBAAgB;AAAA,IACb,OAAO,aAAa;AAAA,EACtB,CAAC,gBAAgB,SAAS;AAAA,IAC5B,QAAQ,IAAI,qBAAqB;AAAA,IACjC;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,EACF,CAAC,CAAC;AAAA,IAEA,mBACI,yBAAyB,sBAAsB,KAAK,mBAAmB,KAAK,EAAE,sBAC9E,EACN;AAAA;AAAA,IAEE,qBAAqB;AAAA,IACrB,0BAA0B;AAAA,wBACN,aAAa,IAAI,iBAAiB,GACtD,qBAAqB,uBAAuB,OAAO,EACrD,GAAG,oBAAoB;AAAA;AAAA,UAEf,kBAAkB,qFACxB,WAAW,qBACP;AAAA,OACF,iCAAU,WAAW,kBAAkB,MAAvC,mBAA0C,MAAM,GAAG,GAAG;AAAA;AAAA,OAGpD,YACN;AAAA;AAAA;AAAA;AAAA,SAIO,kBAAkB;AAAA;AAAA;AAAA,IAGrB;AAEJ,QAAM,uBAAuB;AAAA,kBACjB;AAAA,IACV;AAAA,EACF,CAAC,uDAAuD,aAAa;AAAA,kBACzD,qBAAO,aAAa,CAAC,gBAAgB,SAAS;AAAA;AAAA,EAE1D,GAAG,oBAAgB,oBAAM,OAAO,aAAa,EAAE,CAAC,gBAAgB,SAAS;AAAA,IACvE,QAAQ,IAAI,qBAAqB;AAAA,IACjC;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,EACF,CAAC,CAAC;AAAA,IAEA,mBACI,yBAAyB,sBAAsB,KAAK,mBAAmB,KAAK,EAAE,sBAC9E,EACN;AAAA;AAAA,IAEE,qBAAqB;AAAA,IACrB,oBAAoB;AAAA,wBACA,aAAa,IAAI,iBAAiB,GACtD,qBAAqB,uBAAuB,OAAO,EACrD,GAAG,oBAAoB;AAAA;AAAA,UAEf,kBAAkB,uEACxB,WAAW,aACP;AAAA,OACF,iCAAU,WAAW,UAAU,MAA/B,mBAAkC,MAAM,GAAG,GAAG;AAAA;AAAA,OAG5C,YACN;AAAA;AAAA;AAAA;AAAA,SAIO,kBAAkB;AAAA;AAAA;AAAA;AAIzB,SAAO,+BAA+B;AACxC;AAEA,IAAM,oCAAoC,CAAC;AAAA,EACzC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAeM;AA7TN;AA8TE,QAAM,uBAAuB,MAAM;AAAA,IACjC,CAAC,SAAqB,KAAK,SAAS;AAAA,EACtC;AACA,QAAM,qBAAqB,uBAAuB,WAAW;AAE7D,QAAM,uBAAuB,wCAAwC,YAAY,IAAI,gBAAgB;AAErG,QAAM,YAAY,gBAAgB,UAAU,YAAY,OAAO;AAC/D,QAAM,sBAAsB,uBAAuB,YAAY,OAAO;AACtE,QAAM,uBAAuB,wBAAwB,YAAY,OAAO;AAExE,QAAM,uBAAuB;AAAA,kBACjB;AAAA,IACV;AAAA,EACF,CAAC,0DAA0D,aAAa;AAAA,kBAC5D,qBAAO,aAAa,CAAC,mBAAmB,SAAS;AAAA;AAAA,EAE7D,GAAG,oBAAgB,oBAAM,OAAO,aAAa,EAAE,CAAC,gBAAgB,SAAS;AAAA,IACvE,QAAQ,IAAI,6BAA6B;AAAA,IACzC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC,CAAC;AAAA;AAAA,IAEA,mBAAmB,yBAAyB,sBAAsB,KAAK,mBAAmB,KAAK,EAAE,sBAAsB,EAAE;AAAA;AAAA,IAEzH,oBAAoB;AAAA,kBACN,sBAAsB,IAAI,4BAA4B,GACpE,gCAAgC,uBAAuB,OAAO,EAChE,GAAG,oBAAoB;AAAA;AAAA,UAEf,kBAAkB,oCACxB,WAAW,qBACP;AAAA,OACF,iCAAU,WAAW,kBAAkB,MAAvC,mBAA0C,MAAM,GAAG,GAAG;AAAA;AAAA,OAGpD,YACN;AAAA;AAAA;AAAA;AAAA,SAIO,kBAAkB;AAAA;AAAA;AAAA;AAIzB,SAAO;AACT;AAEA,IAAM,kBAAkB,CACtB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GACA,EAAE,OAAO,QAAQ,MACd;AAhYL;AAiYE,QAAM,oBAAmB,qCAAU,oBAAmB;AACtD,QAAM,aAAa,QAAQ,OAAO;AAClC,QAAM,UAAM,oBAAM,EAAE,SAAS,WAAW,CAAC;AAEzC,MAAI,SAAS,mBAAM,KAAK;AACtB,UAAM,mBAAmB,MACtB,OAAO,CAAC,SAAS,KAAK,SAAS,4BAAe,MAAM,EACpD,IAAI,CAAC,UAAU;AACd,UAAI,MAAM,SAAS,4BAAe;AAChC,eAAO,MAAM;AACf,aAAO,MAAM,SAAS,4BAAe,OACjC,KAAK,iBACL,MAAM;AAAA,IACZ,CAAC,EACA,KAAK,GAAG;AAEX,UAAM,gBAAgB,MACnB,IAAI,CAAC,UAAU;AACd,UAAI,MAAM,SAAS,4BAAe;AAChC,eAAO,MAAM;AACf,aAAO,MAAM,SAAS,4BAAe,OACjC,KAAK,iBACL,MAAM;AAAA,IACZ,CAAC,EACA,KAAK,GAAG;AAEX,UAAM,oBAAgB;AAAA,MACpB,MAAM,OAAO,CAAC,SAAS,KAAK,SAAS,4BAAe,MAAM;AAAA,MAC1D;AAAA,IACF;AAEA,UAAM,mBAAe,oBAAM,OAAO,aAAa,MAAM;AACrD,UAAM,WAAW;AAAA,eACN,YAAY,OAAO,aAAa,WAAW,KAAK,KACzD,cAAc,iCAAiC,EACjD;AAAA;AAGA,UAAM,yBAAqB;AAAA,MACzB,OAAO,aAAa;AAAA,IACtB;AACA,UAAM,eAAe,SAAS,IAAI,cAC9B,gBAAgB,kBAAkB,OAAO,aAAa;AAAA,mEACK,aAAa;AAAA;AAAA;AAAA,gBAGhE,KAAK,KAAK,cAAc,iCAAiC,EAAE,GACrE,KAAK,iBAAiB,KAAK,KAAK,cAAc,KAAK,EACrD;AAAA;AAAA;AAAA,IAGI;AAEJ,UAAM,oBAAoB,0BAA0B;AAAA,MAClD;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY,SAAS;AAAA,MACrB;AAAA,MACA;AAAA,IACF,CAAC;AAED,WAAO,WAAW,eAAe;AAAA,EACnC,OAAO;AACL,UAAM,oBAAgB;AAAA,MACpB,MAAM;AAAA,QACJ,CAAC,SACC,KAAK,SAAS,4BAAe,SAC7B,KAAK,SAAS,4BAAe,qBAC7B,KAAK,SAAS,4BAAe;AAAA,MACjC;AAAA,MACA;AAAA,IACF;AAEA,UAAM,eAAW;AAAA,MACf,MAAM;AAAA,QACJ,CAAC,SACC,KAAK,SAAS,4BAAe,SAC7B,KAAK,SAAS,4BAAe,eAC7B,KAAK,SAAS,4BAAe;AAAA,MACjC;AAAA,MACA;AAAA,IACF;AAEA,UAAM,+BAA+B,MAClC;AAAA,MACC,CAAC,SACC,KAAK,SAAS,4BAAe,SAC7B,KAAK,SAAS,4BAAe,eAC7B,KAAK,SAAS,4BAAe;AAAA,IACjC,EACC,IAAI,CAAC,UAAU;AACd,UAAI,MAAM,SAAS,4BAAe,mBAAmB;AACnD,eAAO,MAAM;AAAA,MACf,OAAO;AACL,eAAO,MAAM;AAAA,MACf;AAAA,IACF,CAAC,EACA,KAAK,GAAG;AAEX,UAAM,mBAAmB,MACtB,OAAO,CAAC,SAAS,KAAK,SAAS,4BAAe,MAAM,EACpD,IAAI,CAAC,SAAS;AACb,UAAI,KAAK,SAAS,4BAAe,mBAAmB;AAClD,eAAO,KAAK;AAAA,MACd,WAAW,KAAK,SAAS,4BAAe,MAAM;AAC5C,eAAO;AAAA,MACT,OAAO;AACL,eAAO,KAAK;AAAA,MACd;AAAA,IACF,CAAC,EACA,KAAK,IAAI;AAEZ,UAAM,mBAAmB,MACtB;AAAA,MACC,CAAC,SACC,KAAK,SAAS,4BAAe,SAC7B,KAAK,SAAS,4BAAe,qBAC7B,KAAK,SAAS,4BAAe;AAAA,IACjC,EACC,IAAI,CAAC,SAAS;AACb,UAAI,KAAK,SAAS,4BAAe,mBAAmB;AAClD,eAAO,KAAK;AAAA,MACd,OAAO;AACL,eAAO,KAAK;AAAA,MACd;AAAA,IACF,CAAC,EACA,KAAK,GAAG;AAEX,UAAM,mBAAe,oBAAM,OAAO,aAAa,eAAe;AAC9D,UAAM,mBAAmB,gBAAgB,YAAY,OAAO,aAAa,WAAW,KAAK,KACvF,cAAc,iCAAiC,EACjD;AAAA;AAGA,UAAM,6BAAyB;AAAA,MAC7B,OAAO,aAAa;AAAA,IACtB;AAEA,UAAM,yBAAyB;AAAA,MAC7B;AAAA,MACA;AAAA,MACA,SAAS,MAAM;AAAA,MACf;AAAA,MACA;AAAA,IACF;AACA,UAAM,+BAA+B;AAAA,MACnC;AAAA,MACA;AAAA,IACF;AAEA,UAAM,4BACJ,oBAAoB,+BAChB,UAAU,QAAQ,OAAO,uBAAuB,KAAK,GAAG,KAAK,4BAA4B,KACzF;AAEN,UAAM,wBAAwB,MAAM;AAAA,MAClC,CAAC,SAAS,KAAK,SAAS,4BAAe;AAAA,IACzC,IACI,YACA;AAEJ,UAAM,eACJ,iBACG,KAAK,CAAC,SAAS,KAAK,SAAS,4BAAe,IAAI,MADnD,mBAEI,eAAe,MAAM,MAAM,OAF/B,YAEqC;AAEvC,UAAM,uBAAuB;AAAA,eAClB,sBAAsB,OAAO,QAAQ,IAAI,yBAAyB;AAAA,oBAC7D,qBAAqB,YAAY,WAAW,QAAQ,sBAAsB;AAAA,aACjF,aAAa,IAAI,gBAAgB,GACxC,0BAA0B,UACrB,iBAAiB,SAAS,OAAO,MAAM,YACxC,EACN;AAAA;AAAA;AAAA;AAIA,UAAM,oBAAoB,kCAAkC;AAAA,MAC1D;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY,SAAS;AAAA,MACrB;AAAA,MACA;AAAA,MACA,YAAY,QAAQ,OAAO;AAAA,IAC7B,CAAC;AAED,WAAO,uBAAuB,mBAAmB;AAAA,EACnD;AACF;AAEO,IAAM,oBAAyC,CAAC;AAAA,EACrD;AAAA,EACA;AAAA,EACA;AACF,MACE;AAAA,IAEE,CAAC,iBACG;AAAA;AAAA;AAAA;AAAA,IAEA,EACN;AAAA,IAEE,oBAAoB,YAChB;AAAA;AAAA,IACA,EACN;AAEK,IAAM,cAA6B,CAAC,aAAa,YAAY;AAClE,QAAM,cAAU,kCAAoB,WAAW;AAC/C,QAAM,yBAAyB;AAAA,IAC7B;AAAA,IACA;AAAA,EACF;AACA,QAAM,qBAAqB,gBAAgB,aAAa,OAAO;AAE/D,SAAO;AAAA,IACL,gBAAgB,GAAG,sBAAsB;AAAA;AAAA,EAAO,kBAAkB;AAAA,IAClE;AAAA,EACF;AACF;AAEA,IAAM,mBAA4C;AAAA,EAChD,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,cAAc;AAChB;AAEO,IAAM,UAAU,MAAM,MAAM;AAEnC,IAAO,cAAQ;","names":["import_core","generateFetchRequestFunction"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@orval/swr",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "7.0.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
"lint": "eslint src/**/*.ts"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@orval/core": "
|
|
16
|
+
"@orval/core": "7.0.1",
|
|
17
|
+
"@orval/fetch": "7.0.1"
|
|
17
18
|
}
|
|
18
19
|
}
|