acacode / swagger-typescript-api

Generate the API Client for Fetch or Axios from an OpenAPI Specification
MIT License
3.38k stars 361 forks source link

Bug in enum keys generation: underscores should not be removed if enum value contains digits. E. g. for value `AMAZON_S3` generated key `AMAZONS3` is wrong #988

Open nicky1038 opened 1 day ago

nicky1038 commented 1 day ago

For example, this enum definition

[
    //...
    "foo.bar.StorageType": {
      "description": "this enum contains available object storages",
      "type": "string",
      "default": "ORACLE_OBJECT_STORAGE",
      "enum": [
        "ORACLE_OBJECT_STORAGE",
        "AMAZON_S3",
      ]
    },
    //...
]

is transformed into

export enum FooBarStorageTypeDto {
  ORACLE_OBJECT_STORAGE = "ORACLE_OBJECT_STORAGE",
  AMAZONS3 = "AMAZON_S3",
}

Please notice AMAZONS3. The key should be AMAZON_S3, but the underscore is being removed.

It happens because of this regexp, AMAZON_S3 doesn't match it. I guess the regexp should be changed in order to support names with digits.