Skip to content

Commit c812bd0

Browse files
committed
change --igrnoreOperationId to --useOperationId; make the flag consistent throughout the codebase and documentation
1 parent 8cd10e9 commit c812bd0

File tree

7 files changed

+37
-37
lines changed

7 files changed

+37
-37
lines changed

bin/index.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ const params = program
1919
.option('--exportCore <value>', 'Write core files to disk', true)
2020
.option('--exportServices <value>', 'Write services to disk', true)
2121
.option('--exportModels <value>', 'Write models to disk', true)
22-
.option('--ignoreOperationId <value>', 'Use operation id', true)
22+
.option('--useOperationId <value>', 'Use operation id to generate operation names', true)
2323
.option('--exportSchemas <value>', 'Write schemas to disk', false)
2424
.option('--indent <value>', 'Indentation options [4, 2, tabs]', '4')
2525
.option('--postfixServices <value>', 'Service name postfix', 'Service')
@@ -42,7 +42,7 @@ if (OpenAPI) {
4242
exportServices: JSON.parse(params.exportServices) === true,
4343
exportModels: JSON.parse(params.exportModels) === true,
4444
exportSchemas: JSON.parse(params.exportSchemas) === true,
45-
ignoreOperationId: JSON.parse(params.ignoreOperationId) === true,
45+
useOperationId: JSON.parse(params.useOperationId) === true,
4646
indent: params.indent,
4747
postfixServices: params.postfixServices,
4848
postfixModels: params.postfixModels,

src/index.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ export type Options = {
2323
exportServices?: boolean;
2424
exportModels?: boolean;
2525
exportSchemas?: boolean;
26-
ignoreOperationId?: boolean;
26+
useOperationId?: boolean;
2727
indent?: Indent;
2828
postfixServices?: string;
2929
postfixModels?: string;
@@ -63,7 +63,7 @@ export const generate = async ({
6363
exportServices = true,
6464
exportModels = true,
6565
exportSchemas = false,
66-
ignoreOperationId = false,
66+
useOperationId = true,
6767
indent = Indent.SPACE_4,
6868
postfixServices = 'Service',
6969
postfixModels = '',
@@ -104,7 +104,7 @@ export const generate = async ({
104104
}
105105

106106
case OpenApiVersion.V3: {
107-
const client = parseV3(openApi, ignoreOperationId);
107+
const client = parseV3(openApi, useOperationId);
108108
const clientFinal = postProcessClient(client);
109109
if (!write) break;
110110
await writeClient(

src/openApi/v3/index.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ import { getServiceVersion } from './parser/getServiceVersion';
99
* Parse the OpenAPI specification to a Client model that contains
1010
* all the models, services and schema's we should output.
1111
* @param openApi The OpenAPI spec that we have loaded from disk.
12-
* @param ignoreOperationId should the operationId be ignored when generating operation names
12+
* @param useOperationId should the operationId be used when generating operation names
1313
*/
14-
export const parse = (openApi: OpenApi, ignoreOperationId: boolean): Client => {
14+
export const parse = (openApi: OpenApi, useOperationId: boolean): Client => {
1515
const version = getServiceVersion(openApi.info.version);
1616
const server = getServer(openApi);
1717
const models = getModels(openApi);
18-
const services = getServices(openApi, ignoreOperationId);
18+
const services = getServices(openApi, useOperationId);
1919

2020
return { version, server, models, services };
2121
};

src/openApi/v3/parser/getOperation.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@ export const getOperation = (
2121
tag: string,
2222
op: OpenApiOperation,
2323
pathParams: OperationParameters,
24-
ignoreOperationId: boolean
24+
useOperationId: boolean
2525
): Operation => {
2626
const serviceName = getServiceName(tag);
27-
const operationName = getOperationName(url, method, ignoreOperationId, op.operationId);
27+
const operationName = getOperationName(url, method, useOperationId, op.operationId);
2828

2929
// Create a new operation object for this method.
3030
const operation: Operation = {

src/openApi/v3/parser/getOperationName.spec.ts

+23-23
Original file line numberDiff line numberDiff line change
@@ -2,32 +2,32 @@ import { getOperationName } from './getOperationName';
22

33
describe('getOperationName', () => {
44
it('should produce correct result', () => {
5-
expect(getOperationName('/api/v{api-version}/users', 'GET', false, 'GetAllUsers')).toEqual('getAllUsers');
6-
expect(getOperationName('/api/v{api-version}/users', 'GET', false, undefined)).toEqual('getApiUsers');
7-
expect(getOperationName('/api/v{api-version}/users', 'POST', false, undefined)).toEqual('postApiUsers');
8-
expect(getOperationName('/api/v1/users', 'GET', false, 'GetAllUsers')).toEqual('getAllUsers');
9-
expect(getOperationName('/api/v1/users', 'GET', false, undefined)).toEqual('getApiV1Users');
10-
expect(getOperationName('/api/v1/users', 'POST', false, undefined)).toEqual('postApiV1Users');
11-
expect(getOperationName('/api/v1/users/{id}', 'GET', false, undefined)).toEqual('getApiV1UsersById');
12-
expect(getOperationName('/api/v1/users/{id}', 'POST', false, undefined)).toEqual('postApiV1UsersById');
5+
expect(getOperationName('/api/v{api-version}/users', 'GET', true, 'GetAllUsers')).toEqual('getAllUsers');
6+
expect(getOperationName('/api/v{api-version}/users', 'GET', true, undefined)).toEqual('getApiUsers');
7+
expect(getOperationName('/api/v{api-version}/users', 'POST', true, undefined)).toEqual('postApiUsers');
8+
expect(getOperationName('/api/v1/users', 'GET', true, 'GetAllUsers')).toEqual('getAllUsers');
9+
expect(getOperationName('/api/v1/users', 'GET', true, undefined)).toEqual('getApiV1Users');
10+
expect(getOperationName('/api/v1/users', 'POST', true, undefined)).toEqual('postApiV1Users');
11+
expect(getOperationName('/api/v1/users/{id}', 'GET', true, undefined)).toEqual('getApiV1UsersById');
12+
expect(getOperationName('/api/v1/users/{id}', 'POST', true, undefined)).toEqual('postApiV1UsersById');
1313

14-
expect(getOperationName('/api/v{api-version}/users', 'GET', false, 'fooBar')).toEqual('fooBar');
15-
expect(getOperationName('/api/v{api-version}/users', 'GET', false, 'FooBar')).toEqual('fooBar');
16-
expect(getOperationName('/api/v{api-version}/users', 'GET', false, 'Foo Bar')).toEqual('fooBar');
17-
expect(getOperationName('/api/v{api-version}/users', 'GET', false, 'foo bar')).toEqual('fooBar');
18-
expect(getOperationName('/api/v{api-version}/users', 'GET', false, 'foo-bar')).toEqual('fooBar');
19-
expect(getOperationName('/api/v{api-version}/users', 'GET', false, 'foo_bar')).toEqual('fooBar');
20-
expect(getOperationName('/api/v{api-version}/users', 'GET', false, 'foo.bar')).toEqual('fooBar');
21-
expect(getOperationName('/api/v{api-version}/users', 'GET', false, '@foo.bar')).toEqual('fooBar');
22-
expect(getOperationName('/api/v{api-version}/users', 'GET', false, '$foo.bar')).toEqual('fooBar');
23-
expect(getOperationName('/api/v{api-version}/users', 'GET', false, '_foo.bar')).toEqual('fooBar');
24-
expect(getOperationName('/api/v{api-version}/users', 'GET', false, '-foo.bar')).toEqual('fooBar');
25-
expect(getOperationName('/api/v{api-version}/users', 'GET', false, '123.foo.bar')).toEqual('fooBar');
14+
expect(getOperationName('/api/v{api-version}/users', 'GET', true, 'fooBar')).toEqual('fooBar');
15+
expect(getOperationName('/api/v{api-version}/users', 'GET', true, 'FooBar')).toEqual('fooBar');
16+
expect(getOperationName('/api/v{api-version}/users', 'GET', true, 'Foo Bar')).toEqual('fooBar');
17+
expect(getOperationName('/api/v{api-version}/users', 'GET', true, 'foo bar')).toEqual('fooBar');
18+
expect(getOperationName('/api/v{api-version}/users', 'GET', true, 'foo-bar')).toEqual('fooBar');
19+
expect(getOperationName('/api/v{api-version}/users', 'GET', true, 'foo_bar')).toEqual('fooBar');
20+
expect(getOperationName('/api/v{api-version}/users', 'GET', true, 'foo.bar')).toEqual('fooBar');
21+
expect(getOperationName('/api/v{api-version}/users', 'GET', true, '@foo.bar')).toEqual('fooBar');
22+
expect(getOperationName('/api/v{api-version}/users', 'GET', true, '$foo.bar')).toEqual('fooBar');
23+
expect(getOperationName('/api/v{api-version}/users', 'GET', true, '_foo.bar')).toEqual('fooBar');
24+
expect(getOperationName('/api/v{api-version}/users', 'GET', true, '-foo.bar')).toEqual('fooBar');
25+
expect(getOperationName('/api/v{api-version}/users', 'GET', true, '123.foo.bar')).toEqual('fooBar');
2626

27-
expect(getOperationName('/api/v1/users', 'GET', true, 'GetAllUsers')).toEqual('getApiV1Users');
28-
expect(getOperationName('/api/v{api-version}/users', 'GET', true, 'fooBar')).toEqual('getApiUsers');
27+
expect(getOperationName('/api/v1/users', 'GET', false, 'GetAllUsers')).toEqual('getApiV1Users');
28+
expect(getOperationName('/api/v{api-version}/users', 'GET', false, 'fooBar')).toEqual('getApiUsers');
2929
expect(
30-
getOperationName('/api/v{api-version}/users/{userId}/location/{locationId}', 'GET', true, 'fooBar')
30+
getOperationName('/api/v{api-version}/users/{userId}/location/{locationId}', 'GET', false, 'fooBar')
3131
).toEqual('getApiUsersByUserIdLocationByLocationId');
3232
});
3333
});

src/openApi/v3/parser/getOperationName.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ import camelCase from 'camelcase';
88
export const getOperationName = (
99
url: string,
1010
method: string,
11-
ignoreOperationId: boolean,
11+
useOperationId: boolean,
1212
operationId?: string
1313
): string => {
14-
if (operationId && !ignoreOperationId) {
14+
if (useOperationId && operationId) {
1515
return camelCase(
1616
operationId
1717
.replace(/^[^a-zA-Z]+/g, '')

src/openApi/v3/parser/getServices.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { getOperationParameters } from './getOperationParameters';
77
/**
88
* Get the OpenAPI services
99
*/
10-
export const getServices = (openApi: OpenApi, ignoreOperationId: boolean): Service[] => {
10+
export const getServices = (openApi: OpenApi, useOperationId: boolean): Service[] => {
1111
const services = new Map<string, Service>();
1212
for (const url in openApi.paths) {
1313
if (openApi.paths.hasOwnProperty(url)) {
@@ -37,7 +37,7 @@ export const getServices = (openApi: OpenApi, ignoreOperationId: boolean): Servi
3737
tag,
3838
op,
3939
pathParams,
40-
ignoreOperationId
40+
useOperationId
4141
);
4242

4343
// If we have already declared a service, then we should fetch that and

0 commit comments

Comments
 (0)