object-container
A simple javascript dependency injection container.
Install
$ npm install object-container
Usage
const ObjectContainer ref = ; let X = { thisargs1 = args1; } ;let Y = { thisargs1 = args1; thisx = x; thisval = val; } ; let objectContainer = ;objectContainer ; let x = objectContainer;let y = objectContainer; console; console;
Api
ObjectContainer
-
(constructor) new (...definitions: Definition[]): ObjectContainer
-
(method) register(...definitions: Definition[]): ObjectContainer
-
(method) registerType(name: string, type: class | function, ...args: any[]): ObjectContainer
-
(method) registerValue(name: string, value: any): ObjectContainer
-
(method) get(name: any, renew?: boolean, ...overrideArgs: any[]): any
-
(method) remove(name: string): void
-
(method) contains(name: string): boolean
-
(method) clear(): void
-
(property) length: number
Reference (ref)
- (constructor) new (name: string, renew?: boolean, ...overrideArgs: any[]): Reference
- (method) ref (name: string, renew?: boolean, ...overrideArgs: any[]): Reference
Definition (abstract)
- (constructor) new (name: string): Definition
- (abstract method) resolve(objectContainer: ObjectContainer): any
TypeDefinition (extends Definition)
- (constructor) new (name: string, type: class | function, ...args: any[]): TypeDefinition
ValueDefinition (extends Definition)
- (constructor) new (name: string, value: any): ValueDefinition
Custom Definition
const ObjectContainer Reference ref Definition = ; let TypeFromPackageDefinition = { supername; thispackage = $package; thisargs = args; } { let Type = processedArgs = thisargs; return ...processedArgs; }; let objectContainer = ;objectContainer; let x = objectContainer; console;
Convert
const ObjectContainer convert = ; let X = { thisargs1 = args1; } ;let Y = { thisargs1 = args1; thisx = x; thisval = val; } ; let definitions = ; console;console; //// let objectContainer = new ObjectContainer(...definitions);// or// objectContainer.register(...definitions);//