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 3a7fb408..a3caa291 100644 --- a/src/openApi/v3/parser/getOperationParameterName.ts +++ b/src/openApi/v3/parser/getOperationParameterName.ts @@ -9,6 +9,7 @@ import { reservedWords } from '../../../utils/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'); diff --git a/src/templates/core/OpenAPI.hbs b/src/templates/core/OpenAPI.hbs index 19e66fbf..7b9560a2 100644 --- a/src/templates/core/OpenAPI.hbs +++ b/src/templates/core/OpenAPI.hbs @@ -10,11 +10,11 @@ export type OpenAPIConfig = { VERSION: string; WITH_CREDENTIALS: boolean; CREDENTIALS: 'include' | 'omit' | 'same-origin'; - TOKEN?: string | Resolver; - USERNAME?: string | Resolver; - PASSWORD?: string | Resolver; - HEADERS?: Headers | Resolver; - ENCODE_PATH?: (path: string) => string; + TOKEN?: string | Resolver | undefined; + USERNAME?: string | Resolver | undefined; + PASSWORD?: string | Resolver | undefined; + HEADERS?: Headers | Resolver | undefined; + ENCODE_PATH?: ((path: string) => string) | undefined; }; export const OpenAPI: OpenAPIConfig = {