@orval/swr 6.31.0 → 7.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md 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,123 @@ var generateSwrRequestFunction = ({
181
142
  }
182
143
  `;
183
144
  };
145
+ var getSwrRequestOptions = (httpClient, mutator) => {
146
+ if (!mutator) {
147
+ return httpClient === import_core.OutputHttpClient.AXIOS ? "axios?: AxiosRequestConfig" : "fetch?: RequestInit";
148
+ } else if (mutator == null ? void 0 : mutator.hasSecondArg) {
149
+ return `request?: SecondParameter<typeof ${mutator.name}>`;
150
+ } else {
151
+ return "";
152
+ }
153
+ };
154
+ var getSwrErrorType = (response, httpClient, mutator) => {
155
+ if (mutator) {
156
+ return mutator.hasErrorType ? `ErrorType<${response.definition.errors || "unknown"}>` : response.definition.errors || "unknown";
157
+ } else {
158
+ const errorType = httpClient === import_core.OutputHttpClient.AXIOS ? "AxiosError" : "Promise";
159
+ return `${errorType}<${response.definition.errors || "unknown"}>`;
160
+ }
161
+ };
162
+ var getSwrRequestSecondArg = (httpClient, mutator) => {
163
+ if (!mutator) {
164
+ return httpClient === import_core.OutputHttpClient.AXIOS ? "axios: axiosOptions" : "fetch: fetchOptions";
165
+ } else if (mutator == null ? void 0 : mutator.hasSecondArg) {
166
+ return "request: requestOptions";
167
+ } else {
168
+ return "";
169
+ }
170
+ };
171
+ var getHttpRequestSecondArg = (httpClient, mutator) => {
172
+ if (!mutator) {
173
+ return httpClient === import_core.OutputHttpClient.AXIOS ? `axiosOptions` : `fetchOptions`;
174
+ } else if (mutator == null ? void 0 : mutator.hasSecondArg) {
175
+ return "requestOptions";
176
+ } else {
177
+ return "";
178
+ }
179
+ };
180
+ var getSwrMutationFetcherOptionType = (httpClient, mutator) => {
181
+ if (!mutator) {
182
+ return httpClient === import_core.OutputHttpClient.AXIOS ? "AxiosRequestConfig" : "RequestInit";
183
+ } else if (mutator.hasSecondArg) {
184
+ return `SecondParameter<typeof ${mutator.name}>`;
185
+ } else {
186
+ return "";
187
+ }
188
+ };
189
+ var getSwrMutationFetcherType = (response, httpClient, includeHttpStatusReturnType, operationName, mutator) => {
190
+ if (httpClient === import_core.OutputHttpClient.FETCH) {
191
+ const responseType = (0, import_fetch.fetchResponseTypeName)(
192
+ includeHttpStatusReturnType,
193
+ response.definition.success,
194
+ operationName
195
+ );
196
+ return `Promise<${responseType}>`;
197
+ } else if (mutator) {
198
+ return `Promise<${response.definition.success || "unknown"}>`;
199
+ } else {
200
+ return `Promise<AxiosResponse<${response.definition.success || "unknown"}>>`;
201
+ }
202
+ };
203
+
204
+ // src/index.ts
205
+ var PARAMS_SERIALIZER_DEPENDENCIES = [
206
+ {
207
+ exports: [
208
+ {
209
+ name: "qs",
210
+ default: true,
211
+ values: true,
212
+ syntheticDefaultImport: true
213
+ }
214
+ ],
215
+ dependency: "qs"
216
+ }
217
+ ];
218
+ var SWR_DEPENDENCIES = [
219
+ {
220
+ exports: [
221
+ { name: "useSwr", values: true, default: true },
222
+ { name: "SWRConfiguration" },
223
+ { name: "Key" },
224
+ { name: "Arguments" }
225
+ ],
226
+ dependency: "swr"
227
+ }
228
+ ];
229
+ var SWR_INFINITE_DEPENDENCIES = [
230
+ {
231
+ exports: [
232
+ { name: "useSWRInfinite", values: true, default: true },
233
+ { name: "SWRInfiniteConfiguration" },
234
+ { name: "SWRInfiniteKeyLoader" }
235
+ ],
236
+ dependency: "swr/infinite"
237
+ }
238
+ ];
239
+ var SWR_MUTATION_DEPENDENCIES = [
240
+ {
241
+ exports: [
242
+ { name: "useSWRMutation", values: true, default: true },
243
+ { name: "SWRMutationConfiguration" },
244
+ { name: "SWRMutationKey" }
245
+ ],
246
+ dependency: "swr/mutation"
247
+ }
248
+ ];
249
+ var getSwrDependencies = (hasGlobalMutator, hasParamsSerializerOptions, _packageJson, httpClient) => [
250
+ ...!hasGlobalMutator && httpClient === import_core2.OutputHttpClient.AXIOS ? AXIOS_DEPENDENCIES : [],
251
+ ...hasParamsSerializerOptions ? PARAMS_SERIALIZER_DEPENDENCIES : [],
252
+ ...SWR_DEPENDENCIES,
253
+ ...SWR_INFINITE_DEPENDENCIES,
254
+ ...SWR_MUTATION_DEPENDENCIES
255
+ ];
184
256
  var generateSwrArguments = ({
185
257
  operationName,
186
258
  mutator,
187
259
  isRequestOptions,
188
- isInfinite
260
+ isInfinite,
261
+ httpClient
189
262
  }) => {
190
263
  const configType = isInfinite ? "SWRInfiniteConfiguration" : "SWRConfiguration";
191
264
  const optionsType = isInfinite ? "{ swrKeyLoader?: SWRInfiniteKeyLoader, enabled?: boolean }" : "{ swrKey?: Key, enabled?: boolean }";
@@ -193,20 +266,21 @@ var generateSwrArguments = ({
193
266
  if (!isRequestOptions) {
194
267
  return `swrOptions?: ${definition}`;
195
268
  }
196
- return `options?: { swr?:${definition}, ${!mutator ? `axios?: AxiosRequestConfig` : (mutator == null ? void 0 : mutator.hasSecondArg) ? `request?: SecondParameter<typeof ${mutator.name}>` : ""} }
269
+ return `options?: { swr?:${definition}, ${getSwrRequestOptions(httpClient, mutator)} }
197
270
  `;
198
271
  };
199
272
  var generateSwrMutationArguments = ({
200
273
  operationName,
201
274
  isRequestOptions,
202
275
  mutator,
203
- swrBodyType
276
+ swrBodyType,
277
+ httpClient
204
278
  }) => {
205
- const definition = `SWRMutationConfiguration<Awaited<ReturnType<typeof ${operationName}>>, TError, string, ${swrBodyType}, Awaited<ReturnType<typeof ${operationName}>>> & { swrKey?: string }`;
279
+ const definition = `SWRMutationConfiguration<Awaited<ReturnType<typeof ${operationName}>>, TError, Key, ${swrBodyType}, Awaited<ReturnType<typeof ${operationName}>>> & { swrKey?: string }`;
206
280
  if (!isRequestOptions) {
207
281
  return `swrOptions?: ${definition}`;
208
282
  }
209
- return `options?: { swr?:${definition}, ${!mutator ? `axios?: AxiosRequestConfig` : (mutator == null ? void 0 : mutator.hasSecondArg) ? `request?: SecondParameter<typeof ${mutator.name}>` : ""} }
283
+ return `options?: { swr?:${definition}, ${getSwrRequestOptions(httpClient, mutator)}}
210
284
  `;
211
285
  };
212
286
  var generateSwrImplementation = ({
@@ -221,10 +295,11 @@ var generateSwrImplementation = ({
221
295
  response,
222
296
  swrOptions,
223
297
  props,
224
- doc
298
+ doc,
299
+ httpClient
225
300
  }) => {
226
301
  var _a, _b;
227
- const swrProps = (0, import_core.toObjectString)(props, "implementation");
302
+ const swrProps = (0, import_core2.toObjectString)(props, "implementation");
228
303
  const hasParamReservedWord = props.some(
229
304
  (prop) => prop.name === "query"
230
305
  );
@@ -233,33 +308,33 @@ var generateSwrImplementation = ({
233
308
  const enabledImplementation = `const isEnabled = swrOptions?.enabled !== false${params.length ? ` && !!(${params.map(({ name }) => name).join(" && ")})` : ""}`;
234
309
  const swrKeyImplementation = `const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? ${swrKeyFnName}(${swrKeyProperties}) : null);`;
235
310
  const swrKeyLoaderImplementation = `const swrKeyLoader = swrOptions?.swrKeyLoader ?? (() => isEnabled ? ${swrKeyLoaderFnName}(${swrKeyProperties}) : null);`;
236
- let errorType = `AxiosError<${response.definition.errors || "unknown"}>`;
237
- if (mutator) {
238
- errorType = mutator.hasErrorType ? `ErrorType<${response.definition.errors || "unknown"}>` : response.definition.errors || "unknown";
239
- }
311
+ const errorType = getSwrErrorType(response, httpClient, mutator);
312
+ const swrRequestSecondArg = getSwrRequestSecondArg(httpClient, mutator);
313
+ const httpRequestSecondArg = getHttpRequestSecondArg(httpClient, mutator);
240
314
  const useSWRInfiniteImplementation = swrOptions.useInfinite ? `
