forked from hellosign/hellosign-openapi
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmodel.mustache
103 lines (95 loc) · 2.78 KB
/
model.mustache
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
{{>licenseInfo}}
{{#models}}
{{#model}}
import { RequestFile, AttributeTypeMap, ObjectSerializer } from './';
{{#tsImports}}
import { {{classname}} } from '{{filename}}';
{{/tsImports}}
{{#description}}
/**
* {{{.}}}
*/
{{/description}}
{{^isEnum}}
export {{#vendorExtensions.x-base-class}}abstract {{/vendorExtensions.x-base-class}}class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{
{{#vars}}
{{#description}}
/**
* {{{.}}}
*/
{{/description}}
'{{name}}'{{^required}}?{{/required}}: {{#isEnum}}{{{datatypeWithEnum}}}{{/isEnum}}{{^isEnum}}{{#vendorExtensions.x-int-or-string}}number | string{{/vendorExtensions.x-int-or-string}}{{^vendorExtensions.x-int-or-string}}{{{dataType}}}{{/vendorExtensions.x-int-or-string}}{{#isNullable}} | null{{/isNullable}}{{/isEnum}}{{#defaultValue}} = {{{.}}}{{/defaultValue}};
{{/vars}}
{{#discriminator}}
static discriminator: string | undefined = "{{discriminatorName}}";
{{/discriminator}}
{{^discriminator}}
static discriminator: string | undefined = undefined;
{{/discriminator}}
{{^isArray}}
static attributeTypeMap: AttributeTypeMap = [
{{#vars}}
{
"name": "{{name}}",
"baseName": "{{baseName}}",
"type": "{{#isEnum}}{{{datatypeWithEnum}}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}"
}{{^-last}},
{{/-last}}
{{/vars}}
];
static getAttributeTypeMap(): AttributeTypeMap {
{{#parent}}
return super.getAttributeTypeMap().concat({{classname}}.attributeTypeMap);
{{/parent}}
{{^parent}}
return {{classname}}.attributeTypeMap;
{{/parent}}
}
{{#discriminator}}
static discriminatorClassName(value: any): string | null {
if ((value === undefined) || (value === null)) {
return null;
}
{{#discriminator.mappedModels}}
if (value === '{{mappingName}}') {
return "{{modelName}}";
}
{{/discriminator.mappedModels}}
return null;
}
{{/discriminator}}
{{^discriminator}}
/** Attempt to instantiate and hydrate a new instance of this class */
static init(data: any): {{classname}} {
return ObjectSerializer.deserialize(data, '{{classname}}');
}
{{/discriminator}}
{{/isArray}}
}
{{#hasEnums}}
export namespace {{classname}} {
{{#vars}}
{{#isEnum}}
export enum {{enumName}} {
{{#allowableValues}}
{{#enumVars}}
{{name}} = {{{value}}}{{^-last}},{{/-last}}
{{/enumVars}}
{{/allowableValues}}
}
{{/isEnum}}
{{/vars}}
}
{{/hasEnums}}
{{/isEnum}}
{{#isEnum}}
export enum {{classname}} {
{{#allowableValues}}
{{#enumVars}}
{{name}} = {{{value}}}{{^-last}},{{/-last}}
{{/enumVars}}
{{/allowableValues}}
}
{{/isEnum}}
{{/model}}
{{/models}}