{"_id":"dinode","_rev":"30-20aa669f906002f233641fcd605031f2","name":"dinode","description":"Dependency Injection framework for Node.js (and JavaScript in general)","dist-tags":{"latest":"0.5.4"},"versions":{"0.1.0":{"name":"dinode","version":"0.1.0","description":"Dependency Injection framework for Node.js (and JavaScript in general)","author":{"name":"Jakob Mattsson","email":"jakob.mattsson@gmail.com","url":"jakobmattsson.se"},"main":"./lib/index.js","engines":{"npm":">= 1.3 < 2","node":">= 0.10.13 < 0.12"},"repository":{"type":"git","url":"http://github.com/jakobmattsson/dinode"},"scripts":{"prestart":"coffee -co lib src","pretest":"coffee -co lib src","prepublish":"coffee -co lib src"},"dependencies":{},"devDependencies":{"coffee-script":"^1.4.0"},"bugs":{"url":"https://github.com/jakobmattsson/dinode/issues"},"_id":"dinode@0.1.0","dist":{"shasum":"190465bc1f325fdcf944f48c7790d375ef199614","tarball":"https://registry.npmjs.org/dinode/-/dinode-0.1.0.tgz","integrity":"sha512-Yd4ZBjyC72+hfZsTo0GNKpEHjkK6Sd3Wd8P5kkpDSuIg5RKagvP5MJha9R66by6ar2tdp9almg7ns/k3zzlY8Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDEjLIkPrHCNEV5vtrKJqQcPNdsdRVnXeoz2luoCrWCBQIgYc2KeYJWwRkT7/tTN6V12PxVKRkOVVAesLOEnWeh9CY="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"jakobm","email":"jakob.mattsson@gmail.com"},"maintainers":[{"name":"jakobm","email":"jakob.mattsson@gmail.com"}]},"0.1.1":{"name":"dinode","version":"0.1.1","description":"Dependency Injection framework for Node.js (and JavaScript in general)","author":{"name":"Jakob Mattsson","email":"jakob.mattsson@gmail.com","url":"jakobmattsson.se"},"main":"./lib/index.js","engines":{"npm":">= 1.3 < 2","node":">= 0.10.13 < 0.12"},"repository":{"type":"git","url":"http://github.com/jakobmattsson/dinode"},"scripts":{"prestart":"coffee -co lib src","pretest":"coffee -co lib src","prepublish":"coffee -co lib src"},"dependencies":{},"devDependencies":{"coffee-script":"^1.4.0"},"bugs":{"url":"https://github.com/jakobmattsson/dinode/issues"},"_id":"dinode@0.1.1","dist":{"shasum":"d75862f0265174f847c96cdbe0f8ecd0b789eb5a","tarball":"https://registry.npmjs.org/dinode/-/dinode-0.1.1.tgz","integrity":"sha512-/UfnihSeLIlS87ms5Ur0+ZY/eiqXV8By19kuT/ImOjh7HOkSRXwtJTX3lJaRQ0jdGRkl31HgCSXc/541TNwvwA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCZ/5AFdKicAbk2ILiPHAIY+XVr5tMoEXyTswx7AaeDxQIgf3qySs4A+KiSSHCorHaiXprj75C3NAH2AHlZeiNBNPY="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"jakobm","email":"jakob.mattsson@gmail.com"},"maintainers":[{"name":"jakobm","email":"jakob.mattsson@gmail.com"}]},"0.1.2":{"name":"dinode","version":"0.1.2","description":"Dependency Injection framework for Node.js (and JavaScript in general)","author":{"name":"Jakob Mattsson","email":"jakob.mattsson@gmail.com","url":"jakobmattsson.se"},"main":"./lib/index.js","engines":{"npm":">= 1.3 < 2","node":">= 0.10.13 < 0.12"},"repository":{"type":"git","url":"http://github.com/jakobmattsson/dinode"},"scripts":{"prestart":"coffee -co lib src","pretest":"coffee -co lib src","prepublish":"coffee -co lib src"},"dependencies":{},"devDependencies":{"coffee-script":"^1.4.0"},"bugs":{"url":"https://github.com/jakobmattsson/dinode/issues"},"_id":"dinode@0.1.2","dist":{"shasum":"74e031f11a2923673ce65cb0a6ba3de2d26bc33a","tarball":"https://registry.npmjs.org/dinode/-/dinode-0.1.2.tgz","integrity":"sha512-kN5EJZWx/kgvZIJqMPTXlz/0muqkwSuGa30i6R3aa1mZlOPcRBGJwUmMuq6gfM1beM3HJshNrmPXDxAz4WYQQg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEwkMS+zpqCuOalko5DCm/PHIKLO2M0vfv/Gl6MbLnDhAiEAj/Ai9Sj7vReBcz8Y3zDHcYWB95botUCwCjtPX238deQ="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"jakobm","email":"jakob.mattsson@gmail.com"},"maintainers":[{"name":"jakobm","email":"jakob.mattsson@gmail.com"}]},"0.1.3":{"name":"dinode","version":"0.1.3","description":"Dependency Injection framework for Node.js (and JavaScript in general)","author":{"name":"Jakob Mattsson","email":"jakob.mattsson@gmail.com","url":"jakobmattsson.se"},"main":"./lib/index.js","engines":{"npm":">= 1.3 < 2","node":">= 0.10.13 < 0.12"},"repository":{"type":"git","url":"http://github.com/jakobmattsson/dinode"},"scripts":{"prestart":"coffee -co lib src","pretest":"coffee -co lib src","prepublish":"coffee -co lib src"},"dependencies":{},"devDependencies":{"coffee-script":"^1.4.0"},"bugs":{"url":"https://github.com/jakobmattsson/dinode/issues"},"_id":"dinode@0.1.3","dist":{"shasum":"ddebcc4065f7987f6b7fde74e000f91df3e332ad","tarball":"https://registry.npmjs.org/dinode/-/dinode-0.1.3.tgz","integrity":"sha512-/1sp83XdWax8+YknmYPujVQfdOZKhaihjArvVjZdvJSjoEHJmkrzUuiDKbVnMtIHYfuuZVKnEtnQ0PotvHPt6Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFwU8KUmtagM1kiIeYeA/PRTwMf2bsqDKooy0HQs9vPvAiEAk6eP1ZcaHteL6mPWCKuNwwxkdOxgw4rheUsu5jOWNpU="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"jakobm","email":"jakob.mattsson@gmail.com"},"maintainers":[{"name":"jakobm","email":"jakob.mattsson@gmail.com"}]},"0.1.4":{"name":"dinode","version":"0.1.4","description":"Dependency Injection framework for Node.js (and JavaScript in general)","author":{"name":"Jakob Mattsson","email":"jakob.mattsson@gmail.com","url":"jakobmattsson.se"},"main":"./lib/dinode.js","engines":{"npm":">= 1.3 < 2","node":">= 0.10.13 < 0.12"},"repository":{"type":"git","url":"http://github.com/jakobmattsson/dinode"},"scripts":{"prestart":"coffee -co lib src","pretest":"coffee -co lib src","prepublish":"coffee -co lib src"},"dependencies":{},"devDependencies":{"coffee-script":"^1.4.0"},"bugs":{"url":"https://github.com/jakobmattsson/dinode/issues"},"_id":"dinode@0.1.4","dist":{"shasum":"07b0526c331a0d2e5e1caa58526c288fb0d8f4e0","tarball":"https://registry.npmjs.org/dinode/-/dinode-0.1.4.tgz","integrity":"sha512-ctvCZIWFyBvySe8Ob1fj8vGz86gAOM8ufsRNay3bnQwTqOE01/J6i+10VqKsayIcxMPUJrrrixOGMKWc7fHBQg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDgYdUVcZd5Y7PN2mfYy9Cc03U0m6MuFTnj57gx44AWGgIgG96Sbs0hSvHX7b4WVuraJilgvsJzz/8snhNlkHMPGbQ="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"jakobm","email":"jakob.mattsson@gmail.com"},"maintainers":[{"name":"jakobm","email":"jakob.mattsson@gmail.com"}]},"0.1.5":{"name":"dinode","version":"0.1.5","description":"Dependency Injection framework for Node.js (and JavaScript in general)","author":{"name":"Jakob Mattsson","email":"jakob.mattsson@gmail.com","url":"jakobmattsson.se"},"main":"./lib/dinode.js","engines":{"npm":">= 1.3 < 2","node":">= 0.10.13 < 0.12"},"repository":{"type":"git","url":"http://github.com/jakobmattsson/dinode"},"scripts":{"prestart":"coffee -co lib src","pretest":"coffee -co lib src","prepublish":"coffee -co lib src"},"dependencies":{},"devDependencies":{"coffee-script":"^1.4.0"},"bugs":{"url":"https://github.com/jakobmattsson/dinode/issues"},"_id":"dinode@0.1.5","dist":{"shasum":"372475a19914437da938a066c4a79d172a28364a","tarball":"https://registry.npmjs.org/dinode/-/dinode-0.1.5.tgz","integrity":"sha512-kH3sKqVw4CIInbXaaJ7Oy9tTAQry3jnQ4ce0WSHEOD9LCzHCV56df1jXIQzlhbiexvBed6X/WX/U98zcCgrsvg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDIUjFbQaJtiAMNCAe4bRQ+PxpEfa2yS/zWJyhzgP4KwgIgVvsfjIDaDqQKLXlcHiJtyjG+sUxs+0+kC0p8QuGM8ng="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"jakobm","email":"jakob.mattsson@gmail.com"},"maintainers":[{"name":"jakobm","email":"jakob.mattsson@gmail.com"}]},"0.1.6":{"name":"dinode","version":"0.1.6","description":"Dependency Injection framework for Node.js (and JavaScript in general)","author":{"name":"Jakob Mattsson","email":"jakob.mattsson@gmail.com","url":"jakobmattsson.se"},"main":"./lib/dinode.js","engines":{"npm":">= 1.3 < 2","node":">= 0.10.13 < 0.12"},"repository":{"type":"git","url":"http://github.com/jakobmattsson/dinode"},"scripts":{"prestart":"coffee -co lib src","pretest":"coffee -co lib src","prepublish":"coffee -co lib src"},"dependencies":{},"devDependencies":{"coffee-script":"^1.4.0"},"bugs":{"url":"https://github.com/jakobmattsson/dinode/issues"},"_id":"dinode@0.1.6","dist":{"shasum":"be41d186941b91c4cce34e2f597c253b9de3902c","tarball":"https://registry.npmjs.org/dinode/-/dinode-0.1.6.tgz","integrity":"sha512-rysCsYYxq2eMtTorU/C+snAqrSfCLnEK4kzxjt0iaAWwvZiDHdIQcJb9XoFAD0SoDX1AkFGdhEZ/gXsfJpU2FQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+uaE/Ynze48GuZlDz+FCmi3l2uJ+y4kBU+BvFGZl99gIgcuNAyBv4FxDSMlusb+6I/dsGdQjWKdJbIxAD0Jlvwe0="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"jakobm","email":"jakob.mattsson@gmail.com"},"maintainers":[{"name":"jakobm","email":"jakob.mattsson@gmail.com"}]},"0.2.0":{"name":"dinode","version":"0.2.0","description":"Dependency Injection framework for Node.js (and JavaScript in general)","author":{"name":"Jakob Mattsson","email":"jakob.mattsson@gmail.com","url":"jakobmattsson.se"},"main":"./lib/dinode.js","engines":{"npm":">= 1.3 < 2","node":">= 0.10.13 < 0.12"},"repository":{"type":"git","url":"http://github.com/jakobmattsson/dinode"},"scripts":{"prestart":"coffee -co lib src","pretest":"coffee -co lib src","prepublish":"coffee -co lib src"},"dependencies":{},"devDependencies":{"coffee-script":"^1.4.0"},"bugs":{"url":"https://github.com/jakobmattsson/dinode/issues"},"_id":"dinode@0.2.0","dist":{"shasum":"a12890914824492c12ad6a5deb71a11de939c0cb","tarball":"https://registry.npmjs.org/dinode/-/dinode-0.2.0.tgz","integrity":"sha512-sBgsdL2jy0OjU9VxyLltAEGNeBb8205t3FKgwMBw73PyyqaQJ00khDYhZ9ZoG6Pw/sUyjheGitopw7G6UNqWoA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAGmAMfGjQnmfMCaZ+uAMfqG8NrTlxg6frWLn0QU8q1YAiEAxoZkFpfSYCZ1mEv8OQeSfN1IvD6BM7Tw2hH+AeeMBcs="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"jakobm","email":"jakob.mattsson@gmail.com"},"maintainers":[{"name":"jakobm","email":"jakob.mattsson@gmail.com"}]},"0.3.0":{"name":"dinode","version":"0.3.0","description":"Dependency Injection framework for Node.js (and JavaScript in general)","author":{"name":"Jakob Mattsson","email":"jakob.mattsson@gmail.com","url":"jakobmattsson.se"},"main":"./lib/dinode.js","engines":{"npm":">= 1.3 < 2","node":">= 0.10.13 < 0.12"},"repository":{"type":"git","url":"http://github.com/jakobmattsson/dinode"},"scripts":{"prestart":"coffee -co lib src","pretest":"coffee -co lib src","prepublish":"coffee -co lib src"},"dependencies":{},"devDependencies":{"coffee-script":"^1.4.0"},"gitHead":"770d8bcaf4c6bb504cc2858c39f8b83ddd16da2e","bugs":{"url":"https://github.com/jakobmattsson/dinode/issues"},"homepage":"https://github.com/jakobmattsson/dinode","_id":"dinode@0.3.0","_shasum":"24e5168bbf798077894f186bec10e8163141f4bc","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"jakobm","email":"jakob.mattsson@gmail.com"},"maintainers":[{"name":"jakobm","email":"jakob.mattsson@gmail.com"}],"dist":{"shasum":"24e5168bbf798077894f186bec10e8163141f4bc","tarball":"https://registry.npmjs.org/dinode/-/dinode-0.3.0.tgz","integrity":"sha512-o2MFxqj21vnsK1J5WRLslRoiSzmDizmoMe1/rLMSUW2lFmF20vYCcWKw9MX/5YznN4fHiwLSa/4/dVD3yChUWA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICjuxi6Y5MdfKV3uqdHKpW0RdOSVxxAS57N9F9NJHI8yAiBQK7q36nSc6xI0u4wCJHhZD7mST4qplzXatDOtS9jA0g=="}]}},"0.4.0":{"name":"dinode","version":"0.4.0","description":"Dependency Injection framework for Node.js (and JavaScript in general)","author":{"name":"Jakob Mattsson","email":"jakob.mattsson@gmail.com","url":"jakobmattsson.se"},"main":"./lib/dinode.js","engines":{"npm":">= 1.3 < 2","node":">= 0.10.13 < 0.12"},"repository":{"type":"git","url":"http://github.com/jakobmattsson/dinode"},"scripts":{"prestart":"coffee -co lib src","pretest":"coffee -co lib src","prepublish":"coffee -co lib src"},"dependencies":{},"devDependencies":{"coffee-script":"^1.4.0"},"gitHead":"9db39b4bcfd2800f38b41c3563bb73bb2c042922","bugs":{"url":"https://github.com/jakobmattsson/dinode/issues"},"homepage":"https://github.com/jakobmattsson/dinode","_id":"dinode@0.4.0","_shasum":"d0a8125f39b36f8f53d9cbb5e35c25c24c420b1c","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"jakobm","email":"jakob.mattsson@gmail.com"},"maintainers":[{"name":"jakobm","email":"jakob.mattsson@gmail.com"}],"dist":{"shasum":"d0a8125f39b36f8f53d9cbb5e35c25c24c420b1c","tarball":"https://registry.npmjs.org/dinode/-/dinode-0.4.0.tgz","integrity":"sha512-RK6d01Lda4WwrYM1iPRssM86evc/FpO8F+zOiIcFuPNxk0p0YDCG0nVygBJQC3lfARyIkwFs0TkuaW00XSIwWw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID0zBac2jatmCZu4mwoCUS4QLceGdHtAtF7YS0HanBAaAiB+3ll3Mq1fMU0pw4VaOhUDr9sBB5e6EhdMY09BEeVXog=="}]}},"0.5.0":{"name":"dinode","version":"0.5.0","description":"Dependency Injection framework for Node.js (and JavaScript in general)","author":{"name":"Jakob Mattsson","email":"jakob.mattsson@gmail.com","url":"jakobmattsson.se"},"main":"./lib/index.js","engines":{"npm":">= 1.3 < 2","node":">= 0.10.13 < 0.12"},"repository":{"type":"git","url":"http://github.com/jakobmattsson/dinode"},"scripts":{"coverage":"npm run pretest && jscov --expand lib .cov && JSCOV=.cov mocha --compilers coffee:coffee-script/register --reporter mocha-term-cov-reporter --recursive","test":"mocha --compilers coffee:coffee-script/register --recursive --reporter list --grep \"$TESTS\" --timeout 400","prestart":"coffee -co lib src","pretest":"coffee -co lib src","prepublish":"coffee -co lib src"},"dependencies":{},"devDependencies":{"chai":"^1.1.1","coffee-script":"^1.7.0","jscov":"^0.6.14","mocha":"^1.20.1","mocha-term-cov-reporter":"^0.2.0"},"gitHead":"af3b130bc0ca5ac35f372f51f39824641ca383d9","bugs":{"url":"https://github.com/jakobmattsson/dinode/issues"},"homepage":"https://github.com/jakobmattsson/dinode","_id":"dinode@0.5.0","_shasum":"b2f81d250db19223123729b79d8713287ab6e42c","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"jakobm","email":"jakob.mattsson@gmail.com"},"maintainers":[{"name":"jakobm","email":"jakob.mattsson@gmail.com"}],"dist":{"shasum":"b2f81d250db19223123729b79d8713287ab6e42c","tarball":"https://registry.npmjs.org/dinode/-/dinode-0.5.0.tgz","integrity":"sha512-LwF7XevqIubeGedVDOdMA9xQ4mmWRKLc757RyYPbx0R0oggrvVYcp+KRsoIzXJaF7THvqqf5WwaU3vPNTZ3EKQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDhRuA2zj11+OvEzI9hP6VIMxAksezwCnh+Vq1Ci6V6aAIhANHAzNNEmJqnqSnbA/Qabc56xBWYM/qGD83x26Sm4VzV"}]}},"0.5.1":{"name":"dinode","version":"0.5.1","description":"Dependency Injection framework for Node.js (and JavaScript in general)","author":{"name":"Jakob Mattsson","email":"jakob.mattsson@gmail.com","url":"jakobmattsson.se"},"main":"./lib/index.js","engines":{"npm":">= 1.3 < 2","node":">= 0.10.13 < 0.12"},"repository":{"type":"git","url":"http://github.com/jakobmattsson/dinode"},"scripts":{"coverage":"npm run pretest && jscov --expand lib .cov && JSCOV=.cov mocha --compilers coffee:coffee-script/register --reporter mocha-term-cov-reporter --recursive","test":"mocha --compilers coffee:coffee-script/register --recursive --reporter list --grep \"$TESTS\" --timeout 400","prestart":"coffee -co lib src","pretest":"coffee -co lib src","prepublish":"coffee -co lib src"},"dependencies":{},"devDependencies":{"chai":"^1.1.1","coffee-script":"^1.7.0","jscov":"^0.6.14","mocha":"^1.20.1","mocha-term-cov-reporter":"^0.2.0"},"gitHead":"f10f116eca96131d673e7c7ae51efc8d8184835d","bugs":{"url":"https://github.com/jakobmattsson/dinode/issues"},"homepage":"https://github.com/jakobmattsson/dinode","_id":"dinode@0.5.1","_shasum":"bc3b9b0610b0e4c7ab9545aeb97e23fe2ed0cf36","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"jakobm","email":"jakob.mattsson@gmail.com"},"maintainers":[{"name":"jakobm","email":"jakob.mattsson@gmail.com"}],"dist":{"shasum":"bc3b9b0610b0e4c7ab9545aeb97e23fe2ed0cf36","tarball":"https://registry.npmjs.org/dinode/-/dinode-0.5.1.tgz","integrity":"sha512-NW2OKm9uIhGYLrh3caJlhumW1vcNlg3TTL7th7X7Rciyid4i41juNnpGPSc5RK8x1uHw3Q3Vcxce1L8EGSevhw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfVGJrLlXEPdscR9UZYbpXVPwQDZnz1lqM0zp1e0URVgIhANAOYzJ0DLqoZhT4gPDpPNDKUoqgJqfeJ2T17nsxJQ1M"}]}},"0.5.4":{"name":"dinode","version":"0.5.4","description":"Dependency Injection framework for Node.js (and JavaScript in general)","author":{"name":"Jakob Mattsson","email":"jakob.mattsson@gmail.com","url":"jakobmattsson.se"},"main":"./lib/index.js","engines":{"npm":">= 1.3 < 2","node":">= 0.10.13 < 0.12"},"repository":{"type":"git","url":"http://github.com/jakobmattsson/dinode"},"scripts":{"coverage":"npm run pretest && jscov --expand lib .cov && JSCOV=.cov mocha --compilers coffee:coffee-script/register --reporter mocha-term-cov-reporter --recursive","test":"mocha --compilers coffee:coffee-script/register --recursive --reporter list --grep \"$TESTS\" --timeout 400","prestart":"coffee -co lib src","pretest":"coffee -co lib src","prepublish":"coffee -co lib src"},"dependencies":{},"devDependencies":{"chai":"^3.0.0","coffee-script":"1.9.3","jscov":"^0.6.15","mocha":"^2.2.5","mocha-term-cov-reporter":"^0.2.0"},"gitHead":"9e65cb9d0c7e933b2f2ef423c99251df4130d1b0","bugs":{"url":"https://github.com/jakobmattsson/dinode/issues"},"homepage":"https://github.com/jakobmattsson/dinode","_id":"dinode@0.5.4","_shasum":"ee4a3c57fbc5de4935eebc5551e657328bc4a9b9","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"jakobm","email":"jakob.mattsson@gmail.com"},"maintainers":[{"name":"jakobm","email":"jakob.mattsson@gmail.com"}],"dist":{"shasum":"ee4a3c57fbc5de4935eebc5551e657328bc4a9b9","tarball":"https://registry.npmjs.org/dinode/-/dinode-0.5.4.tgz","integrity":"sha512-AKLuDir+ilySXq2ePdYjSd2haXH2ySxN/tPi+d2AV7cO9J0A/4V2lU4uosz4nMi4sBq9MKb0RxZOpWmQzkig1Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEshOAFqk94t5+4X6qFterfjT5N5IkZZoqaiW55mlqJwAiBuYvwGdFGWPyyjrj7n8HJYKxCAPzXtLVSOXb+3Pso3Hw=="}]}}},"readme":"# dinode\n\nDependency Injection framework for Node.js (and JavaScript in general)\n\n\n\n### Getting started\n\nThe very basics are shown here. First, an instance of the injector is created. Then the creation of a shape-module depending on the constants-module. Then the creation of a constants-module, without dependencies. Finally an anonymous module depending on the shapes-module.\n\n    var dinode = require('dinode');\n\n    var di = dinode.construct();\n\n    di.registerModule('shapes', ['constants'], function(deps) {\n      var constants = deps.constants;\n      return {\n        sphereVolume: function(radius) {\n          return 4 * constants.PI * radius / 3;\n        }\n      };\n    });\n\n    di.registerModule('constants', [], function() {\n      return {\n        PI: 3.1415\n      };\n    });\n\n    di.registerModule(null, ['shapes'], function(deps) {\n      var shapes = deps.shapes;\n      var vol = shapes.sphereVolume(4000);\n      console.log(\"The volume of the earth is \" + vol + \" liters\");\n    });\n\nBy default, anonymous modules are the only ones that triggers execution. They can't be depended on, so they must do something with side-effects to be of interest. Named modules on the other hand are only loaded if they're needed to run an anonymous module.\n\n\n\n## Features\n\n* Detects circular dependencies\n* Allow both sync and async module definitions\n* Lazy module execution - execute only what is needed\n* Detect missing modules on startup - OR - wait for them to be defined later\n* Many convenient sugar methods for creating modules\n* Made for extra simple usage using coffee-script\n* Automatic dependency detection\n\n\n### Async module definitions\n\nHere the connection to the database is registered as a module. It helps prevent callback-hell by letting modules that needs the open connection depend on that connection. The dependants does not need to know whether their dependencies are sync or async; they will simply wait for the result to become available.\n\nThis makes for very easy refactoring when going from sync to async implementations. It also gives very clean and sync-looking modules, even when there are many async things being depended on the background.\n\n    var dinode = require('dinode');\n    var someDatabase = require('some-db');\n\n    var di = dinode.construct();\n\n    di.registerModule('dbConnection', [], function(deps, callback) {\n      someDatabase.open('foo.bar@localhost/myDb', function(err, db) {\n        callback(err, db);\n      });\n    });\n\n    di.registerModule(null, ['dbConnection'], function(deps) {\n      var db = deps.dbConnection;\n      db.query('SELECT * FROM something\", function(err, result) {\n        console.log(err, result);\n      })\n    });\n\n\n\n### More feature descriptions\n\nTo be written...\n\n\n\n## Introspection\n\nSometimes it can be hard to figure out what the dependency tree looks like or why it is not resolving like it should. Luckily there's a method for peeking at the internal state of dinode; `introspect`\n\n\n\n### Example\n\nTo be written...\n\n\n\n### There are five statuses:\n\n* **Referred**: the module has not yet been defined, but it has been referred to as a dependency from some defined module. It will not have any dependencies (those are unknown), but all modules that have declared a dependency on it will be listed as dependants.\n* **Waiting**: the module has been defined, but no module that is set to resolve depends on it. Unless such a module is defined, this one will remain \"waiting\" and will never resolve. It may have both dependencies and dependants. All its dependants will also be \"waiting\" (or else this one would not be). When running in \"eager mode\", no module will ever be waiting, since they are all set to resolve.\n* **Ready**: the module has been defined and it is set to resolve as soon as all its dependencies are resolved.\n* **Resolving**: the module has been defined, all its dependencies have resolved and it is currently being resolved.\n* **Resolved**: the module has been defined and resolved.\n","maintainers":[{"name":"jakobm","email":"jakob.mattsson@gmail.com"}],"time":{"modified":"2022-06-15T04:18:04.295Z","created":"2013-12-12T08:52:43.026Z","0.1.0":"2013-12-12T08:52:46.160Z","0.1.1":"2013-12-12T09:14:42.664Z","0.1.2":"2013-12-13T22:55:26.167Z","0.1.3":"2013-12-13T22:58:29.878Z","0.1.4":"2013-12-13T23:02:12.071Z","0.1.5":"2013-12-13T23:12:22.858Z","0.1.6":"2013-12-13T23:15:05.249Z","0.2.0":"2014-01-18T15:47:47.047Z","0.3.0":"2014-07-05T14:31:59.733Z","0.4.0":"2014-07-06T09:34:36.387Z","0.5.0":"2014-07-25T09:25:23.545Z","0.5.1":"2014-07-25T17:32:13.973Z","0.5.4":"2015-07-13T09:16:39.346Z"},"author":{"name":"Jakob Mattsson","email":"jakob.mattsson@gmail.com","url":"jakobmattsson.se"},"repository":{"type":"git","url":"http://github.com/jakobmattsson/dinode"},"readmeFilename":"README.md","homepage":"https://github.com/jakobmattsson/dinode","bugs":{"url":"https://github.com/jakobmattsson/dinode/issues"}}