tsioc
Version:
tsioc is AOP, Ioc container, via typescript decorator
42 lines (41 loc) • 1.35 kB
TypeScript
import { Mode, Express } from '../types';
import { IComponent } from './IComponent';
/**
* compoiste.
*
* @export
* @class Composite
* @implements {IComponent}
*/
export declare class Composite implements IComponent {
name: string;
parent: IComponent;
protected children: IComponent[];
constructor(name: string);
add(node: IComponent): this;
remove(node?: string | IComponent): this;
find<T extends IComponent>(express: T | Express<T, boolean>, mode?: Mode): T;
filter<T extends IComponent>(express: Express<T, boolean | void>, mode?: Mode): T[];
each<T extends IComponent>(express: Express<T, boolean | void>, mode?: Mode): any;
eachChildren<T extends IComponent>(express: Express<T, void | boolean>): void;
/**
*do express work in routing.
*
*@param {Express<T, void | boolean>} express
*
*@memberOf IComponent
*/
routeUp(express: Express<IComponent, void | boolean>): any;
/**
*translate all sub context to do express work.
*
*@param {Express<IComponent, void | boolean>} express
*
*@memberOf IComponent
*/
trans(express: Express<IComponent, void | boolean>): any;
transAfter(express: Express<IComponent, void | boolean>): boolean;
equals(node: IComponent): boolean;
empty(): IComponent;
isEmpty(): boolean;
}