All Downloads are FREE. Search and download functionalities are using the official Maven repository.

typescript-node.model.mustache Maven / Gradle / Ivy

{{>licenseInfo}}
{{#models}}
{{#model}}
import { RequestFile } from '../api';
{{#tsImports}}
import { {{classname}} } from '{{filename}}';
{{/tsImports}}

{{#description}}
/**
* {{{description}}}
*/
{{/description}}
{{^isEnum}}
export class {{classname}} {{#parent}}extends {{{parent}}} {{/parent}}{
{{#vars}}
{{#description}}
    /**
    * {{{description}}}
    */
{{/description}}
    '{{name}}'{{^required}}?{{/required}}: {{#isEnum}}{{{datatypeWithEnum}}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{#isNullable}} | null{{/isNullable}}{{/isEnum}};
{{/vars}}

    {{#discriminator}}
    static discriminator: string | undefined = "{{discriminatorName}}";
    {{/discriminator}}
    {{^discriminator}}
    static discriminator: string | undefined = undefined;
    {{/discriminator}}

    {{^isArrayModel}}
    static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
        {{#vars}}
        {
            "name": "{{name}}",
            "baseName": "{{baseName}}",
            "type": "{{#isEnum}}{{{datatypeWithEnum}}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}"
        }{{#hasMore}},
        {{/hasMore}}
        {{/vars}}
    ];

    static getAttributeTypeMap() {
        {{#parent}}
        return super.getAttributeTypeMap().concat({{classname}}.attributeTypeMap);
        {{/parent}}
        {{^parent}}
        return {{classname}}.attributeTypeMap;
        {{/parent}}
    }
    {{/isArrayModel}}
}

{{#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}}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy