66 lines
1.9 KiB
Handlebars
66 lines
1.9 KiB
Handlebars
// Automatic Genearted File for Backendclass: "{{className}}"
|
|
// To update run `npm run build:backend`
|
|
|
|
import { nopeDispatcher } from "../dispatcher/nopeDispatcher"
|
|
import { nopeRemoteObservable } from "../observables/nopeRemoteObservable"
|
|
|
|
{{!--
|
|
/**
|
|
* 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}} {
|
|
|
|
{{#each properties}}
|
|
public {{name}}: nopeRemoteObservable<{{{simplifiedSubType}}}>
|
|
{{/each}}
|
|
|
|
public readonly uri: string;
|
|
|
|
/**
|
|
* Creates an instance of the Class.
|
|
* @param _dispatcher The Dispatcher to use.
|
|
*/
|
|
constructor(protected _dispatcher: nopeDispatcher, uri?: string){
|
|
this.uri = typeof uri === "string" ? uri : '{{classUri}}'
|
|
|
|
{{#each properties}}
|
|
|
|
this.{{name}} = new nopeRemoteObservable(_dispatcher,{
|
|
path: {{{uri}}}
|
|
})
|
|
{{/each}}
|
|
}
|
|
{{!--
|
|
Iterate over the Methods and create the Function Interface
|
|
--}}
|
|
{{#each methods}}
|
|
|
|
{{!-- Use the Docu of the Author --}}
|
|
{{{authorDescription}}}
|
|
public async {{name}}{{{head}}}{
|
|
// Perform the Method via the Dispatcher.
|
|
{{!-- Perform the Dispather-Call --}}
|
|
return await this._dispatcher.performCall<{{{returnType.simplifiedSubType}}}>({{{uri}}}, [{{#each params}}{{name}}{{#unless @last}}, {{/unless}}{{/each}}])
|
|
}
|
|
{{/each}}
|
|
} |