@orval/swr 6.30.2 → 7.0.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 +9 -8
- package/dist/index.js +208 -124
- 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,10 +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/
|
|
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,119 @@ 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, operationName, mutator) => {
|
|
190
|
+
if (httpClient === import_core.OutputHttpClient.FETCH) {
|
|
191
|
+
const responseType = (0, import_fetch.fetchResponseTypeName)(operationName);
|
|
192
|
+
return `Promise<${responseType}>`;
|
|
193
|
+
} else if (mutator) {
|
|
194
|
+
return `Promise<${response.definition.success || "unknown"}>`;
|
|
195
|
+
} else {
|
|
196
|
+
return `Promise<AxiosResponse<${response.definition.success || "unknown"}>>`;
|
|
197
|
+
}
|
|
198
|
+
};
|
|
199
|
+
|
|
200
|
+
// src/index.ts
|
|
201
|
+
var PARAMS_SERIALIZER_DEPENDENCIES = [
|
|
202
|
+
{
|
|
203
|
+
exports: [
|
|
204
|
+
{
|
|
205
|
+
name: "qs",
|
|
206
|
+
default: true,
|
|
207
|
+
values: true,
|
|
208
|
+
syntheticDefaultImport: true
|
|
209
|
+
}
|
|
210
|
+
],
|
|
211
|
+
dependency: "qs"
|
|
212
|
+
}
|
|
213
|
+
];
|
|
214
|
+
var SWR_DEPENDENCIES = [
|
|
215
|
+
{
|
|
216
|
+
exports: [
|
|
217
|
+
{ name: "useSwr", values: true, default: true },
|
|
218
|
+
{ name: "SWRConfiguration" },
|
|
219
|
+
{ name: "Key" },
|
|
220
|
+
{ name: "Arguments" }
|
|
221
|
+
],
|
|
222
|
+
dependency: "swr"
|
|
223
|
+
}
|
|
224
|
+
];
|
|
225
|
+
var SWR_INFINITE_DEPENDENCIES = [
|
|
226
|
+
{
|
|
227
|
+
exports: [
|
|
228
|
+
{ name: "useSWRInfinite", values: true, default: true },
|
|
229
|
+
{ name: "SWRInfiniteConfiguration" },
|
|
230
|
+
{ name: "SWRInfiniteKeyLoader" }
|
|
231
|
+
],
|
|
232
|
+
dependency: "swr/infinite"
|
|
233
|
+
}
|
|
234
|
+
];
|
|
235
|
+
var SWR_MUTATION_DEPENDENCIES = [
|
|
236
|
+
{
|
|
237
|
+
exports: [
|
|
238
|
+
{ name: "useSWRMutation", values: true, default: true },
|
|
239
|
+
{ name: "SWRMutationConfiguration" },
|
|
240
|
+
{ name: "SWRMutationKey" }
|
|
241
|
+
],
|
|
242
|
+
dependency: "swr/mutation"
|
|
243
|
+
}
|
|
244
|
+
];
|
|
245
|
+
var getSwrDependencies = (hasGlobalMutator, hasParamsSerializerOptions, _packageJson, httpClient) => [
|
|
246
|
+
...!hasGlobalMutator && httpClient === import_core2.OutputHttpClient.AXIOS ? AXIOS_DEPENDENCIES : [],
|
|
247
|
+
...hasParamsSerializerOptions ? PARAMS_SERIALIZER_DEPENDENCIES : [],
|
|
248
|
+
...SWR_DEPENDENCIES,
|
|
249
|
+
...SWR_INFINITE_DEPENDENCIES,
|
|
250
|
+
...SWR_MUTATION_DEPENDENCIES
|
|
251
|
+
];
|
|
184
252
|
var generateSwrArguments = ({
|
|
185
253
|
operationName,
|
|
186
254
|
mutator,
|
|
187
255
|
isRequestOptions,
|
|
188
|
-
isInfinite
|
|
256
|
+
isInfinite,
|
|
257
|
+
httpClient
|
|
189
258
|
}) => {
|
|
190
259
|
const configType = isInfinite ? "SWRInfiniteConfiguration" : "SWRConfiguration";
|
|
191
260
|
const optionsType = isInfinite ? "{ swrKeyLoader?: SWRInfiniteKeyLoader, enabled?: boolean }" : "{ swrKey?: Key, enabled?: boolean }";
|
|
@@ -193,20 +262,21 @@ var generateSwrArguments = ({
|
|
|
193
262
|
if (!isRequestOptions) {
|
|
194
263
|
return `swrOptions?: ${definition}`;
|
|
195
264
|
}
|
|
196
|
-
return `options?: { swr?:${definition}, ${
|
|
265
|
+
return `options?: { swr?:${definition}, ${getSwrRequestOptions(httpClient, mutator)} }
|
|
197
266
|
`;
|
|
198
267
|
};
|
|
199
268
|
var generateSwrMutationArguments = ({
|
|
200
269
|
operationName,
|
|
201
270
|
isRequestOptions,
|
|
202
271
|
mutator,
|
|
203
|
-
swrBodyType
|
|
272
|
+
swrBodyType,
|
|
273
|
+
httpClient
|
|
204
274
|
}) => {
|
|
205
275
|
const definition = `SWRMutationConfiguration<Awaited<ReturnType<typeof ${operationName}>>, TError, string, ${swrBodyType}, Awaited<ReturnType<typeof ${operationName}>>> & { swrKey?: string }`;
|
|
206
276
|
if (!isRequestOptions) {
|
|
207
277
|
return `swrOptions?: ${definition}`;
|
|
208
278
|
}
|
|
209
|
-
return `options?: { swr?:${definition}, ${
|
|
279
|
+
return `options?: { swr?:${definition}, ${getSwrRequestOptions(httpClient, mutator)}}
|
|
210
280
|
`;
|
|
211
281
|
};
|
|
212
282
|
var generateSwrImplementation = ({
|
|
@@ -221,10 +291,11 @@ var generateSwrImplementation = ({
|
|
|
221
291
|
response,
|
|
222
292
|
swrOptions,
|
|
223
293
|
props,
|
|
224
|
-
doc
|
|
294
|
+
doc,
|
|
295
|
+
httpClient
|
|
225
296
|
}) => {
|
|
226
297
|
var _a, _b;
|
|
227
|
-
const swrProps = (0,
|
|
298
|
+
const swrProps = (0, import_core2.toObjectString)(props, "implementation");
|
|
228
299
|
const hasParamReservedWord = props.some(
|
|
229
300
|
(prop) => prop.name === "query"
|
|
230
301
|
);
|
|
@@ -233,33 +304,33 @@ var generateSwrImplementation = ({
|
|
|
233
304
|
const enabledImplementation = `const isEnabled = swrOptions?.enabled !== false${params.length ? ` && !!(${params.map(({ name }) => name).join(" && ")})` : ""}`;
|
|
234
305
|
const swrKeyImplementation = `const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? ${swrKeyFnName}(${swrKeyProperties}) : null);`;
|
|
235
306
|
const swrKeyLoaderImplementation = `const swrKeyLoader = swrOptions?.swrKeyLoader ?? (() => isEnabled ? ${swrKeyLoaderFnName}(${swrKeyProperties}) : null);`;
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
}
|
|
307
|
+
const errorType = getSwrErrorType(response, httpClient, mutator);
|
|
308
|
+
const swrRequestSecondArg = getSwrRequestSecondArg(httpClient, mutator);
|
|
309
|
+
const httpRequestSecondArg = getHttpRequestSecondArg(httpClient, mutator);
|
|
240
310
|
const useSWRInfiniteImplementation = swrOptions.useInfinite ? `
|
|
241
|
-
export type ${(0,
|
|
311
|
+
export type ${(0, import_core2.pascal)(
|
|
242
312
|
operationName
|
|
243
313
|
)}InfiniteQueryResult = NonNullable<Awaited<ReturnType<typeof ${operationName}>>>
|
|
244
|
-
export type ${(0,
|
|
314
|
+
export type ${(0, import_core2.pascal)(operationName)}InfiniteError = ${errorType}
|
|
245
315
|
|
|
246
|
-
${doc}export const ${(0,
|
|
316
|
+
${doc}export const ${(0, import_core2.camel)(
|
|
247
317
|
`use-${operationName}-infinite`
|
|
248
318
|
)} = <TError = ${errorType}>(
|
|
249
319
|
${swrProps} ${generateSwrArguments({
|
|
250
320
|
operationName,
|
|
251
321
|
mutator,
|
|
252
322
|
isRequestOptions,
|
|
253
|
-
isInfinite: true
|
|
323
|
+
isInfinite: true,
|
|
324
|
+
httpClient
|
|
254
325
|
})}) => {
|
|
255
|
-
${isRequestOptions ? `const {swr: swrOptions${
|
|
326
|
+
${isRequestOptions ? `const {swr: swrOptions${swrRequestSecondArg ? `, ${swrRequestSecondArg}` : ""}} = options ?? {}` : ""}
|
|
256
327
|
|
|
257
328
|
${enabledImplementation}
|
|
258
329
|
${swrKeyLoaderImplementation}
|
|
259
|
-
const swrFn = () => ${operationName}(${httpFunctionProps}${httpFunctionProps ? ", " : ""}${
|
|
330
|
+
const swrFn = () => ${operationName}(${httpFunctionProps}${httpFunctionProps && httpRequestSecondArg ? ", " : ""}${httpRequestSecondArg})
|
|
260
331
|
|
|
261
332
|
const ${queryResultVarName} = useSWRInfinite<Awaited<ReturnType<typeof swrFn>>, TError>(swrKeyLoader, swrFn, ${swrOptions.swrInfiniteOptions ? `{
|
|
262
|
-
${(_a = (0,
|
|
333
|
+
${(_a = (0, import_core2.stringify)(swrOptions.swrInfiniteOptions)) == null ? void 0 : _a.slice(1, -1)}
|
|
263
334
|
...swrOptions
|
|
264
335
|
}` : "swrOptions"})
|
|
265
336
|
|
|
@@ -270,26 +341,27 @@ ${doc}export const ${(0, import_core.camel)(
|
|
|
270
341
|
}
|
|
271
342
|
` : "";
|
|
272
343
|
const useSwrImplementation = `
|
|
273
|
-
export type ${(0,
|
|
344
|
+
export type ${(0, import_core2.pascal)(
|
|
274
345
|
operationName
|
|
275
346
|
)}QueryResult = NonNullable<Awaited<ReturnType<typeof ${operationName}>>>
|
|
276
|
-
export type ${(0,
|
|
347
|
+
export type ${(0, import_core2.pascal)(operationName)}QueryError = ${errorType}
|
|
277
348
|
|
|
278
|
-
${doc}export const ${(0,
|
|
349
|
+
${doc}export const ${(0, import_core2.camel)(`use-${operationName}`)} = <TError = ${errorType}>(
|
|
279
350
|
${swrProps} ${generateSwrArguments({
|
|
280
351
|
operationName,
|
|
281
352
|
mutator,
|
|
282
353
|
isRequestOptions,
|
|
283
|
-
isInfinite: false
|
|
354
|
+
isInfinite: false,
|
|
355
|
+
httpClient
|
|
284
356
|
})}) => {
|
|
285
|
-
${isRequestOptions ? `const {swr: swrOptions${
|
|
357
|
+
${isRequestOptions ? `const {swr: swrOptions${swrRequestSecondArg ? `, ${swrRequestSecondArg}` : ""}} = options ?? {}` : ""}
|
|
286
358
|
|
|
287
359
|
${enabledImplementation}
|
|
288
360
|
${swrKeyImplementation}
|
|
289
|
-
const swrFn = () => ${operationName}(${httpFunctionProps}${httpFunctionProps ? ", " : ""}${
|
|
361
|
+
const swrFn = () => ${operationName}(${httpFunctionProps}${httpFunctionProps && httpRequestSecondArg ? ", " : ""}${httpRequestSecondArg})
|
|
290
362
|
|
|
291
363
|
const ${queryResultVarName} = useSwr<Awaited<ReturnType<typeof swrFn>>, TError>(swrKey, swrFn, ${swrOptions.swrOptions ? `{
|
|
292
|
-
${(_b = (0,
|
|
364
|
+
${(_b = (0, import_core2.stringify)(swrOptions.swrOptions)) == null ? void 0 : _b.slice(1, -1)}
|
|
293
365
|
...swrOptions
|
|
294
366
|
}` : "swrOptions"})
|
|
295
367
|
|
|
@@ -314,7 +386,8 @@ var generateSwrMutationImplementation = ({
|
|
|
314
386
|
mutator,
|
|
315
387
|
swrOptions,
|
|
316
388
|
doc,
|
|
317
|
-
swrBodyType
|
|
389
|
+
swrBodyType,
|
|
390
|
+
httpClient
|
|
318
391
|
}) => {
|
|
319
392
|
var _a;
|
|
320
393
|
const hasParamReservedWord = props.some(
|
|
@@ -322,31 +395,31 @@ var generateSwrMutationImplementation = ({
|
|
|
322
395
|
);
|
|
323
396
|
const queryResultVarName = hasParamReservedWord ? "_query" : "query";
|
|
324
397
|
const swrKeyImplementation = `const swrKey = swrOptions?.swrKey ?? ${swrKeyFnName}(${swrKeyProperties});`;
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
}
|
|
398
|
+
const errorType = getSwrErrorType(response, httpClient, mutator);
|
|
399
|
+
const swrRequestSecondArg = getSwrRequestSecondArg(httpClient, mutator);
|
|
400
|
+
const httpRequestSecondArg = getHttpRequestSecondArg(httpClient, mutator);
|
|
329
401
|
const useSwrImplementation = `
|
|
330
|
-
export type ${(0,
|
|
402
|
+
export type ${(0, import_core2.pascal)(
|
|
331
403
|
operationName
|
|
332
404
|
)}MutationResult = NonNullable<Awaited<ReturnType<typeof ${operationName}>>>
|
|
333
|
-
export type ${(0,
|
|
405
|
+
export type ${(0, import_core2.pascal)(operationName)}MutationError = ${errorType}
|
|
334
406
|
|
|
335
|
-
${doc}export const ${(0,
|
|
407
|
+
${doc}export const ${(0, import_core2.camel)(`use-${operationName}`)} = <TError = ${errorType}>(
|
|
336
408
|
${swrProps} ${generateSwrMutationArguments({
|
|
337
409
|
operationName,
|
|
338
410
|
isRequestOptions,
|
|
339
411
|
mutator,
|
|
340
|
-
swrBodyType
|
|
412
|
+
swrBodyType,
|
|
413
|
+
httpClient
|
|
341
414
|
})}) => {
|
|
342
415
|
|
|
343
|
-
${isRequestOptions ? `const {swr: swrOptions${
|
|
416
|
+
${isRequestOptions ? `const {swr: swrOptions${swrRequestSecondArg ? `, ${swrRequestSecondArg}` : ""}} = options ?? {}` : ""}
|
|
344
417
|
|
|
345
418
|
${swrKeyImplementation}
|
|
346
|
-
const swrFn = ${swrMutationFetcherName}(${swrMutationFetcherProperties}${swrMutationFetcherProperties &&
|
|
419
|
+
const swrFn = ${swrMutationFetcherName}(${swrMutationFetcherProperties}${swrMutationFetcherProperties && httpRequestSecondArg ? ", " : ""}${httpRequestSecondArg});
|
|
347
420
|
|
|
348
421
|
const ${queryResultVarName} = useSWRMutation(swrKey, swrFn, ${swrOptions.swrMutationOptions ? `{
|
|
349
|
-
${(_a = (0,
|
|
422
|
+
${(_a = (0, import_core2.stringify)(swrOptions.swrMutationOptions)) == null ? void 0 : _a.slice(1, -1)}
|
|
350
423
|
...swrOptions
|
|
351
424
|
}` : "swrOptions"})
|
|
352
425
|
|
|
@@ -373,28 +446,29 @@ var generateSwrHook = ({
|
|
|
373
446
|
}, { route, context }) => {
|
|
374
447
|
var _a, _b;
|
|
375
448
|
const isRequestOptions = (override == null ? void 0 : override.requestOptions) !== false;
|
|
376
|
-
const
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
449
|
+
const httpClient = context.output.httpClient;
|
|
450
|
+
const doc = (0, import_core2.jsDoc)({ summary, deprecated });
|
|
451
|
+
if (verb === import_core2.Verbs.GET) {
|
|
452
|
+
const swrKeyProperties = props.filter((prop) => prop.type !== import_core2.GetterPropType.HEADER).map((param) => {
|
|
453
|
+
if (param.type === import_core2.GetterPropType.NAMED_PATH_PARAMS)
|
|
380
454
|
return param.destructured;
|
|
381
|
-
return param.type ===
|
|
455
|
+
return param.type === import_core2.GetterPropType.BODY ? body.implementation : param.name;
|
|
382
456
|
}).join(",");
|
|
383
457
|
const swrProperties = props.map((param) => {
|
|
384
|
-
if (param.type ===
|
|
458
|
+
if (param.type === import_core2.GetterPropType.NAMED_PATH_PARAMS)
|
|
385
459
|
return param.destructured;
|
|
386
|
-
return param.type ===
|
|
460
|
+
return param.type === import_core2.GetterPropType.BODY ? body.implementation : param.name;
|
|
387
461
|
}).join(",");
|
|
388
|
-
const queryKeyProps = (0,
|
|
389
|
-
props.filter((prop) => prop.type !==
|
|
462
|
+
const queryKeyProps = (0, import_core2.toObjectString)(
|
|
463
|
+
props.filter((prop) => prop.type !== import_core2.GetterPropType.HEADER),
|
|
390
464
|
"implementation"
|
|
391
465
|
);
|
|
392
|
-
const swrKeyFnName = (0,
|
|
466
|
+
const swrKeyFnName = (0, import_core2.camel)(`get-${operationName}-key`);
|
|
393
467
|
const swrKeyFn = `
|
|
394
468
|
export const ${swrKeyFnName} = (${queryKeyProps}) => [\`${route}\`${queryParams ? ", ...(params ? [params]: [])" : ""}${body.implementation ? `, ${body.implementation}` : ""}] as const;
|
|
395
469
|
|
|
396
470
|
`;
|
|
397
|
-
const swrKeyLoaderFnName = (0,
|
|
471
|
+
const swrKeyLoaderFnName = (0, import_core2.camel)(
|
|
398
472
|
`get-${operationName}-infinite-key-loader`
|
|
399
473
|
);
|
|
400
474
|
const swrKeyLoader = override.swr.useInfinite ? `export const ${swrKeyLoaderFnName} = (${queryKeyProps}) => {
|
|
@@ -417,62 +491,71 @@ export const ${swrKeyFnName} = (${queryKeyProps}) => [\`${route}\`${queryParams
|
|
|
417
491
|
isRequestOptions,
|
|
418
492
|
response,
|
|
419
493
|
swrOptions: override.swr,
|
|
420
|
-
doc
|
|
494
|
+
doc,
|
|
495
|
+
httpClient
|
|
421
496
|
});
|
|
422
497
|
return swrKeyFn + swrKeyLoader + swrImplementation;
|
|
423
498
|
} else {
|
|
424
|
-
const queryKeyProps = (0,
|
|
499
|
+
const queryKeyProps = (0, import_core2.toObjectString)(
|
|
425
500
|
props.filter(
|
|
426
|
-
(prop) => prop.type ===
|
|
501
|
+
(prop) => prop.type === import_core2.GetterPropType.PARAM || prop.type === import_core2.GetterPropType.NAMED_PATH_PARAMS
|
|
427
502
|
),
|
|
428
503
|
"implementation"
|
|
429
504
|
);
|
|
430
|
-
const swrProps = (0,
|
|
505
|
+
const swrProps = (0, import_core2.toObjectString)(
|
|
431
506
|
props.filter(
|
|
432
|
-
(prop) => prop.type ===
|
|
507
|
+
(prop) => prop.type === import_core2.GetterPropType.PARAM || prop.type === import_core2.GetterPropType.QUERY_PARAM || prop.type === import_core2.GetterPropType.NAMED_PATH_PARAMS
|
|
433
508
|
),
|
|
434
509
|
"implementation"
|
|
435
510
|
);
|
|
436
511
|
const swrMutationFetcherProperties = props.filter(
|
|
437
|
-
(prop) => prop.type ===
|
|
512
|
+
(prop) => prop.type === import_core2.GetterPropType.PARAM || prop.type === import_core2.GetterPropType.QUERY_PARAM || prop.type === import_core2.GetterPropType.NAMED_PATH_PARAMS
|
|
438
513
|
).map((param) => {
|
|
439
|
-
if (param.type ===
|
|
514
|
+
if (param.type === import_core2.GetterPropType.NAMED_PATH_PARAMS) {
|
|
440
515
|
return param.destructured;
|
|
441
516
|
} else {
|
|
442
517
|
return param.name;
|
|
443
518
|
}
|
|
444
519
|
}).join(",");
|
|
445
|
-
const httpFnProperties = props.filter((prop) => prop.type !==
|
|
446
|
-
if (prop.type ===
|
|
520
|
+
const httpFnProperties = props.filter((prop) => prop.type !== import_core2.GetterPropType.HEADER).map((prop) => {
|
|
521
|
+
if (prop.type === import_core2.GetterPropType.NAMED_PATH_PARAMS) {
|
|
447
522
|
return prop.destructured;
|
|
448
|
-
} else if (prop.type ===
|
|
523
|
+
} else if (prop.type === import_core2.GetterPropType.BODY) {
|
|
449
524
|
return `arg`;
|
|
450
525
|
} else {
|
|
451
526
|
return prop.name;
|
|
452
527
|
}
|
|
453
528
|
}).join(", ");
|
|
454
529
|
const swrKeyProperties = props.filter(
|
|
455
|
-
(prop) => prop.type ===
|
|
530
|
+
(prop) => prop.type === import_core2.GetterPropType.PARAM || prop.type === import_core2.GetterPropType.NAMED_PATH_PARAMS
|
|
456
531
|
).map((prop) => {
|
|
457
|
-
if (prop.type ===
|
|
532
|
+
if (prop.type === import_core2.GetterPropType.NAMED_PATH_PARAMS) {
|
|
458
533
|
return prop.destructured;
|
|
459
534
|
} else {
|
|
460
535
|
return prop.name;
|
|
461
536
|
}
|
|
462
537
|
}).join(",");
|
|
463
|
-
const swrKeyFnName = (0,
|
|
538
|
+
const swrKeyFnName = (0, import_core2.camel)(`get-${operationName}-mutation-key`);
|
|
464
539
|
const swrMutationKeyFn = `export const ${swrKeyFnName} = (${queryKeyProps}) => \`${route}\` as const;
|
|
465
540
|
`;
|
|
466
|
-
const swrMutationFetcherName = (0,
|
|
541
|
+
const swrMutationFetcherName = (0, import_core2.camel)(
|
|
467
542
|
`get-${operationName}-mutation-fetcher`
|
|
468
543
|
);
|
|
469
|
-
const swrMutationFetcherType =
|
|
470
|
-
|
|
544
|
+
const swrMutationFetcherType = getSwrMutationFetcherType(
|
|
545
|
+
response,
|
|
546
|
+
httpClient,
|
|
547
|
+
operationName,
|
|
548
|
+
mutator
|
|
549
|
+
);
|
|
550
|
+
const swrMutationFetcherOptionType = getSwrMutationFetcherOptionType(
|
|
551
|
+
httpClient,
|
|
552
|
+
mutator
|
|
553
|
+
);
|
|
471
554
|
const swrMutationFetcherOptions = isRequestOptions && swrMutationFetcherOptionType ? `options${context.output.optionsParamRequired ? "" : "?"}: ${swrMutationFetcherOptionType}` : "";
|
|
472
555
|
const swrMutationFetcherArg = props.some(
|
|
473
|
-
(prop) => prop.type ===
|
|
556
|
+
(prop) => prop.type === import_core2.GetterPropType.BODY
|
|
474
557
|
) ? "{ arg }" : "__";
|
|
475
|
-
const swrBodyType = (_b = (_a = props.find((prop) => prop.type ===
|
|
558
|
+
const swrBodyType = (_b = (_a = props.find((prop) => prop.type === import_core2.GetterPropType.BODY)) == null ? void 0 : _a.implementation.split(": ")[1]) != null ? _b : "Arguments";
|
|
476
559
|
const swrMutationFetcherFn = `
|
|
477
560
|
export const ${swrMutationFetcherName} = (${swrProps} ${swrMutationFetcherOptions}) => {
|
|
478
561
|
return (_: string, ${swrMutationFetcherArg}: { arg: ${swrBodyType} }): ${swrMutationFetcherType} => {
|
|
@@ -493,7 +576,8 @@ export const ${swrMutationFetcherName} = (${swrProps} ${swrMutationFetcherOption
|
|
|
493
576
|
mutator,
|
|
494
577
|
swrOptions: override.swr,
|
|
495
578
|
doc,
|
|
496
|
-
swrBodyType
|
|
579
|
+
swrBodyType,
|
|
580
|
+
httpClient: context.output.httpClient
|
|
497
581
|
});
|
|
498
582
|
return swrMutationFetcherFn + swrMutationKeyFn + swrImplementation;
|
|
499
583
|
}
|
|
@@ -512,7 +596,7 @@ var generateSwrHeader = ({
|
|
|
512
596
|
|
|
513
597
|
` : ""}`;
|
|
514
598
|
var generateSwr = (verbOptions, options) => {
|
|
515
|
-
const imports = (0,
|
|
599
|
+
const imports = (0, import_core2.generateVerbImports)(verbOptions);
|
|
516
600
|
const functionImplementation = generateSwrRequestFunction(
|
|
517
601
|
verbOptions,
|
|
518
602
|
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, string, ${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 }${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 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 ),\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\n const swrMutationFetcherType = getSwrMutationFetcherType(\n response,\n httpClient,\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 (_: 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 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 operationName: string,\n mutator?: GeneratorMutator,\n) => {\n if (httpClient === OutputHttpClient.FETCH) {\n const responseType = fetchResponseTypeName(operationName);\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":"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","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.0",
|
|
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.0",
|
|
17
|
+
"@orval/fetch": "7.0.0"
|
|
17
18
|
}
|
|
18
19
|
}
|