injecta
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

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

Package Sidebar

Install

npm i injecta

Weekly Downloads

4

Version

1.0.0

License

none

Unpacked Size

18.3 kB

Total Files

8

Last publish

Collaborators

  • alfmo