Skip to content

[BUG] Dashed (-) are transformed to underscores (_) #4065

@misantronic

Description

@misantronic

Bug Report Checklist

  • Have you provided a full/minimal spec to reproduce the issue?
  • Have you validated the input using an OpenAPI validator (example)?
  • What's the version of OpenAPI Generator used?
  • Have you search for related issues/PRs?
  • What's the actual output vs expected output?
  • [Optional] Bounty to sponsor the fix (example)
Description

I am using openapi-generator with typescript-fetch plugin:

openapi-generator generate -g typescript-fetch --additional-properties=supportsES6=true,typescriptThreePlus=true,modelPropertyNaming=original -o ./open-api -i ./apigateway.json

for some reason, the generator alsways transforms properties adv_1-1 to adv_1_1. meaning, it removes the original -.

spec:

"prices": {
            "type": "object",
            "properties": {
              "adv_1-1": {
                "type": "number"
              },
              "adv_1-2": {
                "type": "number"
              },
              "adv_1-3": {
                "type": "number"
              },
              "adv_1-4": {
                "type": "number"
              },
              "adv_1-6": {
                "type": "number"
              },
              "adv_2-1": {
                "type": "number"
              },
              "adv_2-3": {
                "type": "number"
              },
              "migrateId": {
                "type": "number"
              },
              "mm": {
                "type": "number"
              }
            }
          }

result:

export interface MediaPrintPrices {
    /**
     *
     * @type {number}
     * @memberof MediaPrintPrices
     */
    adv_1_1?: number;
    /**
     *
     * @type {number}
     * @memberof MediaPrintPrices
     */
    adv_1_2?: number;
    /**
     *
     * @type {number}
     * @memberof MediaPrintPrices
     */
    adv_1_3?: number;
    /**
     *
     * @type {number}
     * @memberof MediaPrintPrices
     */
    adv_1_4?: number;
    /**
     *
     * @type {number}
     * @memberof MediaPrintPrices
     */
    adv_1_6?: number;
    /**
     *
     * @type {number}
     * @memberof MediaPrintPrices
     */
    adv_2_1?: number;
    /**
     *
     * @type {number}
     * @memberof MediaPrintPrices
     */
    adv_2_3?: number;
    /**
     *
     * @type {number}
     * @memberof MediaPrintPrices
     */
    migrateId?: number;
    /**
     *
     * @type {number}
     * @memberof MediaPrintPrices
     */
    mm?: number;
}
openapi-generator version

4.1.2

OpenAPI declaration file content or url
Command line used for generation
openapi-generator generate -g typescript-fetch --additional-properties=supportsES6=true,typescriptThreePlus=true,modelPropertyNaming=original -o ./open-api -i ./apigateway.json

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions