3.0.0-alpha.8 • Published 2 years ago

@ingress/di v3.0.0-alpha.8

Weekly downloads
7
License
MIT
Repository
github
Last release
2 years ago

@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.

  1. Provide them at creation time (shown in example)
  2. Use .Singleton and .PerRequestLifetime decorators exposed on a container instance
  3. 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