forked from loafle/openapi-generator-original
[typescript-rxjs] fix enums (#2242)
* fix issue with duplicate enum exports * regenerate typescript-rxjs samples
This commit is contained in:
parent
c30a21ac3c
commit
052879d6cb
@ -25,6 +25,7 @@ import org.openapitools.codegen.utils.ModelUtils;
|
|||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.TreeSet;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
@ -144,7 +145,29 @@ public class TypeScriptRxjsClientCodegen extends AbstractTypeScriptClientCodegen
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, Object> postProcessModels(Map<String, Object> objs) {
|
public Map<String, Object> postProcessModels(Map<String, Object> objs) {
|
||||||
// don't do enum modifications
|
// process enum in models
|
||||||
|
List<Object> models = (List<Object>) postProcessModelsEnum(objs).get("models");
|
||||||
|
for (Object _mo : models) {
|
||||||
|
Map<String, Object> mo = (Map<String, Object>) _mo;
|
||||||
|
CodegenModel cm = (CodegenModel) mo.get("model");
|
||||||
|
cm.imports = new TreeSet(cm.imports);
|
||||||
|
// name enum with model name, e.g. StatusEnum => PetStatusEnum
|
||||||
|
for (CodegenProperty var : cm.vars) {
|
||||||
|
if (Boolean.TRUE.equals(var.isEnum)) {
|
||||||
|
// behaviour for enum names is specific for typescript to not use namespaces
|
||||||
|
var.datatypeWithEnum = var.datatypeWithEnum.replace(var.enumName, cm.classname + var.enumName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (cm.parent != null) {
|
||||||
|
for (CodegenProperty var : cm.allVars) {
|
||||||
|
if (Boolean.TRUE.equals(var.isEnum)) {
|
||||||
|
var.datatypeWithEnum = var.datatypeWithEnum
|
||||||
|
.replace(var.enumName, cm.classname + var.enumName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return objs;
|
return objs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -31,7 +31,7 @@ export interface {{classname}} {{#parent}}extends {{{parent}}} {{/parent}}{
|
|||||||
* @export
|
* @export
|
||||||
* @enum {string}
|
* @enum {string}
|
||||||
*/
|
*/
|
||||||
export enum {{enumName}} {
|
export enum {{classname}}{{enumName}} {
|
||||||
{{#allowableValues}}
|
{{#allowableValues}}
|
||||||
{{#enumVars}}
|
{{#enumVars}}
|
||||||
{{{name}}} = {{{value}}}{{^-last}},{{/-last}}
|
{{{name}}} = {{{value}}}{{^-last}},{{/-last}}
|
||||||
|
@ -46,7 +46,7 @@ export interface Order {
|
|||||||
* @type {string}
|
* @type {string}
|
||||||
* @memberof Order
|
* @memberof Order
|
||||||
*/
|
*/
|
||||||
status?: StatusEnum;
|
status?: OrderStatusEnum;
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @type {boolean}
|
* @type {boolean}
|
||||||
@ -59,6 +59,9 @@ export interface Order {
|
|||||||
* @export
|
* @export
|
||||||
* @enum {string}
|
* @enum {string}
|
||||||
*/
|
*/
|
||||||
export enum StatusEnum {
|
export enum OrderStatusEnum {
|
||||||
|
Placed = 'placed',
|
||||||
|
Approved = 'approved',
|
||||||
|
Delivered = 'delivered'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -57,13 +57,16 @@ export interface Pet {
|
|||||||
* @type {string}
|
* @type {string}
|
||||||
* @memberof Pet
|
* @memberof Pet
|
||||||
*/
|
*/
|
||||||
status?: StatusEnum;
|
status?: PetStatusEnum;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @export
|
* @export
|
||||||
* @enum {string}
|
* @enum {string}
|
||||||
*/
|
*/
|
||||||
export enum StatusEnum {
|
export enum PetStatusEnum {
|
||||||
|
Available = 'available',
|
||||||
|
Pending = 'pending',
|
||||||
|
Sold = 'sold'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@ export interface Order {
|
|||||||
* @type {string}
|
* @type {string}
|
||||||
* @memberof Order
|
* @memberof Order
|
||||||
*/
|
*/
|
||||||
status?: StatusEnum;
|
status?: OrderStatusEnum;
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @type {boolean}
|
* @type {boolean}
|
||||||
@ -59,6 +59,9 @@ export interface Order {
|
|||||||
* @export
|
* @export
|
||||||
* @enum {string}
|
* @enum {string}
|
||||||
*/
|
*/
|
||||||
export enum StatusEnum {
|
export enum OrderStatusEnum {
|
||||||
|
Placed = 'placed',
|
||||||
|
Approved = 'approved',
|
||||||
|
Delivered = 'delivered'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -57,13 +57,16 @@ export interface Pet {
|
|||||||
* @type {string}
|
* @type {string}
|
||||||
* @memberof Pet
|
* @memberof Pet
|
||||||
*/
|
*/
|
||||||
status?: StatusEnum;
|
status?: PetStatusEnum;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @export
|
* @export
|
||||||
* @enum {string}
|
* @enum {string}
|
||||||
*/
|
*/
|
||||||
export enum StatusEnum {
|
export enum PetStatusEnum {
|
||||||
|
Available = 'available',
|
||||||
|
Pending = 'pending',
|
||||||
|
Sold = 'sold'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@ export interface Order {
|
|||||||
* @type {string}
|
* @type {string}
|
||||||
* @memberof Order
|
* @memberof Order
|
||||||
*/
|
*/
|
||||||
status?: StatusEnum;
|
status?: OrderStatusEnum;
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @type {boolean}
|
* @type {boolean}
|
||||||
@ -59,6 +59,9 @@ export interface Order {
|
|||||||
* @export
|
* @export
|
||||||
* @enum {string}
|
* @enum {string}
|
||||||
*/
|
*/
|
||||||
export enum StatusEnum {
|
export enum OrderStatusEnum {
|
||||||
|
Placed = 'placed',
|
||||||
|
Approved = 'approved',
|
||||||
|
Delivered = 'delivered'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -57,13 +57,16 @@ export interface Pet {
|
|||||||
* @type {string}
|
* @type {string}
|
||||||
* @memberof Pet
|
* @memberof Pet
|
||||||
*/
|
*/
|
||||||
status?: StatusEnum;
|
status?: PetStatusEnum;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @export
|
* @export
|
||||||
* @enum {string}
|
* @enum {string}
|
||||||
*/
|
*/
|
||||||
export enum StatusEnum {
|
export enum PetStatusEnum {
|
||||||
|
Available = 'available',
|
||||||
|
Pending = 'pending',
|
||||||
|
Sold = 'sold'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@ export interface Order {
|
|||||||
* @type {string}
|
* @type {string}
|
||||||
* @memberof Order
|
* @memberof Order
|
||||||
*/
|
*/
|
||||||
status?: StatusEnum;
|
status?: OrderStatusEnum;
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @type {boolean}
|
* @type {boolean}
|
||||||
@ -59,6 +59,9 @@ export interface Order {
|
|||||||
* @export
|
* @export
|
||||||
* @enum {string}
|
* @enum {string}
|
||||||
*/
|
*/
|
||||||
export enum StatusEnum {
|
export enum OrderStatusEnum {
|
||||||
|
Placed = 'placed',
|
||||||
|
Approved = 'approved',
|
||||||
|
Delivered = 'delivered'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -57,13 +57,16 @@ export interface Pet {
|
|||||||
* @type {string}
|
* @type {string}
|
||||||
* @memberof Pet
|
* @memberof Pet
|
||||||
*/
|
*/
|
||||||
status?: StatusEnum;
|
status?: PetStatusEnum;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @export
|
* @export
|
||||||
* @enum {string}
|
* @enum {string}
|
||||||
*/
|
*/
|
||||||
export enum StatusEnum {
|
export enum PetStatusEnum {
|
||||||
|
Available = 'available',
|
||||||
|
Pending = 'pending',
|
||||||
|
Sold = 'sold'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user