Giter VIP home page Giter VIP logo

Comments (4)

drwpow avatar drwpow commented on May 28, 2024

At this time renaming isn’t supported in TypeScript because it could deviate from your schema; if two objects contained .gender how would the collision be fixed? Would you have Gender and Gender2? And more importantly, would it be clear when importing the type you were importing the correct one?

I’d recommend if you want to refer to an enum often, then move it to be its own top-level schema object in your OpenAPI spec itself. That way your generated types always match 1:1 to your schema, and you’ll never accidentally refer to one type thinking it’s another.

from openapi-typescript.

doyoonkim12345 avatar doyoonkim12345 commented on May 28, 2024

Every Enum that we defined has unique name. there are no way to create several kinds of enum called duplicated name.

is you mean that change the directory of the file that the enum defined to the top ?

from openapi-typescript.

drwpow avatar drwpow commented on May 28, 2024

Oh I had assumed that when you referenced #/components/schemas/com.aaaa.server.core.common.Gender, you were referencing multiple nested schema objects comaaaservercorecommonGender, where each level was a property. In which case my suggestion would be to move it to #/components/schemas/Gender, and simply use $ref wherever it’s needed.

But if you are saying that is just a single schema object with periods in the title, then I think that’s the correct name? We want to match your schema 1:1 perfectly, without renames; but as those contain invalid characters we just do our best translating it into a valid JS identifier. But try and preserve the name as-authored so it’s easy-to-find and there’s no confusion.

from openapi-typescript.

drwpow avatar drwpow commented on May 28, 2024

Willing to look into it further if you can provide:

  1. An example OpenAPI schema that generates an enum
  2. What you expected it to generate

from openapi-typescript.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.