improve ts node enum naming

This commit is contained in:
wing328 2016-07-14 17:14:06 +08:00
parent 748f4b21f4
commit 4f52cebf7a
6 changed files with 35 additions and 27 deletions

View File

@ -276,10 +276,14 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp
} }
// string // string
String enumName = sanitizeName(underscore(name).toUpperCase()); String enumName = sanitizeName(name);
enumName = enumName.replaceFirst("^_", ""); enumName = enumName.replaceFirst("^_", "");
enumName = enumName.replaceFirst("_$", ""); enumName = enumName.replaceFirst("_$", "");
// camelize the enum variable name
// ref: https://basarat.gitbooks.io/typescript/content/docs/enums.html
enumName = camelize(enumName);
if (enumName.matches("\\d.*")) { // starts with number if (enumName.matches("\\d.*")) { // starts with number
return "_" + enumName; return "_" + enumName;
} else { } else {

View File

@ -35,8 +35,12 @@ export class {{classname}} {{#parent}}extends {{{parent}}} {{/parent}}{
export namespace {{classname}} { export namespace {{classname}} {
{{#vars}} {{#vars}}
{{#isEnum}} {{#isEnum}}
export enum {{datatypeWithEnum}} { {{#allowableValues}}{{#values}} export enum {{datatypeWithEnum}} {
{{datatypeWithEnum}}_{{.}} = <any> '{{.}}'{{^-last}},{{/-last}}{{/values}}{{/allowableValues}} {{#allowableValues}}
{{#enumVars}}
{{name}} = <any> {{{value}}}{{^-last}},{{/-last}}
{{/enumVars}}
{{/allowableValues}}
} }
{{/isEnum}} {{/isEnum}}
{{/vars}} {{/vars}}

View File

@ -52,10 +52,10 @@ export class Order {
} }
export namespace Order { export namespace Order {
export enum StatusEnum { export enum StatusEnum {
StatusEnum_placed = <any> 'placed', Placed = <any> 'placed',
StatusEnum_approved = <any> 'approved', Approved = <any> 'approved',
StatusEnum_delivered = <any> 'delivered' Delivered = <any> 'delivered'
} }
} }
export class Pet { export class Pet {
@ -71,10 +71,10 @@ export class Pet {
} }
export namespace Pet { export namespace Pet {
export enum StatusEnum { export enum StatusEnum {
StatusEnum_available = <any> 'available', Available = <any> 'available',
StatusEnum_pending = <any> 'pending', Pending = <any> 'pending',
StatusEnum_sold = <any> 'sold' Sold = <any> 'sold'
} }
} }
export class Tag { export class Tag {

View File

@ -15,9 +15,9 @@ export declare class Order {
} }
export declare namespace Order { export declare namespace Order {
enum StatusEnum { enum StatusEnum {
StatusEnum_placed, Placed,
StatusEnum_approved, Approved,
StatusEnum_delivered, Delivered,
} }
} }
export declare class Pet { export declare class Pet {
@ -30,9 +30,9 @@ export declare class Pet {
} }
export declare namespace Pet { export declare namespace Pet {
enum StatusEnum { enum StatusEnum {
StatusEnum_available, Available,
StatusEnum_pending, Pending,
StatusEnum_sold, Sold,
} }
} }
export declare class Tag { export declare class Tag {

View File

@ -52,10 +52,10 @@ export class Order {
} }
export namespace Order { export namespace Order {
export enum StatusEnum { export enum StatusEnum {
StatusEnum_placed = <any> 'placed', Placed = <any> 'placed',
StatusEnum_approved = <any> 'approved', Approved = <any> 'approved',
StatusEnum_delivered = <any> 'delivered' Delivered = <any> 'delivered'
} }
} }
export class Pet { export class Pet {
@ -71,10 +71,10 @@ export class Pet {
} }
export namespace Pet { export namespace Pet {
export enum StatusEnum { export enum StatusEnum {
StatusEnum_available = <any> 'available', Available = <any> 'available',
StatusEnum_pending = <any> 'pending', Pending = <any> 'pending',
StatusEnum_sold = <any> 'sold' Sold = <any> 'sold'
} }
} }
export class Tag { export class Tag {

View File

@ -25,7 +25,7 @@ petApi.addPet(pet)
var newPet = <api.Pet>res.body; var newPet = <api.Pet>res.body;
petId = newPet.id; petId = newPet.id;
console.log(`Created pet with ID ${petId}`); console.log(`Created pet with ID ${petId}`);
newPet.status = api.Pet.StatusEnum.StatusEnum_available; newPet.status = api.Pet.StatusEnum.Available;
return petApi.updatePet(newPet); return petApi.updatePet(newPet);
}) })
.then((res) => { .then((res) => {
@ -42,7 +42,7 @@ petApi.addPet(pet)
}) })
.then((res) => { .then((res) => {
console.log('Got pet by ID: ' + JSON.stringify(res.body)); console.log('Got pet by ID: ' + JSON.stringify(res.body));
if (res.body.status != api.Pet.StatusEnum.StatusEnum_pending) { if (res.body.status != api.Pet.StatusEnum.Pending) {
throw new Error("Unexpected pet status"); throw new Error("Unexpected pet status");
} }
}) })