Comments (3)
Putting the discriminator on the base class also works. But having the discriminator on the response is valid according to the spec: https://swagger.io/docs/specification/data-models/inheritance-and-polymorphism/
from orval.
PR is welcome?
from orval.
I realize there is two ways this could be solved, but I'm not sure which is the way to go. Either we add the discriminated property to the types, or we add it to the combined response type.
That is, either:
export type TypeObj1 = Base & {
moreProp?: string;
type: TypeObj1Type;
};
export type TypeObj2 = Base & {
prop?: string;
type: TypeObj2Type;
};
or
export type GetApiSample200 = (TypeObj1 & { type: TypeObj1Type }) | (TypeObj2 & { type: TypeObj2Type });
I assume the first one is the wanted one, but I'm unsure if there could be implications with changing the component schema based on the response schema. Could there be two responses which return the same objects, but discriminate on different properties? If so, option 2 is the safe option.
from orval.
Related Issues (20)
- Prettier: true fails for zod when not generating a schema
- Unstable return reference of generated hook when using a custom mutator hook.
- Zod: unstable/breaking variable names for validation lengths HOT 7
- Type Issue: RegEx is not accepted in `defineConfig.[name].input.filters.tags` HOT 1
- Feature request: support different enum key
- Question: Limitations of client instance customisation
- Add support to nested `useInfiniteQueryParam`
- Non-reactive query params in Vue when using useInfiniteQueryParam HOT 2
- Zod: only generates 200 response bodies HOT 7
- Types in generated react-query schema have unstable order, causing noisy diffs HOT 1
- [Feature] Add ability to pass custom types for a string given a format hint
- Strange enum generation while using anyOf in schema HOT 2
- support `fetch` client
- MSW: overrideResponse should allow async functions
- Non-requred requestBody results in TS error
- Faker types are incompatible with contract definition for number enums
- [Feature]Enable `faker.helpers.fromRegExp()` to be applied to msw mock from pattern keyword
- support faker for API schemas HOT 6
- Zod: type string format date should be "YYYY-MM-DD" HOT 7
- form-data array submission support
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from orval.