// 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}} }