@orval/swr 6.31.0 → 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 CHANGED
@@ -1,6 +1,6 @@
1
1
  [![npm version](https://badge.fury.io/js/orval.svg)](https://badge.fury.io/js/orval)
2
2
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
3
- [![tests](https://github.com/anymaniax/orval/actions/workflows/tests.yaml/badge.svg)](https://github.com/anymaniax/orval/actions/workflows/tests.yaml)
3
+ [![tests](https://github.com/orval-labs/orval/actions/workflows/tests.yaml/badge.svg)](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/anymaniax/orval/tree/master/samples/react-app)
23
- - [react query](https://github.com/anymaniax/orval/tree/master/samples/react-query)
24
- - [svelte query](https://github.com/anymaniax/orval/tree/master/samples/svelte-query)
25
- - [vue query](https://github.com/anymaniax/orval/tree/master/samples/vue-query)
26
- - [react app with swr](https://github.com/anymaniax/orval/tree/master/samples/react-app-with-swr)
27
- - [angular app](https://github.com/anymaniax/orval/tree/master/samples/angular-app)
28
- - [hono](https://github.com/anymaniax/orval/tree/master/samples/hono)
29
- - [next app with fetch](https://github.com/anymaniax/orval/tree/master/samples/next-app-with-fetch)
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 PARAMS_SERIALIZER_DEPENDENCIES = [
48
- {
49
- exports: [
50
- {
51
- name: "qs",
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 getSwrDependencies = (hasGlobalMutator, hasParamsSerializerOptions) => [
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
- return `export const ${operationName} = (
110
+ const requestImplementation = `export const ${operationName} = (
151
111
  ${propsImplementation}
152
112
  ${isRequestOptions && mutator.hasSecondArg ? `options${context.output.optionsParamRequired ? "" : "?"}: SecondParameter<typeof ${mutator.name}>` : ""}) => {${bodyForm}
153
- return ${mutator.name}<${response.definition.success || "unknown"}>(
154
- ${mutatorConfig},
155
- ${requestOptions});
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}, ${!mutator ? `axios?: AxiosRequestConfig` : (mutator == null ? void 0 : mutator.hasSecondArg) ? `request?: SecondParameter<typeof ${mutator.name}>` : ""} }
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}, ${!mutator ? `axios?: AxiosRequestConfig` : (mutator == null ? void 0 : mutator.hasSecondArg) ? `request?: SecondParameter<typeof ${mutator.name}>` : ""} }
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, import_core.toObjectString)(props, "implementation");
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
- let errorType = `AxiosError<${response.definition.errors || "unknown"}>`;
237
- if (mutator) {
238
- errorType = mutator.hasErrorType ? `ErrorType<${response.definition.errors || "unknown"}>` : response.definition.errors || "unknown";
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, import_core.pascal)(
311
+ export type ${(0, import_core2.pascal)(
242
312
  operationName
243
313
  )}InfiniteQueryResult = NonNullable<Awaited<ReturnType<typeof ${operationName}>>>
244
- export type ${(0, import_core.pascal)(operationName)}InfiniteError = ${errorType}
314
+ export type ${(0, import_core2.pascal)(operationName)}InfiniteError = ${errorType}
245
315
 
246
- ${doc}export const ${(0, import_core.camel)(
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${!mutator ? `, axios: axiosOptions` : (mutator == null ? void 0 : mutator.hasSecondArg) ? ", request: requestOptions" : ""}} = options ?? {}` : ""}
326
+ ${isRequestOptions ? `const {swr: swrOptions${swrRequestSecondArg ? `, ${swrRequestSecondArg}` : ""}} = options ?? {}` : ""}
256
327
 
257
328
  ${enabledImplementation}
258
329
  ${swrKeyLoaderImplementation}
259
- const swrFn = () => ${operationName}(${httpFunctionProps}${httpFunctionProps ? ", " : ""}${isRequestOptions ? !mutator ? `axiosOptions` : (mutator == null ? void 0 : mutator.hasSecondArg) ? "requestOptions" : "" : ""});
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, import_core.stringify)(swrOptions.swrInfiniteOptions)) == null ? void 0 : _a.slice(1, -1)}
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, import_core.pascal)(
344
+ export type ${(0, import_core2.pascal)(
274
345
  operationName
275
346
  )}QueryResult = NonNullable<Awaited<ReturnType<typeof ${operationName}>>>
276
- export type ${(0, import_core.pascal)(operationName)}QueryError = ${errorType}
347
+ export type ${(0, import_core2.pascal)(operationName)}QueryError = ${errorType}
277
348
 
278
- ${doc}export const ${(0, import_core.camel)(`use-${operationName}`)} = <TError = ${errorType}>(
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${!mutator ? `, axios: axiosOptions` : (mutator == null ? void 0 : mutator.hasSecondArg) ? ", request: requestOptions" : ""}} = options ?? {}` : ""}
357
+ ${isRequestOptions ? `const {swr: swrOptions${swrRequestSecondArg ? `, ${swrRequestSecondArg}` : ""}} = options ?? {}` : ""}
286
358
 
287
359
  ${enabledImplementation}
288
360
  ${swrKeyImplementation}
289
- const swrFn = () => ${operationName}(${httpFunctionProps}${httpFunctionProps ? ", " : ""}${isRequestOptions ? !mutator ? `axiosOptions` : (mutator == null ? void 0 : mutator.hasSecondArg) ? "requestOptions" : "" : ""});
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, import_core.stringify)(swrOptions.swrOptions)) == null ? void 0 : _b.slice(1, -1)}
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
- let errorType = `AxiosError<${response.definition.errors || "unknown"}>`;
326
- if (mutator) {
327
- errorType = mutator.hasErrorType ? `ErrorType<${response.definition.errors || "unknown"}>` : response.definition.errors || "unknown";
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, import_core.pascal)(
402
+ export type ${(0, import_core2.pascal)(
331
403
  operationName
332
404
  )}MutationResult = NonNullable<Awaited<ReturnType<typeof ${operationName}>>>
333
- export type ${(0, import_core.pascal)(operationName)}MutationError = ${errorType}
405
+ export type ${(0, import_core2.pascal)(operationName)}MutationError = ${errorType}
334
406
 
335
- ${doc}export const ${(0, import_core.camel)(`use-${operationName}`)} = <TError = ${errorType}>(
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${!mutator ? `, axios: axiosOptions` : (mutator == null ? void 0 : mutator.hasSecondArg) ? ", request: requestOptions" : ""}} = options ?? {}` : ""}
416
+ ${isRequestOptions ? `const {swr: swrOptions${swrRequestSecondArg ? `, ${swrRequestSecondArg}` : ""}} = options ?? {}` : ""}
344
417
 
345
418
  ${swrKeyImplementation}
346
- const swrFn = ${swrMutationFetcherName}(${swrMutationFetcherProperties}${swrMutationFetcherProperties && isRequestOptions ? "," : ""}${isRequestOptions ? !mutator ? `axiosOptions` : (mutator == null ? void 0 : mutator.hasSecondArg) ? "requestOptions" : "" : ""});
419
+ const swrFn = ${swrMutationFetcherName}(${swrMutationFetcherProperties}${swrMutationFetcherProperties && httpRequestSecondArg ? ", " : ""}${httpRequestSecondArg});
347
420
 
348
421
  const ${queryResultVarName} = useSWRMutation(swrKey, swrFn, ${swrOptions.swrMutationOptions ? `{
349
- ${(_a = (0, import_core.stringify)(swrOptions.swrMutationOptions)) == null ? void 0 : _a.slice(1, -1)}
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 doc = (0, import_core.jsDoc)({ summary, deprecated });
377
- if (verb === import_core.Verbs.GET) {
378
- const swrKeyProperties = props.filter((prop) => prop.type !== import_core.GetterPropType.HEADER).map((param) => {
379
- if (param.type === import_core.GetterPropType.NAMED_PATH_PARAMS)
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 === import_core.GetterPropType.BODY ? body.implementation : param.name;
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 === import_core.GetterPropType.NAMED_PATH_PARAMS)
458
+ if (param.type === import_core2.GetterPropType.NAMED_PATH_PARAMS)
385
459
  return param.destructured;
386
- return param.type === import_core.GetterPropType.BODY ? body.implementation : param.name;
460
+ return param.type === import_core2.GetterPropType.BODY ? body.implementation : param.name;
387
461
  }).join(",");
388
- const queryKeyProps = (0, import_core.toObjectString)(
389
- props.filter((prop) => prop.type !== import_core.GetterPropType.HEADER),
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, import_core.camel)(`get-${operationName}-key`);
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, import_core.camel)(
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, import_core.toObjectString)(
499
+ const queryKeyProps = (0, import_core2.toObjectString)(
425
500
  props.filter(
426
- (prop) => prop.type === import_core.GetterPropType.PARAM || prop.type === import_core.GetterPropType.NAMED_PATH_PARAMS
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, import_core.toObjectString)(
505
+ const swrProps = (0, import_core2.toObjectString)(
431
506
  props.filter(
432
- (prop) => prop.type === import_core.GetterPropType.PARAM || prop.type === import_core.GetterPropType.QUERY_PARAM || prop.type === import_core.GetterPropType.NAMED_PATH_PARAMS
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 === import_core.GetterPropType.PARAM || prop.type === import_core.GetterPropType.QUERY_PARAM || prop.type === import_core.GetterPropType.NAMED_PATH_PARAMS
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 === import_core.GetterPropType.NAMED_PATH_PARAMS) {
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 !== import_core.GetterPropType.HEADER).map((prop) => {
446
- if (prop.type === import_core.GetterPropType.NAMED_PATH_PARAMS) {
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 === import_core.GetterPropType.BODY) {
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 === import_core.GetterPropType.PARAM || prop.type === import_core.GetterPropType.NAMED_PATH_PARAMS
530
+ (prop) => prop.type === import_core2.GetterPropType.PARAM || prop.type === import_core2.GetterPropType.NAMED_PATH_PARAMS
456
531
  ).map((prop) => {
457
- if (prop.type === import_core.GetterPropType.NAMED_PATH_PARAMS) {
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, import_core.camel)(`get-${operationName}-mutation-key`);
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, import_core.camel)(
541
+ const swrMutationFetcherName = (0, import_core2.camel)(
467
542
  `get-${operationName}-mutation-fetcher`
468
543
  );
469
- const swrMutationFetcherType = mutator ? `Promise<${response.definition.success || "unknown"}>` : `Promise<AxiosResponse<${response.definition.success || "unknown"}>>`;
470
- const swrMutationFetcherOptionType = !mutator ? "AxiosRequestConfig" : mutator.hasSecondArg ? `SecondParameter<typeof ${mutator.name}>` : "";
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 === import_core.GetterPropType.BODY
556
+ (prop) => prop.type === import_core2.GetterPropType.BODY
474
557
  ) ? "{ arg }" : "__";
475
- const swrBodyType = (_b = (_a = props.find((prop) => prop.type === import_core.GetterPropType.BODY)) == null ? void 0 : _a.implementation.split(": ")[1]) != null ? _b : "Arguments";
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, import_core.generateVerbImports)(verbOptions);
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": "6.31.0",
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": "6.31.0"
16
+ "@orval/core": "7.0.0",
17
+ "@orval/fetch": "7.0.0"
17
18
  }
18
19
  }