0.1.1 • Published 7 years ago

autoinject-ts v0.1.1

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

autoinject-ts

Dependency Injection Container for TypeScript with minimal configuration

Usage

You only need to annotate classes with dependencies

Classes.ts

import {autoinject} from 'autoinject-ts';

// no constructor -> no annotation
export class A {
    public who = 'world';
}

@autoinject()
export class B {
    constructor(public a: A) {}
    
    hello() {
        console.log('Hello ' + this.a.who + '!')
    }
}

container.ts

import {Container} from 'autoinject-ts';

const container = new Container();
export {
    container,
};

index.ts

import {container} from './container';
import {B} from './Classes';

const b = container.get<B>(B);

b.hello();
// output: "Hello world!"

API

Methods

  • get\(type: Class\): T
  • set\(type: Class\, instance: T): void
  • setFactory\(type: Class\, factory: () => T): void