@goast/kotlin 0.1.15 → 0.1.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/lib/generators/services/spring-controllers/spring-controller-generator.js +22 -6
- package/esm/lib/generators/services/spring-controllers/spring-controller-generator.js +23 -7
- package/package.json +1 -1
- package/types/lib/generators/services/spring-controllers/spring-controller-generator.d.ts +1 -1
|
@@ -117,8 +117,7 @@ class DefaultKotlinSpringControllerGenerator extends file_generator_1.KotlinFile
|
|
|
117
117
|
builder.forEach(parameters, (builder, parameter) => this.generateApiInterfaceMethodParameter(ctx, builder, endpoint, parameter), { separator: ',\n' });
|
|
118
118
|
}
|
|
119
119
|
generateApiInterfaceMethodReturnType(ctx, builder, endpoint) {
|
|
120
|
-
|
|
121
|
-
this.generateResponseEntityType(ctx, builder, (_b = (_a = endpoint.responses[0]) === null || _a === void 0 ? void 0 : _a.contentOptions[0]) === null || _b === void 0 ? void 0 : _b.schema);
|
|
120
|
+
this.generateResponseEntityType(ctx, builder, endpoint);
|
|
122
121
|
}
|
|
123
122
|
generateApiInterfaceMethodParameter(ctx, builder, endpoint, parameter) {
|
|
124
123
|
builder
|
|
@@ -304,8 +303,7 @@ class DefaultKotlinSpringControllerGenerator extends file_generator_1.KotlinFile
|
|
|
304
303
|
builder.forEach(parameters, (builder, parameter) => this.generateApiDelegateInterfaceMethodParameter(ctx, builder, endpoint, parameter), { separator: ',\n' });
|
|
305
304
|
}
|
|
306
305
|
generateApiDelegateInterfaceMethodReturnType(ctx, builder, endpoint) {
|
|
307
|
-
|
|
308
|
-
this.generateResponseEntityType(ctx, builder, (_b = (_a = endpoint.responses[0]) === null || _a === void 0 ? void 0 : _a.contentOptions[0]) === null || _b === void 0 ? void 0 : _b.schema);
|
|
306
|
+
this.generateResponseEntityType(ctx, builder, endpoint);
|
|
309
307
|
}
|
|
310
308
|
generateApiDelegateInterfaceMethodParameter(ctx, builder, endpoint, parameter) {
|
|
311
309
|
builder
|
|
@@ -330,11 +328,29 @@ class DefaultKotlinSpringControllerGenerator extends file_generator_1.KotlinFile
|
|
|
330
328
|
.addImport('ResponseEntity', 'org.springframework.http')
|
|
331
329
|
.addImport('HttpStatus', 'org.springframework.http');
|
|
332
330
|
}
|
|
333
|
-
generateResponseEntityType(ctx, builder,
|
|
331
|
+
generateResponseEntityType(ctx, builder, endpoint) {
|
|
334
332
|
builder
|
|
335
333
|
.append('ResponseEntity')
|
|
336
334
|
.addImport('ResponseEntity', 'org.springframework.http')
|
|
337
|
-
.parenthesize('<>', (builder) =>
|
|
335
|
+
.parenthesize('<>', (builder) => {
|
|
336
|
+
const responseSchemas = endpoint.responses
|
|
337
|
+
.flatMap((x) => x.contentOptions.flatMap((x) => x.schema))
|
|
338
|
+
.filter(core_1.notNullish)
|
|
339
|
+
.filter((x, i, a) => a.findIndex((y) => {
|
|
340
|
+
const xInfo = this.getSchemaInfo(ctx, x);
|
|
341
|
+
const yInfo = this.getSchemaInfo(ctx, y);
|
|
342
|
+
return xInfo.typeName === yInfo.typeName && xInfo.packageName === yInfo.packageName;
|
|
343
|
+
}) === i);
|
|
344
|
+
if (responseSchemas.length === 1) {
|
|
345
|
+
this.generateTypeUsage(ctx, builder, responseSchemas[0], true, 'Unit');
|
|
346
|
+
}
|
|
347
|
+
else if (responseSchemas.length === 0) {
|
|
348
|
+
builder.append('Unit');
|
|
349
|
+
}
|
|
350
|
+
else {
|
|
351
|
+
builder.append('Any?');
|
|
352
|
+
}
|
|
353
|
+
});
|
|
338
354
|
}
|
|
339
355
|
generateTypeUsage(ctx, builder, schema, arrayAsFlux, fallback) {
|
|
340
356
|
if (schema && schema.kind === 'array') {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ensureDirSync, writeFileSync } from 'fs-extra';
|
|
2
|
-
import { toCasing } from '@goast/core';
|
|
2
|
+
import { notNullish, toCasing } from '@goast/core';
|
|
3
3
|
import { KotlinFileBuilder } from '../../../file-builder';
|
|
4
4
|
import { modifyString } from '../../../utils';
|
|
5
5
|
import { KotlinFileGenerator } from '../../file-generator';
|
|
@@ -114,8 +114,7 @@ export class DefaultKotlinSpringControllerGenerator extends KotlinFileGenerator
|
|
|
114
114
|
builder.forEach(parameters, (builder, parameter) => this.generateApiInterfaceMethodParameter(ctx, builder, endpoint, parameter), { separator: ',\n' });
|
|
115
115
|
}
|
|
116
116
|
generateApiInterfaceMethodReturnType(ctx, builder, endpoint) {
|
|
117
|
-
|
|
118
|
-
this.generateResponseEntityType(ctx, builder, (_b = (_a = endpoint.responses[0]) === null || _a === void 0 ? void 0 : _a.contentOptions[0]) === null || _b === void 0 ? void 0 : _b.schema);
|
|
117
|
+
this.generateResponseEntityType(ctx, builder, endpoint);
|
|
119
118
|
}
|
|
120
119
|
generateApiInterfaceMethodParameter(ctx, builder, endpoint, parameter) {
|
|
121
120
|
builder
|
|
@@ -301,8 +300,7 @@ export class DefaultKotlinSpringControllerGenerator extends KotlinFileGenerator
|
|
|
301
300
|
builder.forEach(parameters, (builder, parameter) => this.generateApiDelegateInterfaceMethodParameter(ctx, builder, endpoint, parameter), { separator: ',\n' });
|
|
302
301
|
}
|
|
303
302
|
generateApiDelegateInterfaceMethodReturnType(ctx, builder, endpoint) {
|
|
304
|
-
|
|
305
|
-
this.generateResponseEntityType(ctx, builder, (_b = (_a = endpoint.responses[0]) === null || _a === void 0 ? void 0 : _a.contentOptions[0]) === null || _b === void 0 ? void 0 : _b.schema);
|
|
303
|
+
this.generateResponseEntityType(ctx, builder, endpoint);
|
|
306
304
|
}
|
|
307
305
|
generateApiDelegateInterfaceMethodParameter(ctx, builder, endpoint, parameter) {
|
|
308
306
|
builder
|
|
@@ -327,11 +325,29 @@ export class DefaultKotlinSpringControllerGenerator extends KotlinFileGenerator
|
|
|
327
325
|
.addImport('ResponseEntity', 'org.springframework.http')
|
|
328
326
|
.addImport('HttpStatus', 'org.springframework.http');
|
|
329
327
|
}
|
|
330
|
-
generateResponseEntityType(ctx, builder,
|
|
328
|
+
generateResponseEntityType(ctx, builder, endpoint) {
|
|
331
329
|
builder
|
|
332
330
|
.append('ResponseEntity')
|
|
333
331
|
.addImport('ResponseEntity', 'org.springframework.http')
|
|
334
|
-
.parenthesize('<>', (builder) =>
|
|
332
|
+
.parenthesize('<>', (builder) => {
|
|
333
|
+
const responseSchemas = endpoint.responses
|
|
334
|
+
.flatMap((x) => x.contentOptions.flatMap((x) => x.schema))
|
|
335
|
+
.filter(notNullish)
|
|
336
|
+
.filter((x, i, a) => a.findIndex((y) => {
|
|
337
|
+
const xInfo = this.getSchemaInfo(ctx, x);
|
|
338
|
+
const yInfo = this.getSchemaInfo(ctx, y);
|
|
339
|
+
return xInfo.typeName === yInfo.typeName && xInfo.packageName === yInfo.packageName;
|
|
340
|
+
}) === i);
|
|
341
|
+
if (responseSchemas.length === 1) {
|
|
342
|
+
this.generateTypeUsage(ctx, builder, responseSchemas[0], true, 'Unit');
|
|
343
|
+
}
|
|
344
|
+
else if (responseSchemas.length === 0) {
|
|
345
|
+
builder.append('Unit');
|
|
346
|
+
}
|
|
347
|
+
else {
|
|
348
|
+
builder.append('Any?');
|
|
349
|
+
}
|
|
350
|
+
});
|
|
335
351
|
}
|
|
336
352
|
generateTypeUsage(ctx, builder, schema, arrayAsFlux, fallback) {
|
|
337
353
|
if (schema && schema.kind === 'array') {
|
package/package.json
CHANGED
|
@@ -48,7 +48,7 @@ export declare class DefaultKotlinSpringControllerGenerator extends KotlinFileGe
|
|
|
48
48
|
protected generateApiDelegateInterfaceMethodParameterAnnotations(ctx: Context, builder: Builder, endpoint: ApiEndpoint, parameter: ApiParameter): void;
|
|
49
49
|
protected generateApiDelegateInterfaceMethodParameterSignature(ctx: Context, builder: Builder, endpoint: ApiEndpoint, parameter: ApiParameter): void;
|
|
50
50
|
protected generateApiDelegateInterfaceMethodContent(ctx: Context, builder: Builder, endpoint: ApiEndpoint): void;
|
|
51
|
-
protected generateResponseEntityType(ctx: Context, builder: Builder,
|
|
51
|
+
protected generateResponseEntityType(ctx: Context, builder: Builder, endpoint: ApiEndpoint): void;
|
|
52
52
|
protected generateTypeUsage(ctx: Context, builder: Builder, schema: ApiSchema | undefined, arrayAsFlux: boolean, fallback?: string): void;
|
|
53
53
|
protected getControllerRequestMapping(ctx: Context, prefix?: string): string;
|
|
54
54
|
protected getBasePath(ctx: Context): string;
|