nope/lib/templates/clientInterface.handlebars

63 lines
1.7 KiB
Handlebars
Raw Normal View History

2020-08-24 07:38:40 +00:00
// Automatic Genearted File for Backendclass: "{{className}}"
// To update run `npm run build:backend`
2020-08-25 10:33:33 +00:00
import { nopeDispatcher } from "../dispatcher/nopeDispatcher"
import { nopeRemoteObservable } from "../observables/nopeRemoteObservable"
2020-08-24 07:38:40 +00:00
{{!--
/**
* Interface for the Analyzing Result
*/
export interface IAnalyzeResult {
// Name of the Class
className: string,
// Decorators of the Class
classDecorator: DecoratorInformation,
// Methods of the Class
methods: (MethodInformation & DecoratorInformation)[],
// Properties of the Class
properties: (PropertyInformation & DecoratorInformation)[],
// Imports of the Class (contians external Files)
imports: {
content: string,
required: boolean,
}
}
--}}
{{#if imports.required}}
{{{imports.content}}}
{{/if}}
export class {{className}} {
2020-08-25 10:33:33 +00:00
{{#each properties}}
public {{name}}: nopeRemoteObservable<{{{simplifiedSubType}}}>
{{/each}}
constructor(protected _dispatcher: nopeDispatcher){
{{#each properties}}
this.{{name}} = new nopeRemoteObservable(_dispatcher,{
path: '{{uri}}'
})
{{/each}}
2020-08-24 07:38:40 +00:00
}
{{!--
declaration: MethodDeclaration;
params: ParameterInformation[];
isAbstract: boolean;
name: string;
isAsync: boolean;
isGenerator: boolean;
isImplementation: boolean;
returnType: TypeInformation;
head: string;
--}}
{{#each methods}}
{{{authorDescription}}}
public async {{name}}{{{head}}}{
// Perform the Method
2020-08-25 10:33:33 +00:00
return await this._dispatcher.performCall<{{{returnType.simplifiedSubType}}}>('{{uri}}', [{{#each params}}{{name}}{{#unless @last}}, {{/unless}}{{/each}}])
2020-08-24 07:38:40 +00:00
}
{{/each}}
}