inversify
Version:
A powerful and lightweight inversion of control container for JavaScript and Node.js apps powered by TypeScript.
22 lines (21 loc) • 826 B
TypeScript
import interfaces from "../interfaces/interfaces";
import BindingScope from "./binding_scope";
import BindingType from "./binding_type";
declare class Binding<T> implements interfaces.Binding<T> {
guid: string;
moduleId: string;
activated: boolean;
serviceIdentifier: interfaces.ServiceIdentifier<T>;
implementationType: interfaces.Newable<T>;
cache: T;
dynamicValue: (context: interfaces.Context) => T;
scope: BindingScope;
type: BindingType;
factory: interfaces.FactoryCreator<T>;
provider: interfaces.ProviderCreator<T>;
constraint: (request: interfaces.Request) => boolean;
onActivation: (context: interfaces.Context, injectable: T) => T;
constructor(serviceIdentifier: interfaces.ServiceIdentifier<T>);
clone(): interfaces.Binding<T>;
}
export default Binding;