1 |
|
2 |
|
3 |
|
4 | import { IComponent } from "../../interfaces/iComponent";
|
5 |
|
6 |
|
7 |
|
8 |
|
9 | export interface FrameworkComponentWrapper {
|
10 | wrap<A extends IComponent<any>>(frameworkComponent: {
|
11 | new (): any;
|
12 | }, methodList: string[], optionalMethodList?: string[], componentName?: string): A;
|
13 | }
|
14 | export interface WrapableInterface {
|
15 | hasMethod(name: string): boolean;
|
16 | callMethod(name: string, args: IArguments): void;
|
17 | addMethod(name: string, callback: Function): void;
|
18 | }
|
19 | export declare abstract class BaseComponentWrapper<F extends WrapableInterface> implements FrameworkComponentWrapper {
|
20 | wrap<A extends IComponent<any>>(OriginalConstructor: {
|
21 | new (): any;
|
22 | }, mandatoryMethodList: string[], optionalMethodList?: string[], componentName?: string): A;
|
23 | abstract createWrapper(OriginalConstructor: {
|
24 | new (): any;
|
25 | }, componentName?: string): F;
|
26 | private createMethod(wrapper, methodName, mandatory);
|
27 | private createMethodProxy(wrapper, methodName, mandatory);
|
28 | }
|