Prevent duplication of parameter names

This commit is contained in:
kulczy 2022-06-07 22:40:56 +02:00
parent a199552350
commit a5f6367f78
2 changed files with 3 additions and 0 deletions

View File

@ -13,5 +13,7 @@ describe('getOperationParameterName', () => {
expect(getOperationParameterName('123.foo.bar')).toEqual('fooBar');
expect(getOperationParameterName('Foo-Bar')).toEqual('fooBar');
expect(getOperationParameterName('FOO-BAR')).toEqual('fooBar');
expect(getOperationParameterName('foo[bar]')).toEqual('fooBar');
expect(getOperationParameterName('foo.bar[]')).toEqual('fooBarArray');
});
});

View File

@ -10,6 +10,7 @@ const reservedWords =
export const getOperationParameterName = (value: string): string => {
const clean = value
.replace(/^[^a-zA-Z]+/g, '')
.replace('[]', 'Array')
.replace(/[^\w\-]+/g, '-')
.trim();
return camelCase(clean).replace(reservedWords, '_$1');