nope/lib/templates/backendInterface.handlebars
2020-09-08 10:46:52 +02:00

31 lines
1.1 KiB
Handlebars

// Automatic Genearted Backend-Interface
// To update run `npm run build:backend`
import { nopeDispatcher } from "./dispatcher/nopeDispatcher"
{{#each classes}}
import { {{className}} } from "./clients/{{fileName}}";
{{/each}}
{{#each functions}}
import { {{generatorName}} } from "./functions/{{fileName}}";
{{/each}}
export class BackendInterface {
{{#each classes}}
public readonly {{orginalName}}: {{className}};
{{/each}}
{{#each functions}}
public readonly {{orginalName}}: ({{#each params}}{{#if isBaseType}}{{name}}{{#if isOptional}}?{{/if}}: {{{originalCode}}}{{/if}}{{#unless isBaseType}}{{name}}{{#if isOptional}}?{{/if}}: import("./functions/{{../fileName}}").{{{simplifiedType}}}{{/unless}}{{#unless @last}}, {{/unless}}{{/each}}) => Promise<{{{returnType.simplifiedSubType}}}>;
{{/each}}
constructor(protected _dispatcher: nopeDispatcher){
{{#each classes}}
this.{{orginalName}} = new {{className}}(_dispatcher);
{{/each}}
{{#each functions}}
this.{{orginalName}} = {{generatorName}}(_dispatcher);
{{/each}}
}
}