UNPKG

@kloudsoftware/eisen

Version:

Declarative and expressive TypeScript framework for building modern web applications

40 lines (39 loc) 1.42 kB
import { VNode } from './VNode'; import { AppEvent, ComponentFunctionHolder, VApp } from './VApp'; import { Props } from "./Props"; import { ComponentEventPipeline } from "./GlobalEvent"; export declare abstract class Component { app: VApp; $mount: VNode; props: Props; subComponents: Map<string, Component>; componentEvent: ComponentEventPipeline; abstract render(props: Props): VNode; mount<T extends Component>(ctor: { new (app: VApp): T; }, app: VApp, node: VNode, key: string): T; mountArgs<T extends Component>(ctor: { new (app: VApp, ...args: any[]): T; }, app: VApp, node: VNode, key: string, ...args: any[]): T; rerender: () => void; private forcedUpdate; abstract lifeCycle(): ComponentProps; emit: (name: string, data?: any) => void; constructor(app: VApp); } export declare const reactiveWatchersKey: unique symbol; export declare function reactive(): (target: any, key: PropertyKey) => void; export declare abstract class ComponentProps { mounted?(comp: Component): void; remount?(comp: Component): void; unmounted?(): void; beforererender?(): void; afterrerender?(): void; } export declare class ComponentHolder { mounted: ComponentFunctionHolder; remount: ComponentFunctionHolder; unmounted: AppEvent; component: Component; constructor(props: ComponentProps, component: Component); }