n4js.model.mustache Maven / Gradle / Ivy
{{>licenseInfo}}
{{#models}}
{{#model}}
{{#n4jsimports}}
import { {{{elementname}}} } from '{{modulename}}';
{{/n4jsimports}}
{{#description}}
/**
* {{{.}}}
*/
{{/description}}
{{#isModel}}
export external public interface ~{{{classname}}} {{#parent}}extends {{{.}}} {{/parent}}{
{{#vars}}
{{#description}}
/**
* {{{.}}}
*/
{{/description}}
public {{{name}}}{{^required}}?{{/required}}: {{{dataType}}};
{{/vars}}
}
{{/isModel}}
{{#isAnyType}}
export external public type {{{classname}}} = {{{dataType}}};
{{/isAnyType}}
{{#isEnum}}
{{#isString}}
@StringBased
{{/isString}}
{{#isNumber}}
@NumberBased
{{/isNumber}}
export external public enum {{{classname}}} {
{{#allowableValues}}
{{#enumVars}}
{{{name}}}: {{{value}}}{{^-last}},{{/-last}}
{{/enumVars}}
{{/allowableValues}}
}
{{/isEnum}}
{{/model}}
{{/models}}