63 lines
1.7 KiB
Handlebars
63 lines
1.7 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}}
|
|
|
|
constructor(protected _dispatcher: nopeDispatcher){
|
|
{{#each properties}}
|
|
this.{{name}} = new nopeRemoteObservable(_dispatcher,{
|
|
path: '{{uri}}'
|
|
})
|
|
{{/each}}
|
|
}
|
|
{{!--
|
|
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
|
|
return await this._dispatcher.performCall<{{{returnType.simplifiedSubType}}}>('{{uri}}', [{{#each params}}{{name}}{{#unless @last}}, {{/unless}}{{/each}}])
|
|
}
|
|
{{/each}}
|
|
} |