11
2- { {#models} }{ {#model} }
3-
4- { {#emitJSDoc} }/**
5- * The { {classname} } model module.
6- * @module { {#invokerPackage} }{ {invokerPackage} }/{ {/invokerPackage} }{ {#modelPackage} }{ {modelPackage} }/{ {/modelPackage} }{ {classname} }
7- * @version { {projectVersion} }
8- */{ {/emitJSDoc} }
9- export default class { {classname} } { {#parent} }{ {^parentModel} }{ {#vendorExtensions.x-isArray} }extends Array { {/vendorExtensions.x-isArray} }{ {/parentModel} }{ {/parent} }{
2+ { {#models} }{ {#model} }{ {#emitJSDoc} }/**
3+ * The { {classname} } model module.
4+ * @module { {#invokerPackage} }{ {invokerPackage} }/{ {/invokerPackage} }{ {#modelPackage} }{ {modelPackage} }/{ {/modelPackage} }{ {classname} }
5+ * @version { {projectVersion} }
6+ */{ {/emitJSDoc} }
7+ class { {classname} } { {#parent} }{ {^parentModel} }{ {#vendorExtensions.x-isArray} }extends Array { {/vendorExtensions.x-isArray} }{ {/parentModel} }{ {/parent} }{
108 {{#emitJSDoc} }/**
11- * Constructs a new <code >{ {classname} }</code >.{ {#description} }
12- * { {description} }{ {/description} }
13- * @alias module:{ {#invokerPackage} }{ {invokerPackage} }/{ {/invokerPackage} }{ {#modelPackage} }{ {modelPackage} }/{ {/modelPackage} }{ {classname} }
14- * @class{ {#useInheritance} }{ {#parent} }
15- * @extends { {#parentModel} }module:{ {#invokerPackage} }{ {invokerPackage} }/{ {/invokerPackage} }{ {#modelPackage} }{ {modelPackage} }/{ {/modelPackage} }{ {classname} }{ {/parentModel} }{ {^parentModel} }{ {#vendorExtensions.x-isArray} }Array{ {/vendorExtensions.x-isArray} }{ {#vendorExtensions.x-isMap} }Object{ {/vendorExtensions.x-isMap} }{ {/parentModel} }{ {/parent} }{ {#interfaces} }
16- * @implements module:{ {#invokerPackage} }{ {invokerPackage} }/{ {/invokerPackage} }{ {#modelPackage} }{ {modelPackage} }/{ {/modelPackage} }{ {.} }{ {/interfaces} }{ {/useInheritance} }{ {#vendorExtensions.x-all-required} }
17- * @param { {name} } { {=< >= } }{ < &vendorExtensions.x-jsdoc-type> } <={ { } }=> { {#description} }{ {{description} }}{ {/description} }{ {/vendorExtensions.x-all-required} }
18- */{ {/emitJSDoc} }
19-
20- constructor({ {#vendorExtensions.x-all-required} }{ {name} }{ {^-last} }, { {/-last} }{ {/vendorExtensions.x-all-required} }) {
21- {{#parent} }{ {^parentModel} }{ {#vendorExtensions.x-isArray} }
9+ * Constructs a new <code >{ {classname} }</code >.{ {#description} }
10+ * { {description} }{ {/description} }
11+ * @alias module:{ {#invokerPackage} }{ {invokerPackage} }/{ {/invokerPackage} }{ {#modelPackage} }{ {modelPackage} }/{ {/modelPackage} }{ {classname} }{ {#useInheritance} }{ {#parent} }
12+ * @extends { {#parentModel} }module:{ {#invokerPackage} }{ {invokerPackage} }/{ {/invokerPackage} }{ {#modelPackage} }{ {modelPackage} }/{ {/modelPackage} }{ {classname} }{ {/parentModel} }{ {^parentModel} }{ {#vendorExtensions.x-isArray} }Array{ {/vendorExtensions.x-isArray} }{ {#vendorExtensions.x-isMap} }Object{ {/vendorExtensions.x-isMap} }{ {/parentModel} }{ {/parent} }{ {#interfaces} }
13+ * @implements module:{ {#invokerPackage} }{ {invokerPackage} }/{ {/invokerPackage} }{ {#modelPackage} }{ {modelPackage} }/{ {/modelPackage} }{ {.} }{ {/interfaces} }{ {/useInheritance} }{ {#vendorExtensions.x-all-required} }
14+ * @param { {name} } { {=< >= } }{ < &vendorExtensions.x-jsdoc-type> } <={ { } }=> { {#description} }{ {{description} }}{ {/description} }{ {/vendorExtensions.x-all-required} }
15+ */{ {/emitJSDoc} }
16+ constructor({ {#vendorExtensions.x-all-required} }{ {name} }{ {^-last} }, { {/-last} }{ {/vendorExtensions.x-all-required} }) { {{#parent} }{ {^parentModel} }{ {#vendorExtensions.x-isArray} }
2217 super();
23- { {/vendorExtensions.x-isArray} }{ {/parentModel} }{ {/parent} }
24-
25- { {#useInheritance} }
26- { {#parentModel} }{ {classname} }.call(this{ {#vendorExtensions.x-all-required} }, { {name} }{ {/vendorExtensions.x-all-required} });{ {/parentModel} }
27- { {#interfaceModels} }{ {classname} }.call(this{ {#vendorExtensions.x-all-required} }, { {name} }{ {/vendorExtensions.x-all-required} });{ {/interfaceModels} }
28- { {/useInheritance} }
29-
30- { {#vars} }{ {#required} }this['{ {baseName} }'] = { {name} };{ {/required} }{ {/vars} }
18+ { {/vendorExtensions.x-isArray} }{ {/parentModel} }{ {/parent} }{ {#useInheritance} }
19+ { {#interfaceModels} }{ {classname} }.initialize(this{ {#vendorExtensions.x-all-required} }, { {name} }{ {/vendorExtensions.x-all-required} });{ {/interfaceModels} }{ {/useInheritance} }
20+ { {classname} }.initialize(this{ {#vendorExtensions.x-all-required} }, { {name} }{ {/vendorExtensions.x-all-required} });
21+ }
3122
32- { {#parent} }{ {^parentModel} }return this;{ {/parentModel} }{ {/parent} }
23+ { {#emitJSDoc} }/**
24+ * Initializes the fields of this object.
25+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
26+ * Only for internal use.
27+ */{ {/emitJSDoc} }
28+ static initialize(obj{ {#vendorExtensions.x-all-required} }, { {name} }{ {/vendorExtensions.x-all-required} }) { {{#vars} }{ {#required} }
29+ obj['{ {baseName} }'] = { {name} };{ {/required} }{ {/vars} }
3330 }
3431
3532 { {#emitJSDoc} }/**
36- * Constructs a <code >{ {classname} }</code > from a plain JavaScript object, optionally creating a new instance.
37- * Copies all relevant properties from <code >data</code > to <code >obj</code > if supplied or a new instance if not.
38- * @param { Object} data The plain JavaScript object bearing properties of interest.
39- * @param { {=< >= } }{ module:< #invokerPackage>< invokerPackage> /< /invokerPackage>< #modelPackage>< modelPackage> /< /modelPackage>< classname> } <={ { } }=> obj Optional instance to populate.
40- * @return { {=< >= } }{ module:< #invokerPackage>< invokerPackage> /< /invokerPackage>< #modelPackage>< modelPackage> /< /modelPackage>< classname> } <={ { } }=> The populated <code >{ {classname} }</code > instance.
41- */{ {/emitJSDoc} }
33+ * Constructs a <code >{ {classname} }</code > from a plain JavaScript object, optionally creating a new instance.
34+ * Copies all relevant properties from <code >data</code > to <code >obj</code > if supplied or a new instance if not.
35+ * @param { Object} data The plain JavaScript object bearing properties of interest.
36+ * @param { {=< >= } }{ module:< #invokerPackage>< invokerPackage> /< /invokerPackage>< #modelPackage>< modelPackage> /< /modelPackage>< classname> } <={ { } }=> obj Optional instance to populate.
37+ * @return { {=< >= } }{ module:< #invokerPackage>< invokerPackage> /< /invokerPackage>< #modelPackage>< modelPackage> /< /modelPackage>< classname> } <={ { } }=> The populated <code >{ {classname} }</code > instance.
38+ */{ {/emitJSDoc} }
4239 static constructFromObject(data, obj) {
4340 if (data){{! TODO: support polymorphism: discriminator property on data determines class to instantiate.} } {
44- obj = obj || new {{classname} }();
45-
46- { {#parent} }{ {^parentModel} }ApiClient.constructFromObject(data, obj, '{ {vendorExtensions.x-itemType} }');{ {/parentModel} }
47- { {/parent} }
41+ obj = obj || new {{classname} }();{ {#parent} }{ {^parentModel} }
4842
49- { {#useInheritance} }{ {#parentModel} }{ {classname} }.constructFromObject(data, obj);{ {/parentModel} }
50- { {#interfaces} }{ {.} }.constructFromObject(data, obj);{ {/interfaces} }
51- { {/useInheritance} }
43+ ApiClient.constructFromObject(data, obj, '{ {vendorExtensions.x-itemType} }');
44+ { {/parentModel} }{ {/parent} }{ {#useInheritance} }{ {#parentModel} }
45+ { {classname} }.constructFromObject(data, obj);{ {/parentModel} }{ {#interfaces} }
46+ { {.} }.constructFromObject(data, obj);{ {/interfaces} }{ {/useInheritance} }
5247
5348 { {#vars} }
5449 if (data.hasOwnProperty('{ {baseName} }')) {
@@ -59,61 +54,49 @@ export default class {{classname}} {{#parent}}{{^parentModel}}{{#vendorExtension
5954 return obj;
6055 }
6156
62- { {#vars} }
63- { {#emitJSDoc} }/**{ {#description} }
64- * { {{description} }}{ {/description} }
65- * @member { {=< >= } }{ < &vendorExtensions.x-jsdoc-type> } <={ { } }=> { {baseName} }{ {#defaultValue} }
66- * @default { {{defaultValue} }}{ {/defaultValue} }
67- */{ {/emitJSDoc} }
68- { {baseName} } = { {#defaultValue} }{ {{defaultValue} }}{ {/defaultValue} }{ {^defaultValue} }undefined{ {/defaultValue} };
69- { {/vars} }
70-
71- { {#useInheritance} }{ {#interfaceModels} }
72- // Implement { {classname} } interface:
73- { {#allVars} }{ {#emitJSDoc} }/**{ {#description} }
74- * { {{description} }}{ {/description} }
75- * @member { {=< >= } }{ < &vendorExtensions.x-jsdoc-type> } <={ { } }=> { {baseName} }{ {#defaultValue} }
76- * @default { {{defaultValue} }}{ {/defaultValue} }
77- */{ {/emitJSDoc} }
78- { {baseName} } = { {#defaultValue} }{ {{defaultValue} }}{ {/defaultValue} }{ {^defaultValue} }undefined{ {/defaultValue} };
79- { {/allVars} }
80- { {/interfaceModels} }{ {/useInheritance} }
81-
82-
83- { {#emitModelMethods} }{ {#vars} }
84- { {#emitJSDoc} }/**{ {#description} }
85- * Returns { {{description} }}{ {/description} }{ {#minimum} }
86- * minimum: { {minimum} }{ {/minimum} }{ {#maximum} }
87- * maximum: { {maximum} }{ {/maximum} }
88- * @return { {=< >= } }{ < &vendorExtensions.x-jsdoc-type> } <={ { } }=>
89- */{ {/emitJSDoc} }
57+ { {#emitModelMethods} }{ {#vars} }{ {#emitJSDoc} }/**{ {#description} }
58+ * Returns { {{description} }}{ {/description} }{ {#minimum} }
59+ * minimum: { {minimum} }{ {/minimum} }{ {#maximum} }
60+ * maximum: { {maximum} }{ {/maximum} }
61+ * @return { {=< >= } }{ < &vendorExtensions.x-jsdoc-type> } <={ { } }=>
62+ */{ {/emitJSDoc} }
9063 { {getter} }() {
9164 return this.{{baseName} };
9265 }
9366
9467 { {#emitJSDoc} }/**{ {#description} }
95- * Sets { {{description} }}{ {/description} }
96- * @param { {=< >= } }{ < &vendorExtensions.x-jsdoc-type> } <={ { } }=> { {name} }{ {#description} } { {{description} }}{ {/description} }
97- */{ {/emitJSDoc} }
68+ * Sets { {{description} }}{ {/description} }
69+ * @param { {=< >= } }{ < &vendorExtensions.x-jsdoc-type> } <={ { } }=> { {name} }{ {#description} } { {{description} }}{ {/description} }
70+ */{ {/emitJSDoc} }
9871 { {setter} }({ {name} }) {
9972 this[' {{baseName}}' ] = {{name} };
10073 }
101- { {/vars} }{ {/emitModelMethods} }
74+ { {/vars} }{ {/emitModelMethods} }{ {/model} }
75+ }
76+
77+ { {#vars} }{ {#emitJSDoc} }/**{ {#description} }
78+ * { {{description} }}{ {/description} }
79+ * @member { {=< >= } }{ < &vendorExtensions.x-jsdoc-type> } <={ { } }=> { {baseName} }{ {#defaultValue} }
80+ * @default { {{defaultValue} }}{ {/defaultValue} }
81+ */{ {/emitJSDoc} }
82+ { {classname} }.prototype['{ {baseName} }'] = { {#defaultValue} }{ {{defaultValue} }}{ {/defaultValue} }{ {^defaultValue} }undefined{ {/defaultValue} };
10283
103- { {#vars} }
104- { {#isEnum} }
105- { {^isContainer} }
84+ { {/vars} }
85+
86+ { {#useInheritance} }{ {#interfaceModels} }// Implement { {classname} } interface:
87+ { {#allVars} }{ {#emitJSDoc} }/**{ {#description} }
88+ * { {{description} }}{ {/description} }
89+ * @member { {=< >= } }{ < &vendorExtensions.x-jsdoc-type> } <={ { } }=> { {baseName} }{ {#defaultValue} }
90+ * @default { {{defaultValue} }}{ {/defaultValue} }
91+ */{ {/emitJSDoc} }
92+ { {classname} }.prototype['{ {baseName} }'] = { {#defaultValue} }{ {{defaultValue} }}{ {/defaultValue} }{ {^defaultValue} }undefined{ {/defaultValue} };
93+ { {/allVars} }{ {/interfaceModels} }{ {/useInheritance} }
94+
95+ { {#vars} }{ {#isEnum} }{ {^isContainer} }
10696{ {> partial_model_inner_enum} }
107- { {/isContainer} }
108- { {/isEnum} }
109- { {#items.isEnum} }
110- { {#items} }
111- { {^isContainer} }
97+ { {/isContainer} }{ {/isEnum} }{ {#items.isEnum} }{ {#items} }{ {^isContainer} }
11298{ {> partial_model_inner_enum} }
113- { {/isContainer} }
114- { {/items} }
115- { {/items.isEnum} }
116- { {/vars} }
99+ { {/isContainer} }{ {/items} }{ {/items.isEnum} }{ {/vars} }
117100
118- { {/model } } { {/models } }
119- }
101+ export default { {classname } };
102+ { {/models } }
0 commit comments