2.8.1 • Published 2 years ago

@xlit/di v2.8.1

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years 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

2 years ago

2.6.0

2 years ago

2.8.1

2 years ago

2.6.3

2 years ago

2.8.0

2 years ago

2.6.2

2 years ago

2.6.11

2 years ago

2.6.12

2 years ago

2.6.13

2 years ago

2.6.14

2 years ago

2.6.10

2 years ago

2.7.4

2 years ago

2.7.3

2 years ago

2.7.5

2 years ago

2.5.0

2 years ago

2.7.0

2 years ago

2.5.1

2 years ago

2.7.2

2 years ago

2.7.1

2 years ago

2.6.5

2 years ago

2.6.4

2 years ago

2.6.7

2 years ago

2.6.6

2 years ago

2.6.9

2 years ago

2.6.8

2 years ago

2.3.0

2 years ago

2.2.1

2 years ago

2.0.3

2 years ago

2.2.0

2 years ago

2.0.2

2 years ago

2.4.0

2 years ago

2.3.1

2 years ago

2.2.2

2 years ago

2.0.4

2 years ago

2.1.0

2 years ago

2.0.1

2 years ago

2.0.0

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.2.2

2 years ago

0.1.10

4 years ago

0.1.2

4 years ago

0.1.8

4 years ago

0.1.7

4 years ago

0.1.9

4 years ago

0.1.4

4 years ago

0.1.3

4 years ago

0.1.6

4 years ago

0.1.5

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago