Skip to content

enums with spaces throw an error #71

Closed
@brookjordan

Description

@brookjordan

For example I have:

enum: [resolved, new, in progress]

And I get this error:

☄️  start generating your typescript api
SyntaxError: An enum member name must be followed by a ',', '=', or '}'. (19:6)
  17 |   resolved = "resolved",
  18 |   new = "new",
> 19 |   in progress = "in progress" 
     |      ^
  20 |  }
  21 | 
    at t (/project/node_modules/prettier/parser-typescript.js:1:287)
    at Object.parse (/project/node_modules/prettier/parser-typescript.js:14:2633274)
    at Object.parse (/project/node_modules/prettier/index.js:11370:19)
    at coreFormat (/project/node_modules/prettier/index.js:14784:25)
    at format (/project/node_modules/prettier/index.js:15019:75)
    at formatWithCursor (/project/node_modules/prettier/index.js:15035:12)
    at /project/node_modules/prettier/index.js:51620:12
    at Object.format (/project/node_modules/prettier/index.js:51640:12)
    at /project/node_modules/swagger-typescript-api/src/index.js:89:39 {

This is because it doesn’t add quotes around the enum declaration. That is, instead of outputting:

export enum Enum {
  resolved = "resolved",
  new = "new",
  in progress = "in progress",
}

should be:

export enum Enum {
  resolved = "resolved",
  new = "new",
  "in progress" = "in progress",
}

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions