[typescript-axios] discriminator type in template (#12878)

* feat(typescript-axios) discriminator type

* add samples
This commit is contained in:
stropho
2022-07-15 11:39:26 +02:00
committed by GitHub
parent 810a8b5937
commit 87aab5a1f3
2 changed files with 11 additions and 2 deletions

View File

@@ -3,4 +3,13 @@
* {{{.}}}{{/description}}
* @export
*/
export type {{classname}} = {{#oneOf}}{{{.}}}{{^-last}} | {{/-last}}{{/oneOf}};
export type {{classname}} = {{#discriminator}}{{!
discriminator with mapped models - TypeScript discriminating union
}}{{#mappedModels}}{ {{discriminator.propertyName}}: '{{mappingName}}' } & {{modelName}}{{^-last}} | {{/-last}}{{/mappedModels}}{{!
discriminator only - fallback to not use the discriminator. Default model names are available but possibility of having null/nullable values could introduce more edge cases
}}{{^mappedModels}}{{#oneOf}}{{{.}}}{{^-last}} | {{/-last}}{{/oneOf}}{{/mappedModels}}{{/discriminator}}{{!
plain oneOf
}}{{^discriminator}}{{#oneOf}}{{{.}}}{{^-last}} | {{/-last}}{{/oneOf}}{{/discriminator}};

View File

@@ -700,7 +700,7 @@ export interface List {
* @type Mammal
* @export
*/
export type Mammal = Whale | Zebra;
export type Mammal = { className: 'whale' } & Whale | { className: 'zebra' } & Zebra;
/**
*