@orval/axios 6.22.1 → 6.24.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.js +4 -9
- package/dist/index.js.map +1 -0
- package/package.json +4 -4
package/dist/index.js
CHANGED
|
@@ -82,9 +82,9 @@ var generateAxiosImplementation = ({
|
|
|
82
82
|
const isRequestOptions = (override == null ? void 0 : override.requestOptions) !== false;
|
|
83
83
|
const isFormData = (override == null ? void 0 : override.formData) !== false;
|
|
84
84
|
const isFormUrlEncoded = (override == null ? void 0 : override.formUrlEncoded) !== false;
|
|
85
|
-
const isExactOptionalPropertyTypes = !!((_b = (_a = context.tsconfig) == null ? void 0 : _a.compilerOptions) == null ? void 0 : _b.exactOptionalPropertyTypes);
|
|
85
|
+
const isExactOptionalPropertyTypes = !!((_b = (_a = context.output.tsconfig) == null ? void 0 : _a.compilerOptions) == null ? void 0 : _b.exactOptionalPropertyTypes);
|
|
86
86
|
const isSyntheticDefaultImportsAllowed = (0, import_core.isSyntheticDefaultImportsAllow)(
|
|
87
|
-
context.tsconfig
|
|
87
|
+
context.output.tsconfig
|
|
88
88
|
);
|
|
89
89
|
const bodyForm = (0, import_core.generateFormDataAndUrlEncodedFunction)({
|
|
90
90
|
formData,
|
|
@@ -167,13 +167,7 @@ var generateAxiosHeader = ({
|
|
|
167
167
|
isMutator,
|
|
168
168
|
noFunction
|
|
169
169
|
}) => `
|
|
170
|
-
${isRequestOptions && isMutator ?
|
|
171
|
-
type SecondParameter<T extends (...args: any) => any> = T extends (
|
|
172
|
-
config: any,
|
|
173
|
-
args: infer P,
|
|
174
|
-
) => any
|
|
175
|
-
? P
|
|
176
|
-
: never;
|
|
170
|
+
${isRequestOptions && isMutator ? `type SecondParameter<T extends (...args: any) => any> = Parameters<T>[1];
|
|
177
171
|
|
|
178
172
|
` : ""}
|
|
179
173
|
${!noFunction ? `export const ${title} = () => {
|
|
@@ -248,3 +242,4 @@ var src_default = builder;
|
|
|
248
242
|
generateAxiosTitle,
|
|
249
243
|
getAxiosDependencies
|
|
250
244
|
});
|
|
245
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import {\n ClientBuilder,\n ClientDependenciesBuilder,\n ClientFooterBuilder,\n ClientGeneratorsBuilder,\n ClientHeaderBuilder,\n ClientTitleBuilder,\n generateFormDataAndUrlEncodedFunction,\n generateMutatorConfig,\n generateMutatorRequestOptions,\n generateOptions,\n generateVerbImports,\n GeneratorDependency,\n GeneratorOptions,\n GeneratorVerbOptions,\n isSyntheticDefaultImportsAllow,\n pascal,\n sanitize,\n toObjectString,\n VERBS_WITH_BODY,\n} from '@orval/core';\n\nconst AXIOS_DEPENDENCIES: GeneratorDependency[] = [\n {\n exports: [\n {\n name: 'axios',\n default: true,\n values: true,\n syntheticDefaultImport: true,\n },\n { name: 'AxiosRequestConfig' },\n { name: 'AxiosResponse' },\n ],\n dependency: 'axios',\n },\n];\n\nconst PARAMS_SERIALIZER_DEPENDENCIES: GeneratorDependency[] = [\n {\n exports: [\n {\n name: 'qs',\n default: true,\n values: true,\n syntheticDefaultImport: true,\n },\n ],\n dependency: 'qs',\n },\n];\n\nconst returnTypesToWrite: Map<string, (title?: string) => string> = new Map();\n\nexport const getAxiosDependencies: ClientDependenciesBuilder = (\n hasGlobalMutator,\n hasParamsSerializerOptions: boolean,\n) => [\n ...(!hasGlobalMutator ? AXIOS_DEPENDENCIES : []),\n ...(hasParamsSerializerOptions ? PARAMS_SERIALIZER_DEPENDENCIES : []),\n];\n\nconst generateAxiosImplementation = (\n {\n headers,\n queryParams,\n operationName,\n response,\n mutator,\n body,\n props,\n verb,\n override,\n formData,\n formUrlEncoded,\n paramsSerializer,\n }: GeneratorVerbOptions,\n { route, context }: GeneratorOptions,\n) => {\n const isRequestOptions = override?.requestOptions !== false;\n const isFormData = override?.formData !== false;\n const isFormUrlEncoded = override?.formUrlEncoded !== false;\n const isExactOptionalPropertyTypes =\n !!context.output.tsconfig?.compilerOptions?.exactOptionalPropertyTypes;\n\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 const isBodyVerb = VERBS_WITH_BODY.includes(verb);\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 isBodyVerb,\n hasSignal: false,\n isExactOptionalPropertyTypes,\n });\n\n const requestOptions = isRequestOptions\n ? generateMutatorRequestOptions(\n override?.requestOptions,\n mutator.hasSecondArg,\n )\n : '';\n\n returnTypesToWrite.set(\n operationName,\n (title?: string) =>\n `export type ${pascal(\n operationName,\n )}Result = NonNullable<Awaited<ReturnType<${\n title\n ? `ReturnType<typeof ${title}>['${operationName}']`\n : `typeof ${operationName}`\n }>>>`,\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 return `const ${operationName} = (\\n ${propsImplementation}\\n ${\n isRequestOptions && mutator.hasSecondArg\n ? `options?: SecondParameter<typeof ${mutator.name}>,`\n : ''\n }) => {${bodyForm}\n return ${mutator.name}<${response.definition.success || 'unknown'}>(\n ${mutatorConfig},\n ${requestOptions});\n }\n `;\n }\n\n const options = generateOptions({\n route,\n body,\n headers,\n queryParams,\n response,\n verb,\n requestOptions: override?.requestOptions,\n isFormData,\n isFormUrlEncoded,\n paramsSerializer,\n paramsSerializerOptions: override?.paramsSerializerOptions,\n isExactOptionalPropertyTypes,\n hasSignal: false,\n });\n\n returnTypesToWrite.set(\n operationName,\n () =>\n `export type ${pascal(operationName)}Result = AxiosResponse<${\n response.definition.success || 'unknown'\n }>`,\n );\n\n return `const ${operationName} = <TData = AxiosResponse<${\n response.definition.success || 'unknown'\n }>>(\\n ${toObjectString(props, 'implementation')} ${\n isRequestOptions ? `options?: AxiosRequestConfig\\n` : ''\n } ): Promise<TData> => {${bodyForm}\n return axios${\n !isSyntheticDefaultImportsAllowed ? '.default' : ''\n }.${verb}(${options});\n }\n`;\n};\n\nexport const generateAxiosTitle: ClientTitleBuilder = (title) => {\n const sanTitle = sanitize(title);\n return `get${pascal(sanTitle)}`;\n};\n\nexport const generateAxiosHeader: ClientHeaderBuilder = ({\n title,\n isRequestOptions,\n isMutator,\n noFunction,\n}) => `\n${\n isRequestOptions && isMutator\n ? `type SecondParameter<T extends (...args: any) => any> = Parameters<T>[1];\\n\\n`\n : ''\n}\n ${!noFunction ? `export const ${title} = () => {\\n` : ''}`;\n\nexport const generateAxiosFooter: ClientFooterBuilder = ({\n operationNames,\n title,\n noFunction,\n hasMutator,\n hasAwaitedType,\n}) => {\n let footer = '';\n\n if (!noFunction) {\n footer += `return {${operationNames.join(',')}}};\\n`;\n }\n\n if (hasMutator && !hasAwaitedType) {\n footer += `\\ntype AwaitedInput<T> = PromiseLike<T> | T;\\n\n type Awaited<O> = O extends AwaitedInput<infer T> ? T : never;\n\\n`;\n }\n\n operationNames.forEach((operationName) => {\n if (returnTypesToWrite.has(operationName)) {\n const func = returnTypesToWrite.get(operationName)!;\n footer += func(!noFunction ? title : undefined) + '\\n';\n }\n });\n\n return footer;\n};\n\nexport const generateAxios = (\n verbOptions: GeneratorVerbOptions,\n options: GeneratorOptions,\n) => {\n const imports = generateVerbImports(verbOptions);\n const implementation = generateAxiosImplementation(verbOptions, options);\n\n return { implementation, imports };\n};\n\nexport const generateAxiosFunctions: ClientBuilder = async (\n verbOptions,\n options,\n) => {\n const { implementation, imports } = generateAxios(verbOptions, options);\n\n return {\n implementation: 'export ' + implementation,\n imports,\n };\n};\n\nconst axiosClientBuilder: ClientGeneratorsBuilder = {\n client: generateAxios,\n header: generateAxiosHeader,\n dependencies: getAxiosDependencies,\n footer: generateAxiosFooter,\n title: generateAxiosTitle,\n};\n\nconst axiosFunctionsClientBuilder: ClientGeneratorsBuilder = {\n client: generateAxiosFunctions,\n header: (options) => generateAxiosHeader({ ...options, noFunction: true }),\n dependencies: getAxiosDependencies,\n footer: (options) => generateAxiosFooter({ ...options, noFunction: true }),\n title: generateAxiosTitle,\n};\n\nconst builders: Record<'axios' | 'axios-functions', ClientGeneratorsBuilder> = {\n axios: axiosClientBuilder,\n 'axios-functions': axiosFunctionsClientBuilder,\n};\n\nexport const builder =\n ({ type = 'axios-functions' }: { type?: 'axios' | 'axios-functions' } = {}) =>\n () =>\n builders[type];\n\nexport default builder;\n"],"mappings":"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","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@orval/axios",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.24.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -8,11 +8,11 @@
|
|
|
8
8
|
"dist"
|
|
9
9
|
],
|
|
10
10
|
"scripts": {
|
|
11
|
-
"build": "tsup ./src/index.ts --target node12 --clean --dts",
|
|
12
|
-
"dev": "tsup ./src/index.ts --target node12 --clean --watch src",
|
|
11
|
+
"build": "tsup ./src/index.ts --target node12 --clean --sourcemap --dts",
|
|
12
|
+
"dev": "tsup ./src/index.ts --target node12 --clean --sourcemap --watch src",
|
|
13
13
|
"lint": "eslint src/**/*.ts"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@orval/core": "6.
|
|
16
|
+
"@orval/core": "6.24.0"
|
|
17
17
|
}
|
|
18
18
|
}
|