2.8.1 • Published 6 months ago

@xlit/di v2.8.1

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

@xlit/di

Vanilla dependency injection custom element.

Installation

npm i @xlit/di

Getting started

Dependency injection container works for custom elements.

import { Container, instance, singleton } from '@xlit/di';

// provide value for key programmatically
const container = Container.instance()
  .provide('foo', () => 'foo')
  .provide('bar', instance('bar'))
  .provide('baz', singleton(() => 'baz'));

// lookup valie from container programmatically
const foo = await container.lookup('foo');

Use decorators to provide and lookup.

import { provide, lookup } from '@xlit/di';

@provide()
class FooService {
  doFoo() [
    // do foo
  ]
}

class XApp extends HTMLElement {
  @lookup()
  fooService!: FooService;

  doSomethingWithFooService() {
    this.fooService.doFoo();
  }
}
customElements.define('x-app', XApp);
2.6.1

9 months ago

2.6.0

9 months ago

2.8.1

6 months ago

2.6.3

9 months ago

2.8.0

6 months ago

2.6.2

9 months ago

2.6.11

8 months ago

2.6.12

7 months ago

2.6.13

7 months ago

2.6.14

7 months ago

2.6.10

8 months ago

2.7.4

7 months ago

2.7.3

7 months ago

2.7.5

7 months ago

2.5.0

10 months ago

2.7.0

7 months ago

2.5.1

10 months ago

2.7.2

7 months ago

2.7.1

7 months ago

2.6.5

8 months ago

2.6.4

9 months ago

2.6.7

8 months ago

2.6.6

8 months ago

2.6.9

8 months ago

2.6.8

8 months ago

2.3.0

12 months ago

2.2.1

12 months ago

2.0.3

12 months ago

2.2.0

12 months ago

2.0.2

12 months ago

2.4.0

12 months ago

2.3.1

12 months ago

2.2.2

12 months ago

2.0.4

12 months ago

2.1.0

12 months ago

2.0.1

12 months ago

2.0.0

12 months ago

0.2.1

1 year ago

0.2.0

1 year ago

0.2.2

1 year ago

0.1.10

2 years ago

0.1.2

3 years ago

0.1.8

2 years ago

0.1.7

2 years ago

0.1.9

2 years ago

0.1.4

3 years ago

0.1.3

3 years ago

0.1.6

2 years ago

0.1.5

3 years ago

0.1.1

3 years ago

0.1.0

3 years ago