Skip to content

Commit 663cafa

Browse files
authoredSep 11, 2023
feat(namedParameters): Add global named parameters option (#914)
* fix: correct `jsStringEscape` import * feat(namedParameters): add global `useNamedParameters` option * feat(namedParameters): add NAMED_PATH_PARAMS prop type * test(axios): add named parameters test * test(angular): add named parameters test * test(react-query): add named parameters test * fix(query): introduce destructured usage * test(svelte-query): add named parameters test * test(vue-query): add named parameters test * fix(vue-query): rework MaybeRef logic * fix(swr): introduce destructured usage * test(swr): add named parameters test * chore(cra): update react-scripts * fix(angular-app): update sample * fix(react-app): update sample * fix(react-app-with-swr): update sample * fix(react-query/basic-app): update sample * fix(react-query/custom-client-app): update sample * fix(react-query/form-data-app): update sample * fix(react-query/form-data-mutator-app): update sample * fix(react-query/form-url-encoded-mutator-app): update sample * fix(react-query/hook-mutator-app): update sample * fix(svelte-query): update sample * fix(vue-query-app): update sample * fix(namedParameters): optional arg when all params are optional
1 parent 4285634 commit 663cafa

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+25466
-31250
lines changed
 

‎docs/src/pages/reference/configuration/output.md

+22
Original file line numberDiff line numberDiff line change
@@ -1072,6 +1072,28 @@ module.exports = {
10721072
};
10731073
```
10741074

1075+
#### useNamedParameters
1076+
1077+
Type: `Boolean`.
1078+
1079+
Default Value: `false`.
1080+
1081+
Generates the operation interfaces with named path parameters instead of individual arguments for each path parameter.
1082+
1083+
Example:
1084+
1085+
```js
1086+
module.exports = {
1087+
petstore: {
1088+
output: {
1089+
override: {
1090+
useNamedParameters: true,
1091+
},
1092+
},
1093+
},
1094+
};
1095+
```
1096+
10751097
#### useTypeOverInterfaces
10761098

10771099
Type: `Boolean`

‎packages/core/src/generators/imports.ts

+7
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import {
44
GeneratorImport,
55
GeneratorMutator,
66
GeneratorVerbOptions,
7+
GetterPropType,
78
} from '../types';
89
import { camel, upath } from '../utils';
910

@@ -275,11 +276,17 @@ export const generateVerbImports = ({
275276
response,
276277
body,
277278
queryParams,
279+
props,
278280
headers,
279281
params,
280282
}: GeneratorVerbOptions): GeneratorImport[] => [
281283
...response.imports,
282284
...body.imports,
285+
...props.flatMap((prop) =>
286+
prop.type === GetterPropType.NAMED_PATH_PARAMS
287+
? [{ name: prop.schema.name }]
288+
: [],
289+
),
283290
...(queryParams ? [{ name: queryParams.schema.name }] : []),
284291
...(headers ? [{ name: headers.schema.name }] : []),
285292
...params.flatMap<GeneratorImport>(({ imports }) => imports),

1 commit comments

Comments
 (1)

vercel[bot] commented on Sep 11, 2023

@vercel[bot]
Please sign in to comment.