@orval/fetch 7.9.0 → 7.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +3 -3
- package/dist/index.js +43 -21
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { GeneratorVerbOptions, GeneratorOptions, ClientBuilder, ClientHeaderBuilder
|
|
1
|
+
import { ClientGeneratorsBuilder, GeneratorVerbOptions, GeneratorOptions, ClientBuilder, ClientHeaderBuilder } from '@orval/core';
|
|
2
2
|
|
|
3
|
-
declare const generateRequestFunction: ({ queryParams, headers, operationName, response, mutator, body, props, verb, formData, formUrlEncoded, override, }: GeneratorVerbOptions, { route, context, pathRoute }: GeneratorOptions) => string;
|
|
4
|
-
declare const fetchResponseTypeName: (includeHttpResponseReturnType: boolean, definitionSuccessResponse: string, operationName: string) => string;
|
|
3
|
+
declare const generateRequestFunction: ({ queryParams, headers, operationName, response, mutator, body, props, verb, fetchReviver, formData, formUrlEncoded, override, }: GeneratorVerbOptions, { route, context, pathRoute }: GeneratorOptions) => string;
|
|
4
|
+
declare const fetchResponseTypeName: (includeHttpResponseReturnType: boolean | undefined, definitionSuccessResponse: string, operationName: string) => string;
|
|
5
5
|
declare const generateClient: ClientBuilder;
|
|
6
6
|
declare const generateFetchHeader: ClientHeaderBuilder;
|
|
7
7
|
declare const builder: () => () => ClientGeneratorsBuilder;
|
package/dist/index.js
CHANGED
|
@@ -18,16 +18,16 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
|
|
20
20
|
// src/index.ts
|
|
21
|
-
var
|
|
22
|
-
__export(
|
|
21
|
+
var index_exports = {};
|
|
22
|
+
__export(index_exports, {
|
|
23
23
|
builder: () => builder,
|
|
24
|
-
default: () =>
|
|
24
|
+
default: () => index_default,
|
|
25
25
|
fetchResponseTypeName: () => fetchResponseTypeName,
|
|
26
26
|
generateClient: () => generateClient,
|
|
27
27
|
generateFetchHeader: () => generateFetchHeader,
|
|
28
28
|
generateRequestFunction: () => generateRequestFunction
|
|
29
29
|
});
|
|
30
|
-
module.exports = __toCommonJS(
|
|
30
|
+
module.exports = __toCommonJS(index_exports);
|
|
31
31
|
var import_core = require("@orval/core");
|
|
32
32
|
var import_core2 = require("@orval/core");
|
|
33
33
|
var generateRequestFunction = ({
|
|
@@ -39,11 +39,12 @@ var generateRequestFunction = ({
|
|
|
39
39
|
body,
|
|
40
40
|
props,
|
|
41
41
|
verb,
|
|
42
|
+
fetchReviver,
|
|
42
43
|
formData,
|
|
43
44
|
formUrlEncoded,
|
|
44
45
|
override
|
|
45
46
|
}, { route, context, pathRoute }) => {
|
|
46
|
-
var _a, _b, _c;
|
|
47
|
+
var _a, _b, _c, _d;
|
|
47
48
|
const isRequestOptions = (override == null ? void 0 : override.requestOptions) !== false;
|
|
48
49
|
const isFormData = (override == null ? void 0 : override.formData.disabled) === false;
|
|
49
50
|
const isFormUrlEncoded = (override == null ? void 0 : override.formUrlEncoded) !== false;
|
|
@@ -58,22 +59,29 @@ var generateRequestFunction = ({
|
|
|
58
59
|
const parameters = ((_a = spec == null ? void 0 : spec[verb]) == null ? void 0 : _a.parameters) || [];
|
|
59
60
|
const explodeParameters = parameters.filter((parameter) => {
|
|
60
61
|
const { schema } = (0, import_core2.resolveRef)(parameter, context);
|
|
61
|
-
|
|
62
|
+
if (override.fetch.explode) {
|
|
63
|
+
return schema.in === "query" && schema.explode;
|
|
64
|
+
} else {
|
|
65
|
+
return schema.in === "query" && schema.explode !== false;
|
|
66
|
+
}
|
|
62
67
|
});
|
|
63
68
|
const explodeParametersNames = explodeParameters.map((parameter) => {
|
|
64
69
|
const { schema } = (0, import_core2.resolveRef)(parameter, context);
|
|
65
70
|
return schema.name;
|
|
66
71
|
});
|
|
72
|
+
const hasDateParams = context.output.override.useDates && parameters.some(
|
|
73
|
+
(p) => "schema" in p && p.schema && "format" in p.schema && p.schema.format === "date-time"
|
|
74
|
+
);
|
|
67
75
|
const explodeArrayImplementation = explodeParameters.length > 0 ? `const explodeParameters = ${JSON.stringify(explodeParametersNames)};
|
|
68
76
|
|
|
69
|
-
if (value
|
|
70
|
-
value.forEach((v) => normalizedParams.append(key, v === null ? 'null' : v.toString()));
|
|
77
|
+
if (Array.isArray(value) && explodeParameters.includes(key)) {
|
|
78
|
+
value.forEach((v) => normalizedParams.append(key, v === null ? 'null' : ${hasDateParams ? "v instanceof Date ? v.toISOString() : " : ""}v.toString()));
|
|
71
79
|
return;
|
|
72
80
|
}
|
|
73
81
|
` : "";
|
|
74
82
|
const isExplodeParametersOnly = explodeParameters.length === parameters.length;
|
|
75
83
|
const nomalParamsImplementation = `if (value !== undefined) {
|
|
76
|
-
normalizedParams.append(key, value === null ? 'null' : value.toString())
|
|
84
|
+
normalizedParams.append(key, value === null ? 'null' : ${hasDateParams ? "value instanceof Date ? value.toISOString() : " : ""}value.toString())
|
|
77
85
|
}`;
|
|
78
86
|
const getUrlFnImplementation = `export const ${getUrlFnName} = (${getUrlFnProps}) => {
|
|
79
87
|
${queryParams ? ` const normalizedParams = new URLSearchParams();
|
|
@@ -91,7 +99,7 @@ ${queryParams ? ` const normalizedParams = new URLSearchParams();
|
|
|
91
99
|
const isContentTypeNdJson = (contentType) => contentType === "application/nd-json" || contentType === "application/x-ndjson";
|
|
92
100
|
const isNdJson = response.contentTypes.some(isContentTypeNdJson);
|
|
93
101
|
const responseTypeName = fetchResponseTypeName(
|
|
94
|
-
override.fetch.includeHttpResponseReturnType,
|
|
102
|
+
(_b = override.fetch) == null ? void 0 : _b.includeHttpResponseReturnType,
|
|
95
103
|
isNdJson ? "Response" : response.definition.success,
|
|
96
104
|
operationName
|
|
97
105
|
);
|
|
@@ -111,14 +119,20 @@ ${queryParams ? ` const normalizedParams = new URLSearchParams();
|
|
|
111
119
|
}
|
|
112
120
|
const nonDefaultStatuses = allResponses.filter((r) => r.key !== "default").map((r) => r.key);
|
|
113
121
|
const responseDataTypes = allResponses.map(
|
|
114
|
-
(r) =>
|
|
115
|
-
|
|
122
|
+
(r) => allResponses.filter((r2) => r2.key === r.key).length > 1 ? { ...r, suffix: (0, import_core.pascal)(r.contentType) } : r
|
|
123
|
+
).map((r) => {
|
|
124
|
+
const name = `${responseTypeName}${(0, import_core.pascal)(r.key)}${"suffix" in r ? r.suffix : ""}`;
|
|
125
|
+
return {
|
|
126
|
+
name,
|
|
127
|
+
value: `export type ${name} = {
|
|
128
|
+
${isContentTypeNdJson(r.contentType) ? `stream: TypedResponse<${r.value}>` : `data: ${r.value || "unknown"}`}
|
|
116
129
|
status: ${r.key === "default" ? nonDefaultStatuses.length ? `Exclude<HTTPStatusCodes, ${nonDefaultStatuses.join(" | ")}>` : "number" : r.key}
|
|
117
130
|
}`
|
|
118
|
-
|
|
131
|
+
};
|
|
132
|
+
});
|
|
119
133
|
const compositeName = `${responseTypeName}Composite`;
|
|
120
|
-
const compositeResponse = `${compositeName} = ${
|
|
121
|
-
const responseTypeImplementation = override.fetch.includeHttpResponseReturnType ? `${responseDataTypes}
|
|
134
|
+
const compositeResponse = `${compositeName} = ${responseDataTypes.map((r) => r.name).join(" | ")}`;
|
|
135
|
+
const responseTypeImplementation = override.fetch.includeHttpResponseReturnType ? `${responseDataTypes.map((r) => r.value).join("\n\n")}
|
|
122
136
|
|
|
123
137
|
export type ${compositeResponse};
|
|
124
138
|
|
|
@@ -138,16 +152,23 @@ export type ${responseTypeName} = ${compositeName} & {
|
|
|
138
152
|
}).join(",");
|
|
139
153
|
const args = `${(0, import_core2.toObjectString)(props, "implementation")} ${isRequestOptions ? `options?: RequestInit` : ""}`;
|
|
140
154
|
const returnType = `Promise<${responseTypeName}>`;
|
|
141
|
-
const globalFetchOptions = (0, import_core2.isObject)(override == null ? void 0 : override.requestOptions) ? `${(
|
|
155
|
+
const globalFetchOptions = (0, import_core2.isObject)(override == null ? void 0 : override.requestOptions) ? `${(_d = (_c = (0, import_core2.stringify)(override == null ? void 0 : override.requestOptions)) == null ? void 0 : _c.slice(1, -1)) == null ? void 0 : _d.trim()}` : "";
|
|
142
156
|
const fetchMethodOption = `method: '${verb.toUpperCase()}'`;
|
|
143
157
|
const ignoreContentTypes = ["multipart/form-data"];
|
|
144
|
-
const
|
|
158
|
+
const headersToAdd = [
|
|
159
|
+
...body.contentType && !ignoreContentTypes.includes(body.contentType) ? [`'Content-Type': '${body.contentType}'`] : [],
|
|
160
|
+
...isNdJson && response.contentTypes.length === 1 ? [
|
|
161
|
+
`Accept: ${response.contentTypes[0] === "application/x-ndjson" ? "'application/x-ndjson'" : "'application/nd-json'"}`
|
|
162
|
+
] : [],
|
|
163
|
+
...headers ? ["...headers"] : []
|
|
164
|
+
];
|
|
165
|
+
const fetchHeadersOption = headersToAdd.length ? `headers: { ${headersToAdd.join(",")}, ...options?.headers }` : "";
|
|
145
166
|
const requestBodyParams = (0, import_core2.generateBodyOptions)(
|
|
146
167
|
body,
|
|
147
168
|
isFormData,
|
|
148
169
|
isFormUrlEncoded
|
|
149
170
|
);
|
|
150
|
-
const fetchBodyOption = requestBodyParams ? isFormData && body.formData || isFormUrlEncoded && body.formUrlEncoded ? `body: ${requestBodyParams}` : `body: JSON.stringify(${requestBodyParams})` : "";
|
|
171
|
+
const fetchBodyOption = requestBodyParams ? isFormData && body.formData || isFormUrlEncoded && body.formUrlEncoded || body.contentType === "text/plain" ? `body: ${requestBodyParams}` : `body: JSON.stringify(${requestBodyParams})` : "";
|
|
151
172
|
const fetchFnOptions = `${getUrlFnName}(${getUrlFnProperties}),
|
|
152
173
|
{${globalFetchOptions ? "\n" : ""} ${globalFetchOptions}
|
|
153
174
|
${isRequestOptions ? "...options," : ""}
|
|
@@ -156,13 +177,14 @@ export type ${responseTypeName} = ${compositeName} & {
|
|
|
156
177
|
${fetchBodyOption}
|
|
157
178
|
}
|
|
158
179
|
`;
|
|
180
|
+
const reviver = fetchReviver ? `, ${fetchReviver.name}` : "";
|
|
159
181
|
const fetchResponseImplementation = isNdJson ? `const stream = await fetch(${fetchFnOptions})
|
|
160
182
|
|
|
161
|
-
${override.fetch.includeHttpResponseReturnType ?
|
|
183
|
+
${override.fetch.includeHttpResponseReturnType ? `return { status: stream.status, stream, headers: stream.headers } as ${responseTypeName}` : `return stream`}
|
|
162
184
|
` : `const res = await fetch(${fetchFnOptions})
|
|
163
185
|
|
|
164
186
|
const body = [204, 205, 304].includes(res.status) ? null : await res.text()
|
|
165
|
-
const data: ${responseTypeName}${override.fetch.includeHttpResponseReturnType ? `['data']` : ""} = body ? JSON.parse(body) : {}
|
|
187
|
+
const data: ${responseTypeName}${override.fetch.includeHttpResponseReturnType ? `['data']` : ""} = body ? JSON.parse(body${reviver}) : {}
|
|
166
188
|
|
|
167
189
|
${override.fetch.includeHttpResponseReturnType ? `return { data, status: res.status, headers: res.headers } as ${responseTypeName}` : "return data"}
|
|
168
190
|
`;
|
|
@@ -216,7 +238,7 @@ var fetchClientBuilder = {
|
|
|
216
238
|
dependencies: () => []
|
|
217
239
|
};
|
|
218
240
|
var builder = () => () => fetchClientBuilder;
|
|
219
|
-
var
|
|
241
|
+
var index_default = builder;
|
|
220
242
|
// Annotate the CommonJS export names for ESM import in node:
|
|
221
243
|
0 && (module.exports = {
|
|
222
244
|
builder,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import { ClientHeaderBuilder, pascal } from '@orval/core';\nimport {\n camel,\n ClientBuilder,\n ClientGeneratorsBuilder,\n generateFormDataAndUrlEncodedFunction,\n generateVerbImports,\n GeneratorOptions,\n GeneratorVerbOptions,\n GetterPropType,\n stringify,\n toObjectString,\n generateBodyOptions,\n isObject,\n resolveRef,\n} from '@orval/core';\nimport {\n PathItemObject,\n ParameterObject,\n ReferenceObject,\n} from 'openapi3-ts/oas30';\n\nexport const generateRequestFunction = (\n {\n queryParams,\n headers,\n operationName,\n response,\n mutator,\n body,\n props,\n verb,\n formData,\n formUrlEncoded,\n override,\n }: GeneratorVerbOptions,\n { route, context, pathRoute }: GeneratorOptions,\n) => {\n const isRequestOptions = override?.requestOptions !== false;\n const isFormData = override?.formData.disabled === false;\n const isFormUrlEncoded = override?.formUrlEncoded !== false;\n\n const getUrlFnName = camel(`get-${operationName}-url`);\n const getUrlFnProps = 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 spec = context.specs[context.specKey].paths[pathRoute] as\n | PathItemObject\n | undefined;\n const parameters =\n spec?.[verb]?.parameters || ([] as (ParameterObject | ReferenceObject)[]);\n\n const explodeParameters = parameters.filter((parameter) => {\n const { schema } = resolveRef<ParameterObject>(parameter, context);\n\n return schema.in === 'query' && schema.explode;\n });\n\n const explodeParametersNames = explodeParameters.map((parameter) => {\n const { schema } = resolveRef<ParameterObject>(parameter, context);\n\n return schema.name;\n });\n\n const explodeArrayImplementation =\n explodeParameters.length > 0\n ? `const explodeParameters = ${JSON.stringify(explodeParametersNames)};\n\n if (value instanceof Array && explodeParameters.includes(key)) {\n value.forEach((v) => normalizedParams.append(key, v === null ? 'null' : v.toString()));\n return;\n }\n `\n : '';\n\n const isExplodeParametersOnly =\n explodeParameters.length === parameters.length;\n\n const nomalParamsImplementation = `if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : value.toString())\n }`;\n\n const getUrlFnImplementation = `export const ${getUrlFnName} = (${getUrlFnProps}) => {\n${\n queryParams\n ? ` const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n ${explodeArrayImplementation}\n ${!isExplodeParametersOnly ? nomalParamsImplementation : ''}\n });`\n : ''\n}\n\n ${queryParams ? `const stringifiedParams = normalizedParams.toString();` : ``}\n\n ${\n queryParams\n ? `return stringifiedParams.length > 0 ? \\`${route}${'?${stringifiedParams}'}\\` : \\`${route}\\``\n : `return \\`${route}\\``\n }\n}\\n`;\n\n const isContentTypeNdJson = (contentType: string) =>\n contentType === 'application/nd-json' ||\n contentType === 'application/x-ndjson';\n\n const isNdJson = response.contentTypes.some(isContentTypeNdJson);\n const responseTypeName = fetchResponseTypeName(\n override.fetch.includeHttpResponseReturnType,\n isNdJson ? 'Response' : response.definition.success,\n operationName,\n );\n\n const allResponses = [...response.types.success, ...response.types.errors];\n if (allResponses.length === 0) {\n allResponses.push({\n contentType: '',\n hasReadonlyProps: false,\n imports: [],\n isEnum: false,\n isRef: false,\n key: 'default',\n schemas: [],\n type: 'unknown',\n value: 'unknown',\n });\n }\n const nonDefaultStatuses = allResponses\n .filter((r) => r.key !== 'default')\n .map((r) => r.key);\n const responseDataTypes = allResponses\n .map(\n (r) => `export type ${responseTypeName}${pascal(r.key)} = {\n ${isContentTypeNdJson(r.contentType) ? 'stream: Response' : `data: ${r.value || 'unknown'}`}\n status: ${\n r.key === 'default'\n ? nonDefaultStatuses.length\n ? `Exclude<HTTPStatusCodes, ${nonDefaultStatuses.join(' | ')}>`\n : 'number'\n : r.key\n }\n}`,\n )\n .join('\\n\\n');\n\n const compositeName = `${responseTypeName}Composite`;\n const compositeResponse = `${compositeName} = ${allResponses.map((r) => `${responseTypeName}${pascal(r.key)}`).join(' | ')}`;\n\n const responseTypeImplementation = override.fetch\n .includeHttpResponseReturnType\n ? `${responseDataTypes}\n \nexport type ${compositeResponse};\n \nexport type ${responseTypeName} = ${compositeName} & {\n headers: Headers;\n}\\n\\n`\n : '';\n\n const getUrlFnProperties = 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 args = `${toObjectString(props, 'implementation')} ${isRequestOptions ? `options?: RequestInit` : ''}`;\n const returnType = `Promise<${responseTypeName}>`;\n\n const globalFetchOptions = isObject(override?.requestOptions)\n ? `${stringify(override?.requestOptions)?.slice(1, -1)?.trim()}`\n : '';\n const fetchMethodOption = `method: '${verb.toUpperCase()}'`;\n const ignoreContentTypes = ['multipart/form-data'];\n const fetchHeadersOption =\n body.contentType && !ignoreContentTypes.includes(body.contentType)\n ? `headers: { 'Content-Type': '${body.contentType}',${headers ? '...headers,' : ''} ...options?.headers }`\n : headers\n ? 'headers: {...headers, ...options?.headers}'\n : '';\n const requestBodyParams = generateBodyOptions(\n body,\n isFormData,\n isFormUrlEncoded,\n );\n const fetchBodyOption = requestBodyParams\n ? (isFormData && body.formData) || (isFormUrlEncoded && body.formUrlEncoded)\n ? `body: ${requestBodyParams}`\n : `body: JSON.stringify(${requestBodyParams})`\n : '';\n\n const fetchFnOptions = `${getUrlFnName}(${getUrlFnProperties}),\n {${globalFetchOptions ? '\\n' : ''} ${globalFetchOptions}\n ${isRequestOptions ? '...options,' : ''}\n ${fetchMethodOption}${fetchHeadersOption ? ',' : ''}\n ${fetchHeadersOption}${fetchBodyOption ? ',' : ''}\n ${fetchBodyOption}\n }\n`;\n const fetchResponseImplementation = isNdJson\n ? `const stream = await fetch(${fetchFnOptions})\n\n ${override.fetch.includeHttpResponseReturnType ? 'return { status: stream.status, stream, headers: stream.headers }' : `return stream`}\n `\n : `const res = await fetch(${fetchFnOptions})\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text()\n const data: ${responseTypeName}${override.fetch.includeHttpResponseReturnType ? `['data']` : ''} = body ? JSON.parse(body) : {}\n\n ${override.fetch.includeHttpResponseReturnType ? `return { data, status: res.status, headers: res.headers } as ${responseTypeName}` : 'return data'}\n`;\n const customFetchResponseImplementation = `return ${mutator?.name}<${responseTypeName}>(${fetchFnOptions});`;\n\n const bodyForm = generateFormDataAndUrlEncodedFunction({\n formData,\n formUrlEncoded,\n body,\n isFormData,\n isFormUrlEncoded,\n });\n\n const fetchImplementationBody = mutator\n ? customFetchResponseImplementation\n : fetchResponseImplementation;\n\n const fetchImplementation = `export const ${operationName} = async (${args}): ${returnType} => {\n ${bodyForm ? ` ${bodyForm}` : ''}\n ${fetchImplementationBody}}\n`;\n\n const implementation =\n `${responseTypeImplementation}` +\n `${getUrlFnImplementation}\\n` +\n `${fetchImplementation}\\n`;\n\n return implementation;\n};\n\nexport const fetchResponseTypeName = (\n includeHttpResponseReturnType: boolean,\n definitionSuccessResponse: string,\n operationName: string,\n) => {\n return includeHttpResponseReturnType\n ? `${operationName}Response`\n : definitionSuccessResponse;\n};\n\nexport const generateClient: ClientBuilder = (verbOptions, options) => {\n const imports = generateVerbImports(verbOptions);\n const functionImplementation = generateRequestFunction(verbOptions, options);\n\n return {\n implementation: `${functionImplementation}\\n`,\n imports,\n };\n};\n\nconst getHTTPStatusCodes = () => `\nexport type HTTPStatusCode1xx = 100 | 101 | 102 | 103;\nexport type HTTPStatusCode2xx = 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207;\nexport type HTTPStatusCode3xx = 300 | 301 | 302 | 303 | 304 | 305 | 307 | 308;\nexport type HTTPStatusCode4xx = 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 419 | 420 | 421 | 422 | 423 | 424 | 426 | 428 | 429 | 431 | 451;\nexport type HTTPStatusCode5xx = 500 | 501 | 502 | 503 | 504 | 505 | 507 | 511;\nexport type HTTPStatusCodes = HTTPStatusCode1xx | HTTPStatusCode2xx | HTTPStatusCode3xx | HTTPStatusCode4xx | HTTPStatusCode5xx;\n\n`;\n\nexport const generateFetchHeader: ClientHeaderBuilder = ({\n clientImplementation,\n}) => {\n return clientImplementation.includes('<HTTPStatusCodes,')\n ? getHTTPStatusCodes()\n : '';\n};\n\nconst fetchClientBuilder: ClientGeneratorsBuilder = {\n client: generateClient,\n header: generateFetchHeader,\n dependencies: () => [],\n};\n\nexport const builder = () => () => fetchClientBuilder;\n\nexport default builder;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA4C;AAC5C,IAAAA,eAcO;AAOA,IAAM,0BAA0B,CACrC;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,SAAS,UAAU,MACzB;AArCL;AAsCE,QAAM,oBAAmB,qCAAU,oBAAmB;AACtD,QAAM,cAAa,qCAAU,SAAS,cAAa;AACnD,QAAM,oBAAmB,qCAAU,oBAAmB;AAEtD,QAAM,mBAAe,oBAAM,OAAO,aAAa,MAAM;AACrD,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,OAAO,QAAQ,MAAM,QAAQ,OAAO,EAAE,MAAM,SAAS;AAG3D,QAAM,eACJ,kCAAO,UAAP,mBAAc,eAAe,CAAC;AAEhC,QAAM,oBAAoB,WAAW,OAAO,CAAC,cAAc;AACzD,UAAM,EAAE,OAAO,QAAI,yBAA4B,WAAW,OAAO;AAEjE,WAAO,OAAO,OAAO,WAAW,OAAO;AAAA,EACzC,CAAC;AAED,QAAM,yBAAyB,kBAAkB,IAAI,CAAC,cAAc;AAClE,UAAM,EAAE,OAAO,QAAI,yBAA4B,WAAW,OAAO;AAEjE,WAAO,OAAO;AAAA,EAChB,CAAC;AAED,QAAM,6BACJ,kBAAkB,SAAS,IACvB,6BAA6B,KAAK,UAAU,sBAAsB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAOnE;AAEN,QAAM,0BACJ,kBAAkB,WAAW,WAAW;AAE1C,QAAM,4BAA4B;AAAA;AAAA;AAIlC,QAAM,yBAAyB,gBAAgB,YAAY,OAAO,aAAa;AAAA,EAE/E,cACI;AAAA;AAAA;AAAA,MAGA,0BAA0B;AAAA,MAC1B,CAAC,0BAA0B,4BAA4B,EAAE;AAAA,SAEzD,EACN;AAAA;AAAA,IAEI,cAAc,2DAA2D,EAAE;AAAA;AAAA,IAG3E,cACI,2CAA2C,KAAK,GAAG,uBAAuB,UAAU,KAAK,OACzF,YAAY,KAAK,IACvB;AAAA;AAAA;AAGA,QAAM,sBAAsB,CAAC,gBAC3B,gBAAgB,yBAChB,gBAAgB;AAElB,QAAM,WAAW,SAAS,aAAa,KAAK,mBAAmB;AAC/D,QAAM,mBAAmB;AAAA,IACvB,SAAS,MAAM;AAAA,IACf,WAAW,aAAa,SAAS,WAAW;AAAA,IAC5C;AAAA,EACF;AAEA,QAAM,eAAe,CAAC,GAAG,SAAS,MAAM,SAAS,GAAG,SAAS,MAAM,MAAM;AACzE,MAAI,aAAa,WAAW,GAAG;AAC7B,iBAAa,KAAK;AAAA,MAChB,aAAa;AAAA,MACb,kBAAkB;AAAA,MAClB,SAAS,CAAC;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,KAAK;AAAA,MACL,SAAS,CAAC;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,IACT,CAAC;AAAA,EACH;AACA,QAAM,qBAAqB,aACxB,OAAO,CAAC,MAAM,EAAE,QAAQ,SAAS,EACjC,IAAI,CAAC,MAAM,EAAE,GAAG;AACnB,QAAM,oBAAoB,aACvB;AAAA,IACC,CAAC,MAAM,eAAe,gBAAgB,OAAG,oBAAO,EAAE,GAAG,CAAC;AAAA,IACxD,oBAAoB,EAAE,WAAW,IAAI,qBAAqB,SAAS,EAAE,SAAS,SAAS,EAAE;AAAA,YAEzF,EAAE,QAAQ,YACN,mBAAmB,SACjB,4BAA4B,mBAAmB,KAAK,KAAK,CAAC,MAC1D,WACF,EAAE,GACR;AAAA;AAAA,EAEE,EACC,KAAK,MAAM;AAEd,QAAM,gBAAgB,GAAG,gBAAgB;AACzC,QAAM,oBAAoB,GAAG,aAAa,MAAM,aAAa,IAAI,CAAC,MAAM,GAAG,gBAAgB,OAAG,oBAAO,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,KAAK,CAAC;AAE1H,QAAM,6BAA6B,SAAS,MACzC,gCACC,GAAG,iBAAiB;AAAA;AAAA,cAEZ,iBAAiB;AAAA;AAAA,cAEjB,gBAAgB,MAAM,aAAa;AAAA;AAAA;AAAA;AAAA,IAG3C;AAEJ,QAAM,qBAAqB,MACxB;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,OAAO,OAAG,6BAAe,OAAO,gBAAgB,CAAC,IAAI,mBAAmB,0BAA0B,EAAE;AAC1G,QAAM,aAAa,WAAW,gBAAgB;AAE9C,QAAM,yBAAqB,uBAAS,qCAAU,cAAc,IACxD,IAAG,uCAAU,qCAAU,cAAc,MAAlC,mBAAqC,MAAM,GAAG,QAA9C,mBAAmD,MAAM,KAC5D;AACJ,QAAM,oBAAoB,YAAY,KAAK,YAAY,CAAC;AACxD,QAAM,qBAAqB,CAAC,qBAAqB;AACjD,QAAM,qBACJ,KAAK,eAAe,CAAC,mBAAmB,SAAS,KAAK,WAAW,IAC7D,+BAA+B,KAAK,WAAW,KAAK,UAAU,gBAAgB,EAAE,2BAChF,UACE,+CACA;AACR,QAAM,wBAAoB;AAAA,IACxB;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,QAAM,kBAAkB,oBACnB,cAAc,KAAK,YAAc,oBAAoB,KAAK,iBACzD,SAAS,iBAAiB,KAC1B,wBAAwB,iBAAiB,MAC3C;AAEJ,QAAM,iBAAiB,GAAG,YAAY,IAAI,kBAAkB;AAAA,KACzD,qBAAqB,OAAO,EAAE,SAAS,kBAAkB;AAAA,MACxD,mBAAmB,gBAAgB,EAAE;AAAA,MACrC,iBAAiB,GAAG,qBAAqB,MAAM,EAAE;AAAA,MACjD,kBAAkB,GAAG,kBAAkB,MAAM,EAAE;AAAA,MAC/C,eAAe;AAAA;AAAA;AAGnB,QAAM,8BAA8B,WAChC,8BAA8B,cAAc;AAAA;AAAA,IAE9C,SAAS,MAAM,gCAAgC,sEAAsE,eAAe;AAAA,MAElI,2BAA2B,cAAc;AAAA;AAAA;AAAA,gBAG/B,gBAAgB,GAAG,SAAS,MAAM,gCAAgC,aAAa,EAAE;AAAA;AAAA,IAE7F,SAAS,MAAM,gCAAgC,gEAAgE,gBAAgB,KAAK,aAAa;AAAA;AAEnJ,QAAM,oCAAoC,UAAU,mCAAS,IAAI,IAAI,gBAAgB,KAAK,cAAc;AAExG,QAAM,eAAW,oDAAsC;AAAA,IACrD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,QAAM,0BAA0B,UAC5B,oCACA;AAEJ,QAAM,sBAAsB,gBAAgB,aAAa,aAAa,IAAI,MAAM,UAAU;AAAA,IACxF,WAAW,KAAK,QAAQ,KAAK,EAAE;AAAA,IAC/B,uBAAuB;AAAA;AAGzB,QAAM,iBACJ,GAAG,0BAA0B,GAC1B,sBAAsB;AAAA,EACtB,mBAAmB;AAAA;AAExB,SAAO;AACT;AAEO,IAAM,wBAAwB,CACnC,+BACA,2BACA,kBACG;AACH,SAAO,gCACH,GAAG,aAAa,aAChB;AACN;AAEO,IAAM,iBAAgC,CAAC,aAAa,YAAY;AACrE,QAAM,cAAU,kCAAoB,WAAW;AAC/C,QAAM,yBAAyB,wBAAwB,aAAa,OAAO;AAE3E,SAAO;AAAA,IACL,gBAAgB,GAAG,sBAAsB;AAAA;AAAA,IACzC;AAAA,EACF;AACF;AAEA,IAAM,qBAAqB,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAU1B,IAAM,sBAA2C,CAAC;AAAA,EACvD;AACF,MAAM;AACJ,SAAO,qBAAqB,SAAS,mBAAmB,IACpD,mBAAmB,IACnB;AACN;AAEA,IAAM,qBAA8C;AAAA,EAClD,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,cAAc,MAAM,CAAC;AACvB;AAEO,IAAM,UAAU,MAAM,MAAM;AAEnC,IAAO,cAAQ;","names":["import_core"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import { ClientHeaderBuilder, pascal } from '@orval/core';\nimport {\n camel,\n ClientBuilder,\n ClientGeneratorsBuilder,\n generateFormDataAndUrlEncodedFunction,\n generateVerbImports,\n GeneratorOptions,\n GeneratorVerbOptions,\n GetterPropType,\n stringify,\n toObjectString,\n generateBodyOptions,\n isObject,\n resolveRef,\n} from '@orval/core';\nimport {\n PathItemObject,\n ParameterObject,\n ReferenceObject,\n} from 'openapi3-ts/oas30';\n\nexport const generateRequestFunction = (\n {\n queryParams,\n headers,\n operationName,\n response,\n mutator,\n body,\n props,\n verb,\n fetchReviver,\n formData,\n formUrlEncoded,\n override,\n }: GeneratorVerbOptions,\n { route, context, pathRoute }: GeneratorOptions,\n) => {\n const isRequestOptions = override?.requestOptions !== false;\n const isFormData = override?.formData.disabled === false;\n const isFormUrlEncoded = override?.formUrlEncoded !== false;\n\n const getUrlFnName = camel(`get-${operationName}-url`);\n const getUrlFnProps = 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 spec = context.specs[context.specKey].paths[pathRoute] as\n | PathItemObject\n | undefined;\n const parameters =\n spec?.[verb]?.parameters || ([] as (ParameterObject | ReferenceObject)[]);\n\n const explodeParameters = parameters.filter((parameter) => {\n const { schema } = resolveRef<ParameterObject>(parameter, context);\n\n if (override.fetch.explode) {\n return schema.in === 'query' && schema.explode;\n } else {\n return schema.in === 'query' && schema.explode !== false;\n }\n });\n\n const explodeParametersNames = explodeParameters.map((parameter) => {\n const { schema } = resolveRef<ParameterObject>(parameter, context);\n\n return schema.name;\n });\n const hasDateParams =\n context.output.override.useDates &&\n parameters.some(\n (p) =>\n 'schema' in p &&\n p.schema &&\n 'format' in p.schema &&\n p.schema.format === 'date-time',\n );\n\n const explodeArrayImplementation =\n explodeParameters.length > 0\n ? `const explodeParameters = ${JSON.stringify(explodeParametersNames)};\n\n if (Array.isArray(value) && explodeParameters.includes(key)) {\n value.forEach((v) => normalizedParams.append(key, v === null ? 'null' : ${hasDateParams ? 'v instanceof Date ? v.toISOString() : ' : ''}v.toString()));\n return;\n }\n `\n : '';\n\n const isExplodeParametersOnly =\n explodeParameters.length === parameters.length;\n\n const nomalParamsImplementation = `if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : ${hasDateParams ? 'value instanceof Date ? value.toISOString() : ' : ''}value.toString())\n }`;\n\n const getUrlFnImplementation = `export const ${getUrlFnName} = (${getUrlFnProps}) => {\n${\n queryParams\n ? ` const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n ${explodeArrayImplementation}\n ${!isExplodeParametersOnly ? nomalParamsImplementation : ''}\n });`\n : ''\n}\n\n ${queryParams ? `const stringifiedParams = normalizedParams.toString();` : ``}\n\n ${\n queryParams\n ? `return stringifiedParams.length > 0 ? \\`${route}${'?${stringifiedParams}'}\\` : \\`${route}\\``\n : `return \\`${route}\\``\n }\n}\\n`;\n\n const isContentTypeNdJson = (contentType: string) =>\n contentType === 'application/nd-json' ||\n contentType === 'application/x-ndjson';\n\n const isNdJson = response.contentTypes.some(isContentTypeNdJson);\n const responseTypeName = fetchResponseTypeName(\n override.fetch?.includeHttpResponseReturnType,\n isNdJson ? 'Response' : response.definition.success,\n operationName,\n );\n\n const allResponses = [...response.types.success, ...response.types.errors];\n if (allResponses.length === 0) {\n allResponses.push({\n contentType: '',\n hasReadonlyProps: false,\n imports: [],\n isEnum: false,\n isRef: false,\n key: 'default',\n schemas: [],\n type: 'unknown',\n value: 'unknown',\n });\n }\n const nonDefaultStatuses = allResponses\n .filter((r) => r.key !== 'default')\n .map((r) => r.key);\n const responseDataTypes = allResponses\n .map((r) =>\n allResponses.filter((r2) => r2.key === r.key).length > 1\n ? { ...r, suffix: pascal(r.contentType) }\n : r,\n )\n .map((r) => {\n const name = `${responseTypeName}${pascal(r.key)}${'suffix' in r ? r.suffix : ''}`;\n return {\n name,\n value: `export type ${name} = {\n ${isContentTypeNdJson(r.contentType) ? `stream: TypedResponse<${r.value}>` : `data: ${r.value || 'unknown'}`}\n status: ${\n r.key === 'default'\n ? nonDefaultStatuses.length\n ? `Exclude<HTTPStatusCodes, ${nonDefaultStatuses.join(' | ')}>`\n : 'number'\n : r.key\n }\n}`,\n };\n });\n\n const compositeName = `${responseTypeName}Composite`;\n const compositeResponse = `${compositeName} = ${responseDataTypes.map((r) => r.name).join(' | ')}`;\n\n const responseTypeImplementation = override.fetch\n .includeHttpResponseReturnType\n ? `${responseDataTypes.map((r) => r.value).join('\\n\\n')}\n \nexport type ${compositeResponse};\n \nexport type ${responseTypeName} = ${compositeName} & {\n headers: Headers;\n}\\n\\n`\n : '';\n\n const getUrlFnProperties = 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 args = `${toObjectString(props, 'implementation')} ${isRequestOptions ? `options?: RequestInit` : ''}`;\n const returnType = `Promise<${responseTypeName}>`;\n\n const globalFetchOptions = isObject(override?.requestOptions)\n ? `${stringify(override?.requestOptions)?.slice(1, -1)?.trim()}`\n : '';\n const fetchMethodOption = `method: '${verb.toUpperCase()}'`;\n const ignoreContentTypes = ['multipart/form-data'];\n const headersToAdd: string[] = [\n ...(body.contentType && !ignoreContentTypes.includes(body.contentType)\n ? [`'Content-Type': '${body.contentType}'`]\n : []),\n ...(isNdJson && response.contentTypes.length === 1\n ? [\n `Accept: ${\n response.contentTypes[0] === 'application/x-ndjson'\n ? \"'application/x-ndjson'\"\n : \"'application/nd-json'\"\n }`,\n ]\n : []),\n ...(headers ? ['...headers'] : []),\n ];\n const fetchHeadersOption = headersToAdd.length\n ? `headers: { ${headersToAdd.join(',')}, ...options?.headers }`\n : '';\n const requestBodyParams = generateBodyOptions(\n body,\n isFormData,\n isFormUrlEncoded,\n );\n const fetchBodyOption = requestBodyParams\n ? (isFormData && body.formData) ||\n (isFormUrlEncoded && body.formUrlEncoded) ||\n body.contentType === 'text/plain'\n ? `body: ${requestBodyParams}`\n : `body: JSON.stringify(${requestBodyParams})`\n : '';\n\n const fetchFnOptions = `${getUrlFnName}(${getUrlFnProperties}),\n {${globalFetchOptions ? '\\n' : ''} ${globalFetchOptions}\n ${isRequestOptions ? '...options,' : ''}\n ${fetchMethodOption}${fetchHeadersOption ? ',' : ''}\n ${fetchHeadersOption}${fetchBodyOption ? ',' : ''}\n ${fetchBodyOption}\n }\n`;\n const reviver = fetchReviver ? `, ${fetchReviver.name}` : '';\n const fetchResponseImplementation = isNdJson\n ? `const stream = await fetch(${fetchFnOptions})\n\n ${override.fetch.includeHttpResponseReturnType ? `return { status: stream.status, stream, headers: stream.headers } as ${responseTypeName}` : `return stream`}\n `\n : `const res = await fetch(${fetchFnOptions})\n\n const body = [204, 205, 304].includes(res.status) ? null : await res.text()\n const data: ${responseTypeName}${override.fetch.includeHttpResponseReturnType ? `['data']` : ''} = body ? JSON.parse(body${reviver}) : {}\n\n ${override.fetch.includeHttpResponseReturnType ? `return { data, status: res.status, headers: res.headers } as ${responseTypeName}` : 'return data'}\n`;\n const customFetchResponseImplementation = `return ${mutator?.name}<${responseTypeName}>(${fetchFnOptions});`;\n\n const bodyForm = generateFormDataAndUrlEncodedFunction({\n formData,\n formUrlEncoded,\n body,\n isFormData,\n isFormUrlEncoded,\n });\n\n const fetchImplementationBody = mutator\n ? customFetchResponseImplementation\n : fetchResponseImplementation;\n\n const fetchImplementation = `export const ${operationName} = async (${args}): ${returnType} => {\n ${bodyForm ? ` ${bodyForm}` : ''}\n ${fetchImplementationBody}}\n`;\n\n const implementation =\n `${responseTypeImplementation}` +\n `${getUrlFnImplementation}\\n` +\n `${fetchImplementation}\\n`;\n\n return implementation;\n};\n\nexport const fetchResponseTypeName = (\n includeHttpResponseReturnType: boolean | undefined,\n definitionSuccessResponse: string,\n operationName: string,\n) => {\n return includeHttpResponseReturnType\n ? `${operationName}Response`\n : definitionSuccessResponse;\n};\n\nexport const generateClient: ClientBuilder = (verbOptions, options) => {\n const imports = generateVerbImports(verbOptions);\n const functionImplementation = generateRequestFunction(verbOptions, options);\n\n return {\n implementation: `${functionImplementation}\\n`,\n imports,\n };\n};\n\nconst getHTTPStatusCodes = () => `\nexport type HTTPStatusCode1xx = 100 | 101 | 102 | 103;\nexport type HTTPStatusCode2xx = 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207;\nexport type HTTPStatusCode3xx = 300 | 301 | 302 | 303 | 304 | 305 | 307 | 308;\nexport type HTTPStatusCode4xx = 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 419 | 420 | 421 | 422 | 423 | 424 | 426 | 428 | 429 | 431 | 451;\nexport type HTTPStatusCode5xx = 500 | 501 | 502 | 503 | 504 | 505 | 507 | 511;\nexport type HTTPStatusCodes = HTTPStatusCode1xx | HTTPStatusCode2xx | HTTPStatusCode3xx | HTTPStatusCode4xx | HTTPStatusCode5xx;\n\n`;\n\nexport const generateFetchHeader: ClientHeaderBuilder = ({\n clientImplementation,\n}) => {\n return clientImplementation.includes('<HTTPStatusCodes,')\n ? getHTTPStatusCodes()\n : '';\n};\n\nconst fetchClientBuilder: ClientGeneratorsBuilder = {\n client: generateClient,\n header: generateFetchHeader,\n dependencies: () => [],\n};\n\nexport const builder = () => () => fetchClientBuilder;\n\nexport default builder;\n"],"mappings":"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","names":["import_core"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@orval/fetch",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.11.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -13,6 +13,6 @@
|
|
|
13
13
|
"lint": "eslint src/**/*.ts"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@orval/core": "7.
|
|
16
|
+
"@orval/core": "7.11.0"
|
|
17
17
|
}
|
|
18
18
|
}
|