1.0.4 • Published 7 years ago

qs-di-ts v1.0.4

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

Dependency Injection for Typescript

Lightweight wrap of di.js for TypeScript.

NPM NPM

NPM version NPM downloads

Install

npm install qs-di-ts

Usage

You need to use

 "emitDecoratorMetadata": true,
 "experimentalDecorators": true,

when compiling typescript files.

car.ts

import {Inject} from 'qs-di-ts'
import {Engine} from './engine'

@Inject
export class Car {
  constructor(public engine: Engine) {}
}

engine.ts

export class Engine {

}

mockEngine.ts

import {Provide} from 'qs-di-ts'
import {Engine} from './engine'

@Provide(Engine)
export class MockEngine {

}

main.ts

import {Injector} from 'qs-di-ts'
import {Car} from './car'
import {Engine} from './engine'

var injector = new Injector();
var car: Car = injector.get(Car); //instantiate car, car.engine is magically instance of Engine! :)


import {MockEngine} from './mockEngine'
var injector2 = new Injector([MockEngine]);
var car2: Car = injector2.get(Car); //instantiate car, car.engine is instance of MockEngine! :)

License

MIT

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago