forked from loafle/openapi-generator-original
Configure discriminator correctly
This commit is contained in:
parent
01b0ff6008
commit
74bb8ccfe7
@ -28,7 +28,7 @@ export class {{classname}} {{#parent}}extends {{{parent}}} {{/parent}}{
|
|||||||
{{/discriminator}}
|
{{/discriminator}}
|
||||||
|
|
||||||
{{^isArrayModel}}
|
{{^isArrayModel}}
|
||||||
private static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||||
{{#vars}}
|
{{#vars}}
|
||||||
{
|
{
|
||||||
"name": "{{name}}",
|
"name": "{{name}}",
|
||||||
@ -48,6 +48,20 @@ export class {{classname}} {{#parent}}extends {{{parent}}} {{/parent}}{
|
|||||||
{{/parent}}
|
{{/parent}}
|
||||||
}
|
}
|
||||||
{{/isArrayModel}}
|
{{/isArrayModel}}
|
||||||
|
|
||||||
|
public constructor() {
|
||||||
|
{{#parent}}
|
||||||
|
super();
|
||||||
|
{{/parent}}
|
||||||
|
{{#allVars}}
|
||||||
|
{{#discriminatorValue}}
|
||||||
|
this.{{name}} = "{{discriminatorValue}}";
|
||||||
|
{{/discriminatorValue}}
|
||||||
|
{{/allVars}}
|
||||||
|
{{#discriminatorName}}
|
||||||
|
this.{{discriminatorName}} = "{{classname}}";
|
||||||
|
{{/discriminatorName}}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
{{#hasEnums}}
|
{{#hasEnums}}
|
||||||
|
@ -12,7 +12,7 @@ export class ApiResponse {
|
|||||||
|
|
||||||
static readonly discriminator: string | undefined = undefined;
|
static readonly discriminator: string | undefined = undefined;
|
||||||
|
|
||||||
private static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||||
{
|
{
|
||||||
"name": "code",
|
"name": "code",
|
||||||
"baseName": "code",
|
"baseName": "code",
|
||||||
@ -32,5 +32,8 @@ export class ApiResponse {
|
|||||||
static getAttributeTypeMap() {
|
static getAttributeTypeMap() {
|
||||||
return ApiResponse.attributeTypeMap;
|
return ApiResponse.attributeTypeMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public constructor() {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -0,0 +1,36 @@
|
|||||||
|
/*
|
||||||
|
TODO: LICENSE INFO
|
||||||
|
*/
|
||||||
|
import { Pet2 } from './Pet2';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A representation of a cat
|
||||||
|
*/
|
||||||
|
export class Cat extends Pet2 {
|
||||||
|
/**
|
||||||
|
* The measured skill for hunting
|
||||||
|
*/
|
||||||
|
'huntingSkill': CatHuntingSkillEnum;
|
||||||
|
|
||||||
|
static readonly discriminator: string | undefined = undefined;
|
||||||
|
|
||||||
|
static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||||
|
{
|
||||||
|
"name": "huntingSkill",
|
||||||
|
"baseName": "huntingSkill",
|
||||||
|
"type": "CatHuntingSkillEnum"
|
||||||
|
} ];
|
||||||
|
|
||||||
|
static getAttributeTypeMap() {
|
||||||
|
return super.getAttributeTypeMap().concat(Cat.attributeTypeMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
public constructor() {
|
||||||
|
super();
|
||||||
|
this.petType = "Cat";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export type CatHuntingSkillEnum = "clueless" | "lazy" | "adventurous" | "aggressive" ;
|
||||||
|
|
@ -11,7 +11,7 @@ export class Category {
|
|||||||
|
|
||||||
static readonly discriminator: string | undefined = undefined;
|
static readonly discriminator: string | undefined = undefined;
|
||||||
|
|
||||||
private static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||||
{
|
{
|
||||||
"name": "id",
|
"name": "id",
|
||||||
"baseName": "id",
|
"baseName": "id",
|
||||||
@ -26,5 +26,8 @@ export class Category {
|
|||||||
static getAttributeTypeMap() {
|
static getAttributeTypeMap() {
|
||||||
return Category.attributeTypeMap;
|
return Category.attributeTypeMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public constructor() {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -0,0 +1,33 @@
|
|||||||
|
/*
|
||||||
|
TODO: LICENSE INFO
|
||||||
|
*/
|
||||||
|
import { Pet2 } from './Pet2';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A representation of a dog
|
||||||
|
*/
|
||||||
|
export class Dog extends Pet2 {
|
||||||
|
/**
|
||||||
|
* the size of the pack the dog is from
|
||||||
|
*/
|
||||||
|
'packSize': number;
|
||||||
|
|
||||||
|
static readonly discriminator: string | undefined = undefined;
|
||||||
|
|
||||||
|
static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||||
|
{
|
||||||
|
"name": "packSize",
|
||||||
|
"baseName": "packSize",
|
||||||
|
"type": "number"
|
||||||
|
} ];
|
||||||
|
|
||||||
|
static getAttributeTypeMap() {
|
||||||
|
return super.getAttributeTypeMap().concat(Dog.attributeTypeMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
public constructor() {
|
||||||
|
super();
|
||||||
|
this.petType = "Dog";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,30 @@
|
|||||||
|
/*
|
||||||
|
TODO: LICENSE INFO
|
||||||
|
*/
|
||||||
|
|
||||||
|
export class ErrorModel {
|
||||||
|
'message': string;
|
||||||
|
'code': number;
|
||||||
|
|
||||||
|
static readonly discriminator: string | undefined = undefined;
|
||||||
|
|
||||||
|
static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||||
|
{
|
||||||
|
"name": "message",
|
||||||
|
"baseName": "message",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "code",
|
||||||
|
"baseName": "code",
|
||||||
|
"type": "number"
|
||||||
|
} ];
|
||||||
|
|
||||||
|
static getAttributeTypeMap() {
|
||||||
|
return ErrorModel.attributeTypeMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
public constructor() {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,26 @@
|
|||||||
|
/*
|
||||||
|
TODO: LICENSE INFO
|
||||||
|
*/
|
||||||
|
import { ErrorModel } from './ErrorModel';
|
||||||
|
|
||||||
|
export class ExtendedErrorModel extends ErrorModel {
|
||||||
|
'rootCause': string;
|
||||||
|
|
||||||
|
static readonly discriminator: string | undefined = undefined;
|
||||||
|
|
||||||
|
static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||||
|
{
|
||||||
|
"name": "rootCause",
|
||||||
|
"baseName": "rootCause",
|
||||||
|
"type": "string"
|
||||||
|
} ];
|
||||||
|
|
||||||
|
static getAttributeTypeMap() {
|
||||||
|
return super.getAttributeTypeMap().concat(ExtendedErrorModel.attributeTypeMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
public constructor() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,14 +1,24 @@
|
|||||||
export * from './ApiResponse';
|
export * from './ApiResponse';
|
||||||
|
export * from './Cat';
|
||||||
export * from './Category';
|
export * from './Category';
|
||||||
|
export * from './Dog';
|
||||||
|
export * from './ErrorModel';
|
||||||
|
export * from './ExtendedErrorModel';
|
||||||
export * from './Order';
|
export * from './Order';
|
||||||
export * from './Pet';
|
export * from './Pet';
|
||||||
|
export * from './Pet2';
|
||||||
export * from './Tag';
|
export * from './Tag';
|
||||||
export * from './User';
|
export * from './User';
|
||||||
|
|
||||||
import { ApiResponse } from './ApiResponse';
|
import { ApiResponse } from './ApiResponse';
|
||||||
|
import { Cat, CatHuntingSkillEnum } from './Cat';
|
||||||
import { Category } from './Category';
|
import { Category } from './Category';
|
||||||
|
import { Dog } from './Dog';
|
||||||
|
import { ErrorModel } from './ErrorModel';
|
||||||
|
import { ExtendedErrorModel } from './ExtendedErrorModel';
|
||||||
import { Order , OrderStatusEnum } from './Order';
|
import { Order , OrderStatusEnum } from './Order';
|
||||||
import { Pet , PetStatusEnum } from './Pet';
|
import { Pet , PetStatusEnum } from './Pet';
|
||||||
|
import { Pet2 } from './Pet2';
|
||||||
import { Tag } from './Tag';
|
import { Tag } from './Tag';
|
||||||
import { User } from './User';
|
import { User } from './User';
|
||||||
|
|
||||||
@ -25,15 +35,21 @@ let primitives = [
|
|||||||
];
|
];
|
||||||
|
|
||||||
let enumsMap: Set<string> = new Set<string>([
|
let enumsMap: Set<string> = new Set<string>([
|
||||||
|
"CatHuntingSkillEnum",
|
||||||
"OrderStatusEnum",
|
"OrderStatusEnum",
|
||||||
"PetStatusEnum",
|
"PetStatusEnum",
|
||||||
]);
|
]);
|
||||||
|
|
||||||
let typeMap: {[index: string]: any} = {
|
let typeMap: {[index: string]: any} = {
|
||||||
"ApiResponse": ApiResponse,
|
"ApiResponse": ApiResponse,
|
||||||
|
"Cat": Cat,
|
||||||
"Category": Category,
|
"Category": Category,
|
||||||
|
"Dog": Dog,
|
||||||
|
"ErrorModel": ErrorModel,
|
||||||
|
"ExtendedErrorModel": ExtendedErrorModel,
|
||||||
"Order": Order,
|
"Order": Order,
|
||||||
"Pet": Pet,
|
"Pet": Pet,
|
||||||
|
"Pet2": Pet2,
|
||||||
"Tag": Tag,
|
"Tag": Tag,
|
||||||
"User": User,
|
"User": User,
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,7 @@ export class Order {
|
|||||||
|
|
||||||
static readonly discriminator: string | undefined = undefined;
|
static readonly discriminator: string | undefined = undefined;
|
||||||
|
|
||||||
private static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||||
{
|
{
|
||||||
"name": "id",
|
"name": "id",
|
||||||
"baseName": "id",
|
"baseName": "id",
|
||||||
@ -53,6 +53,9 @@ export class Order {
|
|||||||
static getAttributeTypeMap() {
|
static getAttributeTypeMap() {
|
||||||
return Order.attributeTypeMap;
|
return Order.attributeTypeMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public constructor() {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ export class Pet {
|
|||||||
|
|
||||||
static readonly discriminator: string | undefined = undefined;
|
static readonly discriminator: string | undefined = undefined;
|
||||||
|
|
||||||
private static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||||
{
|
{
|
||||||
"name": "id",
|
"name": "id",
|
||||||
"baseName": "id",
|
"baseName": "id",
|
||||||
@ -55,6 +55,9 @@ export class Pet {
|
|||||||
static getAttributeTypeMap() {
|
static getAttributeTypeMap() {
|
||||||
return Pet.attributeTypeMap;
|
return Pet.attributeTypeMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public constructor() {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -0,0 +1,31 @@
|
|||||||
|
/*
|
||||||
|
TODO: LICENSE INFO
|
||||||
|
*/
|
||||||
|
|
||||||
|
export class Pet2 {
|
||||||
|
'name': string;
|
||||||
|
'petType': string;
|
||||||
|
|
||||||
|
static readonly discriminator: string | undefined = "petType";
|
||||||
|
|
||||||
|
static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||||
|
{
|
||||||
|
"name": "name",
|
||||||
|
"baseName": "name",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "petType",
|
||||||
|
"baseName": "petType",
|
||||||
|
"type": "string"
|
||||||
|
} ];
|
||||||
|
|
||||||
|
static getAttributeTypeMap() {
|
||||||
|
return Pet2.attributeTypeMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
public constructor() {
|
||||||
|
this.petType = "Pet2";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -11,7 +11,7 @@ export class Tag {
|
|||||||
|
|
||||||
static readonly discriminator: string | undefined = undefined;
|
static readonly discriminator: string | undefined = undefined;
|
||||||
|
|
||||||
private static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||||
{
|
{
|
||||||
"name": "id",
|
"name": "id",
|
||||||
"baseName": "id",
|
"baseName": "id",
|
||||||
@ -26,5 +26,8 @@ export class Tag {
|
|||||||
static getAttributeTypeMap() {
|
static getAttributeTypeMap() {
|
||||||
return Tag.attributeTypeMap;
|
return Tag.attributeTypeMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public constructor() {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ export class User {
|
|||||||
|
|
||||||
static readonly discriminator: string | undefined = undefined;
|
static readonly discriminator: string | undefined = undefined;
|
||||||
|
|
||||||
private static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||||
{
|
{
|
||||||
"name": "id",
|
"name": "id",
|
||||||
"baseName": "id",
|
"baseName": "id",
|
||||||
@ -65,5 +65,8 @@ export class User {
|
|||||||
static getAttributeTypeMap() {
|
static getAttributeTypeMap() {
|
||||||
return User.attributeTypeMap;
|
return User.attributeTypeMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public constructor() {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,11 @@
|
|||||||
export * from './ApiResponse'
|
export * from './ApiResponse'
|
||||||
|
export * from './Cat'
|
||||||
export * from './Category'
|
export * from './Category'
|
||||||
|
export * from './Dog'
|
||||||
|
export * from './ErrorModel'
|
||||||
|
export * from './ExtendedErrorModel'
|
||||||
export * from './Order'
|
export * from './Order'
|
||||||
export * from './Pet'
|
export * from './Pet'
|
||||||
|
export * from './Pet2'
|
||||||
export * from './Tag'
|
export * from './Tag'
|
||||||
export * from './User'
|
export * from './User'
|
||||||
|
@ -5,9 +5,14 @@ import { Observable, of } from 'rxjs';
|
|||||||
import {mergeMap, map} from 'rxjs/operators';
|
import {mergeMap, map} from 'rxjs/operators';
|
||||||
|
|
||||||
import { ApiResponse } from '../models/ApiResponse';
|
import { ApiResponse } from '../models/ApiResponse';
|
||||||
|
import { Cat } from '../models/Cat';
|
||||||
import { Category } from '../models/Category';
|
import { Category } from '../models/Category';
|
||||||
|
import { Dog } from '../models/Dog';
|
||||||
|
import { ErrorModel } from '../models/ErrorModel';
|
||||||
|
import { ExtendedErrorModel } from '../models/ExtendedErrorModel';
|
||||||
import { Order } from '../models/Order';
|
import { Order } from '../models/Order';
|
||||||
import { Pet } from '../models/Pet';
|
import { Pet } from '../models/Pet';
|
||||||
|
import { Pet2 } from '../models/Pet2';
|
||||||
import { Tag } from '../models/Tag';
|
import { Tag } from '../models/Tag';
|
||||||
import { User } from '../models/User';
|
import { User } from '../models/User';
|
||||||
|
|
||||||
|
@ -3,9 +3,14 @@ import * as models from '../models/all';
|
|||||||
import { Configuration} from '../configuration'
|
import { Configuration} from '../configuration'
|
||||||
|
|
||||||
import { ApiResponse } from '../models/ApiResponse';
|
import { ApiResponse } from '../models/ApiResponse';
|
||||||
|
import { Cat } from '../models/Cat';
|
||||||
import { Category } from '../models/Category';
|
import { Category } from '../models/Category';
|
||||||
|
import { Dog } from '../models/Dog';
|
||||||
|
import { ErrorModel } from '../models/ErrorModel';
|
||||||
|
import { ExtendedErrorModel } from '../models/ExtendedErrorModel';
|
||||||
import { Order } from '../models/Order';
|
import { Order } from '../models/Order';
|
||||||
import { Pet } from '../models/Pet';
|
import { Pet } from '../models/Pet';
|
||||||
|
import { Pet2 } from '../models/Pet2';
|
||||||
import { Tag } from '../models/Tag';
|
import { Tag } from '../models/Tag';
|
||||||
import { User } from '../models/User';
|
import { User } from '../models/User';
|
||||||
import { ObservablePetApi } from './ObservableAPI';
|
import { ObservablePetApi } from './ObservableAPI';
|
||||||
|
Loading…
x
Reference in New Issue
Block a user