{"_id":"injectinto","_rev":"27-e7a4e4f584368dfe476fb7a75a835b6e","name":"injectinto","description":"Register and request components. Dependency injection for nodejs.","dist-tags":{"latest":"1.6.0"},"versions":{"0.0.1":{"name":"injectinto","description":"Dependency injection for nodejs.","version":"0.0.1","main":"inject.js","author":{"name":"Thomas Coats"},"maintainers":[{"name":"tcoats","email":"thomas.coats@gmail.com"}],"repository":{"type":"git","url":"https://github.com/tcoats/injectinto.git"},"homepage":"https://github.com/tcoats/injectinto","dependencies":{},"_id":"injectinto@0.0.1","dist":{"shasum":"f39e6c391fc5c39d2eeee53dbba787ff70d83d40","tarball":"https://registry.npmjs.org/injectinto/-/injectinto-0.0.1.tgz","integrity":"sha512-xyGznDs4gguZNP8DyRJ/6Uk2MMMkFH4l7quR2ZmbeW7auDiE05xIoIkVdQBtaWzGJ3DNrglXwQjgWpDEFtH6Rw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAoaB8AFC+Nxj438KlOdGsVXnDMsTJSldiKGJvVVijDpAiEAlEe631FmSGO3ue0xkTLrftp1bQDn/Ao/YUMvv92jwOU="}]},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"tcoats","email":"thomas.coats@gmail.com"},"directories":{}},"0.0.2":{"name":"injectinto","description":"Register and request components. Dependency injection for nodejs.","version":"0.0.2","main":"inject.js","author":{"name":"Thomas Coats"},"maintainers":[{"name":"tcoats","email":"thomas.coats@gmail.com"}],"repository":{"type":"git","url":"https://github.com/tcoats/injectinto.git"},"homepage":"https://github.com/tcoats/injectinto","dependencies":{},"_id":"injectinto@0.0.2","dist":{"shasum":"05bc65d8f55984a868465718676e1daad5e1be33","tarball":"https://registry.npmjs.org/injectinto/-/injectinto-0.0.2.tgz","integrity":"sha512-f+yCi4ZLu+al/g7a91bZAKq0o6NxfAX03+P8GQYa5GiF7iDR7tMCE+kGpCMD3MiZZEaGuvXTYtnX2YVnyWKL5g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCr5Ay58zBGFDPEHIFstoGTQ5QcyV6tBmBYcAg8EbGg+gIgXnUQxkAu2B14SgzGb3K7DcfSUea6kpUL24VP3CnWiX4="}]},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"tcoats","email":"thomas.coats@gmail.com"},"directories":{}},"0.0.3":{"name":"injectinto","description":"Register and request components. Dependency injection for nodejs.","version":"0.0.3","main":"inject.js","author":{"name":"Thomas Coats"},"maintainers":[{"name":"tcoats","email":"thomas.coats@gmail.com"}],"repository":{"type":"git","url":"https://github.com/tcoats/injectinto.git"},"homepage":"https://github.com/tcoats/injectinto","dependencies":{},"_id":"injectinto@0.0.3","dist":{"shasum":"221522cfad37a6e01d77fff93f4b19a76ca1e9b0","tarball":"https://registry.npmjs.org/injectinto/-/injectinto-0.0.3.tgz","integrity":"sha512-IiPl3icnL6+uFlvF+EsR0ymKMGeTX7KIB+NzEJY2X320bT16osi+69hM+OVRGWY1m5MPGFHm1cGdXCFXnkbjVg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICEG46dqxFqreImriaf/yLXGArxwFzIhDaMJue10plJcAiEAzVLD9F5tgijIAfv2H9X9iEd5h7UBHolegDU95luE19A="}]},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"tcoats","email":"thomas.coats@gmail.com"},"directories":{}},"1.0.0":{"name":"injectinto","description":"Register and request components. Dependency injection for nodejs.","version":"1.0.0","main":"inject.js","author":{"name":"Thomas Coats"},"maintainers":[{"name":"tcoats","email":"thomas.coats@gmail.com"}],"repository":{"type":"git","url":"https://github.com/tcoats/injectinto.git"},"homepage":"https://github.com/tcoats/injectinto","dependencies":{},"bugs":{"url":"https://github.com/tcoats/injectinto/issues"},"_id":"injectinto@1.0.0","dist":{"shasum":"760bb0a1d80ea3ce609fa1b4ebb2e81fe926da00","tarball":"https://registry.npmjs.org/injectinto/-/injectinto-1.0.0.tgz","integrity":"sha512-7qC404DXpX3HvJuH2Yif64Sgrce+unkjRHdQl9luSh1Oj077YJABjDJHCfxzkda2kEZCQLsUBG4DwNMJQVALqA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCnya2Qq9o+XD5WthCFyxZ+fPJ5BsyrfsDNNTFzObh8YwIgZZzUgjmyMVumHhii+EK9ydE467npGvxgqOyAUdnYlwE="}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"tcoats","email":"thomas.coats@gmail.com"},"directories":{}},"1.0.1":{"name":"injectinto","description":"Register and request components. Dependency injection for nodejs.","version":"1.0.1","main":"inject.js","author":{"name":"Thomas Coats"},"maintainers":[{"name":"tcoats","email":"thomas.coats@gmail.com"}],"repository":{"type":"git","url":"https://github.com/tcoats/injectinto.git"},"homepage":"https://github.com/tcoats/injectinto","dependencies":{},"bugs":{"url":"https://github.com/tcoats/injectinto/issues"},"_id":"injectinto@1.0.1","dist":{"shasum":"fab77261b8a38c847dc69ce168e88513a7699dd8","tarball":"https://registry.npmjs.org/injectinto/-/injectinto-1.0.1.tgz","integrity":"sha512-leN3svmjDP/k5N6oCjDwGRrsPzYlXFum2fhjWFSsjsm9id+SOLyK5cv8TJEX2GUNtiBw/OTQOaL6b0/iJDyw4g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHVD0dQphAxhDbCfZFrSkOc+VfPyMvHPA6tgzbfS52nhAiAEF78AHEgt6zwMMj7LTSpkUFGlTIAcyS5h2E0gu4OpuA=="}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"tcoats","email":"thomas.coats@gmail.com"}},"1.1.0":{"name":"injectinto","description":"Register and request components. Dependency injection for nodejs.","version":"1.1.0","main":"inject.js","author":{"name":"Thomas Coats"},"maintainers":[{"name":"tcoats","email":"thomas.coats@gmail.com"}],"repository":{"type":"git","url":"https://github.com/tcoats/injectinto.git"},"homepage":"https://github.com/tcoats/injectinto","dependencies":{},"gitHead":"9bc82ef0dd320c0a98e4dcc352a345f5f3ab6188","bugs":{"url":"https://github.com/tcoats/injectinto/issues"},"_id":"injectinto@1.1.0","scripts":{},"_shasum":"a80046b58e99d5128fdd7f5143dbf9956df115a6","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.10.30","_npmUser":{"name":"tcoats","email":"thomas.coats@gmail.com"},"dist":{"shasum":"a80046b58e99d5128fdd7f5143dbf9956df115a6","tarball":"https://registry.npmjs.org/injectinto/-/injectinto-1.1.0.tgz","integrity":"sha512-gwXJKdX91Zaoe0XMy3BQlpsGkMO9c8oubsieKQYN8HWv7XK5V7kNm3tdVOsXqZP/AOIXQHFZzhwfl+WN/7ca0w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGE8BIrDEMctWKVvHrC5vzBw8nXweAG/AHz/pN70y0X9AiEA5p1RU9m+leliAUwOoTW38hMLAyquW2yEEXLXYdzDB1E="}]}},"1.2.0":{"name":"injectinto","description":"Register and request components. Dependency injection for nodejs.","version":"1.2.0","main":"inject.js","author":{"name":"Thomas Coats"},"maintainers":[{"name":"tcoats","email":"thomas.coats@gmail.com"}],"repository":{"type":"git","url":"https://github.com/tcoats/injectinto.git"},"homepage":"https://github.com/tcoats/injectinto","dependencies":{},"gitHead":"a3b243a496c0b3faafe2c605e43389f738484c1b","bugs":{"url":"https://github.com/tcoats/injectinto/issues"},"_id":"injectinto@1.2.0","scripts":{},"_shasum":"d2770a0bdccc49d4cec775d8314a98910af6a112","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.10.30","_npmUser":{"name":"tcoats","email":"thomas.coats@gmail.com"},"dist":{"shasum":"d2770a0bdccc49d4cec775d8314a98910af6a112","tarball":"https://registry.npmjs.org/injectinto/-/injectinto-1.2.0.tgz","integrity":"sha512-vAIp8n7O36jQWHYLdrXn6JpSZdbv545VWCpxvDN8aBGSnnecCvWB123Ed9xDeosLErkuStBHT9J4MANC4ngNiA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCc+PkYFfNghUgqRQvtSMF4UiyPty1sMVNBVAbt3jHmewIgXScNTbNtrXYHG53gfXKVIGcAF/OsIYIQ0dRFkRfau00="}]}},"1.3.0":{"name":"injectinto","description":"Register and request components. Dependency injection for nodejs.","version":"1.3.0","main":"inject.js","author":{"name":"Thomas Coats"},"maintainers":[{"name":"tcoats","email":"thomas.coats@gmail.com"},{"name":"ajnisbet","email":"a.nisbet@metocean.co.nz"},{"name":"tornadot-tim","email":"cyclonetimmy@gmail.com"}],"repository":{"type":"git","url":"git+https://github.com/tcoats/injectinto.git"},"homepage":"https://github.com/tcoats/injectinto","dependencies":{},"gitHead":"8f345f5162c14121e960de2f5221e787ca67f09f","bugs":{"url":"https://github.com/tcoats/injectinto/issues"},"_id":"injectinto@1.3.0","_npmVersion":"5.5.1","_nodeVersion":"8.9.3","_npmUser":{"name":"tcoats","email":"npm@voodoolabs.net"},"dist":{"integrity":"sha512-4H5fEBEPYWaTdQstZXSWaxZJw6jFDr5f02jia+BzupazK5k2KL01ndbQkfFT0gZzmRwVs5P3Y2eaRxE+2+i1AA==","shasum":"0627dec481cf930cf3e4309a8801392f31922b11","tarball":"https://registry.npmjs.org/injectinto/-/injectinto-1.3.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEigA62gdZqkPcQOTNeWajLqmR3CKthAo1yEB9suwATAAiBBqXUdt7Q4pMnChHrJs0T1QXRqzy/7AXp7ltATTsVhhQ=="}]},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/injectinto-1.3.0.tgz_1513307294525_0.7587142940610647"}},"1.4.0":{"name":"injectinto","description":"Register and request components. Dependency injection for nodejs.","version":"1.4.0","main":"inject.js","author":{"name":"Thomas Coats"},"maintainers":[{"name":"tcoats","email":"thomas.coats@gmail.com"},{"name":"ajnisbet","email":"a.nisbet@metocean.co.nz"},{"name":"tornadot-tim","email":"cyclonetimmy@gmail.com"}],"repository":{"type":"git","url":"git+https://github.com/tcoats/injectinto.git"},"homepage":"https://github.com/tcoats/injectinto","dependencies":{},"gitHead":"65451568d97aa96ac7647425502c8b11b311c50c","bugs":{"url":"https://github.com/tcoats/injectinto/issues"},"_id":"injectinto@1.4.0","_npmVersion":"5.5.1","_nodeVersion":"8.9.3","_npmUser":{"name":"tcoats","email":"npm@voodoolabs.net"},"dist":{"integrity":"sha512-LF7gRFQKcFDWGlsVsXCOweKuXj39MSf8FSRSWmHzPWmq0w3VSdunyrhC8a0Mpfvym9W8OFCUrKDjCTPbgLR9Yg==","shasum":"54b5189dc72bcede569e714450dc629953f2f1da","tarball":"https://registry.npmjs.org/injectinto/-/injectinto-1.4.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB2PgSS+qG0in5qh1iyK8S/VZfuSBrV4DlkaIqkORjc7AiEAmz0XiBanCvhkGaqhj6uqgqU5h7eVY6tLchCyGFVyBJ4="}]},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/injectinto-1.4.0.tgz_1513329280606_0.19948726426810026"}},"1.4.1":{"name":"injectinto","description":"Register and request components. Dependency injection for nodejs.","version":"1.4.1","main":"inject.js","author":{"name":"Thomas Coats"},"maintainers":[{"name":"tcoats","email":"thomas.coats@gmail.com"},{"name":"ajnisbet","email":"a.nisbet@metocean.co.nz"},{"name":"tornadot-tim","email":"cyclonetimmy@gmail.com"}],"repository":{"type":"git","url":"git+https://github.com/tcoats/injectinto.git"},"homepage":"https://github.com/tcoats/injectinto","dependencies":{},"gitHead":"36a70aa3b56c70892a796f95d7db9310052ae7e8","bugs":{"url":"https://github.com/tcoats/injectinto/issues"},"_id":"injectinto@1.4.1","_npmVersion":"5.5.1","_nodeVersion":"8.9.3","_npmUser":{"name":"tcoats","email":"npm@voodoolabs.net"},"dist":{"integrity":"sha512-g9Q7FhA4FQTKwgEFff+m2M29P5ToFbqANBvaBastowqgahv/8yaF5PHeDk2beT1+8mvcrNpXbyfgftVnI4TiJg==","shasum":"3b9567ddd3a8658b5322de6ffc27a024e94e5aa3","tarball":"https://registry.npmjs.org/injectinto/-/injectinto-1.4.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDAvqvTsyGRlQuRtQpRZvLE7hJTXxdVwT9AHdLeTxvaRQIhAJJyfJKodHzvEgZ8UQTKFRndDLtCTbWuiyXqD43XSx57"}]},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/injectinto-1.4.1.tgz_1513330359114_0.8387704235501587"}},"1.5.0":{"name":"injectinto","description":"Register and request components. Dependency injection for nodejs.","version":"1.5.0","main":"inject.js","author":{"name":"Thomas Coats"},"maintainers":[{"name":"tcoats","email":"thomas.coats@gmail.com"},{"name":"ajnisbet","email":"a.nisbet@metocean.co.nz"},{"name":"tornadot-tim","email":"cyclonetimmy@gmail.com"}],"repository":{"type":"git","url":"git+https://github.com/tcoats/injectinto.git"},"homepage":"https://github.com/tcoats/injectinto","dependencies":{},"gitHead":"66df18e2f668a305213f52b6390855b8bd1bcc08","bugs":{"url":"https://github.com/tcoats/injectinto/issues"},"_id":"injectinto@1.5.0","_npmVersion":"5.5.1","_nodeVersion":"8.9.3","_npmUser":{"name":"tcoats","email":"npm@voodoolabs.net"},"dist":{"integrity":"sha512-n57KHbBcy2iHgsS2Pujp8jW9BCvwkezZ18idHi+HxOeCMbf/sgwZjkG1GA/4cZbxA3ujGnHqPQKp4udSQBua7w==","shasum":"33783445268afe5fb5e6a95f18c45fd6d251011f","tarball":"https://registry.npmjs.org/injectinto/-/injectinto-1.5.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDnBZAm059DT//TwU9BNCAco6OHQ+91NUiNH3CIwUG7VQIgZ7KcvKrJJrPQtZqvtmX3PM9m8Qewvi8ozD165E3Q2oc="}]},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/injectinto-1.5.0.tgz_1513331632417_0.20968456799164414"}},"1.5.1":{"name":"injectinto","description":"Register and request components. Dependency injection for nodejs.","version":"1.5.1","main":"inject.js","author":{"name":"Thomas Coats"},"maintainers":[{"name":"tcoats","email":"thomas.coats@gmail.com"},{"name":"ajnisbet","email":"a.nisbet@metocean.co.nz"},{"name":"tornadot-tim","email":"cyclonetimmy@gmail.com"}],"repository":{"type":"git","url":"git+https://github.com/tcoats/injectinto.git"},"homepage":"https://github.com/tcoats/injectinto","dependencies":{},"gitHead":"d1fc804adc45afd74a826964e2d5b4ec625a454c","bugs":{"url":"https://github.com/tcoats/injectinto/issues"},"_id":"injectinto@1.5.1","_npmVersion":"5.5.1","_nodeVersion":"8.9.3","_npmUser":{"name":"tcoats","email":"npm@voodoolabs.net"},"dist":{"integrity":"sha512-/o6A6iM7FDw6OSMtEZ6rrViQhWhRuzNV4mtAiotCDdDs7HrQqKS7ujpFpSosEMUIuruj4mdpFeQhDFTd+4Ohlw==","shasum":"707484f6aedf6b2e9bfe5c5e92790f0de86152e5","tarball":"https://registry.npmjs.org/injectinto/-/injectinto-1.5.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICZ2XwNpvLAhSD3ksjN2zVo1+XVcfInZZCcBWKyJg7+9AiB7tAChuu7sV5tGxOIDWyfTX8WuD+MutDgFJ7xPzdcNBw=="}]},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/injectinto-1.5.1.tgz_1513331717809_0.36259920871816576"}},"1.6.0":{"name":"injectinto","description":"Register and request components. Dependency injection for nodejs.","version":"1.6.0","main":"inject.js","author":{"name":"Thomas Coats"},"maintainers":[{"name":"tcoats","email":"thomas.coats@gmail.com"},{"name":"ajnisbet","email":"a.nisbet@metocean.co.nz"},{"name":"tornadot-tim","email":"cyclonetimmy@gmail.com"}],"repository":{"type":"git","url":"git+https://github.com/tcoats/injectinto.git"},"homepage":"https://github.com/tcoats/injectinto","dependencies":{},"gitHead":"f9b21c7269cee5009f407dcf35c0ce9d8787f543","bugs":{"url":"https://github.com/tcoats/injectinto/issues"},"_id":"injectinto@1.6.0","_npmVersion":"5.5.1","_nodeVersion":"8.9.3","_npmUser":{"name":"tcoats","email":"npm@voodoolabs.net"},"dist":{"integrity":"sha512-09lmblVarz98d3It65ioon6XcgjprAxkVQRF/hkBUN6mhwaN8SiLIQ/oH7ScmIaGCZ31YwF0nCUJpxs5WylxYA==","shasum":"2f56675a13069a28f6b7c5f83991e8ab4b6c8515","tarball":"https://registry.npmjs.org/injectinto/-/injectinto-1.6.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCjcNl64LQch9zWPMCszdgAufLrfBKidQzuWKWF3Kr+twIhAMbsNNkDI7PWPQqAHRMMo2F9H7w5J8gn1LxhFcv8HbKW"}]},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/injectinto-1.6.0.tgz_1513414102192_0.6291038910858333"}}},"readme":"Dependency Injection\n--------------------\n\nconfig.coffee\n```coffeescript\ninject = require 'pminject'\n\ninject.bind templaterenderer: require 'nun'\ninject.bind contenttypes: [\n    require './contenttypes/text'\n    require './contenttypes/image'\n]\n```\n\ncms.coffee\n```coffeescript \ninject = require 'pminject'\n\ncontenttypes = inject.many 'contenttypes'\ntemplaterenderer = inject.one 'templaterenderer'\n\nfor contenttype in contenttypes\n    templaterenderer.render contenttype\n```\n\n\nWhat is the problem?\n--------------------\n\nI'd like to build systems that can easily be extended, enhanced, or replaced.\n\n\nHow injectinto solves this problem\n----------------------------------\n\n1. Extension points are defined through strings, for example 'templateengine'\n2. In configuration these extension points are bound to actual objects\n3. A module asks for an object via it's string, for example 'templateengine'\n4. Some modules can expect an array of objects\n\n\nGoals\n------\n\n1. Simple\n2. Work with async\n3. Allow multiple registrations","maintainers":[{"name":"tcoats","email":"thomas.coats@gmail.com"},{"name":"ajnisbet","email":"a.nisbet@metocean.co.nz"},{"name":"tornadot-tim","email":"cyclonetimmy@gmail.com"}],"time":{"modified":"2022-06-19T01:19:52.494Z","created":"2013-03-16T22:51:32.208Z","0.0.1":"2013-03-16T22:51:37.515Z","0.0.2":"2013-03-16T22:53:22.694Z","0.0.3":"2013-03-18T01:13:12.965Z","1.0.0":"2014-01-26T03:15:05.205Z","1.0.1":"2014-01-26T04:11:10.243Z","1.1.0":"2015-03-01T23:03:58.939Z","1.2.0":"2015-03-01T23:25:51.357Z","1.3.0":"2017-12-15T03:08:14.768Z","1.4.0":"2017-12-15T09:14:40.679Z","1.4.1":"2017-12-15T09:32:39.389Z","1.5.0":"2017-12-15T09:53:52.485Z","1.5.1":"2017-12-15T09:55:18.182Z","1.6.0":"2017-12-16T08:48:22.250Z"},"author":{"name":"Thomas Coats"},"repository":{"type":"git","url":"git+https://github.com/tcoats/injectinto.git"},"readmeFilename":"README.md","homepage":"https://github.com/tcoats/injectinto","bugs":{"url":"https://github.com/tcoats/injectinto/issues"}}