roastr-container
A small dependency injection container for node and browsers.
Installation
npm install --save roastr-container
Getting Started
Most of the interaction with the container is through the set(), factory(), and get() methods.
In project/src/container.js
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;
In project/src/bootstrap.js
const container = ; // Now the container is wired-up, and we can use the values in our// application.let config = container;let server = container;server;
Tagging Services
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;
Expanding Properties
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;
License
This project uses the MIT license. See LICENSE for more details.