A small dependency injection container for node and browsers.
npm install --save roastr-container
Most of the interaction with the container is through the set(), factory(), and get() methods.
const Container = ;let container = ;// Saves a static value in the container using the key 'config'.container;// Saves a factory in the container using the key 'express'.// Unlike the set() method, this method takes a function which will// be called by the container to create the service. The function// isn't called until the service is requested, and it's only called// once. The value returned by the factory will then be cached in the// container.container;// Saves a factory in the container using the key 'server'.// Note these factory methods get values out of the container to// construct themselves.container;moduleexports = container;
const container = ;// Now the container is wired-up, and we can use the values in our// application.let config = container;let server = container;server;
You may adds tags when saving a service in the container, and then retrieve services from the container by tag.
const Container = ;let container = ;// The second argument here is a list of tags to be applied to the// service. The second argument may be an array or string.container;container;// Now we iterate over each service which has been tagged with// express.middleware, and add the service to express.container;
Objects stored in the container may be automatically expanded using by container get() method using dot notation.
const Container = ;let container = ;container;// We can do this.let config = container;let port = configport;// Or we can do this.let port = container;
This project uses the MIT license. See LICENSE for more details.