@ff00ff/dependency-injection
v1.0.2
Published
Simple dependency injection library which doesn't force you to use classes and decorators.
Downloads
4
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,
);