UNPKG

nope-js-browser

Version:

NoPE Runtime for the Browser. For nodejs please use nope-js-node

72 lines (71 loc) 2.8 kB
/** * @author Martin Karkowski * @email m.karkowski@zema.de */ import { ICallOptions, INopeCore, INopeEventEmitter } from "../types"; import { IEventOptions, IServiceOptions, INopeModuleDescription } from "../types/nope/nopeModule.interface"; import { INopeObservable } from "../types/nope/nopeObservable.interface"; import { INopePromise } from "../types/nope/nopePromise.interface"; import { NopeBaseModule } from "./BaseModule"; /** * A Generic Wrapper * * @author M.Karkowski * @export * @class NopeGenericModule * @extends {NopeBaseModule} */ export declare class NopeGenericWrapper extends NopeBaseModule { protected _emitterFactory: () => INopeEventEmitter<any>; protected _observableFactory: () => INopeObservable<any>; protected _linkProperties: boolean; protected _linkEvents: boolean; private _type; /** * * Return the Class Identifier. */ get type(): string; /** * Return the Class Identifier. */ set type(value: string); dynamicInstanceMethods: { [index: string]: <T>(...args: any[]) => INopePromise<T>; }; dynamicInstanceProperties: { [index: string]: INopeObservable<any>; }; dynamicInstanceEvents: { [index: string]: INopeEventEmitter<any>; }; dynamicInstanceMethodsWithOptions: { [index: string]: <T>(options: Partial<ICallOptions>, ...args: any[]) => INopePromise<T>; }; protected _description: INopeModuleDescription; /** * Function, used to add the Attributes based on the Description. * * @param {INopeModuleDescription} description * @param {('overwrite' | 'add')} [mode='overwrite'] * @memberof NopeGenericModule */ fromDescription(description: INopeModuleDescription, mode?: "overwrite" | "add"): Promise<void>; /** * Creates an instance of NopeGenericModule. * @param {INopeDispatcher} _core * @param {() => INopeObservable<any>} _observableFactory * @memberof NopeGenericModule */ constructor(_core: INopeCore, _emitterFactory: () => INopeEventEmitter<any>, _observableFactory: () => INopeObservable<any>, _linkProperties?: boolean, _linkEvents?: boolean); listMethods(): Promise<{ method: <T>(...args: any[]) => INopePromise<T, any>; options: any; }[]>; registerProperty<T, S = T, G = T>(name: string, observable: INopeObservable<T, S, G>, options: IEventOptions): Promise<void>; registerMethod(name: string, func: (...args: any[]) => Promise<any>, options: IServiceOptions): Promise<void>; unregisterFunction(name: string): Promise<void>; unregisterProperty(name: string): Promise<void>; init(): Promise<void>; dispose(): Promise<void>; }