@orval/swr 7.11.2 → 7.12.2

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/dist/index.d.ts CHANGED
@@ -1,8 +1,10 @@
1
- import { ClientGeneratorsBuilder, ClientDependenciesBuilder, ClientHeaderBuilder, ClientBuilder } from '@orval/core';
1
+ import { ClientBuilder, ClientDependenciesBuilder, ClientGeneratorsBuilder, ClientHeaderBuilder } from "@orval/core";
2
2
 
3
+ //#region src/index.d.ts
3
4
  declare const getSwrDependencies: ClientDependenciesBuilder;
4
5
  declare const generateSwrHeader: ClientHeaderBuilder;
5
6
  declare const generateSwr: ClientBuilder;
6
7
  declare const builder: () => () => ClientGeneratorsBuilder;
7
-
8
+ //#endregion
8
9
  export { builder, builder as default, generateSwr, generateSwrHeader, getSwrDependencies };
10
+ //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -1,333 +1,225 @@
1
- "use strict";
1
+ Object.defineProperty(exports, '__esModule', { value: true });
2
+ //#region rolldown:runtime
3
+ var __create = Object.create;
2
4
  var __defProp = Object.defineProperty;
3
5
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
5
8
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
9
  var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
10
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
11
+ key = keys[i];
12
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
13
+ get: ((k) => from[k]).bind(null, key),
14
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
+ });
16
+ }
17
+ return to;
17
18
  };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
20
+ value: mod,
21
+ enumerable: true
22
+ }) : target, mod));
19
23
 
20
- // src/index.ts
21
- var index_exports = {};
22
- __export(index_exports, {
23
- builder: () => builder,
24
- default: () => index_default,
25
- generateSwr: () => generateSwr,
26
- generateSwrHeader: () => generateSwrHeader,
27
- getSwrDependencies: () => getSwrDependencies
28
- });
29
- module.exports = __toCommonJS(index_exports);
30
- var import_core2 = require("@orval/core");
24
+ //#endregion
25
+ let __orval_core = require("@orval/core");
26
+ __orval_core = __toESM(__orval_core);
27
+ let __orval_fetch = require("@orval/fetch");
28
+ __orval_fetch = __toESM(__orval_fetch);
31
29
 
32
- // src/client.ts
33
- var import_core = require("@orval/core");
34
- var import_fetch = require("@orval/fetch");
35
- var AXIOS_DEPENDENCIES = [
36
- {
37
- exports: [
38
- {
39
- name: "axios",
40
- default: true,
41
- values: true,
42
- syntheticDefaultImport: true
43
- },
44
- { name: "AxiosRequestConfig" },
45
- { name: "AxiosResponse" },
46
- { name: "AxiosError" }
47
- ],
48
- dependency: "axios"
49
- }
50
- ];
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);
56
- }
30
+ //#region src/client.ts
31
+ const AXIOS_DEPENDENCIES = [{
32
+ exports: [
33
+ {
34
+ name: "axios",
35
+ default: true,
36
+ values: true,
37
+ syntheticDefaultImport: true
38
+ },
39
+ { name: "AxiosRequestConfig" },
40
+ { name: "AxiosResponse" },
41
+ { name: "AxiosError" }
42
+ ],
43
+ dependency: "axios"
44
+ }];
45
+ const generateSwrRequestFunction = (verbOptions, options) => {
46
+ return options.context.output.httpClient === __orval_core.OutputHttpClient.AXIOS ? generateAxiosRequestFunction(verbOptions, options) : (0, __orval_fetch.generateRequestFunction)(verbOptions, options);
57
47
  };
