@ff00ff/dependency-injection
v1.0.2
Published
Simple dependency injection library which doesn't force you to use classes and decorators.
Downloads
11
Readme
Dependency Injection
Simple idiomatic dependency injection library which doesn't force you to use classes and decorators.
npm i @ff00ff/dependency-injection
Use di(..)
to initialize all your dependencies. You pass all dependency factories to di
and
every factory will receive the dependencies of the previous factories.
di(
// Pass any singletons over here. The first argument accepts just an object of your initial
// dependencies.
{ mySingleton },
// Collect your configuration which is automatically passed to the next factories. All without
// losing type information.
() => ({
NODE_ENV: process.env.NODE_ENV!,
FOO: process.env.FOO!,
BAR: process.env.BAR!,
}),
// Create your repositories. `makeRepositories` gets passed all the previous dependencies.
makeRepositories,
// `makeServices` is invoked with the result of `makeRepositories` combined with all other
// previous factory functions.
makeServices,
);