injecta

A simple AngularJs or Angular-style typescript and javascript dependency injection library


Keywords
typescript, typings, dependency, injection, di, dependency injection, angular, angularjs
License
MIT
Install
npm install injecta@1.0.0

Documentation

injecta

A simple AngularJs or Angular-style typescript and javascript dependency injection library.

Import

import { injecta } from "injecta"

Usage

class UserService {
  constructor(private url:string){}
}

class Controller {
  constructor(private service: UserService, private data:any[]){}

  double(){
    return this.data.map(x=>x*2);
  }
}


const injecta = new Injecta();

/* Setting tokens*/

injecta
	.setValue("url", "/getUsers")
	.setValue("someValues", [1, 2, 3])
	.setService("userService", UserService)
	.setFactory("controller", function (userService, someValues) {
		return new Controller(userService, someValues);
	});


/* Getting token values*/

const ctrl = injecta.get("controller");
const data = injecta.get("someValues");
const val = injecta.get("url");

console.log(val); // /getUsers
console.log(data); // [1, 2, 3]
console.log(ctrl); // Controller {service: {…}, data: Array[3]} <-- controller instance with resolved dependencies
console.log(ctrl.double()); // [2, 4, 6]

Install Choices

License

(The MIT License)

MIT License