@malagu/core
Version:
23 lines • 1.3 kB
TypeScript
import { ComponentId } from './component';
export interface AutowiredOption {
id?: ComponentId;
multi?: boolean;
detached?: boolean;
}
export declare type IdOrAutowiredOption = ComponentId | AutowiredOption;
export declare type IdOrAutowiredOptionWithoutMulti = ComponentId | Omit<AutowiredOption, 'multi'>;
export declare const Autowired: (idOrOption?: IdOrAutowiredOption) => PropertyDecorator & ParameterDecorator;
export interface DoGetValue {
(option: AutowiredOption, target: any, property: string): any;
}
export interface DoInject {
(option: AutowiredOption, t: any, k: string, i?: number): any;
}
export declare function parseAutowiredOption(target: any, targetKey: string, index?: number, idOrOption?: IdOrAutowiredOption): {
id?: string | symbol | import("inversify/lib/interfaces/interfaces").interfaces.Abstract<any> | undefined;
multi?: boolean | undefined;
detached?: boolean | undefined;
};
export declare function applyAutowiredDecorator(option: AutowiredOption, target: any, targetKey: string, index?: number, doInject?: DoInject, doGetValue?: DoGetValue): AutowiredOption;
export declare function createAutowiredProperty(option: AutowiredOption, doGetValue: DoGetValue, target: any, property: string): void;
//# sourceMappingURL=autowired.d.ts.map