58
- var generateAxiosRequestFunction = ({
59
- headers,
60
- queryParams,
61
- operationName,
62
- response,
63
- mutator,
64
- body,
65
- props,
66
- verb,
67
- formData,
68
- formUrlEncoded,
69
- override,
70
- paramsSerializer
71
- }, { route, context }) => {
72
- var _a, _b;
73
- const isRequestOptions = (override == null ? void 0 : override.requestOptions) !== false;
74
- const isFormData = (override == null ? void 0 : override.formData.disabled) === false;
75
- const isFormUrlEncoded = (override == null ? void 0 : override.formUrlEncoded) !== false;
76
- const isExactOptionalPropertyTypes = !!((_b = (_a = context.output.tsconfig) == null ? void 0 : _a.compilerOptions) == null ? void 0 : _b.exactOptionalPropertyTypes);
77
- const isSyntheticDefaultImportsAllowed = (0, import_core.isSyntheticDefaultImportsAllow)(
78
- context.output.tsconfig
79
- );
80
- const bodyForm = (0, import_core.generateFormDataAndUrlEncodedFunction)({
81
- formData,
82
- formUrlEncoded,
83
- body,
84
- isFormData,
85
- isFormUrlEncoded
86
- });
87
- if (mutator) {
88
- const mutatorConfig = (0, import_core.generateMutatorConfig)({
89
- route,
90
- body,
91
- headers,
92
- queryParams,
93
- response,
94
- verb,
95
- isFormData,
96
- isFormUrlEncoded,
97
- hasSignal: false,
98
- isExactOptionalPropertyTypes
99
- });
100
- const propsImplementation = (mutator == null ? void 0 : mutator.bodyTypeName) && body.definition ? (0, import_core.toObjectString)(props, "implementation").replace(
101
- new RegExp(`(\\w*):\\s?${body.definition}`),
102
- `$1: ${mutator.bodyTypeName}<${body.definition}>`
103
- ) : (0, import_core.toObjectString)(props, "implementation");
104
- const requestOptions = isRequestOptions ? (0, import_core.generateMutatorRequestOptions)(
105
- override == null ? void 0 : override.requestOptions,
106
- mutator.hasSecondArg
107
- ) : "";
108
- const requestImplementation = `export const ${operationName} = (
109
- ${propsImplementation}
110
- ${isRequestOptions && mutator.hasSecondArg ? `options${context.output.optionsParamRequired ? "" : "?"}: SecondParameter<typeof ${mutator.name}>` : ""}) => {${bodyForm}
48
+ const generateAxiosRequestFunction = ({ headers, queryParams, operationName, response, mutator, body, props, verb, formData, formUrlEncoded, override, paramsSerializer }, { route, context }) => {
49
+ const isRequestOptions = override?.requestOptions !== false;
50
+ const isFormData = !override?.formData.disabled;
51
+ const isFormUrlEncoded = override?.formUrlEncoded !== false;
52
+ const isExactOptionalPropertyTypes = !!context.output.tsconfig?.compilerOptions?.exactOptionalPropertyTypes;
53
+ const isSyntheticDefaultImportsAllowed = (0, __orval_core.isSyntheticDefaultImportsAllow)(context.output.tsconfig);
54
+ const bodyForm = (0, __orval_core.generateFormDataAndUrlEncodedFunction)({
55
+ formData,
56
+ formUrlEncoded,
57
+ body,
58
+ isFormData,
59
+ isFormUrlEncoded
60
+ });
61
+ if (mutator) {
62
+ const mutatorConfig = (0, __orval_core.generateMutatorConfig)({
63
+ route,
64
+ body,
65
+ headers,
66
+ queryParams,
67
+ response,
68
+ verb,
69
+ isFormData,
70
+ isFormUrlEncoded,
71
+ hasSignal: false,
72
+ isExactOptionalPropertyTypes
73
+ });
74
+ const propsImplementation = mutator?.bodyTypeName && body.definition ? (0, __orval_core.toObjectString)(props, "implementation").replace(/* @__PURE__ */ new RegExp(`(\\w*):\\s?${body.definition}`), `$1: ${mutator.bodyTypeName}<${body.definition}>`) : (0, __orval_core.toObjectString)(props, "implementation");
75
+ const requestOptions = isRequestOptions ? (0, __orval_core.generateMutatorRequestOptions)(override?.requestOptions, mutator.hasSecondArg) : "";
76
+ return `export const ${operationName} = (\n ${propsImplementation}\n ${isRequestOptions && mutator.hasSecondArg ? `options${context.output.optionsParamRequired ? "" : "?"}: SecondParameter<typeof ${mutator.name}>` : ""}) => {${bodyForm}
111
77
  return ${mutator.name}<${response.definition.success || "unknown"}>(
112
78
  ${mutatorConfig},
113
79
  ${requestOptions});
114
80
  }
115
81
  `;
116
- return requestImplementation;
117
- }
118
- const options = (0, import_core.generateOptions)({
119
- route,
120
- body,
121
- headers,
122
- queryParams,
123
- response,
124
- verb,
125
- requestOptions: override == null ? void 0 : override.requestOptions,
126
- isFormData,
127
- isFormUrlEncoded,
128
- paramsSerializer,
129
- paramsSerializerOptions: override == null ? void 0 : override.paramsSerializerOptions,
130
- isExactOptionalPropertyTypes,
131
- hasSignal: false
132
- });
133
- return `export const ${operationName} = (
134
- ${(0, import_core.toObjectString)(
135
- props,
136
- "implementation"
137
- )} ${isRequestOptions ? `options?: AxiosRequestConfig
138
- ` : ""} ): Promise<AxiosResponse<${response.definition.success || "unknown"}>> => {${bodyForm}
139
- return axios${!isSyntheticDefaultImportsAllowed ? ".default" : ""}.${verb}(${options});
82
+ }
83
+ const options = (0, __orval_core.generateOptions)({
84
+ route,
85
+ body,
86
+ headers,
87
+ queryParams,
88
+ response,
89
+ verb,
90
+ requestOptions: override?.requestOptions,
91
+ isFormData,
92
+ isFormUrlEncoded,
93
+ paramsSerializer,
94
+ paramsSerializerOptions: override?.paramsSerializerOptions,
95
+ isExactOptionalPropertyTypes,
96
+ hasSignal: false
97
+ });
98
+ return `export const ${operationName} = (\n ${(0, __orval_core.toObjectString)(props, "implementation")} ${isRequestOptions ? `options?: AxiosRequestConfig\n` : ""} ): Promise<AxiosResponse<${response.definition.success || "unknown"}>> => {${bodyForm}
99
+ return axios${isSyntheticDefaultImportsAllowed ? "" : ".default"}.${verb}(${options});
140
100
  }
141
101
  `;
142
102
  };
143
- var getSwrRequestOptions = (httpClient, mutator) => {
144
- if (!mutator) {
145
- return httpClient === import_core.OutputHttpClient.AXIOS ? "axios?: AxiosRequestConfig" : "fetch?: RequestInit";
146
- } else if (mutator == null ? void 0 : mutator.hasSecondArg) {
147
- return `request?: SecondParameter<typeof ${mutator.name}>`;
148
- } else {
149
- return "";
150
- }
103
+ const getSwrRequestOptions = (httpClient, mutator) => {
104
+ if (!mutator) return httpClient === __orval_core.OutputHttpClient.AXIOS ? "axios?: AxiosRequestConfig" : "fetch?: RequestInit";
105
+ else if (mutator?.hasSecondArg) return `request?: SecondParameter<typeof ${mutator.name}>`;
106
+ else return "";
151
107
  };
152
- var getSwrErrorType = (response, httpClient, mutator) => {
153
- if (mutator) {
154
- return mutator.hasErrorType ? `ErrorType<${response.definition.errors || "unknown"}>` : response.definition.errors || "unknown";
155
- } else {
156
- const errorType = httpClient === import_core.OutputHttpClient.AXIOS ? "AxiosError" : "Promise";
157
- return `${errorType}<${response.definition.errors || "unknown"}>`;
158
- }
108
+ const getSwrErrorType = (response, httpClient, mutator) => {
109
+ if (mutator) return mutator.hasErrorType ? `ErrorType<${response.definition.errors || "unknown"}>` : response.definition.errors || "unknown";
110
+ else return `${httpClient === __orval_core.OutputHttpClient.AXIOS ? "AxiosError" : "Promise"}<${response.definition.errors || "unknown"}>`;
159
111
  };
160
- var getSwrRequestSecondArg = (httpClient, mutator) => {
161
- if (!mutator) {
162
- return httpClient === import_core.OutputHttpClient.AXIOS ? "axios: axiosOptions" : "fetch: fetchOptions";
163
- } else if (mutator == null ? void 0 : mutator.hasSecondArg) {
164
- return "request: requestOptions";
165
- } else {
166
- return "";
167
- }
112
+ const getSwrRequestSecondArg = (httpClient, mutator) => {
113
+ if (!mutator) return httpClient === __orval_core.OutputHttpClient.AXIOS ? "axios: axiosOptions" : "fetch: fetchOptions";
114
+ else if (mutator?.hasSecondArg) return "request: requestOptions";
115
+ else return "";
168
116
  };
169
- var getHttpRequestSecondArg = (httpClient, mutator) => {
170
- if (!mutator) {
171
- return httpClient === import_core.OutputHttpClient.AXIOS ? `axiosOptions` : `fetchOptions`;
172
- } else if (mutator == null ? void 0 : mutator.hasSecondArg) {
173
- return "requestOptions";
174
- } else {
175
- return "";
176
- }
117
+ const getHttpRequestSecondArg = (httpClient, mutator) => {
118
+ if (!mutator) return httpClient === __orval_core.OutputHttpClient.AXIOS ? `axiosOptions` : `fetchOptions`;
119
+ else if (mutator?.hasSecondArg) return "requestOptions";
120
+ else return "";
177
121
  };
178
- var getSwrMutationFetcherOptionType = (httpClient, mutator) => {
179
- if (!mutator) {
180
- return httpClient === import_core.OutputHttpClient.AXIOS ? "AxiosRequestConfig" : "RequestInit";
181
- } else if (mutator.hasSecondArg) {
182
- return `SecondParameter<typeof ${mutator.name}>`;
183
- } else {
184
- return "";
185
- }
122
+ const getSwrMutationFetcherOptionType = (httpClient, mutator) => {
123
+ if (!mutator) return httpClient === __orval_core.OutputHttpClient.AXIOS ? "AxiosRequestConfig" : "RequestInit";
124
+ else if (mutator.hasSecondArg) return `SecondParameter<typeof ${mutator.name}>`;
125
+ else return "";
186
126
  };
187
- var getSwrMutationFetcherType = (response, httpClient, includeHttpResponseReturnType, operationName, mutator) => {
188
- if (httpClient === import_core.OutputHttpClient.FETCH) {
189
- const responseType = (0, import_fetch.fetchResponseTypeName)(
190
- includeHttpResponseReturnType,
191
- response.definition.success,
192
- operationName
193
- );
194
- return `Promise<${responseType}>`;
195
- } else if (mutator) {
196
- return `Promise<${response.definition.success || "unknown"}>`;
197
- } else {
198
- return `Promise<AxiosResponse<${response.definition.success || "unknown"}>>`;
199
- }
127
+ const getSwrMutationFetcherType = (response, httpClient, includeHttpResponseReturnType, operationName, mutator) => {
128
+ if (httpClient === __orval_core.OutputHttpClient.FETCH) return `Promise<${(0, __orval_fetch.fetchResponseTypeName)(includeHttpResponseReturnType, response.definition.success, operationName)}>`;
129
+ else if (mutator) return `Promise<${response.definition.success || "unknown"}>`;
130
+ else return `Promise<AxiosResponse<${response.definition.success || "unknown"}>>`;
200
131
  };
201
- var getSwrHeader = (params) => {
202
- return params.output.httpClient === import_core.OutputHttpClient.FETCH ? (0, import_fetch.generateFetchHeader)(params) : "";
132
+ const getSwrHeader = (params) => {
133
+ return params.output.httpClient === __orval_core.OutputHttpClient.FETCH ? (0, __orval_fetch.generateFetchHeader)(params) : "";
203
134
  };
204
135
 
205
- // src/index.ts
206
- var PARAMS_SERIALIZER_DEPENDENCIES = [
207
- {
208
- exports: [
209
- {
210
- name: "qs",
211
- default: true,
212
- values: true,
213
- syntheticDefaultImport: true
214
- }
215
- ],
216
- dependency: "qs"
217
- }
218
- ];
219
- var SWR_DEPENDENCIES = [
220
- {
221
- exports: [
222
- { name: "useSwr", values: true, default: true },
223
- { name: "SWRConfiguration" },
224
- { name: "Key" },
225
- { name: "Arguments" }
226
- ],
227
- dependency: "swr"
228
- }
229
- ];
230
- var SWR_INFINITE_DEPENDENCIES = [
231
- {
232
- exports: [
233
- { name: "useSWRInfinite", values: true, default: true },
234
- { name: "SWRInfiniteConfiguration" },
235
- { name: "SWRInfiniteKeyLoader" }
236
- ],
237
- dependency: "swr/infinite"
238
- }
239
- ];
240
- var SWR_MUTATION_DEPENDENCIES = [
241
- {
242
- exports: [
243
- { name: "useSWRMutation", values: true, default: true },
244
- { name: "SWRMutationConfiguration" },
245
- { name: "SWRMutationKey" }
246
- ],
247
- dependency: "swr/mutation"
248
- }
249
- ];
250
- var getSwrDependencies = (hasGlobalMutator, hasParamsSerializerOptions, _packageJson, httpClient) => [
251
- ...!hasGlobalMutator && httpClient === import_core2.OutputHttpClient.AXIOS ? AXIOS_DEPENDENCIES : [],
252
- ...hasParamsSerializerOptions ? PARAMS_SERIALIZER_DEPENDENCIES : [],
253
- ...SWR_DEPENDENCIES,
254
- ...SWR_INFINITE_DEPENDENCIES,
255
- ...SWR_MUTATION_DEPENDENCIES
136
+ //#endregion
137
+ //#region src/index.ts
138
+ const PARAMS_SERIALIZER_DEPENDENCIES = [{
139
+ exports: [{
140
+ name: "qs",
141
+ default: true,
142
+ values: true,
143
+ syntheticDefaultImport: true
144
+ }],
145
+ dependency: "qs"
146
+ }];
147
+ const SWR_DEPENDENCIES = [{
148
+ exports: [
149
+ {
150
+ name: "useSwr",
151
+ values: true,
152
+ default: true
153
+ },
154
+ { name: "SWRConfiguration" },
155
+ { name: "Key" },
156
+ { name: "Arguments" }
157
+ ],
158
+ dependency: "swr"
159
+ }];
160
+ const SWR_INFINITE_DEPENDENCIES = [{
161
+ exports: [
162
+ {
163
+ name: "useSWRInfinite",
164
+ values: true,
165
+ default: true
166
+ },
167
+ { name: "SWRInfiniteConfiguration" },
168
+ { name: "SWRInfiniteKeyLoader" }
169
+ ],
170
+ dependency: "swr/infinite"
171
+ }];
172
+ const SWR_MUTATION_DEPENDENCIES = [{
173
+ exports: [
174
+ {
175
+ name: "useSWRMutation",
176
+ values: true,
177
+ default: true
178
+ },
179
+ { name: "SWRMutationConfiguration" },
180
+ { name: "SWRMutationKey" }
181
+ ],
182
+ dependency: "swr/mutation"
183
+ }];
184
+ const getSwrDependencies = (hasGlobalMutator, hasParamsSerializerOptions, _packageJson, httpClient) => [
185
+ ...!hasGlobalMutator && httpClient === __orval_core.OutputHttpClient.AXIOS ? AXIOS_DEPENDENCIES : [],
186
+ ...hasParamsSerializerOptions ? PARAMS_SERIALIZER_DEPENDENCIES : [],
187
+ ...SWR_DEPENDENCIES,
188
+ ...SWR_INFINITE_DEPENDENCIES,
189
+ ...SWR_MUTATION_DEPENDENCIES
256
190
  ];
257
- var generateSwrArguments = ({
258
- operationName,
259
- mutator,
260
- isRequestOptions,
261
- isInfinite,
262
- httpClient
263
- }) => {
264
- const configType = isInfinite ? "SWRInfiniteConfiguration" : "SWRConfiguration";
265
- const optionsType = isInfinite ? "{ swrKeyLoader?: SWRInfiniteKeyLoader, enabled?: boolean }" : "{ swrKey?: Key, enabled?: boolean }";
266
- const definition = `${configType}<Awaited<ReturnType<typeof ${operationName}>>, TError> & ${optionsType}`;
267
- if (!isRequestOptions) {
268
- return `swrOptions?: ${definition}`;
269
- }
270
- return `options?: { swr?:${definition}, ${getSwrRequestOptions(httpClient, mutator)} }
271
- `;
191
+ const generateSwrArguments = ({ operationName, mutator, isRequestOptions, isInfinite, httpClient }) => {
192
+ const definition = `${isInfinite ? "SWRInfiniteConfiguration" : "SWRConfiguration"}<Awaited<ReturnType<typeof ${operationName}>>, TError> & ${isInfinite ? "{ swrKeyLoader?: SWRInfiniteKeyLoader, enabled?: boolean }" : "{ swrKey?: Key, enabled?: boolean }"}`;
193
+ if (!isRequestOptions) return `swrOptions?: ${definition}`;
194
+ return `options?: { swr?:${definition}, ${getSwrRequestOptions(httpClient, mutator)} }\n`;
272
195
  };
273
- var generateSwrMutationArguments = ({
274
- operationName,
275
- isRequestOptions,
276
- mutator,
277
- swrBodyType,
278
- httpClient
279
- }) => {
280
- const definition = `SWRMutationConfiguration<Awaited<ReturnType<typeof ${operationName}>>, TError, Key, ${swrBodyType}, Awaited<ReturnType<typeof ${operationName}>>> & { swrKey?: string }`;
281
- if (!isRequestOptions) {
282
- return `swrOptions?: ${definition}`;
283
- }
284
- return `options?: { swr?:${definition}, ${getSwrRequestOptions(httpClient, mutator)}}
285
- `;
196
+ const generateSwrMutationArguments = ({ operationName, isRequestOptions, mutator, swrBodyType, httpClient }) => {
197
+ const definition = `SWRMutationConfiguration<Awaited<ReturnType<typeof ${operationName}>>, TError, Key, ${swrBodyType}, Awaited<ReturnType<typeof ${operationName}>>> & { swrKey?: string }`;
198
+ if (!isRequestOptions) return `swrOptions?: ${definition}`;
199
+ return `options?: { swr?:${definition}, ${getSwrRequestOptions(httpClient, mutator)}}\n`;
286
200
  };
287
- var generateSwrImplementation = ({
288
- operationName,
289
- swrKeyFnName,
290
- swrKeyLoaderFnName,
291
- swrProperties,
292
- swrKeyProperties,
293
- params,
294
- mutator,
295
- isRequestOptions,
296
- response,
297
- swrOptions,
298
- props,
299
- doc,
300
- httpClient
301
- }) => {
302
- var _a, _b;
303
- const swrProps = (0, import_core2.toObjectString)(props, "implementation");
304
- const hasParamReservedWord = props.some(
305
- (prop) => prop.name === "query"
306
- );
307
- const queryResultVarName = hasParamReservedWord ? "_query" : "query";
308
- const httpFunctionProps = swrProperties;
309
- const enabledImplementation = `const isEnabled = swrOptions?.enabled !== false${params.length ? ` && !!(${params.map(({ name }) => name).join(" && ")})` : ""}`;
310
- const swrKeyImplementation = `const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? ${swrKeyFnName}(${swrKeyProperties}) : null);`;
311
- const swrKeyLoaderImplementation = `const swrKeyLoader = swrOptions?.swrKeyLoader ?? (() => isEnabled ? ${swrKeyLoaderFnName}(${swrKeyProperties}) : null);`;
312
- const errorType = getSwrErrorType(response, httpClient, mutator);
313
- const swrRequestSecondArg = getSwrRequestSecondArg(httpClient, mutator);
314
- const httpRequestSecondArg = getHttpRequestSecondArg(httpClient, mutator);
315
- const useSWRInfiniteImplementation = swrOptions.useInfinite ? `
316
- export type ${(0, import_core2.pascal)(
317
- operationName
318
- )}InfiniteQueryResult = NonNullable<Awaited<ReturnType<typeof ${operationName}>>>
319
- export type ${(0, import_core2.pascal)(operationName)}InfiniteError = ${errorType}
201
+ const generateSwrImplementation = ({ operationName, swrKeyFnName, swrKeyLoaderFnName, swrProperties, swrKeyProperties, params, mutator, isRequestOptions, response, swrOptions, props, doc, httpClient }) => {
202
+ const swrProps = (0, __orval_core.toObjectString)(props, "implementation");
203
+ const queryResultVarName = props.some((prop) => prop.name === "query") ? "_query" : "query";
204
+ const httpFunctionProps = swrProperties;
205
+ const enabledImplementation = `const isEnabled = swrOptions?.enabled !== false${params.length ? ` && !!(${params.map(({ name }) => name).join(" && ")})` : ""}`;
206
+ const swrKeyImplementation = `const swrKey = swrOptions?.swrKey ?? (() => isEnabled ? ${swrKeyFnName}(${swrKeyProperties}) : null);`;
207
+ const swrKeyLoaderImplementation = `const swrKeyLoader = swrOptions?.swrKeyLoader ?? (() => isEnabled ? ${swrKeyLoaderFnName}(${swrKeyProperties}) : null);`;
208
+ const errorType = getSwrErrorType(response, httpClient, mutator);
209
+ const swrRequestSecondArg = getSwrRequestSecondArg(httpClient, mutator);
210
+ const httpRequestSecondArg = getHttpRequestSecondArg(httpClient, mutator);
211
+ const useSWRInfiniteImplementation = swrOptions.useInfinite ? `
212
+ export type ${(0, __orval_core.pascal)(operationName)}InfiniteQueryResult = NonNullable<Awaited<ReturnType<typeof ${operationName}>>>
213
+ export type ${(0, __orval_core.pascal)(operationName)}InfiniteError = ${errorType}
320
214
 
321
- ${doc}export const ${(0, import_core2.camel)(
322
- `use-${operationName}-infinite`
323
- )} = <TError = ${errorType}>(
215
+ ${doc}export const ${(0, __orval_core.camel)(`use-${operationName}-infinite`)} = <TError = ${errorType}>(
324
216
  ${swrProps} ${generateSwrArguments({
325
- operationName,
326
- mutator,
327
- isRequestOptions,
328
- isInfinite: true,
329
- httpClient
330
- })}) => {
217
+ operationName,
218
+ mutator,
219
+ isRequestOptions,
220
+ isInfinite: true,
221
+ httpClient
222
+ })}) => {
331
223
  ${isRequestOptions ? `const {swr: swrOptions${swrRequestSecondArg ? `, ${swrRequestSecondArg}` : ""}} = options ?? {}` : ""}
332
224
 
333
225
  ${enabledImplementation}
@@ -335,7 +227,7 @@ ${doc}export const ${(0, import_core2.camel)(
335
227
  const swrFn = () => ${operationName}(${httpFunctionProps}${httpFunctionProps && httpRequestSecondArg ? ", " : ""}${httpRequestSecondArg})
336
228
 
337
229
  const ${queryResultVarName} = useSWRInfinite<Awaited<ReturnType<typeof swrFn>>, TError>(swrKeyLoader, swrFn, ${swrOptions.swrInfiniteOptions ? `{
338
- ${(_a = (0, import_core2.stringify)(swrOptions.swrInfiniteOptions)) == null ? void 0 : _a.slice(1, -1)}
230
+ ${(0, __orval_core.stringify)(swrOptions.swrInfiniteOptions)?.slice(1, -1)}
339
231
  ...swrOptions
340
232
  }` : "swrOptions"})
341
233
 
@@ -343,22 +235,19 @@ ${doc}export const ${(0, import_core2.camel)(
343
235
  swrKeyLoader,
344
236
  ...${queryResultVarName}
345
237
  }
346
- }
347
- ` : "";
348
- const useSwrImplementation = `
349
- export type ${(0, import_core2.pascal)(
350
- operationName
351
- )}QueryResult = NonNullable<Awaited<ReturnType<typeof ${operationName}>>>
352
- export type ${(0, import_core2.pascal)(operationName)}QueryError = ${errorType}
238
+ }\n` : "";
239
+ const useSwrImplementation = `
240
+ export type ${(0, __orval_core.pascal)(operationName)}QueryResult = NonNullable<Awaited<ReturnType<typeof ${operationName}>>>
241
+ export type ${(0, __orval_core.pascal)(operationName)}QueryError = ${errorType}
353
242
 
354
- ${doc}export const ${(0, import_core2.camel)(`use-${operationName}`)} = <TError = ${errorType}>(
243
+ ${doc}export const ${(0, __orval_core.camel)(`use-${operationName}`)} = <TError = ${errorType}>(
355
244
  ${swrProps} ${generateSwrArguments({
356
- operationName,
357
- mutator,
358
- isRequestOptions,
359
- isInfinite: false,
360
- httpClient
361
- })}) => {
245
+ operationName,
246
+ mutator,
247
+ isRequestOptions,
248
+ isInfinite: false,
249
+ httpClient
250
+ })}) => {
362
251
  ${isRequestOptions ? `const {swr: swrOptions${swrRequestSecondArg ? `, ${swrRequestSecondArg}` : ""}} = options ?? {}` : ""}
363
252
 
364
253
  ${enabledImplementation}
@@ -366,7 +255,7 @@ ${doc}export const ${(0, import_core2.camel)(`use-${operationName}`)} = <TError
366
255
  const swrFn = () => ${operationName}(${httpFunctionProps}${httpFunctionProps && httpRequestSecondArg ? ", " : ""}${httpRequestSecondArg})
367
256
 
368
257
  const ${queryResultVarName} = useSwr<Awaited<ReturnType<typeof swrFn>>, TError>(swrKey, swrFn, ${swrOptions.swrOptions ? `{
369
- ${(_b = (0, import_core2.stringify)(swrOptions.swrOptions)) == null ? void 0 : _b.slice(1, -1)}
258
+ ${(0, __orval_core.stringify)(swrOptions.swrOptions)?.slice(1, -1)}
370
259
  ...swrOptions
371
260
  }` : "swrOptions"})
372
261
 
@@ -374,50 +263,27 @@ ${doc}export const ${(0, import_core2.camel)(`use-${operationName}`)} = <TError
374
263
  swrKey,
375
264
  ...${queryResultVarName}
376
265
  }
377
- }
378
- `;
379
- return useSWRInfiniteImplementation + useSwrImplementation;
266
+ }\n`;
267
+ return useSWRInfiniteImplementation + useSwrImplementation;
380
268
  };
381
- var generateSwrMutationImplementation = ({
382
- isRequestOptions,
383
- operationName,
384
- swrKeyFnName,
385
- swrMutationFetcherName,
386
- swrKeyProperties,
387
- swrMutationFetcherProperties,
388
- swrProps,
389
- props,
390
- response,
391
- mutator,
392
- swrOptions,
393
- doc,
394
- swrBodyType,
395
- httpClient,
396
- verb
397
- }) => {
398
- var _a;
399
- const hasParamReservedWord = props.some(
400
- (prop) => prop.name === "query"
401
- );
402
- const queryResultVarName = hasParamReservedWord ? "_query" : "query";
403
- const swrKeyImplementation = `const swrKey = swrOptions?.swrKey ?? ${swrKeyFnName}(${swrKeyProperties});`;
404
- const errorType = getSwrErrorType(response, httpClient, mutator);
405
- const swrRequestSecondArg = getSwrRequestSecondArg(httpClient, mutator);
406
- const httpRequestSecondArg = getHttpRequestSecondArg(httpClient, mutator);
407
- const useSwrImplementation = `
408
- export type ${(0, import_core2.pascal)(
409
- operationName
410
- )}MutationResult = NonNullable<Awaited<ReturnType<typeof ${operationName}>>>
411
- export type ${(0, import_core2.pascal)(operationName)}MutationError = ${errorType}
269
+ const generateSwrMutationImplementation = ({ isRequestOptions, operationName, swrKeyFnName, swrMutationFetcherName, swrKeyProperties, swrMutationFetcherProperties, swrProps, props, response, mutator, swrOptions, doc, swrBodyType, httpClient, verb }) => {
270
+ const queryResultVarName = props.some((prop) => prop.name === "query") ? "_query" : "query";
271
+ const swrKeyImplementation = `const swrKey = swrOptions?.swrKey ?? ${swrKeyFnName}(${swrKeyProperties});`;
272
+ const errorType = getSwrErrorType(response, httpClient, mutator);
273
+ const swrRequestSecondArg = getSwrRequestSecondArg(httpClient, mutator);
274
+ const httpRequestSecondArg = getHttpRequestSecondArg(httpClient, mutator);
275
+ return `
276
+ export type ${(0, __orval_core.pascal)(operationName)}MutationResult = NonNullable<Awaited<ReturnType<typeof ${operationName}>>>
277
+ export type ${(0, __orval_core.pascal)(operationName)}MutationError = ${errorType}
412
278
 
413
- ${doc}export const ${(0, import_core2.camel)(`use-${operationName}${verb === import_core2.Verbs.GET ? "-mutation" : ""}`)} = <TError = ${errorType}>(
279
+ ${doc}export const ${(0, __orval_core.camel)(`use-${operationName}${verb === __orval_core.Verbs.GET ? "-mutation" : ""}`)} = <TError = ${errorType}>(
414
280
  ${swrProps} ${generateSwrMutationArguments({
415
- operationName,
416
- isRequestOptions,
417
- mutator,
418
- swrBodyType,
419
- httpClient
420
- })}) => {
281
+ operationName,
282
+ isRequestOptions,
283
+ mutator,
284
+ swrBodyType,
285
+ httpClient
286
+ })}) => {
421
287
 
422
288
  ${isRequestOptions ? `const {swr: swrOptions${swrRequestSecondArg ? `, ${swrRequestSecondArg}` : ""}} = options ?? {}` : ""}
423
289
 
@@ -425,7 +291,7 @@ ${doc}export const ${(0, import_core2.camel)(`use-${operationName}${verb === imp
425
291
  const swrFn = ${swrMutationFetcherName}(${swrMutationFetcherProperties}${swrMutationFetcherProperties && httpRequestSecondArg ? ", " : ""}${httpRequestSecondArg});
426
292
 
427
293
  const ${queryResultVarName} = useSWRMutation(swrKey, swrFn, ${swrOptions.swrMutationOptions ? `{
428
- ${(_a = (0, import_core2.stringify)(swrOptions.swrMutationOptions)) == null ? void 0 : _a.slice(1, -1)}
294
+ ${(0, __orval_core.stringify)(swrOptions.swrMutationOptions)?.slice(1, -1)}
429
295
  ...swrOptions
430
296
  }` : "swrOptions"})
431
297
 
@@ -433,242 +299,162 @@ ${doc}export const ${(0, import_core2.camel)(`use-${operationName}${verb === imp
433
299
  swrKey,
434
300
  ...${queryResultVarName}
435
301
  }
436
- }
437
- `;
438
- return useSwrImplementation;
302
+ }\n`;
439
303
  };
440
- var generateSwrHook = ({
441
- queryParams,
442
- operationName,
443
- body,
444
- props,
445
- verb,
446
- params,
447
- override,
448
- mutator,
449
- response,
450
- summary,
451
- deprecated
452
- }, { route, context }) => {
453
- var _a, _b, _c, _d;
454
- const isRequestOptions = (override == null ? void 0 : override.requestOptions) !== false;
455
- const httpClient = context.output.httpClient;
456
- const doc = (0, import_core2.jsDoc)({ summary, deprecated });
457
- const queryKeyProps = (0, import_core2.toObjectString)(
458
- props.filter(
459
- (prop) => prop.type === import_core2.GetterPropType.PARAM || prop.type === import_core2.GetterPropType.NAMED_PATH_PARAMS || prop.type === import_core2.GetterPropType.QUERY_PARAM
460
- ),
461
- "implementation"
462
- );
463
- const swrProps = (0, import_core2.toObjectString)(
464
- props.filter(
465
- (prop) => prop.type === import_core2.GetterPropType.PARAM || prop.type === import_core2.GetterPropType.QUERY_PARAM || prop.type === import_core2.GetterPropType.NAMED_PATH_PARAMS
466
- ),
467
- "implementation"
468
- );
469
- const swrMutationFetcherProperties = props.filter(
470
- (prop) => prop.type === import_core2.GetterPropType.PARAM || prop.type === import_core2.GetterPropType.QUERY_PARAM || prop.type === import_core2.GetterPropType.NAMED_PATH_PARAMS
471
- ).map((param) => {
472
- if (param.type === import_core2.GetterPropType.NAMED_PATH_PARAMS) {
473
- return param.destructured;
474
- } else {
475
- return param.name;
476
- }
477
- }).join(",");
478
- const swrKeyProperties = props.filter(
479
- (prop) => prop.type === import_core2.GetterPropType.PARAM || prop.type === import_core2.GetterPropType.NAMED_PATH_PARAMS || prop.type === import_core2.GetterPropType.QUERY_PARAM
480
- ).map((prop) => {
481
- if (prop.type === import_core2.GetterPropType.NAMED_PATH_PARAMS) {
482
- return prop.destructured;
483
- } else {
484
- return prop.name;
485
- }
486
- }).join(",");
487
- const swrMutationFetcherName = (0, import_core2.camel)(`get-${operationName}-mutation-fetcher`);
488
- if (verb === import_core2.Verbs.GET) {
489
- const swrKeyProperties2 = props.filter((prop) => prop.type !== import_core2.GetterPropType.HEADER).map((param) => {
490
- if (param.type === import_core2.GetterPropType.NAMED_PATH_PARAMS)
491
- return param.destructured;
492
- return param.type === import_core2.GetterPropType.BODY ? body.implementation : param.name;
493
- }).join(",");
494
- const swrProperties = props.map((param) => {
495
- if (param.type === import_core2.GetterPropType.NAMED_PATH_PARAMS)
496
- return param.destructured;
497
- return param.type === import_core2.GetterPropType.BODY ? body.implementation : param.name;
498
- }).join(",");
499
- const queryKeyProps2 = (0, import_core2.toObjectString)(
500
- props.filter((prop) => prop.type !== import_core2.GetterPropType.HEADER),
501
- "implementation"
502
- );
503
- const swrKeyFnName = (0, import_core2.camel)(`get-${operationName}-key`);
504
- const swrKeyFn = `
505
- export const ${swrKeyFnName} = (${queryKeyProps2}) => [\`${route}\`${queryParams ? ", ...(params ? [params]: [])" : ""}] as const;
304
+ const generateSwrHook = ({ queryParams, operationName, body, props, verb, params, override, mutator, response, summary, deprecated }, { route, context }) => {
305
+ const isRequestOptions = override?.requestOptions !== false;
306
+ const httpClient = context.output.httpClient;
307
+ const doc = (0, __orval_core.jsDoc)({
308
+ summary,
309
+ deprecated
310
+ });
311
+ const queryKeyProps = (0, __orval_core.toObjectString)(props.filter((prop) => prop.type === __orval_core.GetterPropType.PARAM || prop.type === __orval_core.GetterPropType.NAMED_PATH_PARAMS || prop.type === __orval_core.GetterPropType.QUERY_PARAM), "implementation");
312
+ const swrProps = (0, __orval_core.toObjectString)(props.filter((prop) => prop.type === __orval_core.GetterPropType.PARAM || prop.type === __orval_core.GetterPropType.QUERY_PARAM || prop.type === __orval_core.GetterPropType.NAMED_PATH_PARAMS), "implementation");
313
+ const swrMutationFetcherProperties = props.filter((prop) => prop.type === __orval_core.GetterPropType.PARAM || prop.type === __orval_core.GetterPropType.QUERY_PARAM || prop.type === __orval_core.GetterPropType.NAMED_PATH_PARAMS).map((param) => {
314
+ if (param.type === __orval_core.GetterPropType.NAMED_PATH_PARAMS) return param.destructured;
315
+ else return param.name;
316
+ }).join(",");
317
+ const swrKeyProperties = props.filter((prop) => prop.type === __orval_core.GetterPropType.PARAM || prop.type === __orval_core.GetterPropType.NAMED_PATH_PARAMS || prop.type === __orval_core.GetterPropType.QUERY_PARAM).map((prop) => {
318
+ if (prop.type === __orval_core.GetterPropType.NAMED_PATH_PARAMS) return prop.destructured;
319
+ else return prop.name;
320
+ }).join(",");
321
+ const swrMutationFetcherName = (0, __orval_core.camel)(`get-${operationName}-mutation-fetcher`);
322
+ if (verb === __orval_core.Verbs.GET) {
323
+ const swrKeyProperties$1 = props.filter((prop) => prop.type !== __orval_core.GetterPropType.HEADER).map((param) => {
324
+ if (param.type === __orval_core.GetterPropType.NAMED_PATH_PARAMS) return param.destructured;
325
+ return param.type === __orval_core.GetterPropType.BODY ? body.implementation : param.name;
326
+ }).join(",");
327
+ const swrProperties = props.map((param) => {
328
+ if (param.type === __orval_core.GetterPropType.NAMED_PATH_PARAMS) return param.destructured;
329
+ return param.type === __orval_core.GetterPropType.BODY ? body.implementation : param.name;
330
+ }).join(",");
331
+ const queryKeyProps$1 = (0, __orval_core.toObjectString)(props.filter((prop) => prop.type !== __orval_core.GetterPropType.HEADER), "implementation");
332
+ const swrKeyFnName = (0, __orval_core.camel)(`get-${operationName}-key`);
333
+ const swrKeyFn = `
334
+ export const ${swrKeyFnName} = (${queryKeyProps$1}) => [\`${route}\`${queryParams ? ", ...(params ? [params]: [])" : ""}] as const;
506
335
  `;
507
- const swrKeyLoaderFnName = (0, import_core2.camel)(
508
- `get-${operationName}-infinite-key-loader`
509
- );
510
- const swrKeyLoader = override.swr.useInfinite ? `export const ${swrKeyLoaderFnName} = (${queryKeyProps2}) => {
336
+ const swrKeyLoaderFnName = (0, __orval_core.camel)(`get-${operationName}-infinite-key-loader`);
337
+ const swrKeyLoader = override.swr.useInfinite ? `export const ${swrKeyLoaderFnName} = (${queryKeyProps$1}) => {
511
338
  return (page: number, previousPageData: Awaited<ReturnType<typeof ${operationName}>>) => {
512
339
  if (previousPageData && !previousPageData.data) return null
513
340
 
514
341
  return [\`${route}\`${queryParams ? ", ...(params ? [{...params,page}]: [{page}])" : ""}${body.implementation ? `, ${body.implementation}` : ""}] as const;
515
342
  }
516
- }
517
- ` : "";
518
- const swrImplementation = generateSwrImplementation({
519
- operationName,
520
- swrKeyFnName,
521
- swrKeyLoaderFnName,
522
- swrProperties,
523
- swrKeyProperties: swrKeyProperties2,
524
- params,
525
- props,
526
- mutator,
527
- isRequestOptions,
528
- response,
529
- swrOptions: override.swr,
530
- doc,
531
- httpClient
532
- });
533
- if (!override.swr.useSWRMutationForGet) {
534
- return swrKeyFn + swrKeyLoader + swrImplementation;
535
- }
536
- const httpFnPropertiesForGet = props.filter((prop) => prop.type !== import_core2.GetterPropType.HEADER).map((prop) => {
537
- if (prop.type === import_core2.GetterPropType.NAMED_PATH_PARAMS) {
538
- return prop.destructured;
539
- } else {
540
- return prop.name;
541
- }
542
- }).join(", ");
543
- const swrMutationFetcherType = getSwrMutationFetcherType(
544
- response,
545
- httpClient,
546
- (_a = override.fetch) == null ? void 0 : _a.includeHttpResponseReturnType,
547
- operationName,
548
- mutator
549
- );
550
- const swrMutationFetcherOptionType = getSwrMutationFetcherOptionType(
551
- httpClient,
552
- mutator
553
- );
554
- const swrMutationFetcherOptions = isRequestOptions && swrMutationFetcherOptionType ? `options${context.output.optionsParamRequired ? "" : "?"}: ${swrMutationFetcherOptionType}` : "";
555
- const swrMutationFetcherFn = `
556
- export const ${swrMutationFetcherName} = (${queryKeyProps2} ${swrMutationFetcherOptions}) => {
343
+ }\n` : "";
344
+ const swrImplementation = generateSwrImplementation({
345
+ operationName,
346
+ swrKeyFnName,
347
+ swrKeyLoaderFnName,
348
+ swrProperties,
349
+ swrKeyProperties: swrKeyProperties$1,
350
+ params,
351
+ props,
352
+ mutator,
353
+ isRequestOptions,
354
+ response,
355
+ swrOptions: override.swr,
356
+ doc,
357
+ httpClient
358
+ });
359
+ if (!override.swr.useSWRMutationForGet) return swrKeyFn + swrKeyLoader + swrImplementation;
360
+ const httpFnPropertiesForGet = props.filter((prop) => prop.type !== __orval_core.GetterPropType.HEADER).map((prop) => {
361
+ if (prop.type === __orval_core.GetterPropType.NAMED_PATH_PARAMS) return prop.destructured;
362
+ else return prop.name;
363
+ }).join(", ");
364
+ const swrMutationFetcherType = getSwrMutationFetcherType(response, httpClient, override.fetch?.includeHttpResponseReturnType, operationName, mutator);
365
+ const swrMutationFetcherOptionType = getSwrMutationFetcherOptionType(httpClient, mutator);
366
+ const swrMutationFetcherOptions = isRequestOptions && swrMutationFetcherOptionType ? `options${context.output.optionsParamRequired ? "" : "?"}: ${swrMutationFetcherOptionType}` : "";
367
+ const swrMutationFetcherFn = `
368
+ export const ${swrMutationFetcherName} = (${queryKeyProps$1} ${swrMutationFetcherOptions}) => {
557
369
  return (_: Key, __: { arg?: never }): ${swrMutationFetcherType} => {
558
370
  return ${operationName}(${httpFnPropertiesForGet}${swrMutationFetcherOptions.length ? (httpFnPropertiesForGet.length ? ", " : "") + "options" : ""});
559
371
  }
560
372
  }
561
373
  `;
562
- const swrMutationImplementation = generateSwrMutationImplementation({
563
- operationName,
564
- swrKeyFnName,
565
- swrMutationFetcherName,
566
- swrKeyProperties: swrKeyProperties2,
567
- swrMutationFetcherProperties,
568
- swrProps,
569
- props,
570
- isRequestOptions,
571
- response,
572
- mutator,
573
- swrOptions: override.swr,
574
- doc,
575
- swrBodyType: "never",
576
- httpClient,
577
- verb: import_core2.Verbs.GET
578
- });
579
- return swrKeyFn + swrKeyLoader + swrImplementation + swrMutationFetcherFn + swrMutationImplementation;
580
- } else {
581
- const httpFnProperties = props.filter((prop) => prop.type !== import_core2.GetterPropType.HEADER).map((prop) => {
582
- if (prop.type === import_core2.GetterPropType.NAMED_PATH_PARAMS) {
583
- return prop.destructured;
584
- } else if (prop.type === import_core2.GetterPropType.BODY) {
585
- return `arg`;
586
- } else {
587
- return prop.name;
588
- }
589
- }).join(", ");
590
- const swrKeyFnName = (0, import_core2.camel)(`get-${operationName}-mutation-key`);
591
- const swrMutationKeyFn = `export const ${swrKeyFnName} = (${queryKeyProps}) => [\`${route}\`${queryParams ? ", ...(params ? [params]: [])" : ""}] as const;
374
+ const swrMutationImplementation = generateSwrMutationImplementation({
375
+ operationName,
376
+ swrKeyFnName,
377
+ swrMutationFetcherName,
378
+ swrKeyProperties: swrKeyProperties$1,
379
+ swrMutationFetcherProperties,
380
+ swrProps,
381
+ props,
382
+ isRequestOptions,
383
+ response,
384
+ mutator,
385
+ swrOptions: override.swr,
386
+ doc,
387
+ swrBodyType: "never",
388
+ httpClient,
389
+ verb: __orval_core.Verbs.GET
390
+ });
391
+ return swrKeyFn + swrKeyLoader + swrImplementation + swrMutationFetcherFn + swrMutationImplementation;
392
+ } else {
393
+ const httpFnProperties = props.filter((prop) => prop.type !== __orval_core.GetterPropType.HEADER).map((prop) => {
394
+ if (prop.type === __orval_core.GetterPropType.NAMED_PATH_PARAMS) return prop.destructured;
395
+ else if (prop.type === __orval_core.GetterPropType.BODY) return `arg`;
396
+ else return prop.name;
397
+ }).join(", ");
398
+ const swrKeyFnName = (0, __orval_core.camel)(`get-${operationName}-mutation-key`);
399
+ const swrMutationKeyFn = `export const ${swrKeyFnName} = (${queryKeyProps}) => [\`${route}\`${queryParams ? ", ...(params ? [params]: [])" : ""}] as const;
592
400
  `;
593
- const swrMutationFetcherType = getSwrMutationFetcherType(
594
- response,
595
- httpClient,
596
- (_b = override.fetch) == null ? void 0 : _b.includeHttpResponseReturnType,
597
- operationName,
598
- mutator
599
- );
600
- const swrMutationFetcherOptionType = getSwrMutationFetcherOptionType(
601
- httpClient,
602
- mutator
603
- );
604
- const swrMutationFetcherOptions = isRequestOptions && swrMutationFetcherOptionType ? `options${context.output.optionsParamRequired ? "" : "?"}: ${swrMutationFetcherOptionType}` : "";
605
- const swrMutationFetcherArg = props.some(
606
- (prop) => prop.type === import_core2.GetterPropType.BODY
607
- ) ? "{ arg }" : "__";
608
- const swrBodyType = (_d = (_c = props.find((prop) => prop.type === import_core2.GetterPropType.BODY)) == null ? void 0 : _c.implementation.split(": ")[1]) != null ? _d : "Arguments";
609
- const swrMutationFetcherFn = `
401
+ getSwrMutationFetcherType(response, httpClient, override.fetch?.includeHttpResponseReturnType, operationName, mutator);
402
+ const swrMutationFetcherOptionType = getSwrMutationFetcherOptionType(httpClient, mutator);
403
+ const swrMutationFetcherOptions = isRequestOptions && swrMutationFetcherOptionType ? `options${context.output.optionsParamRequired ? "" : "?"}: ${swrMutationFetcherOptionType}` : "";
404
+ const swrMutationFetcherArg = props.some((prop) => prop.type === __orval_core.GetterPropType.BODY) ? "{ arg }" : "__";
405
+ const swrBodyType = props.find((prop) => prop.type === __orval_core.GetterPropType.BODY)?.implementation.split(": ")[1] ?? "Arguments";
406
+ const swrMutationFetcherFn = `
610
407
  export const ${swrMutationFetcherName} = (${swrProps} ${swrMutationFetcherOptions}) => {
611
- return (_: Key, ${swrMutationFetcherArg}: { arg: ${swrBodyType} }): ${swrMutationFetcherType} => {
408
+ return (_: Key, ${swrMutationFetcherArg}: { arg: ${swrBodyType} }) => {
612
409
  return ${operationName}(${httpFnProperties}${swrMutationFetcherOptions.length ? (httpFnProperties.length ? ", " : "") + "options" : ""});
613
410
  }
614
- }
615
- `;
616
- const swrImplementation = generateSwrMutationImplementation({
617
- operationName,
618
- swrKeyFnName,
619
- swrMutationFetcherName,
620
- swrKeyProperties,
621
- swrMutationFetcherProperties,
622
- swrProps,
623
- props,
624
- isRequestOptions,
625
- response,
626
- mutator,
627
- swrOptions: override.swr,
628
- doc,
629
- swrBodyType,
630
- httpClient: context.output.httpClient
631
- });
632
- return swrMutationFetcherFn + swrMutationKeyFn + swrImplementation;
633
- }
411
+ }\n`;
412
+ const swrImplementation = generateSwrMutationImplementation({
413
+ operationName,
414
+ swrKeyFnName,
415
+ swrMutationFetcherName,
416
+ swrKeyProperties,
417
+ swrMutationFetcherProperties,
418
+ swrProps,
419
+ props,
420
+ isRequestOptions,
421
+ response,
422
+ mutator,
423
+ swrOptions: override.swr,
424
+ doc,
425
+ swrBodyType,
426
+ httpClient: context.output.httpClient
427
+ });
428
+ return swrMutationFetcherFn + swrMutationKeyFn + swrImplementation;
429
+ }
634
430
  };
635
- var generateSwrHeader = (params) => `
636
- ${!params.hasAwaitedType ? `type AwaitedInput<T> = PromiseLike<T> | T;
637
-
638
- type Awaited<O> = O extends AwaitedInput<infer T> ? T : never;
639
-
640
- ` : ""}
641
- ${params.isRequestOptions && params.isMutator ? `type SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];
642
-
643
- ` : ""}
431
+ const generateSwrHeader = (params) => `
432
+ ${!params.hasAwaitedType ? `type AwaitedInput<T> = PromiseLike<T> | T;\n
433
+ type Awaited<O> = O extends AwaitedInput<infer T> ? T : never;\n\n` : ""}
434
+ ${params.isRequestOptions && params.isMutator ? `type SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\n` : ""}
644
435
  ${getSwrHeader(params)}
645
436
  `;
646
- var generateSwr = (verbOptions, options) => {
647
- const imports = (0, import_core2.generateVerbImports)(verbOptions);
648
- const functionImplementation = generateSwrRequestFunction(
649
- verbOptions,
650
- options
651
- );
652
- const hookImplementation = generateSwrHook(verbOptions, options);
653
- return {
654
- implementation: `${functionImplementation}
655
-
656
- ${hookImplementation}`,
657
- imports
658
- };
437
+ const generateSwr = (verbOptions, options) => {
438
+ const imports = (0, __orval_core.generateVerbImports)(verbOptions);
439
+ const functionImplementation = generateSwrRequestFunction(verbOptions, options);
440
+ const hookImplementation = generateSwrHook(verbOptions, options);
441
+ return {
442
+ implementation: `${functionImplementation}\n\n${hookImplementation}`,
443
+ imports
444
+ };
659
445
  };
660
- var swrClientBuilder = {
661
- client: generateSwr,
662
- header: generateSwrHeader,
663
- dependencies: getSwrDependencies
446
+ const swrClientBuilder = {
447
+ client: generateSwr,
448
+ header: generateSwrHeader,
449
+ dependencies: getSwrDependencies
664
450
  };
665
- var builder = () => () => swrClientBuilder;
666
- var index_default = builder;
667
- // Annotate the CommonJS export names for ESM import in node:
668
- 0 && (module.exports = {
669
- builder,
670
- generateSwr,
671
- generateSwrHeader,
672
- getSwrDependencies
673
- });
451
+ const builder = () => () => swrClientBuilder;
452
+ var src_default = builder;
453
+
454
+ //#endregion
455
+ exports.builder = builder;
456
+ exports.default = src_default;
457
+ exports.generateSwr = generateSwr;
458
+ exports.generateSwrHeader = generateSwrHeader;
459
+ exports.getSwrDependencies = getSwrDependencies;
674
460
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
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 getSwrHeader,\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 verb,\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 verb?: Verbs;\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}${verb === Verbs.GET ? '-mutation' : ''}`)} = <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 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 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 swrMutationFetcherName = camel(`get-${operationName}-mutation-fetcher`);\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 (page: number, previousPageData: Awaited<ReturnType<typeof ${operationName}>>) => {\n if (previousPageData && !previousPageData.data) return null\n\n return [\\`${route}\\`${queryParams ? ', ...(params ? [{...params,page}]: [{page}])' : ''}${\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 if (!override.swr.useSWRMutationForGet) {\n return swrKeyFn + swrKeyLoader + swrImplementation;\n }\n\n // For OutputClient.SWR_GET_MUTATION, generate both useSWR and useSWRMutation\n const httpFnPropertiesForGet = 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 {\n return prop.name;\n }\n })\n .join(', ');\n\n const swrMutationFetcherType = getSwrMutationFetcherType(\n response,\n httpClient,\n override.fetch?.includeHttpResponseReturnType,\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 swrMutationFetcherFn = `\nexport const ${swrMutationFetcherName} = (${queryKeyProps} ${swrMutationFetcherOptions}) => {\n return (_: Key, __: { arg?: never }): ${swrMutationFetcherType} => {\n return ${operationName}(${httpFnPropertiesForGet}${\n swrMutationFetcherOptions.length\n ? (httpFnPropertiesForGet.length ? ', ' : '') + 'options'\n : ''\n });\n }\n}\n`;\n\n const swrMutationImplementation = 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: 'never',\n httpClient,\n verb: Verbs.GET,\n });\n\n return (\n swrKeyFn +\n swrKeyLoader +\n swrImplementation +\n swrMutationFetcherFn +\n swrMutationImplementation\n );\n } else {\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 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 swrMutationFetcherType = getSwrMutationFetcherType(\n response,\n httpClient,\n override.fetch?.includeHttpResponseReturnType,\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 = (params) =>\n `\n ${\n !params.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 params.isRequestOptions && params.isMutator\n ? `type SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\\n\\n`\n : ''\n }\n ${getSwrHeader(params)}\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 ClientHeaderBuilder,\n generateFormDataAndUrlEncodedFunction,\n generateMutatorConfig,\n generateMutatorRequestOptions,\n generateOptions,\n GeneratorDependency,\n GeneratorMutator,\n GeneratorOptions,\n GeneratorVerbOptions,\n GetterResponse,\n isSyntheticDefaultImportsAllow,\n OutputHttpClient,\n toObjectString,\n} from '@orval/core';\n\nimport {\n fetchResponseTypeName,\n generateRequestFunction as generateFetchRequestFunction,\n generateFetchHeader,\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.disabled === false;\n const isFormUrlEncoded = override?.formUrlEncoded !== false;\n const isExactOptionalPropertyTypes =\n !!context.output.tsconfig?.compilerOptions?.exactOptionalPropertyTypes;\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 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 includeHttpResponseReturnType: boolean | undefined,\n operationName: string,\n mutator?: GeneratorMutator,\n) => {\n if (httpClient === OutputHttpClient.FETCH) {\n const responseType = fetchResponseTypeName(\n includeHttpResponseReturnType,\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\nexport const getSwrHeader: ClientHeaderBuilder = (params) => {\n return params.output.httpClient === OutputHttpClient.FETCH\n ? generateFetchHeader(params)\n : '';\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAA,eAuBO;;;ACvBP,kBAcO;AAEP,mBAIO;AAEA,IAAM,qBAA4C;AAAA,EACvD;AAAA,IACE,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,wBAAwB;AAAA,MAC1B;AAAA,MACA,EAAE,MAAM,qBAAqB;AAAA,MAC7B,EAAE,MAAM,gBAAgB;AAAA,MACxB,EAAE,MAAM,aAAa;AAAA,IACvB;AAAA,IACA,YAAY;AAAA,EACd;AACF;AAEO,IAAM,6BAA6B,CACxC,aACA,YACG;AACH,MAAI,QAAQ,QAAQ,OAAO,eAAe,6BAAiB,OAAO;AAChE,WAAO,6BAA6B,aAAa,OAAO;AAAA,EAC1D,OAAO;AACL,eAAO,aAAAC,yBAA6B,aAAa,OAAO;AAAA,EAC1D;AACF;AAEA,IAAM,+BAA+B,CACnC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GACA,EAAE,OAAO,QAAQ,MACd;AAlEL;AAmEE,QAAM,oBAAmB,qCAAU,oBAAmB;AACtD,QAAM,cAAa,qCAAU,SAAS,cAAa;AACnD,QAAM,oBAAmB,qCAAU,oBAAmB;AACtD,QAAM,+BACJ,CAAC,GAAC,mBAAQ,OAAO,aAAf,mBAAyB,oBAAzB,mBAA0C;AAC9C,QAAM,uCAAmC;AAAA,IACvC,QAAQ,OAAO;AAAA,EACjB;AAEA,QAAM,eAAW,mDAAsC;AAAA,IACrD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,MAAI,SAAS;AACX,UAAM,oBAAgB,mCAAsB;AAAA,MAC1C;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,WAAW;AAAA,MACX;AAAA,IACF,CAAC;AAED,UAAM,uBACJ,mCAAS,iBAAgB,KAAK,iBAC1B,4BAAe,OAAO,gBAAgB,EAAE;AAAA,MACtC,IAAI,OAAO,cAAc,KAAK,UAAU,EAAE;AAAA,MAC1C,OAAO,QAAQ,YAAY,IAAI,KAAK,UAAU;AAAA,IAChD,QACA,4BAAe,OAAO,gBAAgB;AAE5C,UAAM,iBAAiB,uBACnB;AAAA,MACE,qCAAU;AAAA,MACV,QAAQ;AAAA,IACV,IACA;AAEJ,UAAM,wBAAwB,gBAAgB,aAAa;AAAA,MAAa,mBAAmB;AAAA,GACzF,oBAAoB,QAAQ,eACxB,UAAU,QAAQ,OAAO,uBAAuB,KAAK,GAAG,4BAA4B,QAAQ,IAAI,MAChG,EACN,SAAS,QAAQ;AAAA,aACR,QAAQ,IAAI,IAAI,SAAS,WAAW,WAAW,SAAS;AAAA,MAC/D,aAAa;AAAA,MACb,cAAc;AAAA;AAAA;AAIhB,WAAO;AAAA,EACT;AAEA,QAAM,cAAU,6BAAgB;AAAA,IAC9B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB,qCAAU;AAAA,IAC1B;AAAA,IACA;AAAA,IACA;AAAA,IACA,yBAAyB,qCAAU;AAAA,IACnC;AAAA,IACA,WAAW;AAAA,EACb,CAAC;AAED,SAAO,gBAAgB,aAAa;AAAA,UAAa;AAAA,IAC/C;AAAA,IACA;AAAA,EACF,CAAC,IACC,mBAAmB;AAAA,IAAmC,EACxD,6BACE,SAAS,WAAW,WAAW,SACjC,UAAU,QAAQ;AAAA,kBAEd,CAAC,mCAAmC,aAAa,EACnD,IAAI,IAAI,IAAI,OAAO;AAAA;AAAA;AAGvB;AAEO,IAAM,uBAAuB,CAClC,YACA,YACG;AACH,MAAI,CAAC,SAAS;AACZ,WAAO,eAAe,6BAAiB,QACnC,+BACA;AAAA,EACN,WAAW,mCAAS,cAAc;AAChC,WAAO,oCAAoC,QAAQ,IAAI;AAAA,EACzD,OAAO;AACL,WAAO;AAAA,EACT;AACF;AAEO,IAAM,kBAAkB,CAC7B,UACA,YACA,YACG;AACH,MAAI,SAAS;AACX,WAAO,QAAQ,eACX,aAAa,SAAS,WAAW,UAAU,SAAS,MACpD,SAAS,WAAW,UAAU;AAAA,EACpC,OAAO;AACL,UAAM,YACJ,eAAe,6BAAiB,QAAQ,eAAe;AAEzD,WAAO,GAAG,SAAS,IAAI,SAAS,WAAW,UAAU,SAAS;AAAA,EAChE;AACF;AAEO,IAAM,yBAAyB,CACpC,YACA,YACG;AACH,MAAI,CAAC,SAAS;AACZ,WAAO,eAAe,6BAAiB,QACnC,wBACA;AAAA,EACN,WAAW,mCAAS,cAAc;AAChC,WAAO;AAAA,EACT,OAAO;AACL,WAAO;AAAA,EACT;AACF;AAEO,IAAM,0BAA0B,CACrC,YACA,YACG;AACH,MAAI,CAAC,SAAS;AACZ,WAAO,eAAe,6BAAiB,QACnC,iBACA;AAAA,EACN,WAAW,mCAAS,cAAc;AAChC,WAAO;AAAA,EACT,OAAO;AACL,WAAO;AAAA,EACT;AACF;AAEO,IAAM,kCAAkC,CAC7C,YACA,YACG;AACH,MAAI,CAAC,SAAS;AACZ,WAAO,eAAe,6BAAiB,QACnC,uBACA;AAAA,EACN,WAAW,QAAQ,cAAc;AAC/B,WAAO,0BAA0B,QAAQ,IAAI;AAAA,EAC/C,OAAO;AACL,WAAO;AAAA,EACT;AACF;AAEO,IAAM,4BAA4B,CACvC,UACA,YACA,+BACA,eACA,YACG;AACH,MAAI,eAAe,6BAAiB,OAAO;AACzC,UAAM,mBAAe;AAAA,MACnB;AAAA,MACA,SAAS,WAAW;AAAA,MACpB;AAAA,IACF;AAEA,WAAO,WAAW,YAAY;AAAA,EAChC,WAAW,SAAS;AAClB,WAAO,WAAW,SAAS,WAAW,WAAW,SAAS;AAAA,EAC5D,OAAO;AACL,WAAO,yBAAyB,SAAS,WAAW,WAAW,SAAS;AAAA,EAC1E;AACF;AAEO,IAAM,eAAoC,CAAC,WAAW;AAC3D,SAAO,OAAO,OAAO,eAAe,6BAAiB,YACjD,kCAAoB,MAAM,IAC1B;AACN;;;ADjOA,IAAM,iCAAwD;AAAA,EAC5D;AAAA,IACE,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,wBAAwB;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,YAAY;AAAA,EACd;AACF;AAEA,IAAM,mBAA0C;AAAA,EAC9C;AAAA,IACE,SAAS;AAAA,MACP,EAAE,MAAM,UAAU,QAAQ,MAAM,SAAS,KAAK;AAAA,MAC9C,EAAE,MAAM,mBAAmB;AAAA,MAC3B,EAAE,MAAM,MAAM;AAAA,MACd,EAAE,MAAM,YAAY;AAAA,IACtB;AAAA,IACA,YAAY;AAAA,EACd;AACF;AAEA,IAAM,4BAAmD;AAAA,EACvD;AAAA,IACE,SAAS;AAAA,MACP,EAAE,MAAM,kBAAkB,QAAQ,MAAM,SAAS,KAAK;AAAA,MACtD,EAAE,MAAM,2BAA2B;AAAA,MACnC,EAAE,MAAM,uBAAuB;AAAA,IACjC;AAAA,IACA,YAAY;AAAA,EACd;AACF;AAEA,IAAM,4BAAmD;AAAA,EACvD;AAAA,IACE,SAAS;AAAA,MACP,EAAE,MAAM,kBAAkB,QAAQ,MAAM,SAAS,KAAK;AAAA,MACtD,EAAE,MAAM,2BAA2B;AAAA,MACnC,EAAE,MAAM,iBAAiB;AAAA,IAC3B;AAAA,IACA,YAAY;AAAA,EACd;AACF;AAEO,IAAM,qBAAgD,CAC3D,kBACA,4BACA,cACA,eACG;AAAA,EACH,GAAI,CAAC,oBAAoB,eAAe,8BAAiB,QACrD,qBACA,CAAC;AAAA,EACL,GAAI,6BAA6B,iCAAiC,CAAC;AAAA,EACnE,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAEA,IAAM,uBAAuB,CAAC;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAMM;AACJ,QAAM,aAAa,aACf,6BACA;AACJ,QAAM,cAAc,aAChB,+DACA;AACJ,QAAM,aAAa,GAAG,UAAU,8BAA8B,aAAa,iBAAiB,WAAW;AAEvG,MAAI,CAAC,kBAAkB;AACrB,WAAO,gBAAgB,UAAU;AAAA,EACnC;AAEA,SAAO,oBAAoB,UAAU,KAAK,qBAAqB,YAAY,OAAO,CAAC;AAAA;AACrF;AAEA,IAAM,+BAA+B,CAAC;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAMM;AACJ,QAAM,aAAa,sDAAsD,aAAa,oBAAoB,WAAW,+BAA+B,aAAa;AAEjK,MAAI,CAAC,kBAAkB;AACrB,WAAO,gBAAgB,UAAU;AAAA,EACnC;AAEA,SAAO,oBAAoB,UAAU,KAAK,qBAAqB,YAAY,OAAO,CAAC;AAAA;AACrF;AAEA,IAAM,4BAA4B,CAAC;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAcM;AAjLN;AAkLE,QAAM,eAAW,6BAAe,OAAO,gBAAgB;AAEvD,QAAM,uBAAuB,MAAM;AAAA,IACjC,CAAC,SAAqB,KAAK,SAAS;AAAA,EACtC;AACA,QAAM,qBAAqB,uBAAuB,WAAW;AAE7D,QAAM,oBAAoB;AAE1B,QAAM,wBAAwB,kDAC5B,OAAO,SACH,UAAU,OAAO,IAAI,CAAC,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,MAAM,CAAC,MACrD,EACN;AACA,QAAM,uBAAuB,2DAA2D,YAAY,IAAI,gBAAgB;AACxH,QAAM,6BAA6B,uEAAuE,kBAAkB,IAAI,gBAAgB;AAEhJ,QAAM,YAAY,gBAAgB,UAAU,YAAY,OAAO;AAC/D,QAAM,sBAAsB,uBAAuB,YAAY,OAAO;AACtE,QAAM,uBAAuB,wBAAwB,YAAY,OAAO;AAExE,QAAM,+BAA+B,WAAW,cAC5C;AAAA,kBACQ;AAAA,IACN;AAAA,EACF,CAAC,+DAA+D,aAAa;AAAA,kBACrE,qBAAO,aAAa,CAAC,mBAAmB,SAAS;AAAA;AAAA,EAE7D,GAAG,oBAAgB;AAAA,IACb,OAAO,aAAa;AAAA,EACtB,CAAC,gBAAgB,SAAS;AAAA,IAC5B,QAAQ,IAAI,qBAAqB;AAAA,IACjC;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,EACF,CAAC,CAAC;AAAA,IAEA,mBACI,yBAAyB,sBAAsB,KAAK,mBAAmB,KAAK,EAAE,sBAC9E,EACN;AAAA;AAAA,IAEE,qBAAqB;AAAA,IACrB,0BAA0B;AAAA,wBACN,aAAa,IAAI,iBAAiB,GACtD,qBAAqB,uBAAuB,OAAO,EACrD,GAAG,oBAAoB;AAAA;AAAA,UAEf,kBAAkB,qFACxB,WAAW,qBACP;AAAA,OACF,iCAAU,WAAW,kBAAkB,MAAvC,mBAA0C,MAAM,GAAG,GAAG;AAAA;AAAA,OAGpD,YACN;AAAA;AAAA;AAAA;AAAA,SAIO,kBAAkB;AAAA;AAAA;AAAA,IAGrB;AAEJ,QAAM,uBAAuB;AAAA,kBACjB;AAAA,IACV;AAAA,EACF,CAAC,uDAAuD,aAAa;AAAA,kBACzD,qBAAO,aAAa,CAAC,gBAAgB,SAAS;AAAA;AAAA,EAE1D,GAAG,oBAAgB,oBAAM,OAAO,aAAa,EAAE,CAAC,gBAAgB,SAAS;AAAA,IACvE,QAAQ,IAAI,qBAAqB;AAAA,IACjC;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,EACF,CAAC,CAAC;AAAA,IAEA,mBACI,yBAAyB,sBAAsB,KAAK,mBAAmB,KAAK,EAAE,sBAC9E,EACN;AAAA;AAAA,IAEE,qBAAqB;AAAA,IACrB,oBAAoB;AAAA,wBACA,aAAa,IAAI,iBAAiB,GACtD,qBAAqB,uBAAuB,OAAO,EACrD,GAAG,oBAAoB;AAAA;AAAA,UAEf,kBAAkB,uEACxB,WAAW,aACP;AAAA,OACF,iCAAU,WAAW,UAAU,MAA/B,mBAAkC,MAAM,GAAG,GAAG;AAAA;AAAA,OAG5C,YACN;AAAA;AAAA;AAAA;AAAA,SAIO,kBAAkB;AAAA;AAAA;AAAA;AAIzB,SAAO,+BAA+B;AACxC;AAEA,IAAM,oCAAoC,CAAC;AAAA,EACzC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAgBM;AAhUN;AAiUE,QAAM,uBAAuB,MAAM;AAAA,IACjC,CAAC,SAAqB,KAAK,SAAS;AAAA,EACtC;AACA,QAAM,qBAAqB,uBAAuB,WAAW;AAE7D,QAAM,uBAAuB,wCAAwC,YAAY,IAAI,gBAAgB;AAErG,QAAM,YAAY,gBAAgB,UAAU,YAAY,OAAO;AAC/D,QAAM,sBAAsB,uBAAuB,YAAY,OAAO;AACtE,QAAM,uBAAuB,wBAAwB,YAAY,OAAO;AAExE,QAAM,uBAAuB;AAAA,kBACjB;AAAA,IACV;AAAA,EACF,CAAC,0DAA0D,aAAa;AAAA,kBAC5D,qBAAO,aAAa,CAAC,mBAAmB,SAAS;AAAA;AAAA,EAE7D,GAAG,oBAAgB,oBAAM,OAAO,aAAa,GAAG,SAAS,mBAAM,MAAM,cAAc,EAAE,EAAE,CAAC,gBAAgB,SAAS;AAAA,IAC/G,QAAQ,IAAI,6BAA6B;AAAA,IACzC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC,CAAC;AAAA;AAAA,IAEA,mBAAmB,yBAAyB,sBAAsB,KAAK,mBAAmB,KAAK,EAAE,sBAAsB,EAAE;AAAA;AAAA,IAEzH,oBAAoB;AAAA,kBACN,sBAAsB,IAAI,4BAA4B,GACpE,gCAAgC,uBAAuB,OAAO,EAChE,GAAG,oBAAoB;AAAA;AAAA,UAEf,kBAAkB,oCACxB,WAAW,qBACP;AAAA,OACF,iCAAU,WAAW,kBAAkB,MAAvC,mBAA0C,MAAM,GAAG,GAAG;AAAA;AAAA,OAGpD,YACN;AAAA;AAAA;AAAA;AAAA,SAIO,kBAAkB;AAAA;AAAA;AAAA;AAIzB,SAAO;AACT;AAEA,IAAM,kBAAkB,CACtB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GACA,EAAE,OAAO,QAAQ,MACd;AAnYL;AAoYE,QAAM,oBAAmB,qCAAU,oBAAmB;AACtD,QAAM,aAAa,QAAQ,OAAO;AAClC,QAAM,UAAM,oBAAM,EAAE,SAAS,WAAW,CAAC;AAEzC,QAAM,oBAAgB;AAAA,IACpB,MAAM;AAAA,MACJ,CAAC,SACC,KAAK,SAAS,4BAAe,SAC7B,KAAK,SAAS,4BAAe,qBAC7B,KAAK,SAAS,4BAAe;AAAA,IACjC;AAAA,IACA;AAAA,EACF;AAEA,QAAM,eAAW;AAAA,IACf,MAAM;AAAA,MACJ,CAAC,SACC,KAAK,SAAS,4BAAe,SAC7B,KAAK,SAAS,4BAAe,eAC7B,KAAK,SAAS,4BAAe;AAAA,IACjC;AAAA,IACA;AAAA,EACF;AAEA,QAAM,+BAA+B,MAClC;AAAA,IACC,CAAC,SACC,KAAK,SAAS,4BAAe,SAC7B,KAAK,SAAS,4BAAe,eAC7B,KAAK,SAAS,4BAAe;AAAA,EACjC,EACC,IAAI,CAAC,UAAU;AACd,QAAI,MAAM,SAAS,4BAAe,mBAAmB;AACnD,aAAO,MAAM;AAAA,IACf,OAAO;AACL,aAAO,MAAM;AAAA,IACf;AAAA,EACF,CAAC,EACA,KAAK,GAAG;AAEX,QAAM,mBAAmB,MACtB;AAAA,IACC,CAAC,SACC,KAAK,SAAS,4BAAe,SAC7B,KAAK,SAAS,4BAAe,qBAC7B,KAAK,SAAS,4BAAe;AAAA,EACjC,EACC,IAAI,CAAC,SAAS;AACb,QAAI,KAAK,SAAS,4BAAe,mBAAmB;AAClD,aAAO,KAAK;AAAA,IACd,OAAO;AACL,aAAO,KAAK;AAAA,IACd;AAAA,EACF,CAAC,EACA,KAAK,GAAG;AAEX,QAAM,6BAAyB,oBAAM,OAAO,aAAa,mBAAmB;AAE5E,MAAI,SAAS,mBAAM,KAAK;AACtB,UAAMC,oBAAmB,MACtB,OAAO,CAAC,SAAS,KAAK,SAAS,4BAAe,MAAM,EACpD,IAAI,CAAC,UAAU;AACd,UAAI,MAAM,SAAS,4BAAe;AAChC,eAAO,MAAM;AACf,aAAO,MAAM,SAAS,4BAAe,OACjC,KAAK,iBACL,MAAM;AAAA,IACZ,CAAC,EACA,KAAK,GAAG;AAEX,UAAM,gBAAgB,MACnB,IAAI,CAAC,UAAU;AACd,UAAI,MAAM,SAAS,4BAAe;AAChC,eAAO,MAAM;AACf,aAAO,MAAM,SAAS,4BAAe,OACjC,KAAK,iBACL,MAAM;AAAA,IACZ,CAAC,EACA,KAAK,GAAG;AAEX,UAAMC,qBAAgB;AAAA,MACpB,MAAM,OAAO,CAAC,SAAS,KAAK,SAAS,4BAAe,MAAM;AAAA,MAC1D;AAAA,IACF;AAEA,UAAM,mBAAe,oBAAM,OAAO,aAAa,MAAM;AACrD,UAAM,WAAW;AAAA,eACN,YAAY,OAAOA,cAAa,WAAW,KAAK,KACzD,cAAc,iCAAiC,EACjD;AAAA;AAGA,UAAM,yBAAqB;AAAA,MACzB,OAAO,aAAa;AAAA,IACtB;AACA,UAAM,eAAe,SAAS,IAAI,cAC9B,gBAAgB,kBAAkB,OAAOA,cAAa;AAAA,sEACQ,aAAa;AAAA;AAAA;AAAA,gBAGnE,KAAK,KAAK,cAAc,iDAAiD,EAAE,GACrF,KAAK,iBAAiB,KAAK,KAAK,cAAc,KAAK,EACrD;AAAA;AAAA;AAAA,IAGI;AAEJ,UAAM,oBAAoB,0BAA0B;AAAA,MAClD;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,kBAAAD;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY,SAAS;AAAA,MACrB;AAAA,MACA;AAAA,IACF,CAAC;AAED,QAAI,CAAC,SAAS,IAAI,sBAAsB;AACtC,aAAO,WAAW,eAAe;AAAA,IACnC;AAGA,UAAM,yBAAyB,MAC5B,OAAO,CAAC,SAAS,KAAK,SAAS,4BAAe,MAAM,EACpD,IAAI,CAAC,SAAS;AACb,UAAI,KAAK,SAAS,4BAAe,mBAAmB;AAClD,eAAO,KAAK;AAAA,MACd,OAAO;AACL,eAAO,KAAK;AAAA,MACd;AAAA,IACF,CAAC,EACA,KAAK,IAAI;AAEZ,UAAM,yBAAyB;AAAA,MAC7B;AAAA,MACA;AAAA,OACA,cAAS,UAAT,mBAAgB;AAAA,MAChB;AAAA,MACA;AAAA,IACF;AACA,UAAM,+BAA+B;AAAA,MACnC;AAAA,MACA;AAAA,IACF;AAEA,UAAM,4BACJ,oBAAoB,+BAChB,UAAU,QAAQ,OAAO,uBAAuB,KAAK,GAAG,KAAK,4BAA4B,KACzF;AAEN,UAAM,uBAAuB;AAAA,eAClB,sBAAsB,OAAOC,cAAa,IAAI,yBAAyB;AAAA,0CAC5C,sBAAsB;AAAA,aACnD,aAAa,IAAI,sBAAsB,GAC9C,0BAA0B,UACrB,uBAAuB,SAAS,OAAO,MAAM,YAC9C,EACN;AAAA;AAAA;AAAA;AAKA,UAAM,4BAA4B,kCAAkC;AAAA,MAClE;AAAA,MACA;AAAA,MACA;AAAA,MACA,kBAAAD;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY,SAAS;AAAA,MACrB;AAAA,MACA,aAAa;AAAA,MACb;AAAA,MACA,MAAM,mBAAM;AAAA,IACd,CAAC;AAED,WACE,WACA,eACA,oBACA,uBACA;AAAA,EAEJ,OAAO;AACL,UAAM,mBAAmB,MACtB,OAAO,CAAC,SAAS,KAAK,SAAS,4BAAe,MAAM,EACpD,IAAI,CAAC,SAAS;AACb,UAAI,KAAK,SAAS,4BAAe,mBAAmB;AAClD,eAAO,KAAK;AAAA,MACd,WAAW,KAAK,SAAS,4BAAe,MAAM;AAC5C,eAAO;AAAA,MACT,OAAO;AACL,eAAO,KAAK;AAAA,MACd;AAAA,IACF,CAAC,EACA,KAAK,IAAI;AAEZ,UAAM,mBAAe,oBAAM,OAAO,aAAa,eAAe;AAC9D,UAAM,mBAAmB,gBAAgB,YAAY,OAAO,aAAa,WAAW,KAAK,KACvF,cAAc,iCAAiC,EACjD;AAAA;AAGA,UAAM,yBAAyB;AAAA,MAC7B;AAAA,MACA;AAAA,OACA,cAAS,UAAT,mBAAgB;AAAA,MAChB;AAAA,MACA;AAAA,IACF;AACA,UAAM,+BAA+B;AAAA,MACnC;AAAA,MACA;AAAA,IACF;AAEA,UAAM,4BACJ,oBAAoB,+BAChB,UAAU,QAAQ,OAAO,uBAAuB,KAAK,GAAG,KAAK,4BAA4B,KACzF;AAEN,UAAM,wBAAwB,MAAM;AAAA,MAClC,CAAC,SAAS,KAAK,SAAS,4BAAe;AAAA,IACzC,IACI,YACA;AAEJ,UAAM,eACJ,iBACG,KAAK,CAAC,SAAS,KAAK,SAAS,4BAAe,IAAI,MADnD,mBAEI,eAAe,MAAM,MAAM,OAF/B,YAEqC;AAEvC,UAAM,uBAAuB;AAAA,eAClB,sBAAsB,OAAO,QAAQ,IAAI,yBAAyB;AAAA,oBAC7D,qBAAqB,YAAY,WAAW,QAAQ,sBAAsB;AAAA,aACjF,aAAa,IAAI,gBAAgB,GACxC,0BAA0B,UACrB,iBAAiB,SAAS,OAAO,MAAM,YACxC,EACN;AAAA;AAAA;AAAA;AAIA,UAAM,oBAAoB,kCAAkC;AAAA,MAC1D;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY,SAAS;AAAA,MACrB;AAAA,MACA;AAAA,MACA,YAAY,QAAQ,OAAO;AAAA,IAC7B,CAAC;AAED,WAAO,uBAAuB,mBAAmB;AAAA,EACnD;AACF;AAEO,IAAM,oBAAyC,CAAC,WACrD;AAAA,IAEE,CAAC,OAAO,iBACJ;AAAA;AAAA;AAAA;AAAA,IAEA,EACN;AAAA,IAEE,OAAO,oBAAoB,OAAO,YAC9B;AAAA;AAAA,IACA,EACN;AAAA,IACE,aAAa,MAAM,CAAC;AAAA;AAGjB,IAAM,cAA6B,CAAC,aAAa,YAAY;AAClE,QAAM,cAAU,kCAAoB,WAAW;AAC/C,QAAM,yBAAyB;AAAA,IAC7B;AAAA,IACA;AAAA,EACF;AACA,QAAM,qBAAqB,gBAAgB,aAAa,OAAO;AAE/D,SAAO;AAAA,IACL,gBAAgB,GAAG,sBAAsB;AAAA;AAAA,EAAO,kBAAkB;AAAA,IAClE;AAAA,EACF;AACF;AAEA,IAAM,mBAA4C;AAAA,EAChD,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,cAAc;AAChB;AAEO,IAAM,UAAU,MAAM,MAAM;AAEnC,IAAO,gBAAQ;","names":["import_core","generateFetchRequestFunction","swrKeyProperties","queryKeyProps"]}
1
+ {"version":3,"file":"index.js","names":["AXIOS_DEPENDENCIES: GeneratorDependency[]","OutputHttpClient","getSwrHeader: ClientHeaderBuilder","PARAMS_SERIALIZER_DEPENDENCIES: GeneratorDependency[]","SWR_DEPENDENCIES: GeneratorDependency[]","SWR_INFINITE_DEPENDENCIES: GeneratorDependency[]","SWR_MUTATION_DEPENDENCIES: GeneratorDependency[]","getSwrDependencies: ClientDependenciesBuilder","OutputHttpClient","Verbs","GetterPropType","swrKeyProperties","queryKeyProps","generateSwrHeader: ClientHeaderBuilder","generateSwr: ClientBuilder","swrClientBuilder: ClientGeneratorsBuilder"],"sources":["../src/client.ts","../src/index.ts"],"sourcesContent":["import {\n ClientHeaderBuilder,\n generateFormDataAndUrlEncodedFunction,\n generateMutatorConfig,\n generateMutatorRequestOptions,\n generateOptions,\n GeneratorDependency,\n GeneratorMutator,\n GeneratorOptions,\n GeneratorVerbOptions,\n GetterResponse,\n isSyntheticDefaultImportsAllow,\n OutputHttpClient,\n toObjectString,\n} from '@orval/core';\nimport {\n fetchResponseTypeName,\n generateFetchHeader,\n generateRequestFunction as generateFetchRequestFunction,\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 return options.context.output.httpClient === OutputHttpClient.AXIOS\n ? generateAxiosRequestFunction(verbOptions, options)\n : generateFetchRequestFunction(verbOptions, options);\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.disabled;\n const isFormUrlEncoded = override?.formUrlEncoded !== false;\n const isExactOptionalPropertyTypes =\n !!context.output.tsconfig?.compilerOptions?.exactOptionalPropertyTypes;\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 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 includeHttpResponseReturnType: boolean | undefined,\n operationName: string,\n mutator?: GeneratorMutator,\n) => {\n if (httpClient === OutputHttpClient.FETCH) {\n const responseType = fetchResponseTypeName(\n includeHttpResponseReturnType,\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\nexport const getSwrHeader: ClientHeaderBuilder = (params) => {\n return params.output.httpClient === OutputHttpClient.FETCH\n ? generateFetchHeader(params)\n : '';\n};\n","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 getSwrHeader,\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 verb,\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 verb?: Verbs;\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}${verb === Verbs.GET ? '-mutation' : ''}`)} = <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 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 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 swrMutationFetcherName = camel(`get-${operationName}-mutation-fetcher`);\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 (page: number, previousPageData: Awaited<ReturnType<typeof ${operationName}>>) => {\n if (previousPageData && !previousPageData.data) return null\n\n return [\\`${route}\\`${queryParams ? ', ...(params ? [{...params,page}]: [{page}])' : ''}${\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 if (!override.swr.useSWRMutationForGet) {\n return swrKeyFn + swrKeyLoader + swrImplementation;\n }\n\n // For OutputClient.SWR_GET_MUTATION, generate both useSWR and useSWRMutation\n const httpFnPropertiesForGet = 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 {\n return prop.name;\n }\n })\n .join(', ');\n\n const swrMutationFetcherType = getSwrMutationFetcherType(\n response,\n httpClient,\n override.fetch?.includeHttpResponseReturnType,\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 swrMutationFetcherFn = `\nexport const ${swrMutationFetcherName} = (${queryKeyProps} ${swrMutationFetcherOptions}) => {\n return (_: Key, __: { arg?: never }): ${swrMutationFetcherType} => {\n return ${operationName}(${httpFnPropertiesForGet}${\n swrMutationFetcherOptions.length\n ? (httpFnPropertiesForGet.length ? ', ' : '') + 'options'\n : ''\n });\n }\n}\n`;\n\n const swrMutationImplementation = 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: 'never',\n httpClient,\n verb: Verbs.GET,\n });\n\n return (\n swrKeyFn +\n swrKeyLoader +\n swrImplementation +\n swrMutationFetcherFn +\n swrMutationImplementation\n );\n } else {\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 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 swrMutationFetcherType = getSwrMutationFetcherType(\n response,\n httpClient,\n override.fetch?.includeHttpResponseReturnType,\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} }) => {\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 = (params) =>\n `\n ${\n !params.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 params.isRequestOptions && params.isMutator\n ? `type SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\\n\\n`\n : ''\n }\n ${getSwrHeader(params)}\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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"}
package/package.json CHANGED
@@ -1,19 +1,31 @@
1
1
  {
2
2
  "name": "@orval/swr",
3
- "version": "7.11.2",
3
+ "version": "7.12.2",
4
4
  "license": "MIT",
5
- "main": "./dist/index.js",
6
- "types": "./dist/index.d.ts",
5
+ "exports": {
6
+ ".": {
7
+ "types": "./dist/index.d.ts",
8
+ "default": "./dist/index.js"
9
+ }
10
+ },
7
11
  "files": [
8
- "dist"
12
+ "dist",
13
+ "!dist/**/*.d.ts.map"
9
14
  ],
10
15
  "scripts": {
11
- "build": "tsup ./src/index.ts --target node12 --clean --sourcemap --dts",
12
- "dev": "tsup ./src/index.ts --target node12 --clean --sourcemap --watch src",
13
- "lint": "eslint src/**/*.ts"
16
+ "build": "tsdown --config-loader unconfig",
17
+ "dev": "tsdown --config-loader unconfig --watch src",
18
+ "lint": "eslint .",
19
+ "clean": "rimraf .turbo dist",
20
+ "nuke": "rimraf .turbo dist node_modules"
14
21
  },
15
22
  "dependencies": {
16
- "@orval/core": "7.11.2",
17
- "@orval/fetch": "7.11.2"
23
+ "@orval/core": "7.12.2",
24
+ "@orval/fetch": "7.12.2"
25
+ },
26
+ "devDependencies": {
27
+ "eslint": "^9.35.0",
28
+ "rimraf": "^6.0.1",
29
+ "tsdown": "^0.15.2"
18
30
  }
19
- }
31
+ }