3.0.0-alpha.8 • Published 2 years ago
@ingress/di v3.0.0-alpha.8
@ingress/di
Server-side dependency injection middleware for ingress
Based on angular di
Example (ES2015)
import di from "@ingress/di";
import {
perRequestProviders,
providers,
SomeDependency,
} from "./my-dependencies";
const container = di({ providers, perRequestProviders });
Configuration
There are a few ways to let the root container know about your dependencies and their lifetimes.
- Provide them at creation time (shown in example)
- Use
.Singleton
and.PerRequestLifetime
decorators exposed on a container instance - Builder (TODO) - Use a container builder to discover, configure, and load dependencies.
Decorator Configuration example
//configuration.js
import di from '@ingress/di'
const container = di()
const { Singleton, PerRequestLifetime } = container
export {
container,
Singleton,
PerRequestLifetime
}
//my-dependency.js
import { Singleton } from './configuration'
@Singleton
export class MyDependency {
...
}
//index.js
import ingress from '@ingress/core'
import { container } from './configuration'
import { MyDependency } from './my-dependency'
const app = ingress()
app.use(container).use((context, next) => {
const dep = context.scope.get(MyDependency)
...
})
It is important to note that in index.js
loading ./my-dependency
after ./configuration
is required.
3.0.0-alpha.7
2 years ago
3.0.0-alpha.6
2 years ago
3.0.0-alpha.8
2 years ago
3.0.0-alpha.3
2 years ago
3.0.0-alpha.5
2 years ago
3.0.0-alpha.2
3 years ago
3.0.0-alpha.1
3 years ago
3.0.0-alpha.0
3 years ago
2.4.0
3 years ago
2.3.0
3 years ago
2.2.1
4 years ago
2.2.0
4 years ago
2.0.1
4 years ago
2.0.0
4 years ago
2.0.0-beta.9
4 years ago
2.0.0-beta.7
4 years ago
2.0.0-beta.6
4 years ago
2.0.0-beta.5
4 years ago
2.0.0-beta.4
4 years ago
2.0.0-beta.3
4 years ago
2.0.0-beta.2
4 years ago
2.0.0-beta.1
4 years ago
2.0.0-beta.0
4 years ago
2.0.0-alpha.0
4 years ago
1.3.0
4 years ago
1.2.0
4 years ago
1.1.0
4 years ago
1.0.1
4 years ago
1.0.0
4 years ago
1.0.0-beta.11
5 years ago
1.0.0-beta.10
5 years ago
1.0.0-beta.9
6 years ago
1.0.0-beta.8
6 years ago
1.0.0-beta.7
6 years ago
1.0.0-beta.6
6 years ago
1.0.0-beta.5
7 years ago
1.0.0-beta.4
7 years ago
1.0.0-beta.2
7 years ago