1234567891011121314151617181920212223242526272829303132 |
- import { ClassManager } from './clazz.js';
- import { ComponentOption, ComponentMainType, ComponentSubType } from './types.js';
- /**
- * @public
- * @param {string} type
- * @return {string}
- */
- export declare function getUID(type: string): string;
- export interface SubTypeDefaulter {
- (option: ComponentOption): ComponentSubType;
- }
- export interface SubTypeDefaulterManager {
- registerSubTypeDefaulter: (componentType: string, defaulter: SubTypeDefaulter) => void;
- determineSubType: (componentType: string, option: ComponentOption) => string;
- }
- /**
- * Implements `SubTypeDefaulterManager` for `target`.
- */
- export declare function enableSubTypeDefaulter(target: SubTypeDefaulterManager & ClassManager): void;
- export interface TopologicalTravelable<T> {
- topologicalTravel: (targetNameList: ComponentMainType[], fullNameList: ComponentMainType[], callback: (this: T, mainType: string, dependencies: string[]) => void, context?: T) => void;
- }
- /**
- * Implements `TopologicalTravelable<any>` for `entity`.
- *
- * Topological travel on Activity Network (Activity On Vertices).
- * Dependencies is defined in Model.prototype.dependencies, like ['xAxis', 'yAxis'].
- * If 'xAxis' or 'yAxis' is absent in componentTypeList, just ignore it in topology.
- * If there is circular dependencey, Error will be thrown.
- */
- export declare function enableTopologicalTravel<T>(entity: TopologicalTravelable<T>, dependencyGetter: (name: ComponentMainType) => ComponentMainType[]): void;
- export declare function inheritDefaultOption<T, K>(superOption: T, subOption: K): K;
|