241
- export type ${(0, import_core.pascal)(
315
+ export type ${(0, import_core2.pascal)(
242
316
  operationName
243
317
  )}InfiniteQueryResult = NonNullable<Awaited<ReturnType<typeof ${operationName}>>>
244
- export type ${(0, import_core.pascal)(operationName)}InfiniteError = ${errorType}
318
+ export type ${(0, import_core2.pascal)(operationName)}InfiniteError = ${errorType}
245
319
 
246
- ${doc}export const ${(0, import_core.camel)(
320
+ ${doc}export const ${(0, import_core2.camel)(
247
321
  `use-${operationName}-infinite`
248
322
  )} = <TError = ${errorType}>(
249
323
  ${swrProps} ${generateSwrArguments({
250
324
  operationName,
251
325
  mutator,
252
326
  isRequestOptions,
253
- isInfinite: true
327
+ isInfinite: true,
328
+ httpClient
254
329
  })}) => {
255
- ${isRequestOptions ? `const {swr: swrOptions${!mutator ? `, axios: axiosOptions` : (mutator == null ? void 0 : mutator.hasSecondArg) ? ", request: requestOptions" : ""}} = options ?? {}` : ""}
330
+ ${isRequestOptions ? `const {swr: swrOptions${swrRequestSecondArg ? `, ${swrRequestSecondArg}` : ""}} = options ?? {}` : ""}
256
331
 
257
332
  ${enabledImplementation}
258
333
  ${swrKeyLoaderImplementation}
259
- const swrFn = () => ${operationName}(${httpFunctionProps}${httpFunctionProps ? ", " : ""}${isRequestOptions ? !mutator ? `axiosOptions` : (mutator == null ? void 0 : mutator.hasSecondArg) ? "requestOptions" : "" : ""});
334
+ const swrFn = () => ${operationName}(${httpFunctionProps}${httpFunctionProps && httpRequestSecondArg ? ", " : ""}${httpRequestSecondArg})
260
335
 
261
336
  const ${queryResultVarName} = useSWRInfinite<Awaited<ReturnType<typeof swrFn>>, TError>(swrKeyLoader, swrFn, ${swrOptions.swrInfiniteOptions ? `{
262
- ${(_a = (0, import_core.stringify)(swrOptions.swrInfiniteOptions)) == null ? void 0 : _a.slice(1, -1)}
337
+ ${(_a = (0, import_core2.stringify)(swrOptions.swrInfiniteOptions)) == null ? void 0 : _a.slice(1, -1)}
263
338
  ...swrOptions
264
339
  }` : "swrOptions"})
265
340
 
@@ -270,26 +345,27 @@ ${doc}export const ${(0, import_core.camel)(
270
345
  }
271
346
  ` : "";
272
347
  const useSwrImplementation = `
273
- export type ${(0, import_core.pascal)(
348
+ export type ${(0, import_core2.pascal)(
274
349
  operationName
275
350
  )}QueryResult = NonNullable<Awaited<ReturnType<typeof ${operationName}>>>
276
- export type ${(0, import_core.pascal)(operationName)}QueryError = ${errorType}
351
+ export type ${(0, import_core2.pascal)(operationName)}QueryError = ${errorType}
277
352
 
278
- ${doc}export const ${(0, import_core.camel)(`use-${operationName}`)} = <TError = ${errorType}>(
353
+ ${doc}export const ${(0, import_core2.camel)(`use-${operationName}`)} = <TError = ${errorType}>(
279
354
  ${swrProps} ${generateSwrArguments({
280
355
  operationName,
281
356
  mutator,
282
357
  isRequestOptions,
283
- isInfinite: false
358
+ isInfinite: false,
359
+ httpClient
284
360
  })}) => {
285
- ${isRequestOptions ? `const {swr: swrOptions${!mutator ? `, axios: axiosOptions` : (mutator == null ? void 0 : mutator.hasSecondArg) ? ", request: requestOptions" : ""}} = options ?? {}` : ""}
361
+ ${isRequestOptions ? `const {swr: swrOptions${swrRequestSecondArg ? `, ${swrRequestSecondArg}` : ""}} = options ?? {}` : ""}
286
362
 
287
363
  ${enabledImplementation}
288
364
  ${swrKeyImplementation}
289
- const swrFn = () => ${operationName}(${httpFunctionProps}${httpFunctionProps ? ", " : ""}${isRequestOptions ? !mutator ? `axiosOptions` : (mutator == null ? void 0 : mutator.hasSecondArg) ? "requestOptions" : "" : ""});
365
+ const swrFn = () => ${operationName}(${httpFunctionProps}${httpFunctionProps && httpRequestSecondArg ? ", " : ""}${httpRequestSecondArg})
290
366
 
291
367
  const ${queryResultVarName} = useSwr<Awaited<ReturnType<typeof swrFn>>, TError>(swrKey, swrFn, ${swrOptions.swrOptions ? `{
292
- ${(_b = (0, import_core.stringify)(swrOptions.swrOptions)) == null ? void 0 : _b.slice(1, -1)}
368
+ ${(_b = (0, import_core2.stringify)(swrOptions.swrOptions)) == null ? void 0 : _b.slice(1, -1)}
293
369
  ...swrOptions
294
370
  }` : "swrOptions"})
295
371
 
@@ -314,7 +390,8 @@ var generateSwrMutationImplementation = ({
314
390
  mutator,
315
391
  swrOptions,
316
392
  doc,
317
- swrBodyType
393
+ swrBodyType,
394
+ httpClient
318
395
  }) => {
319
396
  var _a;
320
397
  const hasParamReservedWord = props.some(
@@ -322,31 +399,31 @@ var generateSwrMutationImplementation = ({
322
399
  );
323
400
  const queryResultVarName = hasParamReservedWord ? "_query" : "query";
324
401
  const swrKeyImplementation = `const swrKey = swrOptions?.swrKey ?? ${swrKeyFnName}(${swrKeyProperties});`;
325
- let errorType = `AxiosError<${response.definition.errors || "unknown"}>`;
326
- if (mutator) {
327
- errorType = mutator.hasErrorType ? `ErrorType<${response.definition.errors || "unknown"}>` : response.definition.errors || "unknown";
328
- }
402
+ const errorType = getSwrErrorType(response, httpClient, mutator);
403
+ const swrRequestSecondArg = getSwrRequestSecondArg(httpClient, mutator);
404
+ const httpRequestSecondArg = getHttpRequestSecondArg(httpClient, mutator);
329
405
  const useSwrImplementation = `
330
- export type ${(0, import_core.pascal)(
406
+ export type ${(0, import_core2.pascal)(
331
407
  operationName
332
408
  )}MutationResult = NonNullable<Awaited<ReturnType<typeof ${operationName}>>>
333
- export type ${(0, import_core.pascal)(operationName)}MutationError = ${errorType}
409
+ export type ${(0, import_core2.pascal)(operationName)}MutationError = ${errorType}
334
410
 
335
- ${doc}export const ${(0, import_core.camel)(`use-${operationName}`)} = <TError = ${errorType}>(
411
+ ${doc}export const ${(0, import_core2.camel)(`use-${operationName}`)} = <TError = ${errorType}>(
336
412
  ${swrProps} ${generateSwrMutationArguments({
337
413
  operationName,
338
414
  isRequestOptions,
339
415
  mutator,
340
- swrBodyType
416
+ swrBodyType,
417
+ httpClient
341
418
  })}) => {
342
419
 
343
- ${isRequestOptions ? `const {swr: swrOptions${!mutator ? `, axios: axiosOptions` : (mutator == null ? void 0 : mutator.hasSecondArg) ? ", request: requestOptions" : ""}} = options ?? {}` : ""}
420
+ ${isRequestOptions ? `const {swr: swrOptions${swrRequestSecondArg ? `, ${swrRequestSecondArg}` : ""}} = options ?? {}` : ""}
344
421
 
345
422
  ${swrKeyImplementation}
346
- const swrFn = ${swrMutationFetcherName}(${swrMutationFetcherProperties}${swrMutationFetcherProperties && isRequestOptions ? "," : ""}${isRequestOptions ? !mutator ? `axiosOptions` : (mutator == null ? void 0 : mutator.hasSecondArg) ? "requestOptions" : "" : ""});
423
+ const swrFn = ${swrMutationFetcherName}(${swrMutationFetcherProperties}${swrMutationFetcherProperties && httpRequestSecondArg ? ", " : ""}${httpRequestSecondArg});
347
424
 
348
425
  const ${queryResultVarName} = useSWRMutation(swrKey, swrFn, ${swrOptions.swrMutationOptions ? `{
349
- ${(_a = (0, import_core.stringify)(swrOptions.swrMutationOptions)) == null ? void 0 : _a.slice(1, -1)}
426
+ ${(_a = (0, import_core2.stringify)(swrOptions.swrMutationOptions)) == null ? void 0 : _a.slice(1, -1)}
350
427
  ...swrOptions
351
428
  }` : "swrOptions"})
352
429
 
@@ -373,28 +450,28 @@ var generateSwrHook = ({
373
450
  }, { route, context }) => {
374
451
  var _a, _b;
375
452
  const isRequestOptions = (override == null ? void 0 : override.requestOptions) !== false;
376
- const 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)
453
+ const httpClient = context.output.httpClient;
454
+ const doc = (0, import_core2.jsDoc)({ summary, deprecated });
455
+ if (verb === import_core2.Verbs.GET) {
456
+ const swrKeyProperties = props.filter((prop) => prop.type !== import_core2.GetterPropType.HEADER).map((param) => {
457
+ if (param.type === import_core2.GetterPropType.NAMED_PATH_PARAMS)
380
458
  return param.destructured;
381
- return param.type === import_core.GetterPropType.BODY ? body.implementation : param.name;
459
+ return param.type === import_core2.GetterPropType.BODY ? body.implementation : param.name;
382
460
  }).join(",");
383
461
  const swrProperties = props.map((param) => {
384
- if (param.type === import_core.GetterPropType.NAMED_PATH_PARAMS)
462
+ if (param.type === import_core2.GetterPropType.NAMED_PATH_PARAMS)
385
463
  return param.destructured;
386
- return param.type === import_core.GetterPropType.BODY ? body.implementation : param.name;
464
+ return param.type === import_core2.GetterPropType.BODY ? body.implementation : param.name;
387
465
  }).join(",");
388
- const queryKeyProps = (0, import_core.toObjectString)(
389
- props.filter((prop) => prop.type !== import_core.GetterPropType.HEADER),
466
+ const queryKeyProps = (0, import_core2.toObjectString)(
467
+ props.filter((prop) => prop.type !== import_core2.GetterPropType.HEADER),
390
468
  "implementation"
391
469
  );
392
- const swrKeyFnName = (0, import_core.camel)(`get-${operationName}-key`);
470
+ const swrKeyFnName = (0, import_core2.camel)(`get-${operationName}-key`);
393
471
  const swrKeyFn = `
394
- export const ${swrKeyFnName} = (${queryKeyProps}) => [\`${route}\`${queryParams ? ", ...(params ? [params]: [])" : ""}${body.implementation ? `, ${body.implementation}` : ""}] as const;
395
-
472
+ export const ${swrKeyFnName} = (${queryKeyProps}) => [\`${route}\`${queryParams ? ", ...(params ? [params]: [])" : ""}] as const;
396
473
  `;
397
- const swrKeyLoaderFnName = (0, import_core.camel)(
474
+ const swrKeyLoaderFnName = (0, import_core2.camel)(
398
475
  `get-${operationName}-infinite-key-loader`
399
476
  );
400
477
  const swrKeyLoader = override.swr.useInfinite ? `export const ${swrKeyLoaderFnName} = (${queryKeyProps}) => {
@@ -417,65 +494,75 @@ export const ${swrKeyFnName} = (${queryKeyProps}) => [\`${route}\`${queryParams
417
494
  isRequestOptions,
418
495
  response,
419
496
  swrOptions: override.swr,
420
- doc
497
+ doc,
498
+ httpClient
421
499
  });
422
500
  return swrKeyFn + swrKeyLoader + swrImplementation;
423
501
  } else {
424
- const queryKeyProps = (0, import_core.toObjectString)(
502
+ const queryKeyProps = (0, import_core2.toObjectString)(
425
503
  props.filter(
426
- (prop) => prop.type === import_core.GetterPropType.PARAM || prop.type === import_core.GetterPropType.NAMED_PATH_PARAMS
504
+ (prop) => prop.type === import_core2.GetterPropType.PARAM || prop.type === import_core2.GetterPropType.NAMED_PATH_PARAMS || prop.type === import_core2.GetterPropType.QUERY_PARAM
427
505
  ),
428
506
  "implementation"
429
507
  );
430
- const swrProps = (0, import_core.toObjectString)(
508
+ const swrProps = (0, import_core2.toObjectString)(
431
509
  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
510
+ (prop) => prop.type === import_core2.GetterPropType.PARAM || prop.type === import_core2.GetterPropType.QUERY_PARAM || prop.type === import_core2.GetterPropType.NAMED_PATH_PARAMS
433
511
  ),
434
512
  "implementation"
435
513
  );
436
514
  const swrMutationFetcherProperties = props.filter(
437
- (prop) => prop.type === import_core.GetterPropType.PARAM || prop.type === import_core.GetterPropType.QUERY_PARAM || prop.type === import_core.GetterPropType.NAMED_PATH_PARAMS
515
+ (prop) => prop.type === import_core2.GetterPropType.PARAM || prop.type === import_core2.GetterPropType.QUERY_PARAM || prop.type === import_core2.GetterPropType.NAMED_PATH_PARAMS
438
516
  ).map((param) => {
439
- if (param.type === import_core.GetterPropType.NAMED_PATH_PARAMS) {
517
+ if (param.type === import_core2.GetterPropType.NAMED_PATH_PARAMS) {
440
518
  return param.destructured;
441
519
  } else {
442
520
  return param.name;
443
521
  }
444
522
  }).join(",");
445
- const httpFnProperties = props.filter((prop) => prop.type !== import_core.GetterPropType.HEADER).map((prop) => {
446
- if (prop.type === import_core.GetterPropType.NAMED_PATH_PARAMS) {
523
+ const httpFnProperties = props.filter((prop) => prop.type !== import_core2.GetterPropType.HEADER).map((prop) => {
524
+ if (prop.type === import_core2.GetterPropType.NAMED_PATH_PARAMS) {
447
525
  return prop.destructured;
448
- } else if (prop.type === import_core.GetterPropType.BODY) {
526
+ } else if (prop.type === import_core2.GetterPropType.BODY) {
449
527
  return `arg`;
450
528
  } else {
451
529
  return prop.name;
452
530
  }
453
531
  }).join(", ");
454
532
  const swrKeyProperties = props.filter(
455
- (prop) => prop.type === import_core.GetterPropType.PARAM || prop.type === import_core.GetterPropType.NAMED_PATH_PARAMS
533
+ (prop) => prop.type === import_core2.GetterPropType.PARAM || prop.type === import_core2.GetterPropType.NAMED_PATH_PARAMS || prop.type === import_core2.GetterPropType.QUERY_PARAM
456
534
  ).map((prop) => {
457
- if (prop.type === import_core.GetterPropType.NAMED_PATH_PARAMS) {
535
+ if (prop.type === import_core2.GetterPropType.NAMED_PATH_PARAMS) {
458
536
  return prop.destructured;
459
537
  } else {
460
538
  return prop.name;
461
539
  }
462
540
  }).join(",");
463
- const swrKeyFnName = (0, import_core.camel)(`get-${operationName}-mutation-key`);
464
- const swrMutationKeyFn = `export const ${swrKeyFnName} = (${queryKeyProps}) => \`${route}\` as const;
541
+ const swrKeyFnName = (0, import_core2.camel)(`get-${operationName}-mutation-key`);
542
+ const swrMutationKeyFn = `export const ${swrKeyFnName} = (${queryKeyProps}) => [\`${route}\`${queryParams ? ", ...(params ? [params]: [])" : ""}] as const;
465
543
  `;
466
- const swrMutationFetcherName = (0, import_core.camel)(
544
+ const swrMutationFetcherName = (0, import_core2.camel)(
467
545
  `get-${operationName}-mutation-fetcher`
468
546
  );
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}>` : "";
547
+ const swrMutationFetcherType = getSwrMutationFetcherType(
548
+ response,
549
+ httpClient,
550
+ override.fetch.includeHttpStatusReturnType,
551
+ operationName,
552
+ mutator
553
+ );
554
+ const swrMutationFetcherOptionType = getSwrMutationFetcherOptionType(
555
+ httpClient,
556
+ mutator
557
+ );
471
558
  const swrMutationFetcherOptions = isRequestOptions && swrMutationFetcherOptionType ? `options${context.output.optionsParamRequired ? "" : "?"}: ${swrMutationFetcherOptionType}` : "";
472
559
  const swrMutationFetcherArg = props.some(
473
- (prop) => prop.type === import_core.GetterPropType.BODY
560
+ (prop) => prop.type === import_core2.GetterPropType.BODY
474
561
  ) ? "{ 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";
562
+ const swrBodyType = (_b = (_a = props.find((prop) => prop.type === import_core2.GetterPropType.BODY)) == null ? void 0 : _a.implementation.split(": ")[1]) != null ? _b : "Arguments";
476
563
  const swrMutationFetcherFn = `
477
564
  export const ${swrMutationFetcherName} = (${swrProps} ${swrMutationFetcherOptions}) => {
478
- return (_: string, ${swrMutationFetcherArg}: { arg: ${swrBodyType} }): ${swrMutationFetcherType} => {
565
+ return (_: Key, ${swrMutationFetcherArg}: { arg: ${swrBodyType} }): ${swrMutationFetcherType} => {
479
566
  return ${operationName}(${httpFnProperties}${swrMutationFetcherOptions.length ? (httpFnProperties.length ? ", " : "") + "options" : ""});
480
567
  }
481
568
  }
@@ -493,7 +580,8 @@ export const ${swrMutationFetcherName} = (${swrProps} ${swrMutationFetcherOption
493
580
  mutator,
494
581
  swrOptions: override.swr,
495
582
  doc,
496
- swrBodyType
583
+ swrBodyType,
584
+ httpClient: context.output.httpClient
497
585
  });
498
586
  return swrMutationFetcherFn + swrMutationKeyFn + swrImplementation;
499
587
  }
@@ -512,7 +600,7 @@ var generateSwrHeader = ({
512
600
 
513
601
  ` : ""}`;
514
602
  var generateSwr = (verbOptions, options) => {
515
- const imports = (0, import_core.generateVerbImports)(verbOptions);
603
+ const imports = (0, import_core2.generateVerbImports)(verbOptions);
516
604
  const functionImplementation = generateSwrRequestFunction(
517
605
  verbOptions,
518
606
  options
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import {\n camel,\n ClientBuilder,\n ClientDependenciesBuilder,\n ClientGeneratorsBuilder,\n ClientHeaderBuilder,\n generateFormDataAndUrlEncodedFunction,\n generateMutatorConfig,\n generateMutatorRequestOptions,\n generateOptions,\n generateVerbImports,\n GeneratorDependency,\n GeneratorMutator,\n GeneratorOptions,\n GeneratorVerbOptions,\n GetterParams,\n GetterProp,\n GetterProps,\n GetterPropType,\n GetterResponse,\n isSyntheticDefaultImportsAllow,\n pascal,\n stringify,\n toObjectString,\n Verbs,\n VERBS_WITH_BODY,\n jsDoc,\n SwrOptions,\n} from '@orval/core';\n\nconst AXIOS_DEPENDENCIES: GeneratorDependency[] = [\n {\n exports: [\n {\n name: 'axios',\n default: true,\n values: true,\n syntheticDefaultImport: true,\n },\n { name: 'AxiosRequestConfig' },\n { name: 'AxiosResponse' },\n { name: 'AxiosError' },\n ],\n dependency: 'axios',\n },\n];\n\nconst PARAMS_SERIALIZER_DEPENDENCIES: GeneratorDependency[] = [\n {\n exports: [\n {\n name: 'qs',\n default: true,\n values: true,\n syntheticDefaultImport: true,\n },\n ],\n dependency: 'qs',\n },\n];\n\nconst SWR_DEPENDENCIES: GeneratorDependency[] = [\n {\n exports: [\n { name: 'useSwr', values: true, default: true },\n { name: 'SWRConfiguration' },\n { name: 'Key' },\n { name: 'Arguments' },\n ],\n dependency: 'swr',\n },\n];\n\nconst SWR_INFINITE_DEPENDENCIES: GeneratorDependency[] = [\n {\n exports: [\n { name: 'useSWRInfinite', values: true, default: true },\n { name: 'SWRInfiniteConfiguration' },\n { name: 'SWRInfiniteKeyLoader' },\n ],\n dependency: 'swr/infinite',\n },\n];\n\nconst SWR_MUTATION_DEPENDENCIES: GeneratorDependency[] = [\n {\n exports: [\n { name: 'useSWRMutation', values: true, default: true },\n { name: 'SWRMutationConfiguration' },\n { name: 'SWRMutationKey' },\n ],\n dependency: 'swr/mutation',\n },\n];\n\nexport const getSwrDependencies: ClientDependenciesBuilder = (\n hasGlobalMutator: boolean,\n hasParamsSerializerOptions: boolean,\n) => [\n ...(!hasGlobalMutator ? AXIOS_DEPENDENCIES : []),\n ...(hasParamsSerializerOptions ? PARAMS_SERIALIZER_DEPENDENCIES : []),\n ...SWR_DEPENDENCIES,\n ...SWR_INFINITE_DEPENDENCIES,\n ...SWR_MUTATION_DEPENDENCIES,\n];\n\nconst generateSwrRequestFunction = (\n {\n headers,\n queryParams,\n operationName,\n response,\n mutator,\n body,\n props,\n verb,\n formData,\n formUrlEncoded,\n override,\n paramsSerializer,\n }: GeneratorVerbOptions,\n { route, context }: GeneratorOptions,\n) => {\n const isRequestOptions = override?.requestOptions !== false;\n const isFormData = override?.formData !== false;\n const isFormUrlEncoded = override?.formUrlEncoded !== false;\n const isExactOptionalPropertyTypes =\n !!context.output.tsconfig?.compilerOptions?.exactOptionalPropertyTypes;\n const isBodyVerb = VERBS_WITH_BODY.includes(verb);\n const isSyntheticDefaultImportsAllowed = isSyntheticDefaultImportsAllow(\n context.output.tsconfig,\n );\n\n const bodyForm = generateFormDataAndUrlEncodedFunction({\n formData,\n formUrlEncoded,\n body,\n isFormData,\n isFormUrlEncoded,\n });\n\n if (mutator) {\n const mutatorConfig = generateMutatorConfig({\n route,\n body,\n headers,\n queryParams,\n response,\n verb,\n isFormData,\n isFormUrlEncoded,\n hasSignal: false,\n isBodyVerb,\n isExactOptionalPropertyTypes,\n });\n\n const propsImplementation =\n mutator?.bodyTypeName && body.definition\n ? toObjectString(props, 'implementation').replace(\n new RegExp(`(\\\\w*):\\\\s?${body.definition}`),\n `$1: ${mutator.bodyTypeName}<${body.definition}>`,\n )\n : toObjectString(props, 'implementation');\n\n const requestOptions = isRequestOptions\n ? generateMutatorRequestOptions(\n override?.requestOptions,\n mutator.hasSecondArg,\n )\n : '';\n\n return `export const ${operationName} = (\\n ${propsImplementation}\\n ${\n isRequestOptions && mutator.hasSecondArg\n ? `options${context.output.optionsParamRequired ? '' : '?'}: SecondParameter<typeof ${mutator.name}>`\n : ''\n }) => {${bodyForm}\n return ${mutator.name}<${response.definition.success || 'unknown'}>(\n ${mutatorConfig},\n ${requestOptions});\n }\n `;\n }\n\n const options = generateOptions({\n route,\n body,\n headers,\n queryParams,\n response,\n verb,\n requestOptions: override?.requestOptions,\n isFormData,\n isFormUrlEncoded,\n paramsSerializer,\n paramsSerializerOptions: override?.paramsSerializerOptions,\n isExactOptionalPropertyTypes,\n hasSignal: false,\n });\n\n return `export const ${operationName} = (\\n ${toObjectString(\n props,\n 'implementation',\n )} ${\n isRequestOptions ? `options?: AxiosRequestConfig\\n` : ''\n } ): Promise<AxiosResponse<${\n response.definition.success || 'unknown'\n }>> => {${bodyForm}\n return axios${\n !isSyntheticDefaultImportsAllowed ? '.default' : ''\n }.${verb}(${options});\n }\n`;\n};\n\nconst generateSwrArguments = ({\n operationName,\n mutator,\n isRequestOptions,\n isInfinite,\n}: {\n operationName: string;\n mutator?: GeneratorMutator;\n isRequestOptions: boolean;\n isInfinite: boolean;\n}) => {\n const configType = isInfinite\n ? 'SWRInfiniteConfiguration'\n : 'SWRConfiguration';\n const optionsType = isInfinite\n ? '{ swrKeyLoader?: SWRInfiniteKeyLoader, enabled?: boolean }'\n : '{ swrKey?: Key, enabled?: boolean }';\n const definition = `${configType}<Awaited<ReturnType<typeof ${operationName}>>, TError> & ${optionsType}`;\n\n if (!isRequestOptions) {\n return `swrOptions?: ${definition}`;\n }\n\n return `options?: { swr?:${definition}, ${\n !mutator\n ? `axios?: AxiosRequestConfig`\n : mutator?.hasSecondArg\n ? `request?: SecondParameter<typeof ${mutator.name}>`\n : ''\n } }\\n`;\n};\n\nconst generateSwrMutationArguments = ({\n operationName,\n isRequestOptions,\n mutator,\n swrBodyType,\n}: {\n operationName: string;\n isRequestOptions: boolean;\n mutator?: GeneratorMutator;\n swrBodyType: string;\n}) => {\n const definition = `SWRMutationConfiguration<Awaited<ReturnType<typeof ${operationName}>>, TError, string, ${swrBodyType}, Awaited<ReturnType<typeof ${operationName}>>> & { swrKey?: string }`;\n\n if (!isRequestOptions) {\n return `swrOptions?: ${definition}`;\n }\n\n return `options?: { swr?:${definition}, ${\n !mutator\n ? `axios?: AxiosRequestConfig`\n : mutator?.hasSecondArg\n ? `request?: SecondParameter<typeof ${mutator.name}>`\n : ''\n } }\\n`;\n};\n\nconst generateSwrImplementation = ({\n operationName,\n swrKeyFnName,\n swrKeyLoaderFnName,\n swrProperties,\n swrKeyProperties,\n params,\n mutator,\n isRequestOptions,\n response,\n swrOptions,\n props,\n doc,\n}: {\n isRequestOptions: boolean;\n operationName: string;\n swrKeyFnName: string;\n swrKeyLoaderFnName: string;\n swrProperties: string;\n swrKeyProperties: string;\n params: GetterParams;\n props: GetterProps;\n response: GetterResponse;\n mutator?: GeneratorMutator;\n swrOptions: SwrOptions;\n doc?: string;\n}) => {\n const swrProps = toObjectString(props, 'implementation');\n\n const hasParamReservedWord = props.some(\n (prop: GetterProp) => prop.name === 'query',\n );\n const queryResultVarName = hasParamReservedWord ? '_query' : 'query';\n\n const httpFunctionProps = swrProperties;\n\n const enabledImplementation = `const isEnabled = swrOptions?.enabled !== false${\n params.length\n ? ` && !!(${params.map(({ name }) => name).join(' && ')})`\n : ''\n }`;\n const swrKeyImplementation = `const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? ${swrKeyFnName}(${swrKeyProperties}) : null);`;\n const swrKeyLoaderImplementation = `const swrKeyLoader = swrOptions?.swrKeyLoader ?? (() => isEnabled ? ${swrKeyLoaderFnName}(${swrKeyProperties}) : null);`;\n\n let errorType = `AxiosError<${response.definition.errors || 'unknown'}>`;\n\n if (mutator) {\n errorType = mutator.hasErrorType\n ? `ErrorType<${response.definition.errors || 'unknown'}>`\n : response.definition.errors || 'unknown';\n }\n\n const useSWRInfiniteImplementation = swrOptions.useInfinite\n ? `\nexport type ${pascal(\n operationName,\n )}InfiniteQueryResult = NonNullable<Awaited<ReturnType<typeof ${operationName}>>>\nexport type ${pascal(operationName)}InfiniteError = ${errorType}\n\n${doc}export const ${camel(\n `use-${operationName}-infinite`,\n )} = <TError = ${errorType}>(\n ${swrProps} ${generateSwrArguments({\n operationName,\n mutator,\n isRequestOptions,\n isInfinite: true,\n })}) => {\n ${\n isRequestOptions\n ? `const {swr: swrOptions${\n !mutator\n ? `, axios: axiosOptions`\n : mutator?.hasSecondArg\n ? ', request: requestOptions'\n : ''\n }} = options ?? {}`\n : ''\n }\n\n ${enabledImplementation}\n ${swrKeyLoaderImplementation}\n const swrFn = () => ${operationName}(${httpFunctionProps}${\n httpFunctionProps ? ', ' : ''\n }${\n isRequestOptions\n ? !mutator\n ? `axiosOptions`\n : mutator?.hasSecondArg\n ? 'requestOptions'\n : ''\n : ''\n });\n\n const ${queryResultVarName} = useSWRInfinite<Awaited<ReturnType<typeof swrFn>>, TError>(swrKeyLoader, swrFn, ${\n swrOptions.swrInfiniteOptions\n ? `{\n ${stringify(swrOptions.swrInfiniteOptions)?.slice(1, -1)}\n ...swrOptions\n }`\n : 'swrOptions'\n })\n\n return {\n swrKeyLoader,\n ...${queryResultVarName}\n }\n}\\n`\n : '';\n\n const useSwrImplementation = `\nexport type ${pascal(\n operationName,\n )}QueryResult = NonNullable<Awaited<ReturnType<typeof ${operationName}>>>\nexport type ${pascal(operationName)}QueryError = ${errorType}\n\n${doc}export const ${camel(`use-${operationName}`)} = <TError = ${errorType}>(\n ${swrProps} ${generateSwrArguments({\n operationName,\n mutator,\n isRequestOptions,\n isInfinite: false,\n })}) => {\n ${\n isRequestOptions\n ? `const {swr: swrOptions${\n !mutator\n ? `, axios: axiosOptions`\n : mutator?.hasSecondArg\n ? ', request: requestOptions'\n : ''\n }} = options ?? {}`\n : ''\n }\n\n ${enabledImplementation}\n ${swrKeyImplementation}\n const swrFn = () => ${operationName}(${httpFunctionProps}${\n httpFunctionProps ? ', ' : ''\n }${\n isRequestOptions\n ? !mutator\n ? `axiosOptions`\n : mutator?.hasSecondArg\n ? 'requestOptions'\n : ''\n : ''\n });\n\n const ${queryResultVarName} = useSwr<Awaited<ReturnType<typeof swrFn>>, TError>(swrKey, swrFn, ${\n swrOptions.swrOptions\n ? `{\n ${stringify(swrOptions.swrOptions)?.slice(1, -1)}\n ...swrOptions\n }`\n : 'swrOptions'\n })\n\n return {\n swrKey,\n ...${queryResultVarName}\n }\n}\\n`;\n\n return useSWRInfiniteImplementation + useSwrImplementation;\n};\n\nconst generateSwrMutationImplementation = ({\n isRequestOptions,\n operationName,\n swrKeyFnName,\n swrMutationFetcherName,\n swrKeyProperties,\n swrMutationFetcherProperties,\n swrProps,\n props,\n response,\n mutator,\n swrOptions,\n doc,\n swrBodyType,\n}: {\n isRequestOptions: boolean;\n operationName: string;\n swrKeyFnName: string;\n swrMutationFetcherName: string;\n swrKeyProperties: string;\n swrMutationFetcherProperties: string;\n swrProps: string;\n props: GetterProps;\n response: GetterResponse;\n mutator?: GeneratorMutator;\n swrOptions: SwrOptions;\n doc?: string;\n swrBodyType: string;\n}) => {\n const hasParamReservedWord = props.some(\n (prop: GetterProp) => prop.name === 'query',\n );\n const queryResultVarName = hasParamReservedWord ? '_query' : 'query';\n\n const swrKeyImplementation = `const swrKey = swrOptions?.swrKey ?? ${swrKeyFnName}(${swrKeyProperties});`;\n\n let errorType = `AxiosError<${response.definition.errors || 'unknown'}>`;\n\n if (mutator) {\n errorType = mutator.hasErrorType\n ? `ErrorType<${response.definition.errors || 'unknown'}>`\n : response.definition.errors || 'unknown';\n }\n\n const useSwrImplementation = `\nexport type ${pascal(\n operationName,\n )}MutationResult = NonNullable<Awaited<ReturnType<typeof ${operationName}>>>\nexport type ${pascal(operationName)}MutationError = ${errorType}\n\n${doc}export const ${camel(`use-${operationName}`)} = <TError = ${errorType}>(\n ${swrProps} ${generateSwrMutationArguments({\n operationName,\n isRequestOptions,\n mutator,\n swrBodyType,\n })}) => {\n\n ${\n isRequestOptions\n ? `const {swr: swrOptions${\n !mutator\n ? `, axios: axiosOptions`\n : mutator?.hasSecondArg\n ? ', request: requestOptions'\n : ''\n }} = options ?? {}`\n : ''\n }\n\n ${swrKeyImplementation}\n const swrFn = ${swrMutationFetcherName}(${swrMutationFetcherProperties}${\n swrMutationFetcherProperties && isRequestOptions ? ',' : ''\n }${\n isRequestOptions\n ? !mutator\n ? `axiosOptions`\n : mutator?.hasSecondArg\n ? 'requestOptions'\n : ''\n : ''\n });\n\n const ${queryResultVarName} = useSWRMutation(swrKey, swrFn, ${\n swrOptions.swrMutationOptions\n ? `{\n ${stringify(swrOptions.swrMutationOptions)?.slice(1, -1)}\n ...swrOptions\n }`\n : 'swrOptions'\n })\n\n return {\n swrKey,\n ...${queryResultVarName}\n }\n}\\n`;\n\n return useSwrImplementation;\n};\n\nconst generateSwrHook = (\n {\n queryParams,\n operationName,\n body,\n props,\n verb,\n params,\n override,\n mutator,\n response,\n summary,\n deprecated,\n }: GeneratorVerbOptions,\n { route, context }: GeneratorOptions,\n) => {\n const isRequestOptions = override?.requestOptions !== false;\n const doc = jsDoc({ summary, deprecated });\n\n if (verb === Verbs.GET) {\n const swrKeyProperties = props\n .filter((prop) => prop.type !== GetterPropType.HEADER)\n .map((param) => {\n if (param.type === GetterPropType.NAMED_PATH_PARAMS)\n return param.destructured;\n return param.type === GetterPropType.BODY\n ? body.implementation\n : param.name;\n })\n .join(',');\n\n const swrProperties = props\n .map((param) => {\n if (param.type === GetterPropType.NAMED_PATH_PARAMS)\n return param.destructured;\n return param.type === GetterPropType.BODY\n ? body.implementation\n : param.name;\n })\n .join(',');\n\n const queryKeyProps = toObjectString(\n props.filter((prop) => prop.type !== GetterPropType.HEADER),\n 'implementation',\n );\n\n const swrKeyFnName = camel(`get-${operationName}-key`);\n const swrKeyFn = `\nexport const ${swrKeyFnName} = (${queryKeyProps}) => [\\`${route}\\`${\n queryParams ? ', ...(params ? [params]: [])' : ''\n }${body.implementation ? `, ${body.implementation}` : ''}] as const;\n\\n`;\n\n const swrKeyLoaderFnName = camel(\n `get-${operationName}-infinite-key-loader`,\n );\n const swrKeyLoader = override.swr.useInfinite\n ? `export const ${swrKeyLoaderFnName} = (${queryKeyProps}) => {\n return (_: number, previousPageData: Awaited<ReturnType<typeof ${operationName}>>) => {\n if (previousPageData && !previousPageData.data) return null\n\n return [\\`${route}\\`${queryParams ? ', ...(params ? [params]: [])' : ''}${\n body.implementation ? `, ${body.implementation}` : ''\n }] as const;\n }\n}\\n`\n : '';\n\n const swrImplementation = generateSwrImplementation({\n operationName,\n swrKeyFnName,\n swrKeyLoaderFnName,\n swrProperties,\n swrKeyProperties,\n params,\n props,\n mutator,\n isRequestOptions,\n response,\n swrOptions: override.swr,\n doc,\n });\n\n return swrKeyFn + swrKeyLoader + swrImplementation;\n } else {\n const queryKeyProps = toObjectString(\n props.filter(\n (prop) =>\n prop.type === GetterPropType.PARAM ||\n prop.type === GetterPropType.NAMED_PATH_PARAMS,\n ),\n 'implementation',\n );\n\n const swrProps = toObjectString(\n props.filter(\n (prop) =>\n prop.type === GetterPropType.PARAM ||\n prop.type === GetterPropType.QUERY_PARAM ||\n prop.type === GetterPropType.NAMED_PATH_PARAMS,\n ),\n 'implementation',\n );\n\n const swrMutationFetcherProperties = props\n .filter(\n (prop) =>\n prop.type === GetterPropType.PARAM ||\n prop.type === GetterPropType.QUERY_PARAM ||\n prop.type === GetterPropType.NAMED_PATH_PARAMS,\n )\n .map((param) => {\n if (param.type === GetterPropType.NAMED_PATH_PARAMS) {\n return param.destructured;\n } else {\n return param.name;\n }\n })\n .join(',');\n\n const httpFnProperties = props\n .filter((prop) => prop.type !== GetterPropType.HEADER)\n .map((prop) => {\n if (prop.type === GetterPropType.NAMED_PATH_PARAMS) {\n return prop.destructured;\n } else if (prop.type === GetterPropType.BODY) {\n return `arg`;\n } else {\n return prop.name;\n }\n })\n .join(', ');\n\n const swrKeyProperties = props\n .filter(\n (prop) =>\n prop.type === GetterPropType.PARAM ||\n prop.type === GetterPropType.NAMED_PATH_PARAMS,\n )\n .map((prop) => {\n if (prop.type === GetterPropType.NAMED_PATH_PARAMS) {\n return prop.destructured;\n } else {\n return prop.name;\n }\n })\n .join(',');\n\n const swrKeyFnName = camel(`get-${operationName}-mutation-key`);\n const swrMutationKeyFn = `export const ${swrKeyFnName} = (${queryKeyProps}) => \\`${route}\\` as const;\\n`;\n\n const swrMutationFetcherName = camel(\n `get-${operationName}-mutation-fetcher`,\n );\n const swrMutationFetcherType = mutator\n ? `Promise<${response.definition.success || 'unknown'}>`\n : `Promise<AxiosResponse<${response.definition.success || 'unknown'}>>`;\n const swrMutationFetcherOptionType = !mutator\n ? 'AxiosRequestConfig'\n : mutator.hasSecondArg\n ? `SecondParameter<typeof ${mutator.name}>`\n : '';\n const swrMutationFetcherOptions =\n isRequestOptions && swrMutationFetcherOptionType\n ? `options${context.output.optionsParamRequired ? '' : '?'}: ${swrMutationFetcherOptionType}`\n : '';\n\n const swrMutationFetcherArg = props.some(\n (prop) => prop.type === GetterPropType.BODY,\n )\n ? '{ arg }'\n : '__';\n\n const swrBodyType =\n props\n .find((prop) => prop.type === GetterPropType.BODY)\n ?.implementation.split(': ')[1] ?? 'Arguments';\n\n const swrMutationFetcherFn = `\nexport const ${swrMutationFetcherName} = (${swrProps} ${swrMutationFetcherOptions}) => {\n return (_: string, ${swrMutationFetcherArg}: { arg: ${swrBodyType} }): ${swrMutationFetcherType} => {\n return ${operationName}(${httpFnProperties}${\n swrMutationFetcherOptions.length\n ? (httpFnProperties.length ? ', ' : '') + 'options'\n : ''\n });\n }\n}\\n`;\n\n const swrImplementation = generateSwrMutationImplementation({\n operationName,\n swrKeyFnName,\n swrMutationFetcherName,\n swrKeyProperties,\n swrMutationFetcherProperties,\n swrProps,\n props,\n isRequestOptions,\n response,\n mutator,\n swrOptions: override.swr,\n doc,\n swrBodyType,\n });\n\n return swrMutationFetcherFn + swrMutationKeyFn + swrImplementation;\n }\n};\n\nexport const generateSwrHeader: ClientHeaderBuilder = ({\n isRequestOptions,\n isMutator,\n hasAwaitedType,\n}) =>\n `\n ${\n !hasAwaitedType\n ? `type AwaitedInput<T> = PromiseLike<T> | T;\\n\n type Awaited<O> = O extends AwaitedInput<infer T> ? T : never;\\n\\n`\n : ''\n }\n ${\n isRequestOptions && isMutator\n ? `type SecondParameter<T extends (...args: any) => any> = Parameters<T>[1];\\n\\n`\n : ''\n }`;\n\nexport const generateSwr: ClientBuilder = (verbOptions, options) => {\n const imports = generateVerbImports(verbOptions);\n const functionImplementation = generateSwrRequestFunction(\n verbOptions,\n options,\n );\n const hookImplementation = generateSwrHook(verbOptions, options);\n\n return {\n implementation: `${functionImplementation}\\n\\n${hookImplementation}`,\n imports,\n };\n};\n\nconst swrClientBuilder: ClientGeneratorsBuilder = {\n client: generateSwr,\n header: generateSwrHeader,\n dependencies: getSwrDependencies,\n};\n\nexport const builder = () => () => swrClientBuilder;\n\nexport default builder;\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/index.ts","../src/client.ts"],"sourcesContent":["import {\n camel,\n ClientBuilder,\n ClientDependenciesBuilder,\n ClientGeneratorsBuilder,\n ClientHeaderBuilder,\n generateVerbImports,\n GeneratorDependency,\n GeneratorMutator,\n GeneratorOptions,\n GeneratorVerbOptions,\n GetterParams,\n GetterProp,\n GetterProps,\n GetterPropType,\n GetterResponse,\n pascal,\n stringify,\n toObjectString,\n Verbs,\n jsDoc,\n SwrOptions,\n OutputHttpClient,\n} from '@orval/core';\nimport {\n AXIOS_DEPENDENCIES,\n generateSwrRequestFunction,\n getSwrRequestOptions,\n getSwrErrorType,\n getSwrRequestSecondArg,\n getHttpRequestSecondArg,\n getSwrMutationFetcherOptionType,\n getSwrMutationFetcherType,\n} from './client';\n\nconst PARAMS_SERIALIZER_DEPENDENCIES: GeneratorDependency[] = [\n {\n exports: [\n {\n name: 'qs',\n default: true,\n values: true,\n syntheticDefaultImport: true,\n },\n ],\n dependency: 'qs',\n },\n];\n\nconst SWR_DEPENDENCIES: GeneratorDependency[] = [\n {\n exports: [\n { name: 'useSwr', values: true, default: true },\n { name: 'SWRConfiguration' },\n { name: 'Key' },\n { name: 'Arguments' },\n ],\n dependency: 'swr',\n },\n];\n\nconst SWR_INFINITE_DEPENDENCIES: GeneratorDependency[] = [\n {\n exports: [\n { name: 'useSWRInfinite', values: true, default: true },\n { name: 'SWRInfiniteConfiguration' },\n { name: 'SWRInfiniteKeyLoader' },\n ],\n dependency: 'swr/infinite',\n },\n];\n\nconst SWR_MUTATION_DEPENDENCIES: GeneratorDependency[] = [\n {\n exports: [\n { name: 'useSWRMutation', values: true, default: true },\n { name: 'SWRMutationConfiguration' },\n { name: 'SWRMutationKey' },\n ],\n dependency: 'swr/mutation',\n },\n];\n\nexport const getSwrDependencies: ClientDependenciesBuilder = (\n hasGlobalMutator: boolean,\n hasParamsSerializerOptions: boolean,\n _packageJson,\n httpClient?: OutputHttpClient,\n) => [\n ...(!hasGlobalMutator && httpClient === OutputHttpClient.AXIOS\n ? AXIOS_DEPENDENCIES\n : []),\n ...(hasParamsSerializerOptions ? PARAMS_SERIALIZER_DEPENDENCIES : []),\n ...SWR_DEPENDENCIES,\n ...SWR_INFINITE_DEPENDENCIES,\n ...SWR_MUTATION_DEPENDENCIES,\n];\n\nconst generateSwrArguments = ({\n operationName,\n mutator,\n isRequestOptions,\n isInfinite,\n httpClient,\n}: {\n operationName: string;\n mutator?: GeneratorMutator;\n isRequestOptions: boolean;\n isInfinite: boolean;\n httpClient: OutputHttpClient;\n}) => {\n const configType = isInfinite\n ? 'SWRInfiniteConfiguration'\n : 'SWRConfiguration';\n const optionsType = isInfinite\n ? '{ swrKeyLoader?: SWRInfiniteKeyLoader, enabled?: boolean }'\n : '{ swrKey?: Key, enabled?: boolean }';\n const definition = `${configType}<Awaited<ReturnType<typeof ${operationName}>>, TError> & ${optionsType}`;\n\n if (!isRequestOptions) {\n return `swrOptions?: ${definition}`;\n }\n\n return `options?: { swr?:${definition}, ${getSwrRequestOptions(httpClient, mutator)} }\\n`;\n};\n\nconst generateSwrMutationArguments = ({\n operationName,\n isRequestOptions,\n mutator,\n swrBodyType,\n httpClient,\n}: {\n operationName: string;\n isRequestOptions: boolean;\n mutator?: GeneratorMutator;\n swrBodyType: string;\n httpClient: OutputHttpClient;\n}) => {\n const definition = `SWRMutationConfiguration<Awaited<ReturnType<typeof ${operationName}>>, TError, Key, ${swrBodyType}, Awaited<ReturnType<typeof ${operationName}>>> & { swrKey?: string }`;\n\n if (!isRequestOptions) {\n return `swrOptions?: ${definition}`;\n }\n\n return `options?: { swr?:${definition}, ${getSwrRequestOptions(httpClient, mutator)}}\\n`;\n};\n\nconst generateSwrImplementation = ({\n operationName,\n swrKeyFnName,\n swrKeyLoaderFnName,\n swrProperties,\n swrKeyProperties,\n params,\n mutator,\n isRequestOptions,\n response,\n swrOptions,\n props,\n doc,\n httpClient,\n}: {\n isRequestOptions: boolean;\n operationName: string;\n swrKeyFnName: string;\n swrKeyLoaderFnName: string;\n swrProperties: string;\n swrKeyProperties: string;\n params: GetterParams;\n props: GetterProps;\n response: GetterResponse;\n mutator?: GeneratorMutator;\n swrOptions: SwrOptions;\n doc?: string;\n httpClient: OutputHttpClient;\n}) => {\n const swrProps = toObjectString(props, 'implementation');\n\n const hasParamReservedWord = props.some(\n (prop: GetterProp) => prop.name === 'query',\n );\n const queryResultVarName = hasParamReservedWord ? '_query' : 'query';\n\n const httpFunctionProps = swrProperties;\n\n const enabledImplementation = `const isEnabled = swrOptions?.enabled !== false${\n params.length\n ? ` && !!(${params.map(({ name }) => name).join(' && ')})`\n : ''\n }`;\n const swrKeyImplementation = `const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? ${swrKeyFnName}(${swrKeyProperties}) : null);`;\n const swrKeyLoaderImplementation = `const swrKeyLoader = swrOptions?.swrKeyLoader ?? (() => isEnabled ? ${swrKeyLoaderFnName}(${swrKeyProperties}) : null);`;\n\n const errorType = getSwrErrorType(response, httpClient, mutator);\n const swrRequestSecondArg = getSwrRequestSecondArg(httpClient, mutator);\n const httpRequestSecondArg = getHttpRequestSecondArg(httpClient, mutator);\n\n const useSWRInfiniteImplementation = swrOptions.useInfinite\n ? `\nexport type ${pascal(\n operationName,\n )}InfiniteQueryResult = NonNullable<Awaited<ReturnType<typeof ${operationName}>>>\nexport type ${pascal(operationName)}InfiniteError = ${errorType}\n\n${doc}export const ${camel(\n `use-${operationName}-infinite`,\n )} = <TError = ${errorType}>(\n ${swrProps} ${generateSwrArguments({\n operationName,\n mutator,\n isRequestOptions,\n isInfinite: true,\n httpClient,\n })}) => {\n ${\n isRequestOptions\n ? `const {swr: swrOptions${swrRequestSecondArg ? `, ${swrRequestSecondArg}` : ''}} = options ?? {}`\n : ''\n }\n\n ${enabledImplementation}\n ${swrKeyLoaderImplementation}\n const swrFn = () => ${operationName}(${httpFunctionProps}${\n httpFunctionProps && httpRequestSecondArg ? ', ' : ''\n }${httpRequestSecondArg})\n\n const ${queryResultVarName} = useSWRInfinite<Awaited<ReturnType<typeof swrFn>>, TError>(swrKeyLoader, swrFn, ${\n swrOptions.swrInfiniteOptions\n ? `{\n ${stringify(swrOptions.swrInfiniteOptions)?.slice(1, -1)}\n ...swrOptions\n }`\n : 'swrOptions'\n })\n\n return {\n swrKeyLoader,\n ...${queryResultVarName}\n }\n}\\n`\n : '';\n\n const useSwrImplementation = `\nexport type ${pascal(\n operationName,\n )}QueryResult = NonNullable<Awaited<ReturnType<typeof ${operationName}>>>\nexport type ${pascal(operationName)}QueryError = ${errorType}\n\n${doc}export const ${camel(`use-${operationName}`)} = <TError = ${errorType}>(\n ${swrProps} ${generateSwrArguments({\n operationName,\n mutator,\n isRequestOptions,\n isInfinite: false,\n httpClient,\n })}) => {\n ${\n isRequestOptions\n ? `const {swr: swrOptions${swrRequestSecondArg ? `, ${swrRequestSecondArg}` : ''}} = options ?? {}`\n : ''\n }\n\n ${enabledImplementation}\n ${swrKeyImplementation}\n const swrFn = () => ${operationName}(${httpFunctionProps}${\n httpFunctionProps && httpRequestSecondArg ? ', ' : ''\n }${httpRequestSecondArg})\n\n const ${queryResultVarName} = useSwr<Awaited<ReturnType<typeof swrFn>>, TError>(swrKey, swrFn, ${\n swrOptions.swrOptions\n ? `{\n ${stringify(swrOptions.swrOptions)?.slice(1, -1)}\n ...swrOptions\n }`\n : 'swrOptions'\n })\n\n return {\n swrKey,\n ...${queryResultVarName}\n }\n}\\n`;\n\n return useSWRInfiniteImplementation + useSwrImplementation;\n};\n\nconst generateSwrMutationImplementation = ({\n isRequestOptions,\n operationName,\n swrKeyFnName,\n swrMutationFetcherName,\n swrKeyProperties,\n swrMutationFetcherProperties,\n swrProps,\n props,\n response,\n mutator,\n swrOptions,\n doc,\n swrBodyType,\n httpClient,\n}: {\n isRequestOptions: boolean;\n operationName: string;\n swrKeyFnName: string;\n swrMutationFetcherName: string;\n swrKeyProperties: string;\n swrMutationFetcherProperties: string;\n swrProps: string;\n props: GetterProps;\n response: GetterResponse;\n mutator?: GeneratorMutator;\n swrOptions: SwrOptions;\n doc?: string;\n swrBodyType: string;\n httpClient: OutputHttpClient;\n}) => {\n const hasParamReservedWord = props.some(\n (prop: GetterProp) => prop.name === 'query',\n );\n const queryResultVarName = hasParamReservedWord ? '_query' : 'query';\n\n const swrKeyImplementation = `const swrKey = swrOptions?.swrKey ?? ${swrKeyFnName}(${swrKeyProperties});`;\n\n const errorType = getSwrErrorType(response, httpClient, mutator);\n const swrRequestSecondArg = getSwrRequestSecondArg(httpClient, mutator);\n const httpRequestSecondArg = getHttpRequestSecondArg(httpClient, mutator);\n\n const useSwrImplementation = `\nexport type ${pascal(\n operationName,\n )}MutationResult = NonNullable<Awaited<ReturnType<typeof ${operationName}>>>\nexport type ${pascal(operationName)}MutationError = ${errorType}\n\n${doc}export const ${camel(`use-${operationName}`)} = <TError = ${errorType}>(\n ${swrProps} ${generateSwrMutationArguments({\n operationName,\n isRequestOptions,\n mutator,\n swrBodyType,\n httpClient,\n })}) => {\n\n ${isRequestOptions ? `const {swr: swrOptions${swrRequestSecondArg ? `, ${swrRequestSecondArg}` : ''}} = options ?? {}` : ''}\n\n ${swrKeyImplementation}\n const swrFn = ${swrMutationFetcherName}(${swrMutationFetcherProperties}${\n swrMutationFetcherProperties && httpRequestSecondArg ? ', ' : ''\n }${httpRequestSecondArg});\n\n const ${queryResultVarName} = useSWRMutation(swrKey, swrFn, ${\n swrOptions.swrMutationOptions\n ? `{\n ${stringify(swrOptions.swrMutationOptions)?.slice(1, -1)}\n ...swrOptions\n }`\n : 'swrOptions'\n })\n\n return {\n swrKey,\n ...${queryResultVarName}\n }\n}\\n`;\n\n return useSwrImplementation;\n};\n\nconst generateSwrHook = (\n {\n queryParams,\n operationName,\n body,\n props,\n verb,\n params,\n override,\n mutator,\n response,\n summary,\n deprecated,\n }: GeneratorVerbOptions,\n { route, context }: GeneratorOptions,\n) => {\n const isRequestOptions = override?.requestOptions !== false;\n const httpClient = context.output.httpClient;\n const doc = jsDoc({ summary, deprecated });\n\n if (verb === Verbs.GET) {\n const swrKeyProperties = props\n .filter((prop) => prop.type !== GetterPropType.HEADER)\n .map((param) => {\n if (param.type === GetterPropType.NAMED_PATH_PARAMS)\n return param.destructured;\n return param.type === GetterPropType.BODY\n ? body.implementation\n : param.name;\n })\n .join(',');\n\n const swrProperties = props\n .map((param) => {\n if (param.type === GetterPropType.NAMED_PATH_PARAMS)\n return param.destructured;\n return param.type === GetterPropType.BODY\n ? body.implementation\n : param.name;\n })\n .join(',');\n\n const queryKeyProps = toObjectString(\n props.filter((prop) => prop.type !== GetterPropType.HEADER),\n 'implementation',\n );\n\n const swrKeyFnName = camel(`get-${operationName}-key`);\n const swrKeyFn = `\nexport const ${swrKeyFnName} = (${queryKeyProps}) => [\\`${route}\\`${\n queryParams ? ', ...(params ? [params]: [])' : ''\n }] as const;\n`;\n\n const swrKeyLoaderFnName = camel(\n `get-${operationName}-infinite-key-loader`,\n );\n const swrKeyLoader = override.swr.useInfinite\n ? `export const ${swrKeyLoaderFnName} = (${queryKeyProps}) => {\n return (_: number, previousPageData: Awaited<ReturnType<typeof ${operationName}>>) => {\n if (previousPageData && !previousPageData.data) return null\n\n return [\\`${route}\\`${queryParams ? ', ...(params ? [params]: [])' : ''}${\n body.implementation ? `, ${body.implementation}` : ''\n }] as const;\n }\n}\\n`\n : '';\n\n const swrImplementation = generateSwrImplementation({\n operationName,\n swrKeyFnName,\n swrKeyLoaderFnName,\n swrProperties,\n swrKeyProperties,\n params,\n props,\n mutator,\n isRequestOptions,\n response,\n swrOptions: override.swr,\n doc,\n httpClient,\n });\n\n return swrKeyFn + swrKeyLoader + swrImplementation;\n } else {\n const queryKeyProps = toObjectString(\n props.filter(\n (prop) =>\n prop.type === GetterPropType.PARAM ||\n prop.type === GetterPropType.NAMED_PATH_PARAMS ||\n prop.type === GetterPropType.QUERY_PARAM,\n ),\n 'implementation',\n );\n\n const swrProps = toObjectString(\n props.filter(\n (prop) =>\n prop.type === GetterPropType.PARAM ||\n prop.type === GetterPropType.QUERY_PARAM ||\n prop.type === GetterPropType.NAMED_PATH_PARAMS,\n ),\n 'implementation',\n );\n\n const swrMutationFetcherProperties = props\n .filter(\n (prop) =>\n prop.type === GetterPropType.PARAM ||\n prop.type === GetterPropType.QUERY_PARAM ||\n prop.type === GetterPropType.NAMED_PATH_PARAMS,\n )\n .map((param) => {\n if (param.type === GetterPropType.NAMED_PATH_PARAMS) {\n return param.destructured;\n } else {\n return param.name;\n }\n })\n .join(',');\n\n const httpFnProperties = props\n .filter((prop) => prop.type !== GetterPropType.HEADER)\n .map((prop) => {\n if (prop.type === GetterPropType.NAMED_PATH_PARAMS) {\n return prop.destructured;\n } else if (prop.type === GetterPropType.BODY) {\n return `arg`;\n } else {\n return prop.name;\n }\n })\n .join(', ');\n\n const swrKeyProperties = props\n .filter(\n (prop) =>\n prop.type === GetterPropType.PARAM ||\n prop.type === GetterPropType.NAMED_PATH_PARAMS ||\n prop.type === GetterPropType.QUERY_PARAM,\n )\n .map((prop) => {\n if (prop.type === GetterPropType.NAMED_PATH_PARAMS) {\n return prop.destructured;\n } else {\n return prop.name;\n }\n })\n .join(',');\n\n const swrKeyFnName = camel(`get-${operationName}-mutation-key`);\n const swrMutationKeyFn = `export const ${swrKeyFnName} = (${queryKeyProps}) => [\\`${route}\\`${\n queryParams ? ', ...(params ? [params]: [])' : ''\n }] as const;\n`;\n\n const swrMutationFetcherName = camel(\n `get-${operationName}-mutation-fetcher`,\n );\n\n const swrMutationFetcherType = getSwrMutationFetcherType(\n response,\n httpClient,\n override.fetch.includeHttpStatusReturnType,\n operationName,\n mutator,\n );\n const swrMutationFetcherOptionType = getSwrMutationFetcherOptionType(\n httpClient,\n mutator,\n );\n\n const swrMutationFetcherOptions =\n isRequestOptions && swrMutationFetcherOptionType\n ? `options${context.output.optionsParamRequired ? '' : '?'}: ${swrMutationFetcherOptionType}`\n : '';\n\n const swrMutationFetcherArg = props.some(\n (prop) => prop.type === GetterPropType.BODY,\n )\n ? '{ arg }'\n : '__';\n\n const swrBodyType =\n props\n .find((prop) => prop.type === GetterPropType.BODY)\n ?.implementation.split(': ')[1] ?? 'Arguments';\n\n const swrMutationFetcherFn = `\nexport const ${swrMutationFetcherName} = (${swrProps} ${swrMutationFetcherOptions}) => {\n return (_: Key, ${swrMutationFetcherArg}: { arg: ${swrBodyType} }): ${swrMutationFetcherType} => {\n return ${operationName}(${httpFnProperties}${\n swrMutationFetcherOptions.length\n ? (httpFnProperties.length ? ', ' : '') + 'options'\n : ''\n });\n }\n}\\n`;\n\n const swrImplementation = generateSwrMutationImplementation({\n operationName,\n swrKeyFnName,\n swrMutationFetcherName,\n swrKeyProperties,\n swrMutationFetcherProperties,\n swrProps,\n props,\n isRequestOptions,\n response,\n mutator,\n swrOptions: override.swr,\n doc,\n swrBodyType,\n httpClient: context.output.httpClient,\n });\n\n return swrMutationFetcherFn + swrMutationKeyFn + swrImplementation;\n }\n};\n\nexport const generateSwrHeader: ClientHeaderBuilder = ({\n isRequestOptions,\n isMutator,\n hasAwaitedType,\n}) =>\n `\n ${\n !hasAwaitedType\n ? `type AwaitedInput<T> = PromiseLike<T> | T;\\n\n type Awaited<O> = O extends AwaitedInput<infer T> ? T : never;\\n\\n`\n : ''\n }\n ${\n isRequestOptions && isMutator\n ? `type SecondParameter<T extends (...args: any) => any> = Parameters<T>[1];\\n\\n`\n : ''\n }`;\n\nexport const generateSwr: ClientBuilder = (verbOptions, options) => {\n const imports = generateVerbImports(verbOptions);\n const functionImplementation = generateSwrRequestFunction(\n verbOptions,\n options,\n );\n const hookImplementation = generateSwrHook(verbOptions, options);\n\n return {\n implementation: `${functionImplementation}\\n\\n${hookImplementation}`,\n imports,\n };\n};\n\nconst swrClientBuilder: ClientGeneratorsBuilder = {\n client: generateSwr,\n header: generateSwrHeader,\n dependencies: getSwrDependencies,\n};\n\nexport const builder = () => () => swrClientBuilder;\n\nexport default builder;\n","import {\n generateFormDataAndUrlEncodedFunction,\n generateMutatorConfig,\n generateMutatorRequestOptions,\n generateOptions,\n GeneratorDependency,\n GeneratorOptions,\n GeneratorVerbOptions,\n isSyntheticDefaultImportsAllow,\n toObjectString,\n VERBS_WITH_BODY,\n GeneratorMutator,\n GetterResponse,\n OutputHttpClient,\n} from '@orval/core';\n\nimport {\n generateRequestFunction as generateFetchRequestFunction,\n fetchResponseTypeName,\n} from '@orval/fetch';\n\nexport const AXIOS_DEPENDENCIES: GeneratorDependency[] = [\n {\n exports: [\n {\n name: 'axios',\n default: true,\n values: true,\n syntheticDefaultImport: true,\n },\n { name: 'AxiosRequestConfig' },\n { name: 'AxiosResponse' },\n { name: 'AxiosError' },\n ],\n dependency: 'axios',\n },\n];\n\nexport const generateSwrRequestFunction = (\n verbOptions: GeneratorVerbOptions,\n options: GeneratorOptions,\n) => {\n if (options.context.output.httpClient === OutputHttpClient.AXIOS) {\n return generateAxiosRequestFunction(verbOptions, options);\n } else {\n return generateFetchRequestFunction(verbOptions, options);\n }\n};\n\nconst generateAxiosRequestFunction = (\n {\n headers,\n queryParams,\n operationName,\n response,\n mutator,\n body,\n props,\n verb,\n formData,\n formUrlEncoded,\n override,\n paramsSerializer,\n }: GeneratorVerbOptions,\n { route, context }: GeneratorOptions,\n) => {\n const isRequestOptions = override?.requestOptions !== false;\n const isFormData = override?.formData !== false;\n const isFormUrlEncoded = override?.formUrlEncoded !== false;\n const isExactOptionalPropertyTypes =\n !!context.output.tsconfig?.compilerOptions?.exactOptionalPropertyTypes;\n const isBodyVerb = VERBS_WITH_BODY.includes(verb);\n const isSyntheticDefaultImportsAllowed = isSyntheticDefaultImportsAllow(\n context.output.tsconfig,\n );\n\n const bodyForm = generateFormDataAndUrlEncodedFunction({\n formData,\n formUrlEncoded,\n body,\n isFormData,\n isFormUrlEncoded,\n });\n\n if (mutator) {\n const mutatorConfig = generateMutatorConfig({\n route,\n body,\n headers,\n queryParams,\n response,\n verb,\n isFormData,\n isFormUrlEncoded,\n hasSignal: false,\n isBodyVerb,\n isExactOptionalPropertyTypes,\n });\n\n const propsImplementation =\n mutator?.bodyTypeName && body.definition\n ? toObjectString(props, 'implementation').replace(\n new RegExp(`(\\\\w*):\\\\s?${body.definition}`),\n `$1: ${mutator.bodyTypeName}<${body.definition}>`,\n )\n : toObjectString(props, 'implementation');\n\n const requestOptions = isRequestOptions\n ? generateMutatorRequestOptions(\n override?.requestOptions,\n mutator.hasSecondArg,\n )\n : '';\n\n const requestImplementation = `export const ${operationName} = (\\n ${propsImplementation}\\n ${\n isRequestOptions && mutator.hasSecondArg\n ? `options${context.output.optionsParamRequired ? '' : '?'}: SecondParameter<typeof ${mutator.name}>`\n : ''\n }) => {${bodyForm}\n return ${mutator.name}<${response.definition.success || 'unknown'}>(\n ${mutatorConfig},\n ${requestOptions});\n }\n`;\n\n return requestImplementation;\n }\n\n const options = generateOptions({\n route,\n body,\n headers,\n queryParams,\n response,\n verb,\n requestOptions: override?.requestOptions,\n isFormData,\n isFormUrlEncoded,\n paramsSerializer,\n paramsSerializerOptions: override?.paramsSerializerOptions,\n isExactOptionalPropertyTypes,\n hasSignal: false,\n });\n\n return `export const ${operationName} = (\\n ${toObjectString(\n props,\n 'implementation',\n )} ${\n isRequestOptions ? `options?: AxiosRequestConfig\\n` : ''\n } ): Promise<AxiosResponse<${\n response.definition.success || 'unknown'\n }>> => {${bodyForm}\n return axios${\n !isSyntheticDefaultImportsAllowed ? '.default' : ''\n }.${verb}(${options});\n }\n`;\n};\n\nexport const getSwrRequestOptions = (\n httpClient: OutputHttpClient,\n mutator?: GeneratorMutator,\n) => {\n if (!mutator) {\n return httpClient === OutputHttpClient.AXIOS\n ? 'axios?: AxiosRequestConfig'\n : 'fetch?: RequestInit';\n } else if (mutator?.hasSecondArg) {\n return `request?: SecondParameter<typeof ${mutator.name}>`;\n } else {\n return '';\n }\n};\n\nexport const getSwrErrorType = (\n response: GetterResponse,\n httpClient: OutputHttpClient,\n mutator?: GeneratorMutator,\n) => {\n if (mutator) {\n return mutator.hasErrorType\n ? `ErrorType<${response.definition.errors || 'unknown'}>`\n : response.definition.errors || 'unknown';\n } else {\n const errorType =\n httpClient === OutputHttpClient.AXIOS ? 'AxiosError' : 'Promise';\n\n return `${errorType}<${response.definition.errors || 'unknown'}>`;\n }\n};\n\nexport const getSwrRequestSecondArg = (\n httpClient: OutputHttpClient,\n mutator?: GeneratorMutator,\n) => {\n if (!mutator) {\n return httpClient === OutputHttpClient.AXIOS\n ? 'axios: axiosOptions'\n : 'fetch: fetchOptions';\n } else if (mutator?.hasSecondArg) {\n return 'request: requestOptions';\n } else {\n return '';\n }\n};\n\nexport const getHttpRequestSecondArg = (\n httpClient: OutputHttpClient,\n mutator?: GeneratorMutator,\n) => {\n if (!mutator) {\n return httpClient === OutputHttpClient.AXIOS\n ? `axiosOptions`\n : `fetchOptions`;\n } else if (mutator?.hasSecondArg) {\n return 'requestOptions';\n } else {\n return '';\n }\n};\n\nexport const getSwrMutationFetcherOptionType = (\n httpClient: OutputHttpClient,\n mutator?: GeneratorMutator,\n) => {\n if (!mutator) {\n return httpClient === OutputHttpClient.AXIOS\n ? 'AxiosRequestConfig'\n : 'RequestInit';\n } else if (mutator.hasSecondArg) {\n return `SecondParameter<typeof ${mutator.name}>`;\n } else {\n return '';\n }\n};\n\nexport const getSwrMutationFetcherType = (\n response: GetterResponse,\n httpClient: OutputHttpClient,\n includeHttpStatusReturnType: boolean,\n operationName: string,\n mutator?: GeneratorMutator,\n) => {\n if (httpClient === OutputHttpClient.FETCH) {\n const responseType = fetchResponseTypeName(\n includeHttpStatusReturnType,\n response.definition.success,\n operationName,\n );\n\n return `Promise<${responseType}>`;\n } else if (mutator) {\n return `Promise<${response.definition.success || 'unknown'}>`;\n } else {\n return `Promise<AxiosResponse<${response.definition.success || 'unknown'}>>`;\n }\n};\n"],"mappings":"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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.1",
4
4
  "license": "MIT",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -13,6 +13,7 @@
13
13
  "lint": "eslint src/**/*.ts"
14
14
  },
15
15
  "dependencies": {
16
- "@orval/core": "6.31.0"
16
+ "@orval/core": "7.0.1",
17
+ "@orval/fetch": "7.0.1"
17
18
  }
18
19
  }