11/* eslint-disable no-template-curly-in-string */
22import { aliasIfReserved , aliasNameIfReserved } from './aliasIfReserved' ;
3+ import { IdentifierFormat , makeIdentifier } from './makeIdentifier' ;
34import { objectTemplate } from './objectTemplate' ;
4- import { safeName } from './safeName' ;
55
66export type ClientMethodTemplateArgs = {
77 httpMethod : string ;
@@ -120,14 +120,19 @@ export const clientMethodTemplate = (
120120
121121 const decomposeParameters = paramNames . any ( )
122122 ? `const {${ paramNames
123- . map ( safeName )
123+ . map ( name => makeIdentifier ( name , IdentifierFormat . camelCase ) )
124124 . map ( aliasIfReserved )
125125 . join ( ', ' ) } } = args;`
126126 : '' ;
127127
128128 const composeQuery = queryParams . any ( )
129129 ? `const query = qs.stringify({ ${ queryParams
130- . map ( q => `["${ q . name } "]: ${ safeName ( aliasIfReserved ( q . name ) ) } ` )
130+ . map (
131+ q =>
132+ `["${ q . name } "]: ${ aliasNameIfReserved (
133+ makeIdentifier ( q . name , IdentifierFormat . camelCase )
134+ ) } `
135+ )
131136 . join ( ', ' ) } }${
132137 queryArrayFormat === 'comma' ? ", { arrayFormat: 'comma' }" : ''
133138 } );`
@@ -152,17 +157,15 @@ export const clientMethodTemplate = (
152157
153158 const headers = headerParams
154159 . map ( h => {
160+ const localVarName = aliasNameIfReserved (
161+ makeIdentifier ( h . name , IdentifierFormat . camelCase )
162+ ) ;
163+
155164 if ( h . required ) {
156- return `["${ h . name } "]: ${ safeName ( aliasIfReserved ( h . name ) ) } ` ;
165+ return `["${ h . name } "]: ${ localVarName } ` ;
157166 }
158167
159- return `...(typeof ${ safeName (
160- aliasNameIfReserved ( h . name )
161- ) } !== 'undefined' && ${ safeName (
162- aliasNameIfReserved ( h . name )
163- ) } !== null ? { ["${ h . name } "]: ${ safeName (
164- aliasIfReserved ( h . name )
165- ) } } : {})`;
168+ return `...(typeof ${ localVarName } !== 'undefined' && ${ localVarName } !== null ? { ["${ h . name } "]: ${ localVarName } } : {})` ;
166169 } )
167170 . concat (
168171 body ?. type === 'json' ? [ "'Content-Type': 'application/json'" ] : [ ]
0 commit comments