{"_id":"kantaina","_rev":"39-ec6e4be53724c65f3a88c2852737680e","name":"kantaina","description":"Wonderful asynchronous DI container based on promises.","dist-tags":{"latest":"1.1.8"},"versions":{"0.1.0":{"name":"kantaina","version":"0.1.0","description":"Wonderful asynchronous DI container based on promises.","homepage":"https://github.com/rithis/kantaina","bugs":{"url":"https://github.com/rithis/kantaina","email":"webmaster@rithis.com"},"author":{"name":"Vyacheslav Slinko","email":"vyacheslav.slinko@gmail.com"},"main":"lib","repository":{"type":"git","url":"git://github.com/rithis/kantaina.git"},"scripts":{"test":"grunt"},"dependencies":{"lodash":"~1.2","when":"~2.1"},"devDependencies":{"chai":"~1.6","chai-as-promised":"~3.3","grunt":"~0.4","grunt-simple-mocha":"~0.4","grunt-coffeelint":"~0.0"},"engines":{"node":">=0.8","npm":">=1.2","coffee-script":"~1.6","grunt-cli":"~0.4"},"readme":"# kantaina\n\n> Wonderful asynchronous DI container based on promises.\n\n## Usage\n\n```coffee\nkantaina = require \"kantaina\"\nw = require \"when\"\n\n# create container\ncontainer = kantaina()\n\n# define scalar value\ncontainer.set \"a\", 1\n\n# define sync factory\ncontainer.set \"b\", (a) ->\n  a + 1\n\n# define async factory\ncontainer.set \"c\", (a, b) ->\n  deffered = w.defer()\n\n  setTimeout ->\n    deffered.resolve a + b\n  , 1000\n\n  deffered.promise\n\n# receive value resolved by async factory\ncontainer.get(\"c\").then (value) ->\n  # writes \"3\" after one second\n  console.log value\n\n# wrap function and inject dependencies\nwrapped = container.inject (a, b, c) ->\n  a + b + c\n\n# wrapped function returns promise\nwrapped().then (value) ->\n  # writes \"6\" immediately because \"c\" already resolved\n  console.log value\n```\n","readmeFilename":"README.md","_id":"kantaina@0.1.0","dist":{"shasum":"1f33b82085a5b9ce0690501a9194f0e77f66554e","tarball":"https://registry.npmjs.org/kantaina/-/kantaina-0.1.0.tgz","integrity":"sha512-quaF6fFJq7+7geXWdyXfZxS6Rww1xbdQNGxHXUUD2Q9e2vLqTAG8zMdhgVhqxLKQxt+GFDStDiOlGYaVlPETDA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDauCUqp+2c8BzJ7NGurewiL9hwPoocGH8O+Pl0KmWOoQIhAIijEGVbICSfF1AvPAjpaHtx1/GYHMtWSeWUaN71sOkE"}]},"_from":".","_npmVersion":"1.2.2","_npmUser":{"name":"rithis","email":"info@rithis.com"},"maintainers":[{"name":"rithis","email":"info@rithis.com"}]},"0.1.1":{"name":"kantaina","version":"0.1.1","description":"Wonderful asynchronous DI container based on promises.","homepage":"https://github.com/rithis/kantaina","bugs":{"url":"https://github.com/rithis/kantaina","email":"webmaster@rithis.com"},"author":{"name":"Vyacheslav Slinko","email":"vyacheslav.slinko@gmail.com"},"main":"lib","repository":{"type":"git","url":"git://github.com/rithis/kantaina.git"},"scripts":{"test":"grunt"},"dependencies":{"lodash":"~1.2","when":"~2.1"},"devDependencies":{"chai":"~1.6","chai-as-promised":"~3.3","grunt":"~0.4","grunt-simple-mocha":"~0.4","grunt-coffeelint":"~0.0"},"engines":{"node":">=0.8","npm":">=1.2","coffee-script":"~1.6","grunt-cli":"~0.4"},"readme":"# kantaina\n\n> Wonderful asynchronous DI container based on promises.\n\n## Usage\n\n```coffee\nkantaina = require \"kantaina\"\nw = require \"when\"\n\n# create container\ncontainer = kantaina()\n\n# define scalar value\ncontainer.set \"a\", 1\n\n# define sync factory\ncontainer.set \"b\", (a) ->\n  a + 1\n\n# define async factory\ncontainer.set \"c\", (a, b) ->\n  deffered = w.defer()\n\n  setTimeout ->\n    deffered.resolve a + b\n  , 1000\n\n  deffered.promise\n\n# receive value resolved by async factory\ncontainer.get(\"c\").then (value) ->\n  # writes \"3\" after one second\n  console.log value\n\n# wrap function and inject dependencies\nwrapped = container.inject (a, b, c) ->\n  a + b + c\n\n# wrapped function returns promise\nwrapped().then (value) ->\n  # writes \"6\" immediately because \"c\" already resolved\n  console.log value\n```\n","readmeFilename":"README.md","_id":"kantaina@0.1.1","dist":{"shasum":"0988fa60cc428147f12fd1185aa959d0913c2c57","tarball":"https://registry.npmjs.org/kantaina/-/kantaina-0.1.1.tgz","integrity":"sha512-frbDDEdU7+tK2ok3crguFmobnhYSrV3HvCrr9fsMCitdF8heFNAOkdEup5+8eYLWuXh3eqIOz38EdFZ9xa8Zwg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCAwm30xXyN0uGKXbATGD5svaes+8oIb5Pl+nIe3Bu++QIgYv0stB+FChSfYOYfRIAj3Jc+Wss17k90f8cwh54cW7E="}]},"_from":".","_npmVersion":"1.2.2","_npmUser":{"name":"rithis","email":"info@rithis.com"},"maintainers":[{"name":"rithis","email":"info@rithis.com"}]},"0.1.2":{"name":"kantaina","version":"0.1.2","description":"Wonderful asynchronous DI container based on promises.","homepage":"https://github.com/rithis/kantaina","bugs":{"url":"https://github.com/rithis/kantaina","email":"webmaster@rithis.com"},"author":{"name":"Vyacheslav Slinko","email":"vyacheslav.slinko@gmail.com"},"main":"lib","repository":{"type":"git","url":"git://github.com/rithis/kantaina.git"},"scripts":{"test":"grunt"},"dependencies":{"lodash":"~1.2","when":"~2.1"},"devDependencies":{"chai":"~1.6","chai-as-promised":"~3.3","grunt":"~0.4","grunt-simple-mocha":"~0.4","grunt-coffeelint":"~0.0"},"engines":{"node":">=0.8","npm":">=1.2","coffee-script":"~1.6","grunt-cli":"~0.4"},"readme":"# kantaina\n\n> Wonderful asynchronous DI container based on promises.\n\n## Usage\n\n```coffee\nkantaina = require \"kantaina\"\nw = require \"when\"\n\n# create container\ncontainer = kantaina()\n\n# define scalar value\ncontainer.set \"a\", 1\n\n# define sync factory\ncontainer.set \"b\", (a) ->\n  a + 1\n\n# define async factory\ncontainer.set \"c\", (a, b) ->\n  deffered = w.defer()\n\n  setTimeout ->\n    deffered.resolve a + b\n  , 1000\n\n  deffered.promise\n\n# receive value resolved by async factory\ncontainer.get(\"c\").then (value) ->\n  # writes \"3\" after one second\n  console.log value\n\n# wrap function and inject dependencies\nwrapped = container.inject (a, b, c) ->\n  a + b + c\n\n# wrapped function returns promise\nwrapped().then (value) ->\n  # writes \"6\" immediately because \"c\" already resolved\n  console.log value\n```\n","readmeFilename":"README.md","_id":"kantaina@0.1.2","dist":{"shasum":"ff95982345d3919a93c22e0d7b9174681b110aa7","tarball":"https://registry.npmjs.org/kantaina/-/kantaina-0.1.2.tgz","integrity":"sha512-DAdXEWXnEK3ethUjeVhueYY0cJ8hFiZ0iRU2AAGhoyFtRCB/HIilwu1rOhT1iuY1duI+N7z5LrUiaD/X/iW3iA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDWEzF1/nAI3gKi7nob+LdsF8NlTmNPRS28l88PHSlJPwIhAOn3sNY8l1gqPVYnCmtebE+Vybd/3J0PXgDKy8tJn1YJ"}]},"_from":".","_npmVersion":"1.2.2","_npmUser":{"name":"rithis","email":"info@rithis.com"},"maintainers":[{"name":"rithis","email":"info@rithis.com"}]},"0.1.3":{"name":"kantaina","version":"0.1.3","description":"Wonderful asynchronous DI container based on promises.","homepage":"https://github.com/rithis/kantaina","bugs":{"url":"https://github.com/rithis/kantaina","email":"webmaster@rithis.com"},"author":{"name":"Vyacheslav Slinko","email":"vyacheslav.slinko@gmail.com"},"main":"lib","repository":{"type":"git","url":"git://github.com/rithis/kantaina.git"},"scripts":{"test":"grunt"},"dependencies":{"lodash":"~1.2","when":"~2.1","dep-graph":"~1.1"},"devDependencies":{"chai":"~1.6","chai-as-promised":"~3.3","grunt":"~0.4","grunt-simple-mocha":"~0.4","grunt-coffeelint":"~0.0"},"engines":{"node":">=0.8","npm":">=1.2","coffee-script":"~1.6","grunt-cli":"~0.4"},"readme":"# kantaina\n\n> Wonderful asynchronous DI container based on promises.\n\n## Usage\n\n```coffee\nkantaina = require \"kantaina\"\nw = require \"when\"\n\n# create container\ncontainer = kantaina()\n\n# define scalar value\ncontainer.set \"a\", 1\n\n# define sync factory\ncontainer.set \"b\", (a) ->\n  a + 1\n\n# define async factory\ncontainer.set \"c\", (a, b) ->\n  deffered = w.defer()\n\n  setTimeout ->\n    deffered.resolve a + b\n  , 1000\n\n  deffered.promise\n\n# receive value resolved by async factory\ncontainer.get(\"c\").then (value) ->\n  # writes \"3\" after one second\n  console.log value\n\n# wrap function and inject dependencies\nwrapped = container.inject (a, b, c) ->\n  a + b + c\n\n# wrapped function returns promise\nwrapped().then (value) ->\n  # writes \"6\" immediately because \"c\" already resolved\n  console.log value\n```\n","readmeFilename":"README.md","_id":"kantaina@0.1.3","dist":{"shasum":"142ac56b2d7ddf51c7442f4815c9cf7ca4be742f","tarball":"https://registry.npmjs.org/kantaina/-/kantaina-0.1.3.tgz","integrity":"sha512-usTzpb+pXsDLVmpE+vuyksUFtUwi3FbYmRRaeXPHPWYIHYbqbdhKQZbBY1BznxkBfI5FDl9EqB8/koHKeZQWgQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDw/uSDCW6rOnwisHQTMpklbP9/aiM572evjY3F5xphJgIgFI9LZNU/FyuUQHpjVC0Se0xT+9ZgVXEEJUWe/QruqEs="}]},"_from":".","_npmVersion":"1.2.2","_npmUser":{"name":"rithis","email":"info@rithis.com"},"maintainers":[{"name":"rithis","email":"info@rithis.com"}]},"0.1.4":{"name":"kantaina","version":"0.1.4","description":"Wonderful asynchronous DI container based on promises.","homepage":"https://github.com/rithis/kantaina","bugs":{"url":"https://github.com/rithis/kantaina","email":"webmaster@rithis.com"},"author":{"name":"Vyacheslav Slinko","email":"vyacheslav.slinko@gmail.com"},"main":"lib","repository":{"type":"git","url":"git://github.com/rithis/kantaina.git"},"scripts":{"test":"grunt"},"dependencies":{"lodash":"~1.2","when":"~2.1","dep-graph":"~1.1"},"devDependencies":{"chai":"~1.6","chai-as-promised":"~3.3","sinon":"~1.7","sinon-chai":"~2.4","grunt":"~0.4","grunt-simple-mocha":"~0.4","grunt-coffeelint":"~0.0"},"engines":{"node":">=0.8","npm":">=1.2","coffee-script":"~1.6","grunt-cli":"~0.4"},"readme":"# kantaina\n\n> Wonderful asynchronous DI container based on promises.\n\n## Usage\n\n```coffee\nkantaina = require \"kantaina\"\nw = require \"when\"\n\n# create container\ncontainer = kantaina()\n\n# define scalar value\ncontainer.set \"a\", 1\n\n# define sync factory\ncontainer.set \"b\", (a) ->\n  a + 1\n\n# define async factory\ncontainer.set \"c\", (a, b) ->\n  deffered = w.defer()\n\n  setTimeout ->\n    deffered.resolve a + b\n  , 1000\n\n  deffered.promise\n\n# receive value resolved by async factory\ncontainer.get(\"c\").then (value) ->\n  # writes \"3\" after one second\n  console.log value\n\n# wrap function and inject dependencies\nwrapped = container.inject (a, b, c) ->\n  a + b + c\n\n# wrapped function returns promise\nwrapped().then (value) ->\n  # writes \"6\" immediately because \"c\" already resolved\n  console.log value\n```\n","readmeFilename":"README.md","_id":"kantaina@0.1.4","dist":{"shasum":"c01a9b4b93de2ff2de66ca023b63bc4729aa329e","tarball":"https://registry.npmjs.org/kantaina/-/kantaina-0.1.4.tgz","integrity":"sha512-TFkRcj7Xu8qJ5VKnBgqtcduUPJbVJaNEjQJpdac1aGL36nki5U85eMcLzK00ugD2L/NLu2vCkfFmLlq8XhrESg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAzoSKYV7DFQv/s4mE1f8zek0CsysTnSPmHKuko7DGn0AiEAuHwRPjdV4JTdUQ/Mwf0rE5jpu/P/SBZVIwFodvEJCpY="}]},"_from":".","_npmVersion":"1.2.21","_npmUser":{"name":"rithis","email":"info@rithis.com"},"maintainers":[{"name":"rithis","email":"info@rithis.com"}]},"0.1.5":{"name":"kantaina","version":"0.1.5","description":"Wonderful asynchronous DI container based on promises.","homepage":"https://github.com/rithis/kantaina","bugs":{"url":"https://github.com/rithis/kantaina","email":"webmaster@rithis.com"},"author":{"name":"Vyacheslav Slinko","email":"vyacheslav.slinko@gmail.com"},"main":"lib","repository":{"type":"git","url":"git://github.com/rithis/kantaina.git"},"scripts":{"test":"grunt"},"dependencies":{"lodash":"~1.2","when":"~2.1","dep-graph":"~1.1"},"devDependencies":{"chai":"~1.6","chai-as-promised":"~3.3","sinon":"~1.7","sinon-chai":"~2.4","grunt":"~0.4","grunt-simple-mocha":"~0.4","grunt-coffeelint":"~0.0"},"engines":{"node":">=0.8","npm":">=1.2","coffee-script":"~1.6","grunt-cli":"~0.4"},"readme":"# kantaina\n\n> Wonderful asynchronous DI container based on promises.\n\n## Usage\n\n```coffee\nkantaina = require \"kantaina\"\nw = require \"when\"\n\n# create container\ncontainer = kantaina()\n\n# define scalar value\ncontainer.set \"a\", 1\n\n# define sync factory\ncontainer.set \"b\", (a) ->\n  a + 1\n\n# define async factory\ncontainer.set \"c\", (a, b) ->\n  deffered = w.defer()\n\n  setTimeout ->\n    deffered.resolve a + b\n  , 1000\n\n  deffered.promise\n\n# receive value resolved by async factory\ncontainer.get(\"c\").then (value) ->\n  # writes \"3\" after one second\n  console.log value\n\n# wrap function and inject dependencies\nwrapped = container.inject (a, b, c) ->\n  a + b + c\n\n# wrapped function returns promise\nwrapped().then (value) ->\n  # writes \"6\" immediately because \"c\" already resolved\n  console.log value\n```\n","readmeFilename":"README.md","_id":"kantaina@0.1.5","dist":{"shasum":"62f965c66da9eb0bed16df3702b9683e5beb8e0c","tarball":"https://registry.npmjs.org/kantaina/-/kantaina-0.1.5.tgz","integrity":"sha512-+ylACXROvl1249QWRRZ6fXDXN7GGxVmT54Xna/hBxq8dvexozLDD71UsjJtO7iulTqwtNE8qWkcGZ4UA5+WvGQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDs1kS7UgDxn6INdlvxQSATCSCy2bzOsAv85rH+v1DCnQIgTexDALn9h+DHxScOMRz6tS9p+moF9SILCZBHMxSpnJA="}]},"_from":".","_npmVersion":"1.2.21","_npmUser":{"name":"rithis","email":"info@rithis.com"},"maintainers":[{"name":"rithis","email":"info@rithis.com"}]},"0.1.6":{"name":"kantaina","version":"0.1.6","description":"Wonderful asynchronous DI container based on promises.","homepage":"https://github.com/rithis/kantaina","bugs":{"url":"https://github.com/rithis/kantaina","email":"webmaster@rithis.com"},"author":{"name":"Vyacheslav Slinko","email":"vyacheslav.slinko@gmail.com"},"main":"lib","repository":{"type":"git","url":"git://github.com/rithis/kantaina.git"},"scripts":{"test":"grunt"},"dependencies":{"lodash":"~1.2","when":"~2.1","dep-graph":"~1.1"},"devDependencies":{"chai":"~1.6","chai-as-promised":"~3.3","sinon":"~1.7","sinon-chai":"~2.4","grunt":"~0.4","grunt-simple-mocha":"~0.4","grunt-coffeelint":"~0.0"},"engines":{"node":">=0.8","npm":">=1.2","coffee-script":"~1.6","grunt-cli":"~0.4"},"readme":"# kantaina\n\n> Wonderful asynchronous DI container based on promises.\n\n## Usage\n\n```coffee\nkantaina = require \"kantaina\"\nw = require \"when\"\n\n# create container\ncontainer = kantaina()\n\n# define scalar value\ncontainer.set \"a\", 1\n\n# define sync factory\ncontainer.set \"b\", (a) ->\n  a + 1\n\n# define async factory\ncontainer.set \"c\", (a, b) ->\n  deffered = w.defer()\n\n  setTimeout ->\n    deffered.resolve a + b\n  , 1000\n\n  deffered.promise\n\n# receive value resolved by async factory\ncontainer.get(\"c\").then (value) ->\n  # writes \"3\" after one second\n  console.log value\n\n# wrap function and inject dependencies\nwrapped = container.inject (a, b, c) ->\n  a + b + c\n\n# wrapped function returns promise\nwrapped().then (value) ->\n  # writes \"6\" immediately because \"c\" already resolved\n  console.log value\n```\n","readmeFilename":"README.md","_id":"kantaina@0.1.6","dist":{"shasum":"18d66f8aa879e3a2df88a101ad6193fdeb1a7bd6","tarball":"https://registry.npmjs.org/kantaina/-/kantaina-0.1.6.tgz","integrity":"sha512-lo95800dBlgg0dEJp7ZhFhIfPoD7x12etmhf42QsNRqOQyDQrNJUYqZW2oG13AN71fLsxTrgzwSa2GB00TUW2g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF1BkuYZmJ/KRvyE0GAD57jQMwj5tGwn5cSCpSpPzmrLAiAW3sKkB9+bl1j+ZWKinu5dr0WM4kBzu9XN/xPLNAqLeg=="}]},"_from":".","_npmVersion":"1.2.21","_npmUser":{"name":"rithis","email":"info@rithis.com"},"maintainers":[{"name":"rithis","email":"info@rithis.com"}]},"0.1.7":{"name":"kantaina","version":"0.1.7","description":"Wonderful asynchronous DI container based on promises.","homepage":"https://github.com/rithis/kantaina","bugs":{"url":"https://github.com/rithis/kantaina","email":"webmaster@rithis.com"},"author":{"name":"Vyacheslav Slinko","email":"vyacheslav.slinko@gmail.com"},"main":"lib","repository":{"type":"git","url":"git://github.com/rithis/kantaina.git"},"scripts":{"test":"grunt"},"dependencies":{"lodash":"~1.2","when":"~2.1","dep-graph":"~1.1"},"devDependencies":{"chai":"~1.6","chai-as-promised":"~3.3","sinon":"~1.7","sinon-chai":"~2.4","grunt":"~0.4","grunt-simple-mocha":"~0.4","grunt-coffeelint":"~0.0"},"engines":{"node":">=0.8","npm":">=1.2","coffee-script":"~1.6","grunt-cli":"~0.4"},"readme":"# kantaina\n\n> Wonderful asynchronous DI container based on promises.\n\n## Usage\n\n```coffee\nkantaina = require \"kantaina\"\nw = require \"when\"\n\n# create container\ncontainer = kantaina()\n\n# define scalar value\ncontainer.set \"a\", 1\n\n# define sync factory\ncontainer.set \"b\", (a) ->\n  a + 1\n\n# define async factory\ncontainer.set \"c\", (a, b) ->\n  deffered = w.defer()\n\n  setTimeout ->\n    deffered.resolve a + b\n  , 1000\n\n  deffered.promise\n\n# receive value resolved by async factory\ncontainer.get(\"c\").then (value) ->\n  # writes \"3\" after one second\n  console.log value\n\n# wrap function and inject dependencies\nwrapped = container.inject (a, b, c) ->\n  a + b + c\n\n# wrapped function returns promise\nwrapped().then (value) ->\n  # writes \"6\" immediately because \"c\" already resolved\n  console.log value\n```\n","readmeFilename":"README.md","_id":"kantaina@0.1.7","dist":{"shasum":"7123b18b20812ea627412e513df4bc7cc5f58181","tarball":"https://registry.npmjs.org/kantaina/-/kantaina-0.1.7.tgz","integrity":"sha512-RecvNsjTaLAAdBDydxHCXotVII9neTW9NnsqlezMI3S4yAcYz6BjMVYm2ZJ2alAgiCtolwITWoQ9tJwLzshSRA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDFl7qLE8D1D5s+7k3+PdxDP/L6qlcQZK/IIR12kC9SQgIhAMnkklZNC00S+RQYb5Ndt9rDZmgalWzJC7DeuFBufmae"}]},"_from":".","_npmVersion":"1.2.21","_npmUser":{"name":"rithis","email":"info@rithis.com"},"maintainers":[{"name":"rithis","email":"info@rithis.com"}]},"1.0.0":{"name":"kantaina","version":"1.0.0","description":"Wonderful asynchronous DI container based on promises.","homepage":"https://github.com/rithis/kantaina","bugs":{"url":"https://github.com/rithis/kantaina","email":"webmaster@rithis.com"},"author":{"name":"Vyacheslav Slinko","email":"vyacheslav.slinko@gmail.com"},"main":"lib","repository":{"type":"git","url":"git://github.com/rithis/kantaina.git"},"scripts":{"test":"npm install && grunt"},"dependencies":{"when":"~2.1","dep-graph":"~1.1"},"devDependencies":{"chai":"~1.6","chai-as-promised":"~3.3","sinon":"~1.7","sinon-chai":"~2.4","grunt":"~0.4","grunt-simple-mocha":"~0.4","grunt-coffeelint":"~0.0"},"engines":{"node":">=0.8","npm":">=1.2","coffee-script":"~1.6","grunt-cli":"~0.4"},"readme":"# kantaina\n\n> Wonderful asynchronous DI container based on promises.\n\n## Usage\n\n```coffee\nkantaina = require \"kantaina\"\nw = require \"when\"\n\n# create container\ncontainer = kantaina()\n\n# define scalar value\ncontainer.set \"a\", 1\n\n# define sync factory\ncontainer.set \"b\", (a) ->\n  a + 1\n\n# define async factory\ncontainer.set \"c\", (a, b) ->\n  deffered = w.defer()\n\n  setTimeout ->\n    deffered.resolve a + b\n  , 1000\n\n  deffered.promise\n\n# try to override already defined value\ncontainer.unless \"a\", 100\n\n# receive value resolved by async factory\ncontainer.get(\"c\").then (value) ->\n  # writes \"3\" after one second\n  console.log value\n\n# inject dependencies into function\npromise = container.inject (a, b, c) ->\n  a + b + c\n\n# inject method returns promise\npromise.then (value) ->\n  # writes \"6\" immediately because \"c\" already resolved\n  console.log value\n```\n","readmeFilename":"README.md","_id":"kantaina@1.0.0","dist":{"shasum":"c52a48ee7084ca42ba47107f3e332af91813faf4","tarball":"https://registry.npmjs.org/kantaina/-/kantaina-1.0.0.tgz","integrity":"sha512-u8RgsyNpcUGF8m/qU68v94jo3z4LcbE1OJOpjRHu6ywpGU+xv80RB3Pf5JKEDVMjH0Zsz/kXg4SBUYII3SRqwQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC9jUwPefs1PqFh0V8RihleXD+IJn0l3nUvh2pYKIeI7wIhAOZUEDrfp+me6MjRM/bqSl45KpLOYX03dSfk//+TVRrg"}]},"_from":".","_npmVersion":"1.2.21","_npmUser":{"name":"rithis","email":"info@rithis.com"},"maintainers":[{"name":"rithis","email":"info@rithis.com"}]},"1.1.0":{"name":"kantaina","version":"1.1.0","description":"Wonderful asynchronous DI container based on promises.","homepage":"https://github.com/rithis/kantaina","bugs":{"url":"https://github.com/rithis/kantaina","email":"webmaster@rithis.com"},"author":{"name":"Vyacheslav Slinko","email":"vyacheslav.slinko@gmail.com"},"main":"lib","repository":{"type":"git","url":"git://github.com/rithis/kantaina.git"},"scripts":{"test":"npm install && grunt"},"dependencies":{"when":"~2.1","dep-graph":"~1.1"},"devDependencies":{"chai":"~1.6","chai-as-promised":"~3.3","sinon":"~1.7","sinon-chai":"~2.4","grunt":"~0.4","grunt-simple-mocha":"~0.4","grunt-coffeelint":"~0.0"},"engines":{"node":">=0.8","npm":">=1.2","coffee-script":"~1.6","grunt-cli":"~0.4"},"readme":"# kantaina\n\n> Wonderful asynchronous DI container based on promises.\n\n## Usage\n\n```coffee\nkantaina = require \"kantaina\"\nw = require \"when\"\n\n# create container\ncontainer = kantaina()\n\n# define scalar value\ncontainer.set \"a\", 1\n\n# define sync factory\ncontainer.set \"b\", (a) ->\n  a + 1\n\n# define async factory\ncontainer.set \"c\", (a, b) ->\n  deffered = w.defer()\n\n  setTimeout ->\n    deffered.resolve a + b\n  , 1000\n\n  deffered.promise\n\n# try to override already defined value\ncontainer.unless \"a\", 100\n\n# receive value resolved by async factory\ncontainer.get(\"c\").then (value) ->\n  # writes \"3\" after one second\n  console.log value\n\n# inject dependencies into function\npromise = container.inject (a, b, c) ->\n  a + b + c\n\n# inject method returns promise\npromise.then (value) ->\n  # writes \"6\" immediately because \"c\" already resolved\n  console.log value\n```\n","readmeFilename":"README.md","_id":"kantaina@1.1.0","dist":{"shasum":"1e045317498fc3b5d9fe0db1634cd1e9ddeedd37","tarball":"https://registry.npmjs.org/kantaina/-/kantaina-1.1.0.tgz","integrity":"sha512-2+ZGuhtN9B+EyO+HtGQUka4nI2UdNm1WuThnVXxJ4ot7+b/olpLfgpn659OYU2ZPsrLAfewgxigdzBQh/jt1mA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCOnFXuWgmHaYmTkq0o5KsFzCAKpeskeEWRWXPcrpi4GgIhAPYMjXT0ycGtK6AZE8nzM4KqlCFRrqBrzSdYJoYK3d0X"}]},"_from":".","_npmVersion":"1.2.21","_npmUser":{"name":"rithis","email":"info@rithis.com"},"maintainers":[{"name":"rithis","email":"info@rithis.com"}]},"1.1.1":{"name":"kantaina","version":"1.1.1","description":"Wonderful asynchronous DI container based on promises.","homepage":"https://github.com/rithis/kantaina","bugs":{"url":"https://github.com/rithis/kantaina","email":"webmaster@rithis.com"},"author":{"name":"Vyacheslav Slinko","email":"vyacheslav.slinko@gmail.com"},"main":"lib","repository":{"type":"git","url":"git://github.com/rithis/kantaina.git"},"scripts":{"test":"npm install && grunt"},"dependencies":{"when":"~2.2","dep-graph":"~1.1"},"devDependencies":{"chai":"~1.7","chai-as-promised":"~3.3","sinon":"~1.7","sinon-chai":"~2.4","grunt":"~0.4","grunt-simple-mocha":"~0.4","grunt-coffeelint":"~0.0"},"engines":{"node":">=0.8","npm":">=1.2","coffee-script":"~1.6","grunt-cli":"~0.4"},"readme":"# kantaina\n\n> Wonderful asynchronous DI container based on promises.\n\n## Usage\n\n```coffee\nkantaina = require \"kantaina\"\nw = require \"when\"\n\n# create container\ncontainer = kantaina()\n\n# define scalar value\ncontainer.set \"a\", 1\n\n# define sync factory\ncontainer.set \"b\", (a) ->\n  a + 1\n\n# define async factory\ncontainer.set \"c\", (a, b) ->\n  deffered = w.defer()\n\n  setTimeout ->\n    deffered.resolve a + b\n  , 1000\n\n  deffered.promise\n\n# try to override already defined value\ncontainer.unless \"a\", 100\n\n# receive value resolved by async factory\ncontainer.get(\"c\").then (value) ->\n  # writes \"3\" after one second\n  console.log value\n\n# inject dependencies into function\npromise = container.inject (a, b, c) ->\n  a + b + c\n\n# inject method returns promise\npromise.then (value) ->\n  # writes \"6\" immediately because \"c\" already resolved\n  console.log value\n```\n","readmeFilename":"README.md","_id":"kantaina@1.1.1","dist":{"shasum":"66373087f5fbdf84910aaa1c968e61e1462d4d75","tarball":"https://registry.npmjs.org/kantaina/-/kantaina-1.1.1.tgz","integrity":"sha512-WbS6UbUnRv6LboxY1alA3ps4/3c8tdbxCNh5Q3zVkiqNUUNdWtQMGY/ib1wgEHYM9Dxl9GKMkjp6L2AzuwJjww==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIErclvRvnTYe2svtTr2HpQPv2nU/dFYQMF82bK8hcq0dAiA6al6XihAujDrf6QbaW0qnePjTVj+Y9PIqDi7XWl6nRg=="}]},"_from":".","_npmVersion":"1.2.21","_npmUser":{"name":"rithis","email":"info@rithis.com"},"maintainers":[{"name":"rithis","email":"info@rithis.com"}]},"1.1.2":{"name":"kantaina","version":"1.1.2","description":"Wonderful asynchronous DI container based on promises.","homepage":"https://github.com/rithis/kantaina","bugs":{"url":"https://github.com/rithis/kantaina","email":"webmaster@rithis.com"},"author":{"name":"Vyacheslav Slinko","email":"vyacheslav.slinko@gmail.com"},"main":"lib","repository":{"type":"git","url":"git://github.com/rithis/kantaina.git"},"scripts":{"test":"npm install && grunt"},"dependencies":{"when":"~2.2","dep-graph":"~1.1"},"devDependencies":{"chai":"~1.7","chai-as-promised":"~3.3","sinon":"~1.7","sinon-chai":"~2.4","grunt":"~0.4","grunt-simple-mocha":"~0.4","grunt-coffeelint":"~0.0"},"engines":{"node":">=0.8","npm":">=1.2","coffee-script":"~1.6","grunt-cli":"~0.4"},"readme":"# kantaina\n\n> Wonderful asynchronous DI container based on promises.\n\n## Usage\n\n```coffee\nkantaina = require \"kantaina\"\nw = require \"when\"\n\n# create container\ncontainer = kantaina()\n\n# define scalar value\ncontainer.set \"a\", 1\n\n# define sync factory\ncontainer.set \"b\", (a) ->\n  a + 1\n\n# define async factory\ncontainer.set \"c\", (a, b) ->\n  deffered = w.defer()\n\n  setTimeout ->\n    deffered.resolve a + b\n  , 1000\n\n  deffered.promise\n\n# try to override already defined value\ncontainer.unless \"a\", 100\n\n# receive value resolved by async factory\ncontainer.get(\"c\").then (value) ->\n  # writes \"3\" after one second\n  console.log value\n\n# inject dependencies into function\npromise = container.inject (a, b, c) ->\n  a + b + c\n\n# inject method returns promise\npromise.then (value) ->\n  # writes \"6\" immediately because \"c\" already resolved\n  console.log value\n```\n","readmeFilename":"README.md","_id":"kantaina@1.1.2","dist":{"shasum":"4e071e1ec3cf653f6b972d711c113387f147ef58","tarball":"https://registry.npmjs.org/kantaina/-/kantaina-1.1.2.tgz","integrity":"sha512-5o9pwQSKSIKkCqD/uz7XjiMVYm21uiqsXyYeiR9hHMpc0NTUkhqIAPzJrqLWMyKXJgtNhf0KmPv1kNj+OVnuow==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCC5wx+9LYxbZBRNB3NX5nDwHIMipRiUokv/gmhMQtLXQIhAIw3ciXSYhcjwHrPmEHl/t/kwHhgK28hQPVF59HDaNMf"}]},"_from":".","_npmVersion":"1.2.21","_npmUser":{"name":"rithis","email":"info@rithis.com"},"maintainers":[{"name":"rithis","email":"info@rithis.com"}]},"1.1.3":{"name":"kantaina","version":"1.1.3","description":"Wonderful asynchronous DI container based on promises.","homepage":"https://github.com/rithis/kantaina","bugs":{"url":"https://github.com/rithis/kantaina","email":"webmaster@rithis.com"},"author":{"name":"Vyacheslav Slinko","email":"vyacheslav.slinko@gmail.com"},"main":"lib","repository":{"type":"git","url":"git://github.com/rithis/kantaina.git"},"scripts":{"test":"npm install && grunt"},"dependencies":{"when":"~2.2","dep-graph":"~1.1"},"devDependencies":{"chai":"~1.7","chai-as-promised":"~3.3","sinon":"~1.7","sinon-chai":"~2.4","grunt":"~0.4","grunt-simple-mocha":"~0.4","grunt-coffeelint":"~0.0"},"engines":{"node":">=0.8","npm":">=1.2","coffee-script":"~1.6","grunt-cli":"~0.4"},"readme":"# kantaina\n\n> Wonderful asynchronous DI container based on promises.\n\n## Usage\n\n```coffee\nkantaina = require \"kantaina\"\nw = require \"when\"\n\n# create container\ncontainer = kantaina()\n\n# define scalar value\ncontainer.set \"a\", 1\n\n# define sync factory\ncontainer.set \"b\", (a) ->\n  a + 1\n\n# define async factory\ncontainer.set \"c\", (a, b) ->\n  deffered = w.defer()\n\n  setTimeout ->\n    deffered.resolve a + b\n  , 1000\n\n  deffered.promise\n\n# try to override already defined value\ncontainer.unless \"a\", 100\n\n# receive value resolved by async factory\ncontainer.get(\"c\").then (value) ->\n  # writes \"3\" after one second\n  console.log value\n\n# inject dependencies into function\npromise = container.inject (a, b, c) ->\n  a + b + c\n\n# inject method returns promise\npromise.then (value) ->\n  # writes \"6\" immediately because \"c\" already resolved\n  console.log value\n```\n","readmeFilename":"README.md","_id":"kantaina@1.1.3","dist":{"shasum":"96c77665ea38b4d370c92165e5cc4b83b47282ca","tarball":"https://registry.npmjs.org/kantaina/-/kantaina-1.1.3.tgz","integrity":"sha512-2ohb81sUq/Ze/jcKKiI1vYxuibmIajx7Jh1SPlAme9/2qZBtu1EUTK7MqqJVikkRC8CeqlTFDpdOfvMhcumnbQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDXL75KAriGC0DU2zSK+LKoPHbQFniCWoJSpbTF+8CZ+AiAPD4Qo+8PFl7Ui4GQKvEWVZz5h99ysRDY03jsuPG8l/g=="}]},"_from":".","_npmVersion":"1.2.21","_npmUser":{"name":"rithis","email":"info@rithis.com"},"maintainers":[{"name":"rithis","email":"info@rithis.com"}]},"1.1.4":{"name":"kantaina","version":"1.1.4","description":"Wonderful asynchronous DI container based on promises.","homepage":"https://github.com/rithis/kantaina","bugs":{"url":"https://github.com/rithis/kantaina","email":"webmaster@rithis.com"},"author":{"name":"Vyacheslav Slinko","email":"vyacheslav.slinko@gmail.com"},"main":"lib","repository":{"type":"git","url":"git://github.com/rithis/kantaina.git"},"scripts":{"test":"npm install && grunt"},"dependencies":{"when":"~2.2","dep-graph":"~1.1"},"devDependencies":{"chai":"~1.7","chai-as-promised":"~3.3","sinon":"~1.7","sinon-chai":"~2.4","grunt":"~0.4","grunt-simple-mocha":"~0.4","grunt-coffeelint":"~0.0"},"engines":{"node":">=0.8","npm":">=1.2","coffee-script":"~1.6","grunt-cli":"~0.4"},"readme":"# kantaina\n\n> Wonderful asynchronous DI container based on promises.\n\n## Usage\n\n```coffee\nkantaina = require \"kantaina\"\nw = require \"when\"\n\n# create container\ncontainer = kantaina()\n\n# define scalar value\ncontainer.set \"a\", 1\n\n# define sync factory\ncontainer.set \"b\", (a) ->\n  a + 1\n\n# define async factory\ncontainer.set \"c\", (a, b) ->\n  deffered = w.defer()\n\n  setTimeout ->\n    deffered.resolve a + b\n  , 1000\n\n  deffered.promise\n\n# try to override already defined value\ncontainer.unless \"a\", 100\n\n# receive value resolved by async factory\ncontainer.get(\"c\").then (value) ->\n  # writes \"3\" after one second\n  console.log value\n\n# inject dependencies into function\npromise = container.inject (a, b, c) ->\n  a + b + c\n\n# inject method returns promise\npromise.then (value) ->\n  # writes \"6\" immediately because \"c\" already resolved\n  console.log value\n```\n","readmeFilename":"README.md","_id":"kantaina@1.1.4","dist":{"shasum":"289b7916eb5231ecc25ee731ffa04745e61dfd92","tarball":"https://registry.npmjs.org/kantaina/-/kantaina-1.1.4.tgz","integrity":"sha512-v8JOwIIMlJXdjj58X0HMeEgWGJt3oASQ0lBeeCJfUaMvPXf+gJsZj1RpGJjFeQAkML/NCQbgz1t0WyAV6Lr2aQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDh2OXTgaALCVZYA/RZ7hJiUTMC27wTQHWNWMnweCc9JAIgCC5dsLTuCtKPRhSFqRsvgObJC6KleWnorhknuNhd56w="}]},"_from":".","_npmVersion":"1.2.21","_npmUser":{"name":"rithis","email":"info@rithis.com"},"maintainers":[{"name":"rithis","email":"info@rithis.com"}]},"1.1.5":{"name":"kantaina","version":"1.1.5","description":"Wonderful asynchronous DI container based on promises.","homepage":"https://github.com/rithis/kantaina","bugs":{"url":"https://github.com/rithis/kantaina","email":"webmaster@rithis.com"},"author":{"name":"Vyacheslav Slinko","email":"vyacheslav.slinko@gmail.com"},"main":"lib","repository":{"type":"git","url":"git://github.com/rithis/kantaina.git"},"scripts":{"test":"npm install && grunt"},"dependencies":{"when":"~2.2","dep-graph":"~1.1"},"devDependencies":{"chai":"~1.7","chai-as-promised":"~3.3","sinon":"~1.7","sinon-chai":"~2.4","grunt":"~0.4","grunt-simple-mocha":"~0.4","grunt-coffeelint":"~0.0"},"engines":{"node":">=0.8","npm":">=1.2","coffee-script":"~1.6","grunt-cli":"~0.4"},"readme":"# kantaina\n\n> Wonderful asynchronous DI container based on promises.\n\n## Usage\n\n```coffee\nkantaina = require \"kantaina\"\nw = require \"when\"\n\n# create container\ncontainer = kantaina()\n\n# define scalar value\ncontainer.set \"a\", 1\n\n# define sync factory\ncontainer.set \"b\", (a) ->\n  a + 1\n\n# define async factory\ncontainer.set \"c\", (a, b) ->\n  deffered = w.defer()\n\n  setTimeout ->\n    deffered.resolve a + b\n  , 1000\n\n  deffered.promise\n\n# try to override already defined value\ncontainer.unless \"a\", 100\n\n# receive value resolved by async factory\ncontainer.get(\"c\").then (value) ->\n  # writes \"3\" after one second\n  console.log value\n\n# inject dependencies into function\npromise = container.inject (a, b, c) ->\n  a + b + c\n\n# inject method returns promise\npromise.then (value) ->\n  # writes \"6\" immediately because \"c\" already resolved\n  console.log value\n```\n","readmeFilename":"README.md","_id":"kantaina@1.1.5","dist":{"shasum":"2f5369b5e67885c327661f75b9909fe623035b16","tarball":"https://registry.npmjs.org/kantaina/-/kantaina-1.1.5.tgz","integrity":"sha512-lcDxsuVrpfdYhxvwUf4vkktS5e6RF+K1zznAEGMAhPtlfz+fYXG5dYMiW3g5c+YzyBsWW6nEzw3CV3eonxAuWw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDcr5cPTGAHu3E51NuOfWyncACseeYK6jZSPkB1dNtTLQIgBEi4hWNfP7Jd3TUCOOJmDDuWj6LNGTnYPCnxyMr2OwM="}]},"_from":".","_npmVersion":"1.2.21","_npmUser":{"name":"rithis","email":"info@rithis.com"},"maintainers":[{"name":"rithis","email":"info@rithis.com"}]},"1.1.6":{"name":"kantaina","version":"1.1.6","description":"Wonderful asynchronous DI container based on promises.","homepage":"https://github.com/rithis/kantaina","bugs":{"url":"https://github.com/rithis/kantaina","email":"webmaster@rithis.com"},"author":{"name":"Vyacheslav Slinko","email":"vyacheslav.slinko@gmail.com"},"main":"lib","repository":{"type":"git","url":"git://github.com/rithis/kantaina.git"},"scripts":{"test":"npm install && grunt"},"dependencies":{"when":"~2.2","dep-graph":"~1.1","parse-fn-args":"~0.0"},"devDependencies":{"chai":"~1.7","chai-as-promised":"~3.3","sinon":"~1.7","sinon-chai":"~2.4","grunt":"~0.4","grunt-simple-mocha":"~0.4","grunt-coffeelint":"~0.0"},"engines":{"node":">=0.8","npm":">=1.2","coffee-script":"~1.6","grunt-cli":"~0.4"},"readme":"# kantaina\n\n> Wonderful asynchronous DI container based on promises.\n\n## Usage\n\n```coffee\nkantaina = require \"kantaina\"\nw = require \"when\"\n\n# create container\ncontainer = kantaina()\n\n# define scalar value\ncontainer.set \"a\", 1\n\n# define sync factory\ncontainer.set \"b\", (a) ->\n  a + 1\n\n# define async factory\ncontainer.set \"c\", (a, b) ->\n  deffered = w.defer()\n\n  setTimeout ->\n    deffered.resolve a + b\n  , 1000\n\n  deffered.promise\n\n# try to override already defined value\ncontainer.unless \"a\", 100\n\n# receive value resolved by async factory\ncontainer.get(\"c\").then (value) ->\n  # writes \"3\" after one second\n  console.log value\n\n# inject dependencies into function\npromise = container.inject (a, b, c) ->\n  a + b + c\n\n# inject method returns promise\npromise.then (value) ->\n  # writes \"6\" immediately because \"c\" already resolved\n  console.log value\n```\n","readmeFilename":"README.md","_id":"kantaina@1.1.6","dist":{"shasum":"be76f5a1057121e72a9cb230538b3aca1782df9d","tarball":"https://registry.npmjs.org/kantaina/-/kantaina-1.1.6.tgz","integrity":"sha512-7Gs+9DgCWES2XuI03U0139iIYAYY1TD0KpZYTJQYJy8o4otNJtbIZXlQPbJclRqJQdX0NIoO+R4IzeuoFGOLKA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCK2cxeknilaUBmjo8Y0bgaWdKGI/YeA7wQmGbFgiq2ugIhAJAzRrTYt5dIfaCM+Q4hAWgxuJBquzjeY+EFm7OxK61k"}]},"_from":".","_npmVersion":"1.2.21","_npmUser":{"name":"rithis","email":"info@rithis.com"},"maintainers":[{"name":"rithis","email":"info@rithis.com"}]},"1.1.7":{"name":"kantaina","version":"1.1.7","description":"Wonderful asynchronous DI container based on promises.","homepage":"https://github.com/rithis/kantaina","bugs":{"url":"https://github.com/rithis/kantaina","email":"webmaster@rithis.com"},"author":{"name":"Vyacheslav Slinko","email":"vyacheslav.slinko@gmail.com"},"main":"lib","repository":{"type":"git","url":"git://github.com/rithis/kantaina.git"},"scripts":{"test":"npm install && grunt"},"dependencies":{"when":"~2.2","dep-graph":"~1.1","parse-fn-args":"~0.0"},"devDependencies":{"chai":"~1.7","chai-as-promised":"~3.3","sinon":"~1.7","sinon-chai":"~2.4","grunt":"~0.4","grunt-simple-mocha":"~0.4","grunt-coffeelint":"~0.0","grunt-coffee-coverage":"~0.1","grunt-contrib-clean":"~0.4","travis-cov":"~0.2","mocha-lcov-reporter":"~0.0"},"engines":{"node":">=0.8","npm":">=1.2","coffee-script":"~1.6","grunt-cli":"~0.4"},"readme":"# kantaina\n\n> Wonderful asynchronous DI container based on promises.\n\n[![Build Status](https://travis-ci.org/rithis/kantaina.png?branch=master)](https://travis-ci.org/rithis/kantaina)\n[![Coverage Status](https://coveralls.io/repos/rithis/kantaina/badge.png?branch=master)](https://coveralls.io/r/rithis/kantaina?branch=master)\n[![Dependency Status](https://gemnasium.com/rithis/kantaina.png)](https://gemnasium.com/rithis/kantaina)\n[![NPM version](https://badge.fury.io/js/kantaina.png)](http://badge.fury.io/js/kantaina)\n\n## Usage\n\n```coffee\nkantaina = require \"kantaina\"\nw = require \"when\"\n\n# create container\ncontainer = kantaina()\n\n# define scalar value\ncontainer.set \"a\", 1\n\n# define sync factory\ncontainer.set \"b\", (a) ->\n  a + 1\n\n# define async factory\ncontainer.set \"c\", (a, b) ->\n  deffered = w.defer()\n\n  setTimeout ->\n    deffered.resolve a + b\n  , 1000\n\n  deffered.promise\n\n# try to override already defined value\ncontainer.unless \"a\", 100\n\n# receive value resolved by async factory\ncontainer.get(\"c\").then (value) ->\n  # writes \"3\" after one second\n  console.log value\n\n# inject dependencies into function\npromise = container.inject (a, b, c) ->\n  a + b + c\n\n# inject method returns promise\npromise.then (value) ->\n  # writes \"6\" immediately because \"c\" already resolved\n  console.log value\n```\n","readmeFilename":"README.md","_id":"kantaina@1.1.7","dist":{"shasum":"27e216136944cdbe9918bc15c2bcf883e7bde468","tarball":"https://registry.npmjs.org/kantaina/-/kantaina-1.1.7.tgz","integrity":"sha512-NuR5QuzMqFTJGQq/y8PijFzGq5rvAVACc8WPC8YioUCK4jrA613us6LEZT5ho+l0oaoamOC37VU/Wn53j+M3hw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHlo/SVqSo2CilRFG7P0JVje3DHBUvRbgDmZUZBh+DA5AiAOpm0Do2jV4QcPtJcXoQFAQQqyXMe+XK1Z7w13VgmvKA=="}]},"_from":".","_npmVersion":"1.2.21","_npmUser":{"name":"rithis","email":"info@rithis.com"},"maintainers":[{"name":"rithis","email":"info@rithis.com"}]},"1.1.8":{"name":"kantaina","version":"1.1.8","description":"Wonderful asynchronous DI container based on promises.","homepage":"https://github.com/rithis/kantaina","bugs":{"url":"https://github.com/rithis/kantaina","email":"webmaster@rithis.com"},"author":{"name":"Vyacheslav Slinko","email":"vyacheslav.slinko@gmail.com"},"main":"build","repository":{"type":"git","url":"git://github.com/rithis/kantaina.git"},"scripts":{"test":"npm install && grunt"},"dependencies":{"when":"~2.2","dep-graph":"~1.1","parse-fn-args":"~0.0"},"devDependencies":{"chai":"~1.7","chai-as-promised":"~3.3","sinon":"~1.7","sinon-chai":"~2.4","grunt":"~0.4","grunt-simple-mocha":"~0.4","grunt-coffeelint":"~0.0","grunt-coffee-coverage":"~0.1","grunt-contrib-clean":"~0.4","grunt-contrib-coffee":"~0.7","travis-cov":"~0.2","mocha-lcov-reporter":"~0.0"},"engines":{"node":">=0.8","npm":">=1.2","coffee-script":"~1.6","grunt-cli":"~0.4"},"readme":"# kantaina\n\n> Wonderful asynchronous DI container based on promises.\n\n[![Build Status](https://travis-ci.org/rithis/kantaina.png?branch=master)](https://travis-ci.org/rithis/kantaina)\n[![Coverage Status](https://coveralls.io/repos/rithis/kantaina/badge.png?branch=master)](https://coveralls.io/r/rithis/kantaina?branch=master)\n[![Dependency Status](https://gemnasium.com/rithis/kantaina.png)](https://gemnasium.com/rithis/kantaina)\n[![NPM version](https://badge.fury.io/js/kantaina.png)](http://badge.fury.io/js/kantaina)\n\n## Usage\n\n```coffee\nkantaina = require \"kantaina\"\nw = require \"when\"\n\n# create container\ncontainer = kantaina()\n\n# define scalar value\ncontainer.set \"a\", 1\n\n# define sync factory\ncontainer.set \"b\", (a) ->\n  a + 1\n\n# define async factory\ncontainer.set \"c\", (a, b) ->\n  deffered = w.defer()\n\n  setTimeout ->\n    deffered.resolve a + b\n  , 1000\n\n  deffered.promise\n\n# try to override already defined value\ncontainer.unless \"a\", 100\n\n# receive value resolved by async factory\ncontainer.get(\"c\").then (value) ->\n  # writes \"3\" after one second\n  console.log value\n\n# inject dependencies into function\npromise = container.inject (a, b, c) ->\n  a + b + c\n\n# inject method returns promise\npromise.then (value) ->\n  # writes \"6\" immediately because \"c\" already resolved\n  console.log value\n```\n","readmeFilename":"README.md","_id":"kantaina@1.1.8","dist":{"shasum":"8df8ddcba3c249c88f8e2d93d88b9336fb9904ed","tarball":"https://registry.npmjs.org/kantaina/-/kantaina-1.1.8.tgz","integrity":"sha512-Pp9DG3GKbz5vnrZa2OZzwe2YI8oIe89rUegOaQJmWuEJ7uu2kVlFdRokIc8uu9NkcFCrhA177QXHP43KBpUi8w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE/9sWnjb3Aw5waEDUdZuLkUefMdc7p9mghTDOcpjvszAiBnCgAqWslFidgRpo1XdtQBnFFx1uCJNwCYW+K8z8eXaA=="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"rithis","email":"info@rithis.com"},"maintainers":[{"name":"rithis","email":"info@rithis.com"}]}},"readme":"# kantaina\n\n> Wonderful asynchronous DI container based on promises.\n\n## Usage\n\n```coffee\nkantaina = require \"kantaina\"\nw = require \"when\"\n\n# create container\ncontainer = kantaina()\n\n# define scalar value\ncontainer.set \"a\", 1\n\n# define sync factory\ncontainer.set \"b\", (a) ->\n  a + 1\n\n# define async factory\ncontainer.set \"c\", (a, b) ->\n  deffered = w.defer()\n\n  setTimeout ->\n    deffered.resolve a + b\n  , 1000\n\n  deffered.promise\n\n# receive value resolved by async factory\ncontainer.get(\"c\").then (value) ->\n  # writes \"3\" after one second\n  console.log value\n\n# wrap function and inject dependencies\nwrapped = container.inject (a, b, c) ->\n  a + b + c\n\n# wrapped function returns promise\nwrapped().then (value) ->\n  # writes \"6\" immediately because \"c\" already resolved\n  console.log value\n```\n","maintainers":[{"name":"rithis","email":"info@rithis.com"}],"time":{"modified":"2022-06-19T07:50:11.391Z","created":"2013-06-05T16:36:13.670Z","0.1.0":"2013-06-05T16:36:15.786Z","0.1.1":"2013-06-05T17:20:50.812Z","0.1.2":"2013-06-05T19:02:14.555Z","0.1.3":"2013-06-06T12:30:55.712Z","0.1.4":"2013-06-24T17:04:14.722Z","0.1.5":"2013-06-24T17:35:41.098Z","0.1.6":"2013-07-04T13:25:09.573Z","0.1.7":"2013-07-04T13:54:23.100Z","1.0.0":"2013-07-04T17:30:37.071Z","1.1.0":"2013-07-04T17:49:44.546Z","1.1.1":"2013-07-04T18:45:51.561Z","1.1.2":"2013-07-04T19:18:34.127Z","1.1.3":"2013-07-07T00:05:23.645Z","1.1.4":"2013-07-09T16:56:33.362Z","1.1.5":"2013-07-09T17:19:12.962Z","1.1.6":"2013-07-14T13:53:00.086Z","1.1.7":"2013-07-23T16:36:59.180Z","1.1.8":"2013-08-21T07:33:00.821Z"},"author":{"name":"Vyacheslav Slinko","email":"vyacheslav.slinko@gmail.com"},"repository":{"type":"git","url":"git://github.com/rithis/kantaina.git"}}