alpha-dic
Version:
Asynchronous dependency injection container
19 lines (18 loc) • 754 B
TypeScript
import { ContainerArg } from './args/ContainerArg';
import { Definition } from './Definition';
import { ServiceName } from './types';
export interface ClassServiceMetadata {
name?: ServiceName;
clazz: Function;
constructorArguments: Array<ContainerArg | any>;
propertiesInjectors: Map<string | symbol, any>;
annotations: any[];
}
/**
* Creates service metadata data for given class if it doesn't exist. Otherwise returns current service metadata.
*/
export declare function ensureMetadata(target: Function): ClassServiceMetadata;
export declare function getMetadata(target: any): any;
export declare function createDefinitionFromMetadata(metadata: ClassServiceMetadata, constructor: {
new (...args: any[]): any;
}): Definition;