kantaina

1.1.8 • Public • Published

kantaina

Wonderful asynchronous DI container based on promises.

Build Status Coverage Status Dependency Status NPM version

Usage

kantaina = require "kantaina"
= require "when"
 
# create container 
container = kantaina()
 
# define scalar value 
container.set "a"1
 
# define sync factory 
container.set "b"(a) ->
  a + 1
 
# define async factory 
container.set "c"(a, b) ->
  deffered = w.defer()
 
  setTimeout ->
    deffered.resolve a + b
  1000
 
  deffered.promise
 
# try to override already defined value 
container.unless "a"100
 
# receive value resolved by async factory 
container.get("c").then (value) ->
  # writes "3" after one second 
  console.log value
 
# inject dependencies into function 
promise = container.inject (a, b, c) ->
  a + b + c
 
# inject method returns promise 
promise.then (value) ->
  # writes "6" immediately because "c" already resolved 
  console.log value

Readme

Keywords

none

Package Sidebar

Install

npm i kantaina

Weekly Downloads

0

Version

1.1.8

License

none

Last publish

Collaborators

  • rithis