UNPKG

tsioc

Version:

tsioc is AOP, Ioc container, via typescript decorator

105 lines (103 loc) 2.51 kB
import { Express, Mode } from '../types'; import { IComponent } from './IComponent'; export interface GComponent<T extends IComponent> extends IComponent { /** * the node name. * * @type {string} *@memberof GComposite */ name: string; /** * parent node. * * @type {T} *@memberof GComposite */ parent?: T; /** * add node to this component and return self. * * @param {T} node the node to add. * @returns {this} self. *@memberof GComposite */ add(node: T): this; /** * remove node from this component. * * @param {(T | string)} node * @returns {this} *@memberof GComposite */ remove(node: T | string): this; /** * find sub context via express. * * @param {(T | Express<T, boolean>)} express * @param {Mode} [mode] * @returns {T} *@memberof GComposite */ find(express: T | Express<T, boolean>, mode?: Mode): T; /** * filter in component. * * @param {(Express<T, void | boolean>)} express * @param {Mode} [mode] * @returns {T[]} *@memberof GComposite */ filter(express: Express<T, void | boolean>, mode?: Mode): T[]; /** * iteration context with express. * * @param {(Express<T, void | boolean>)} express * @param {Mode} [mode] *@memberof GComposite */ each(express: Express<T, void | boolean>, mode?: Mode): any; /** * trans all sub nodes. node first iteration. * * @param {(Express<T, void | boolean>)} express *@memberof GComposite */ trans(express: Express<T, void | boolean>): any; /** * trans all sub nodes. node last iteration. * * @param {(Express<T, void | boolean>)} express *@memberof GComposite */ transAfter(express: Express<T, void | boolean>): any; /** * route up iteration. * * @param {(Express<T, void | boolean>)} express *@memberof GComposite */ routeUp(express: Express<T, void | boolean>): any; /** * this component node equals to the node or not. * * @param {T} node * @returns {boolean} *@memberof GComposite */ equals(node: T): boolean; /** * get empty node. * * @returns {T} *@memberof GComposite */ empty(): T; /** * check this node is empty or not. * * @returns {boolean} *@memberof GComposite */ isEmpty(): boolean; }