3.0.0-alpha.8 • Published 3 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
3 years ago
3.0.0-alpha.6
3 years ago
3.0.0-alpha.8
3 years ago
3.0.0-alpha.3
3 years ago
3.0.0-alpha.5
3 years ago
3.0.0-alpha.2
4 years ago
3.0.0-alpha.1
4 years ago
3.0.0-alpha.0
4 years ago
2.4.0
4 years ago
2.3.0
5 years ago
2.2.1
5 years ago
2.2.0
5 years ago
2.0.1
5 years ago
2.0.0
5 years ago
2.0.0-beta.9
5 years ago
2.0.0-beta.7
5 years ago
2.0.0-beta.6
5 years ago
2.0.0-beta.5
5 years ago
2.0.0-beta.4
5 years ago
2.0.0-beta.3
5 years ago
2.0.0-beta.2
5 years ago
2.0.0-beta.1
5 years ago
2.0.0-beta.0
5 years ago
2.0.0-alpha.0
5 years ago
1.3.0
5 years ago
1.2.0
5 years ago
1.1.0
5 years ago
1.0.1
6 years ago
1.0.0
6 years ago
1.0.0-beta.11
6 years ago
1.0.0-beta.10
6 years ago
1.0.0-beta.9
7 years ago
1.0.0-beta.8
7 years ago
1.0.0-beta.7
7 years ago
1.0.0-beta.6
7 years ago
1.0.0-beta.5
8 years ago
1.0.0-beta.4
8 years ago
1.0.0-beta.2
8 years ago