From a5f6367f78767c63a3aacec6755f9370aa45e583 Mon Sep 17 00:00:00 2001 From: kulczy Date: Tue, 7 Jun 2022 22:40:56 +0200 Subject: [PATCH] Prevent duplication of parameter names --- src/openApi/v3/parser/getOperationParameterName.spec.ts | 2 ++ src/openApi/v3/parser/getOperationParameterName.ts | 1 + 2 files changed, 3 insertions(+) diff --git a/src/openApi/v3/parser/getOperationParameterName.spec.ts b/src/openApi/v3/parser/getOperationParameterName.spec.ts index 72501153..07074959 100644 --- a/src/openApi/v3/parser/getOperationParameterName.spec.ts +++ b/src/openApi/v3/parser/getOperationParameterName.spec.ts @@ -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'); }); }); diff --git a/src/openApi/v3/parser/getOperationParameterName.ts b/src/openApi/v3/parser/getOperationParameterName.ts index de9b154b..d08ca34b 100644 --- a/src/openApi/v3/parser/getOperationParameterName.ts +++ b/src/openApi/v3/parser/getOperationParameterName.ts @@ -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');