{"_id":"roof-bus","_rev":"26-5c0cf6442dcbb95d5ba6e6306b8dca1f","name":"roof-bus","description":"roof bus library","dist-tags":{"latest":"0.0.18"},"versions":{"0.0.1":{"name":"roof-bus","version":"0.0.1","description":"roof bus library","main":"index.js","directories":{"test":"test"},"scripts":{"test":"mocha --compilers js:babel/register ./test/*","testone":"mocha --compilers js:babel/register","testbus":"mocha --compilers js:babel/register ./test/bus","testlib":"mocha --compilers js:babel/register ./test/lib"},"keywords":["event"],"author":{"name":"sskyy"},"license":"MIT","devDependencies":{"babel":"^5.3.3","mocha":"^2.2.5","prettyjson":"~1.1.1"},"dependencies":{"lodash":"^3.9.1"},"gitHead":"157c1ca52602def3d9e99eb9a016910327d02501","_id":"roof-bus@0.0.1","_shasum":"8a83d754591ff7ffe7299168ddc10093d1c2054b","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"dist":{"shasum":"8a83d754591ff7ffe7299168ddc10093d1c2054b","tarball":"https://registry.npmjs.org/roof-bus/-/roof-bus-0.0.1.tgz","integrity":"sha512-QJVxi4hRDTtyOC8gyHKqPmWEC/PKt5TLI2ofMRmSsq6SitOQxMbTTQ7E/Zy0+39gn2+WO7kOtK0gmZsfyzIXqw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAl0s2wVkogOGLBWMGPXSb3rLChYprgIIiy++U7I7GeqAiBd3xEs+lnWU+JqIp0/NjZooX1jaPnx6CL/qmO/l1Q5AQ=="}]}},"0.0.2":{"name":"roof-bus","version":"0.0.2","description":"roof bus library","main":"index.js","directories":{"test":"test"},"scripts":{"test":"mocha --compilers js:babel/register ./test/*","testone":"mocha --compilers js:babel/register","testbus":"mocha --compilers js:babel/register ./test/bus","testlib":"mocha --compilers js:babel/register ./test/lib"},"keywords":["event"],"author":{"name":"sskyy"},"license":"MIT","devDependencies":{"babel":"^5.3.3","babel-core":"~5.4.7","babel-loader":"~5.1.3","mocha":"^2.2.5","node-libs-browser":"~0.5.2","prettyjson":"~1.1.1","webpack":"~1.9.10"},"dependencies":{"lodash":"^3.9.1"},"gitHead":"157c1ca52602def3d9e99eb9a016910327d02501","_id":"roof-bus@0.0.2","_shasum":"460d38b9b9864f5bae138262fc6a148fc69141b2","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"dist":{"shasum":"460d38b9b9864f5bae138262fc6a148fc69141b2","tarball":"https://registry.npmjs.org/roof-bus/-/roof-bus-0.0.2.tgz","integrity":"sha512-TzXdjuM67vvHodq+KGjDES6f/AcX3qGs9Q33hSSYVO5F7yCEmYAK8EJMTfw0kUC1mVDOd7WNG7chJ4pnCbT0zg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDs0r1Z353SEpA8VV3UoIrkKQLPSVN2MQMXHHIK8682KAiEAt7e27mSTmJGj/cEJ+/jvVtJYpdmZTV9nBxDnxCB+xVU="}]}},"0.0.3":{"name":"roof-bus","version":"0.0.3","description":"roof bus library","main":"index.js","directories":{"test":"test"},"scripts":{"test":"mocha --compilers js:babel/register ./test/*","testone":"mocha --compilers js:babel/register","testbus":"mocha --compilers js:babel/register ./test/bus","testlib":"mocha --compilers js:babel/register ./test/lib"},"keywords":["event"],"author":{"name":"sskyy"},"license":"MIT","devDependencies":{"babel":"^5.3.3","babel-core":"~5.4.7","babel-loader":"~5.1.3","mocha":"^2.2.5","node-libs-browser":"~0.5.2","prettyjson":"~1.1.1","webpack":"~1.9.10","webpack-dev-server":"~1.9.0"},"dependencies":{"lodash":"^3.9.1"},"gitHead":"2ce3675b423deff4054b0feac977a4178688f0e6","_id":"roof-bus@0.0.3","_shasum":"879b615011cb4af717949ae620aa72ad00a6fd11","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"dist":{"shasum":"879b615011cb4af717949ae620aa72ad00a6fd11","tarball":"https://registry.npmjs.org/roof-bus/-/roof-bus-0.0.3.tgz","integrity":"sha512-3WpFgBWmCniOI6HK5ga+Ba22wLVE7CIADeChlmuyel0x8SbNQN8yqyBsJwC618Bwmy+H7IIi1NfvRzX4eLOo9w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCSnI2GsQ1GZOtO4dgxcxZpn6loD3BXfm+AzYtyPFCJowIgKTcztGF3QZTzvhXoXDCAstCyhHCU3YhExkncWmfT2HI="}]}},"0.0.4":{"name":"roof-bus","version":"0.0.4","description":"roof bus library","main":"index.js","directories":{"test":"test"},"scripts":{"test":"mocha --compilers js:babel/register ./test/*","testone":"mocha --compilers js:babel/register","testbus":"mocha --compilers js:babel/register ./test/bus","testlib":"mocha --compilers js:babel/register ./test/lib"},"keywords":["event"],"author":{"name":"sskyy"},"license":"MIT","devDependencies":{"babel":"^5.3.3","babel-core":"~5.4.7","babel-loader":"~5.1.3","mocha":"^2.2.5","node-libs-browser":"~0.5.2","prettyjson":"~1.1.1","webpack":"~1.9.10","webpack-dev-server":"~1.9.0"},"dependencies":{"babel":"~5.5.4","lodash":"^3.9.1"},"gitHead":"afab0353cdf8cb0df498505ec39c5a05dce251b6","_id":"roof-bus@0.0.4","_shasum":"07d82f9d1b57fbd1d8cbff32491b41a831e5b2b6","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"dist":{"shasum":"07d82f9d1b57fbd1d8cbff32491b41a831e5b2b6","tarball":"https://registry.npmjs.org/roof-bus/-/roof-bus-0.0.4.tgz","integrity":"sha512-prflYbXm+gxmpnpfVseVfv9HoXlJOoICq6m4ZNHB90QbdGq9sE+ZsvV/Ct4uRT85RLjP++pcX9a7S8Xjf56alQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCJacS6BcZgYVSQOE2RjiFvTmdsgGCKJVhDAIoftjC+WQIgRvMQNCEhS5Er6rMWF21XhOhRfU77LYlJWOtFBmhCsUo="}]}},"0.0.5":{"name":"roof-bus","version":"0.0.5","description":"roof bus library","main":"index.js","directories":{"test":"test"},"scripts":{"test":"mocha --compilers js:babel/register ./test/*","testone":"mocha --compilers js:babel/register","testbus":"mocha --compilers js:babel/register ./test/bus","testlib":"mocha --compilers js:babel/register ./test/lib"},"keywords":["event"],"author":{"name":"sskyy"},"license":"MIT","devDependencies":{"babel":"^5.3.3","babel-core":"~5.4.7","babel-loader":"~5.1.3","mocha":"^2.2.5","node-libs-browser":"~0.5.2","prettyjson":"~1.1.1","webpack":"~1.9.10","webpack-dev-server":"~1.9.0"},"dependencies":{"babel":"~5.5.4","lodash":"^3.9.1"},"gitHead":"a7882ec2b61066b0ba9e6030f2d54bb15ee310eb","_id":"roof-bus@0.0.5","_shasum":"045d5fec4e40a5f9fdc6c41ead9d7f800c4910ba","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"dist":{"shasum":"045d5fec4e40a5f9fdc6c41ead9d7f800c4910ba","tarball":"https://registry.npmjs.org/roof-bus/-/roof-bus-0.0.5.tgz","integrity":"sha512-A1S5Mmt1is6C8C0Z45LbjsQE9A8I32Gb7zY5WjWdrWOjazrB2wZ7EGOSNGG+GVwQyGx6WTZHIHLJvU8rKHH8qA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFVwecoLCIcNUdaA+Xd4LPU5lmOIduTd9qwQSmO07ZszAiB+grNSBy1supXsz8j9q+3TKZC711I1StUijaC74/9tLg=="}]}},"0.0.6":{"name":"roof-bus","version":"0.0.6","description":"roof bus library","main":"index.js","directories":{"test":"test"},"scripts":{"test":"mocha --compilers js:babel/register ./test/*","testone":"mocha --compilers js:babel/register","testbus":"mocha --compilers js:babel/register ./test/bus","testlib":"mocha --compilers js:babel/register ./test/lib","compile":"babel src --out-dir lib"},"keywords":["event"],"author":{"name":"sskyy"},"license":"MIT","devDependencies":{"babel":"^5.3.3","babel-core":"~5.4.7","babel-loader":"~5.1.3","mocha":"^2.2.5","node-libs-browser":"~0.5.2","pre-commit":"~1.0.7","prettyjson":"~1.1.1","webpack":"~1.9.10","webpack-dev-server":"~1.9.0"},"dependencies":{"babel":"~5.5.4","lodash":"^3.9.1"},"pre-commit":["compile"],"gitHead":"612ccb8ecefb8470ba6d6a7c301a3cef219d5711","_id":"roof-bus@0.0.6","_shasum":"76abb1d542f2765ebf94cf9aac9919cd75dfdd9b","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"dist":{"shasum":"76abb1d542f2765ebf94cf9aac9919cd75dfdd9b","tarball":"https://registry.npmjs.org/roof-bus/-/roof-bus-0.0.6.tgz","integrity":"sha512-0El617gbOkMev1LAN2AuoGFmYOAEUGBOS6QZn6aocVIBsaMZRzlFxX+iECA6QylVWreNxNoVxv0Yes6Z7Cs9Aw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGrtWoBYxdhXdQiennYorNO7Kv4C/fNHjeNV7yFdYuKmAiEA+EX08DtdvoKPgNEgoc046QzwtsWRKQItU9ne5x/yoQs="}]}},"0.0.7":{"name":"roof-bus","version":"0.0.7","description":"roof bus library","main":"lib/index.js","directories":{"test":"test"},"scripts":{"test":"mocha --compilers js:babel/register ./test/*","testone":"mocha --compilers js:babel/register","testbus":"mocha --compilers js:babel/register ./test/bus","testlib":"mocha --compilers js:babel/register ./test/lib","compile":"babel src --out-dir lib"},"keywords":["event"],"author":{"name":"sskyy"},"license":"MIT","devDependencies":{"babel":"^5.3.3","babel-core":"~5.4.7","babel-loader":"~5.1.3","mocha":"^2.2.5","node-libs-browser":"~0.5.2","pre-commit":"~1.0.7","prettyjson":"~1.1.1","webpack":"~1.9.10","webpack-dev-server":"~1.9.0"},"dependencies":{"babel":"~5.5.4","lodash":"^3.9.1","lodash.clonedeep":"~3.0.1","lodash.merge":"~3.3.1","lodash.uniq":"~3.2.1"},"pre-commit":["compile"],"gitHead":"5e128d5b04f09e01551b812c7065f4eef197b71b","_id":"roof-bus@0.0.7","_shasum":"b4283f6bf6db031e7a95b94ebc5a9122d6a0a29f","_from":".","_npmVersion":"2.11.2","_nodeVersion":"0.12.0","_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"dist":{"shasum":"b4283f6bf6db031e7a95b94ebc5a9122d6a0a29f","tarball":"https://registry.npmjs.org/roof-bus/-/roof-bus-0.0.7.tgz","integrity":"sha512-dyZc5VdNbTiTwUHOvbQWi/TgcMmWT8vNSWos2I4Yw+90fjs+rN/vkGwRafdSpX1lSZyTZ9cAIDvlIU2JebTqqg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCDWMIO+c04esrvp82kDRFXRYeM62BeSEQ26YaggecKowIhALixQjRPP15WklIe7ss/UtTMbv/OUMUTGszrQLynjL8A"}]}},"0.0.8":{"name":"roof-bus","version":"0.0.8","description":"roof bus library","main":"lib/index.js","directories":{"test":"test"},"scripts":{"test":"mocha --compilers js:babel/register ./test/*","testone":"mocha --compilers js:babel/register","testbus":"mocha --compilers js:babel/register ./test/bus","testlib":"mocha --compilers js:babel/register ./test/lib","compile":"babel src --out-dir lib"},"keywords":["event"],"author":{"name":"sskyy"},"license":"MIT","devDependencies":{"babel":"~5.6.14","babel-core":"~5.4.7","babel-loader":"~5.1.3","mocha":"^2.2.5","node-libs-browser":"~0.5.2","pre-commit":"~1.0.7","prettyjson":"~1.1.1","webpack":"~1.9.10","webpack-dev-server":"~1.9.0"},"dependencies":{"lodash.clonedeep":"~3.0.1","lodash.merge":"~3.3.1","lodash.uniq":"~3.2.1"},"pre-commit":["compile"],"gitHead":"2af44d2eafca847665244ccb89917ba4b3690d5d","_id":"roof-bus@0.0.8","_shasum":"71b1e860bd2ef63c8206b1625739d3db275f035f","_from":".","_npmVersion":"2.11.2","_nodeVersion":"0.12.0","_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"dist":{"shasum":"71b1e860bd2ef63c8206b1625739d3db275f035f","tarball":"https://registry.npmjs.org/roof-bus/-/roof-bus-0.0.8.tgz","integrity":"sha512-T0n9v5DYeQzkE6JuHZzJDNxkPE+aMsEbKck2j1LRUNUparuh72YMrBxhID7qQmx9xSCfGOgg2+XOADw8WWshjA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD/LuB5+XvA5K+VPnMaGG5Xkeg9RG8A+Nsj6E5dPMDMYgIhANGjsoBARKduuWfe+0vZObiOEn0u2hUZ9Iukfvq1/Xxi"}]}},"0.0.9":{"name":"roof-bus","version":"0.0.9","description":"roof bus library","main":"./lib/index.js","directories":{"test":"test"},"scripts":{"test":"mocha --compilers js:babel/register ./test/spec/*","testone":"mocha --compilers js:babel/register","testbus":"mocha --compilers js:babel/register ./test/bus","testlib":"mocha --compilers js:babel/register ./test/lib","compile":"babel src --out-dir lib"},"keywords":["event"],"author":{"name":"sskyy"},"license":"MIT","devDependencies":{"babel":"~5.6.14","babel-core":"~5.4.7","babel-loader":"~5.1.3","mocha":"^2.2.5","node-libs-browser":"~0.5.2","pre-commit":"~1.0.7","prettyjson":"~1.1.1","webpack":"~1.9.10","webpack-dev-server":"~1.9.0"},"dependencies":{"lodash.clonedeep":"~3.0.1","lodash.merge":"~3.3.1","lodash.uniq":"~3.2.1","co":"~4.5.4"},"pre-commit":["compile"],"gitHead":"9f2bfe35d25ae89d9f133e277e49ba1c3aa14f66","_id":"roof-bus@0.0.9","_shasum":"74ffa4bad1d6bb397245a5a06ed7e91d947cc1f7","_from":".","_npmVersion":"2.11.2","_nodeVersion":"0.12.0","_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"dist":{"shasum":"74ffa4bad1d6bb397245a5a06ed7e91d947cc1f7","tarball":"https://registry.npmjs.org/roof-bus/-/roof-bus-0.0.9.tgz","integrity":"sha512-lrza2anEyskziodgT8wlwsT/ppPFHPX0T+ENrrC3YTgJVkFDDMKOSk6UQtX82YIsHbYQBJrqosJalgr7OFBAFw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCVAhqqKtpWkknHuGkL/NsJq4XdPmQ8aiGMGPpqdy9GSgIhANgQUOLrp/DybWVCuMbNOhuV+rLCU6N+ifOtTJ0AMd+5"}]}},"0.0.10":{"name":"roof-bus","version":"0.0.10","description":"roof bus library","main":"./lib/index.js","directories":{"test":"test"},"scripts":{"test":"mocha --compilers js:babel/register ./test/spec/*","testone":"mocha --compilers js:babel/register","testbus":"mocha --compilers js:babel/register ./test/bus","testlib":"mocha --compilers js:babel/register ./test/lib","compile":"babel src --out-dir lib"},"keywords":["event"],"author":{"name":"sskyy"},"license":"MIT","devDependencies":{"babel":"~5.6.14","babel-core":"~5.4.7","babel-loader":"~5.1.3","mocha":"^2.2.5","node-libs-browser":"~0.5.2","pre-commit":"~1.0.7","prettyjson":"~1.1.1","webpack":"~1.9.10","webpack-dev-server":"~1.9.0"},"dependencies":{"lodash.clonedeep":"~3.0.1","lodash.merge":"~3.3.1","lodash.uniq":"~3.2.1","co":"~4.5.4"},"pre-commit":["compile"],"gitHead":"e4bef18df6192717084c4191c7f0d4989c57ad68","_id":"roof-bus@0.0.10","_shasum":"322b25147c1cd46a1f3853dff1f69d22b5690692","_from":".","_npmVersion":"2.11.2","_nodeVersion":"0.12.0","_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"dist":{"shasum":"322b25147c1cd46a1f3853dff1f69d22b5690692","tarball":"https://registry.npmjs.org/roof-bus/-/roof-bus-0.0.10.tgz","integrity":"sha512-OQhywxzIbCvbq7wpB5NLBL6S2AihVKatjGmcynDma+vVyoHSPNee6LPFZrmhAVLjUSfnxC1p1puN+HStGcxNvw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE1YcJjXA3LVZWVPs4af9WTIatSKMVdENnFRLOC7Ua4ZAiEAkskuHeic2w9LdAmi4AR7hxq8z2nZ9buP/CSA0qH7cfM="}]}},"0.0.11":{"name":"roof-bus","version":"0.0.11","description":"roof bus library","main":"./lib/index.js","directories":{"test":"test"},"scripts":{"test":"mocha --compilers js:babel/register ./test/spec/*","testone":"mocha --compilers js:babel/register","testbus":"mocha --compilers js:babel/register ./test/bus","testlib":"mocha --compilers js:babel/register ./test/lib","compile":"babel src --out-dir lib"},"keywords":["event"],"author":{"name":"sskyy"},"license":"MIT","devDependencies":{"babel":"~5.6.14","babel-core":"~5.4.7","babel-loader":"~5.1.3","mocha":"^2.2.5","node-libs-browser":"~0.5.2","pre-commit":"~1.0.7","prettyjson":"~1.1.1","webpack":"~1.9.10","webpack-dev-server":"~1.9.0"},"dependencies":{"babel-runtime":"~5.8.20","co":"~4.5.4","lodash.clonedeep":"~3.0.1","lodash.merge":"~3.3.1","lodash.uniq":"~3.2.1"},"pre-commit":["compile"],"gitHead":"15a8a2fc523dc37c5510585fd80422b07c1fbe94","_id":"roof-bus@0.0.11","_shasum":"ebd7de22cba16004ec31b2e232b0f2183bf017f8","_from":".","_npmVersion":"2.13.3","_nodeVersion":"3.0.0","_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"dist":{"shasum":"ebd7de22cba16004ec31b2e232b0f2183bf017f8","tarball":"https://registry.npmjs.org/roof-bus/-/roof-bus-0.0.11.tgz","integrity":"sha512-VTZK0P+GRNmE4b9j5DKuKntEvacc+WJlv8j7xmJuhoNC1e5Q2zPInCdlXM6NAdw+zVFVM0piaoGIeg7kEZo1Zw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIANBCpwQhzUkVrh5m+97SA50zXY/8+q9PcNG3fh8MdH6AiA7jM5rCTteW7MaNUyxT/QtCQriSFWzx63GlQMGguqf5A=="}]}},"0.0.12":{"name":"roof-bus","version":"0.0.12","description":"roof bus library","main":"./lib/index.js","directories":{"test":"test"},"scripts":{"test":"mocha --compilers js:babel/register ./test/spec/*","testone":"mocha --compilers js:babel/register","testbus":"mocha --compilers js:babel/register ./test/bus","testlib":"mocha --compilers js:babel/register ./test/lib","compile":"babel src --out-dir lib"},"keywords":["event"],"author":{"name":"sskyy"},"license":"MIT","devDependencies":{"babel":"~5.6.14","babel-core":"~5.4.7","babel-loader":"~5.1.3","mocha":"^2.2.5","node-libs-browser":"~0.5.2","pre-commit":"~1.0.7","prettyjson":"~1.1.1","webpack":"~1.9.10","webpack-dev-server":"~1.9.0"},"dependencies":{"babel-runtime":"~5.8.20","co":"~4.5.4","lodash.clonedeep":"~3.0.1","lodash.merge":"~3.3.1","lodash.uniq":"~3.2.1"},"pre-commit":["compile"],"gitHead":"07ad64d75367ad7b7a9f2ab46c01347bc6abf0ce","_id":"roof-bus@0.0.12","_shasum":"7bda919f574bd20f36867919e4a8167c4f824943","_from":".","_npmVersion":"2.14.2","_nodeVersion":"4.0.0","_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"dist":{"shasum":"7bda919f574bd20f36867919e4a8167c4f824943","tarball":"https://registry.npmjs.org/roof-bus/-/roof-bus-0.0.12.tgz","integrity":"sha512-f8dO+uJPqFZ16YXvrfZGi85X8RzLLQVoWHKPJr6jAL6Lk9r31BnOfrgfBvrAcLaEp1m6LSMH9FXmxUEUVpLDFA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGA+M5VMocJLBFpoZa4uQxushr/TFXVyb4wU1QWsIVOlAiEA4EPUtwa1DoG0o10n/o12JKk4XXjzwoXnS9YKNz7kfXQ="}]}},"0.0.13":{"name":"roof-bus","version":"0.0.13","description":"roof bus library","main":"./lib/index.js","directories":{"test":"test"},"scripts":{"test":"mocha --compilers js:babel/register ./test/spec/*","testone":"mocha --compilers js:babel/register","testbus":"mocha --compilers js:babel/register ./test/bus","testlib":"mocha --compilers js:babel/register ./test/lib","compile":"babel src --out-dir lib"},"keywords":["event"],"author":{"name":"sskyy"},"license":"MIT","devDependencies":{"babel":"~5.6.14","babel-core":"~5.4.7","babel-loader":"~5.1.3","mocha":"^2.2.5","node-libs-browser":"~0.5.2","pre-commit":"~1.0.7","prettyjson":"~1.1.1","webpack":"~1.9.10","webpack-dev-server":"~1.9.0"},"dependencies":{"babel-runtime":"~5.8.20","co":"~4.5.4","lodash.clonedeep":"~3.0.1","lodash.merge":"~3.3.1","lodash.uniq":"~3.2.1"},"pre-commit":["compile"],"gitHead":"93d7547ebb099c78ba3c5169d7051d3fa44f1ff1","_id":"roof-bus@0.0.13","_shasum":"3533126f7dd706bd90fdf769030e39a7f9520c5e","_from":".","_npmVersion":"2.14.2","_nodeVersion":"4.0.0","_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"dist":{"shasum":"3533126f7dd706bd90fdf769030e39a7f9520c5e","tarball":"https://registry.npmjs.org/roof-bus/-/roof-bus-0.0.13.tgz","integrity":"sha512-V8MCho0U3vfXchkKKtQCGTnYI6asbxYvVya7JFJ7lkjOvQp2uOvMCeeSILu4bJA5VGcgyTwTbgbc8I7+BaPBqw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCZB7iY935AVOWU7mVlowT3wimuLogHwi4fIhpG9XlvUQIgeXiMXcx+Ykea/OIo2InD7JhSJxVlLkVnl7T7Glv1gGI="}]}},"0.1.1":{"name":"roof-bus","version":"0.1.1","description":"roof bus library","main":"./index.js","directories":{"test":"test"},"scripts":{"test":"mocha --compilers js:babel/register ./test/spec/*","testone":"mocha --compilers js:babel/register","testbus":"mocha --compilers js:babel/register ./test/bus","testlib":"mocha --compilers js:babel/register ./test/lib"},"keywords":["event"],"author":{"name":"sskyy"},"license":"MIT","devDependencies":{"mocha":"^2.2.5","node-libs-browser":"~0.5.2","prettyjson":"~1.1.1","webpack":"~1.9.10","webpack-dev-server":"~1.9.0"},"dependencies":{"babel-runtime":"~5.8.20","co":"~4.5.4","core-js":"^1.1.3","lodash.clonedeep":"~3.0.1","lodash.merge":"~3.3.1","lodash.uniq":"~3.2.1","regenerator":"^0.8.38"},"gitHead":"974e4ac6561664e3e25f963a5cbe80fe63989a1a","_id":"roof-bus@0.1.1","_shasum":"587060803e537a4b50ac1d038df4a39050cb3c5e","_from":".","_npmVersion":"2.14.4","_nodeVersion":"4.1.2","_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"dist":{"shasum":"587060803e537a4b50ac1d038df4a39050cb3c5e","tarball":"https://registry.npmjs.org/roof-bus/-/roof-bus-0.1.1.tgz","integrity":"sha512-LMz83YGHuYMkm+TwBq8bnvQoynxVnXSGLdSjTdNejQlvQv4AQuMKuo+T6ZKcNzlfj3SzaDpjGoKZOu88TcTrOA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAQ/GokXnze/S7Y56xNYtW1Fd3jPNISrlXLAkSXozU/NAiBJ+aF0XcKg1bi+YjNDGTft184FTGeAVH7JTVhc6mufeg=="}]}},"0.1.2":{"name":"roof-bus","version":"0.1.2","description":"roof bus library","main":"./index.js","directories":{"test":"test"},"scripts":{"test":"mocha --compilers js:babel/register ./test/spec/*","testone":"mocha --compilers js:babel/register","testbus":"mocha --compilers js:babel/register ./test/bus","testlib":"mocha --compilers js:babel/register ./test/lib"},"keywords":["event"],"author":{"name":"sskyy"},"license":"MIT","devDependencies":{"mocha":"^2.2.5","node-libs-browser":"~0.5.2","prettyjson":"~1.1.1","webpack":"~1.9.10","webpack-dev-server":"~1.9.0"},"dependencies":{"babel-runtime":"~5.8.20","co":"~4.5.4","core-js":"^1.1.3","lodash.clonedeep":"~3.0.1","lodash.merge":"~3.3.1","lodash.uniq":"~3.2.1","regenerator":"^0.8.38"},"gitHead":"96e1de34231b9d24f45969415b15f26b5d7d6c9f","_id":"roof-bus@0.1.2","_shasum":"7a94143951d54635ef05027177e3d5548fbe6be3","_from":".","_npmVersion":"2.14.4","_nodeVersion":"4.1.2","_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"dist":{"shasum":"7a94143951d54635ef05027177e3d5548fbe6be3","tarball":"https://registry.npmjs.org/roof-bus/-/roof-bus-0.1.2.tgz","integrity":"sha512-F2oHBUFg74QKPB+mnCtBT+G4tkQ5Sl1qQgKkp1tDjPGWNsVGlU6SvwOlWLb2PfiKOE5j9gcnAvlBcwlToAza2g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDNBhzoI4chuJV7hzbcHm8D2Jb1QXX1Z+f5/CEsN8d99AiAfj//oMPDyZCeyUuXfMchC8FeES/sWlUJnlrgXu2jgqw=="}]}},"0.1.3":{"name":"roof-bus","version":"0.1.3","description":"roof bus library","main":"./index.js","directories":{"test":"test"},"scripts":{"test":"mocha --compilers js:babel/register ./test/spec/*","testone":"mocha --compilers js:babel/register","testbus":"mocha --compilers js:babel/register ./test/bus","testlib":"mocha --compilers js:babel/register ./test/lib"},"keywords":["event"],"author":{"name":"sskyy"},"license":"MIT","devDependencies":{"mocha":"^2.2.5","node-libs-browser":"~0.5.2","prettyjson":"~1.1.1","webpack":"~1.9.10","webpack-dev-server":"~1.9.0"},"dependencies":{"babel-runtime":"~5.8.20","co":"~4.5.4","core-js":"^1.1.3","lodash.clonedeep":"~3.0.1","lodash.merge":"~3.3.1","lodash.uniq":"~3.2.1","regenerator":"^0.8.38"},"gitHead":"619559ca5e46ec2728df3f40ad2d54d0ce123854","_id":"roof-bus@0.1.3","_shasum":"d2048c9fbbc4c58e5ce8f9a308627e95339c0b21","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"dist":{"shasum":"d2048c9fbbc4c58e5ce8f9a308627e95339c0b21","tarball":"https://registry.npmjs.org/roof-bus/-/roof-bus-0.1.3.tgz","integrity":"sha512-lssqhoyXYsV7mf4Bp7Sw6zjXU3KU0MrZqnLv2UQt++XBH2B4tVeCO6VCsTHJI/M491jwAwJLlx/Vt2wv3K5jxA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCSz9b1dzUVTo0U80ECxCPRpfros3g3gmQPz7z9IkZuKgIhAOHA6RVe7aArvFR1tRt486SDSWn5DeISJZVWUYeJbDjM"}]}},"0.1.4":{"name":"roof-bus","version":"0.1.4","description":"roof bus library","main":"./index.js","directories":{"test":"test"},"scripts":{"test":"mocha --compilers js:babel/register ./test/spec/*","testone":"mocha --compilers js:babel/register","testbus":"mocha --compilers js:babel/register ./test/bus","testlib":"mocha --compilers js:babel/register ./test/lib"},"keywords":["event"],"author":{"name":"sskyy"},"license":"MIT","devDependencies":{"babel":"~5.8.29","babel-core":"~5.8.32","babel-loader":"~5.3.2","mocha":"^2.2.5","prettyjson":"~1.1.1","webpack":"~1.9.10"},"dependencies":{"co":"~4.5.4","core-js":"^1.1.3","lodash.clonedeep":"~3.0.1","lodash.merge":"~3.3.1","lodash.uniq":"~3.2.1"},"gitHead":"7d469fc10e339ae1873ceddeb34a77654d4db068","_id":"roof-bus@0.1.4","_shasum":"893c1e9f26a126c630575fc4f59e21c4ad832781","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"dist":{"shasum":"893c1e9f26a126c630575fc4f59e21c4ad832781","tarball":"https://registry.npmjs.org/roof-bus/-/roof-bus-0.1.4.tgz","integrity":"sha512-iuioA2/epBjuvUNONF+3Y3nQOhPKhbwdmY+NTZyBpjREdaffrg583W6mKchA+XGVoWPwbUhDR/YyTz3nn0ktvw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCM/ZhOZycs/q9ZpmWxecbH4t218ou4vwkIN8Rw2y05TQIhAL2nOlJU3TPM06+CxyluucCr8dw+XULORrjm15fn7lhZ"}]}},"0.0.14":{"name":"roof-bus","version":"0.0.14","description":"roof bus library","main":"./lib/index.js","directories":{"test":"test"},"scripts":{"test":"mocha --compilers js:babel/register ./test/spec/*","testone":"mocha --compilers js:babel/register","testbus":"mocha --compilers js:babel/register ./test/bus","testlib":"mocha --compilers js:babel/register ./test/lib","compile":"babel src --out-dir lib"},"keywords":["event"],"author":{"name":"sskyy"},"license":"MIT","devDependencies":{"babel":"~5.6.14","babel-core":"~5.4.7","babel-loader":"~5.1.3","mocha":"^2.2.5","node-libs-browser":"~0.5.2","pre-commit":"~1.0.7","prettyjson":"~1.1.1","webpack":"~1.9.10","webpack-dev-server":"~1.9.0"},"dependencies":{"babel-runtime":"~5.8.20","co":"~4.5.4","lodash":"~3.10.1","lodash.clonedeep":"~3.0.1","lodash.merge":"~3.3.1","lodash.uniq":"~3.2.1"},"pre-commit":["compile"],"gitHead":"ca750cb042e581132588de6866969b13667404bf","_id":"roof-bus@0.0.14","_shasum":"997307807aeaf77ffdc78bf46dae8d16c8d0c4f4","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"dist":{"shasum":"997307807aeaf77ffdc78bf46dae8d16c8d0c4f4","tarball":"https://registry.npmjs.org/roof-bus/-/roof-bus-0.0.14.tgz","integrity":"sha512-gtaF3QBVAc8IRJ/GG/Fs6APVLY+zIz5HIJ4/hlat/cI91xw1MciIBXmgHy7127zaXN0CSdJwMWhmKHtOU/yEVQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBTeKMplex53aMbkBG79VuzR2nnnt7axJu9HTqXIlSQwAiAoDsmSUe4Z0bsIPEiXmiazo7xc1mIXwVVcJe2pq7Ao9A=="}]}},"0.0.15":{"name":"roof-bus","version":"0.0.15","description":"roof bus library","main":"./lib/index.js","directories":{"test":"test"},"scripts":{"test":"mocha --compilers js:babel/register ./test/spec/*","testone":"mocha --compilers js:babel/register","testbus":"mocha --compilers js:babel/register ./test/bus","testlib":"mocha --compilers js:babel/register ./test/lib","compile":"babel src --out-dir lib"},"keywords":["event"],"author":{"name":"sskyy"},"license":"MIT","devDependencies":{"babel":"~5.6.14","babel-core":"~5.4.7","babel-loader":"~5.1.3","mocha":"^2.2.5","node-libs-browser":"~0.5.2","pre-commit":"~1.0.7","prettyjson":"~1.1.1","webpack":"~1.9.10","webpack-dev-server":"~1.9.0"},"dependencies":{"babel-runtime":"~5.8.20","co":"~4.5.4","lodash":"~3.10.1","lodash.clonedeep":"~3.0.1","lodash.merge":"~3.3.1","lodash.uniq":"~3.2.1"},"pre-commit":["compile"],"gitHead":"1e43204c28329ec2fc7e937a0e44ba8d97a93392","_id":"roof-bus@0.0.15","_shasum":"2e5079884e1d41a752393b63aca4ac1a144ac7b7","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"dist":{"shasum":"2e5079884e1d41a752393b63aca4ac1a144ac7b7","tarball":"https://registry.npmjs.org/roof-bus/-/roof-bus-0.0.15.tgz","integrity":"sha512-NOHVCZGhnMYKfoS1YuKLg6qQCvG4qpfonk4dO8vR0YrBwzO7PUUA4Y/ZESwyXnnv7Ll18nXGhyaRAbtn1PBOfQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD8VH/6BFVJBJ6TAModG3jQi0g4zSZ5hEAkrmbL532QRwIhAJDge4bkaLIMJ3Md3tqIVUeBAOY6eq6b/6+tcMqu2E5w"}]}},"0.0.16":{"name":"roof-bus","version":"0.0.16","description":"roof bus library","main":"./lib/index.js","directories":{"test":"test"},"scripts":{"test":"mocha --compilers js:babel/register ./test/spec/*","testone":"mocha --compilers js:babel/register","testbus":"mocha --compilers js:babel/register ./test/bus","testlib":"mocha --compilers js:babel/register ./test/lib","compile":"babel src --out-dir lib"},"keywords":["event"],"author":{"name":"sskyy"},"license":"MIT","devDependencies":{"babel":"~5.6.14","babel-core":"~5.4.7","babel-loader":"~5.1.3","mocha":"^2.2.5","node-libs-browser":"~0.5.2","pre-commit":"~1.0.7","prettyjson":"~1.1.1","webpack":"~1.9.10","webpack-dev-server":"~1.9.0"},"dependencies":{"babel-runtime":"~5.8.20","co":"~4.5.4","lodash":"~3.10.1","lodash.clonedeep":"~3.0.1","lodash.merge":"~3.3.1","lodash.uniq":"~3.2.1"},"pre-commit":["compile"],"gitHead":"89e1e5619561a5a2bd0d46934e8feee270cbfe6e","_id":"roof-bus@0.0.16","_shasum":"519b2f5384a69696f6a61fc5a9e4dc1c3c30c1b0","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"dist":{"shasum":"519b2f5384a69696f6a61fc5a9e4dc1c3c30c1b0","tarball":"https://registry.npmjs.org/roof-bus/-/roof-bus-0.0.16.tgz","integrity":"sha512-AYV+Lpt7FX5LHRfsoGs1bJOkOegneu4qE+qiiyDbk9L6NIJJKdWSKYG81Go2WY+nqa/JwYaQwGcxLkJR7/drHw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIArACA1jYmLLwIp5SlqUZvE4vu3rJ6l4sZZwO/G+Xf6cAiAOgAruP6kuw+ciu2/ZbSGIziN3bUIek4OqtCYbNt3kWw=="}]}},"0.1.5":{"name":"roof-bus","version":"0.1.5","description":"roof bus library","main":"./index.js","directories":{"test":"test"},"scripts":{"test":"mocha  ./test/spec/*","testone":"mocha ","testbus":"mocha  ./test/bus","testlib":"mocha  ./test/lib"},"keywords":["event"],"author":{"name":"sskyy"},"license":"MIT","devDependencies":{"babel":"~5.8.29","babel-core":"~5.8.32","babel-loader":"~5.3.2","mocha":"^2.2.5","prettyjson":"~1.1.1","webpack":"~1.9.10"},"dependencies":{"co":"~4.5.4","lodash.clonedeep":"~3.0.1","lodash.merge":"~3.3.1","lodash.uniq":"~3.2.1"},"gitHead":"94653d9b24903b8c8228345013655118c70b2a9d","_id":"roof-bus@0.1.5","_shasum":"29ae2b5f2f4594a4833a3aaa9c1d1bcf90841c9b","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"dist":{"shasum":"29ae2b5f2f4594a4833a3aaa9c1d1bcf90841c9b","tarball":"https://registry.npmjs.org/roof-bus/-/roof-bus-0.1.5.tgz","integrity":"sha512-uqnQW4ItnvEka53HzwVoWGyL2Z2jUpL15cWRgErkDLnpT/cQdvedgbvrBS4LPMPTLtxDLw9SzNtORj78LajqdQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGwGvpCoWwiNjkDxKpsIRSaY5A4/r/CYOH9W5W/o+2TnAiBja1TOAMmgBudghRwB/s8ZF18aB4jp29y0Q0XdM2CEQQ=="}]}},"0.2.0":{"name":"roof-bus","version":"0.2.0","description":"Yet another event bus library.","main":"./index.js","directories":{"test":"test"},"scripts":{"test":"mocha  ./test/spec/*","testone":"mocha ","testbus":"mocha  ./test/bus","testlib":"mocha  ./test/lib","lint":"eslint lib"},"keywords":["event bus"],"author":{"name":"sskyy"},"license":"MIT","devDependencies":{"babel":"~5.8.29","babel-core":"~5.8.32","babel-loader":"~5.3.2","mocha":"^2.2.5","prettyjson":"~1.1.1","webpack":"~1.9.10"},"dependencies":{"babel-eslint":"~4.1.5","co":"~4.5.4","eslint":"~1.9.0","eslint-config-rackt":"1.0.0","lodash.clonedeep":"~3.0.1","lodash.merge":"~3.3.1","lodash.uniq":"~3.2.1","pre-commit":"~1.1.2"},"pre-commit":["lint"],"gitHead":"0403f80ff0f6b05588eed36b97e02e722c126bfe","_id":"roof-bus@0.2.0","_shasum":"1acfe7c4dd3b60e4dfeaa5dc2bb1503d2a74cdfd","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"dist":{"shasum":"1acfe7c4dd3b60e4dfeaa5dc2bb1503d2a74cdfd","tarball":"https://registry.npmjs.org/roof-bus/-/roof-bus-0.2.0.tgz","integrity":"sha512-rRaHhIHCs/c87hdSbwvGdtIppR13XvlYXDR5xMhIUzzp+60YopPx61M+7wFOXD5iDvUsUn2mIbB8DwRnDuwe3A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBI9iuhP+hlWYztuoLfTmuisnJRRzOtArUpoJpRIs9tJAiEAq+sQbwCLvMdaphzBLoJwZuTfoRtcmWqZ/Gk/fIxa8DM="}]}},"0.0.17":{"name":"roof-bus","version":"0.0.17","description":"roof bus library","main":"./lib/index.js","directories":{"test":"test"},"scripts":{"test":"mocha --compilers js:babel/register ./test/spec/*","testone":"mocha --compilers js:babel/register","testbus":"mocha --compilers js:babel/register ./test/bus","testlib":"mocha --compilers js:babel/register ./test/lib","compile":"babel src --out-dir lib"},"keywords":["event"],"author":{"name":"sskyy"},"license":"MIT","devDependencies":{"babel":"~5.6.14","babel-core":"~5.4.7","babel-loader":"~5.1.3","mocha":"^2.2.5","node-libs-browser":"~0.5.2","pre-commit":"~1.0.7","prettyjson":"~1.1.1","webpack":"~1.9.10","webpack-dev-server":"~1.9.0"},"dependencies":{"babel-runtime":"~5.8.20","co":"~4.5.4","lodash":"~3.10.1","lodash.clonedeep":"~3.0.1","lodash.merge":"~3.3.1","lodash.uniq":"~3.2.1"},"pre-commit":["compile"],"gitHead":"fba4a78a28b3d513b5e22ef588fe630f3ea46f31","_id":"roof-bus@0.0.17","_shasum":"1438c21ef120fd88a6111dc10be4cefb65575e59","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"dist":{"shasum":"1438c21ef120fd88a6111dc10be4cefb65575e59","tarball":"https://registry.npmjs.org/roof-bus/-/roof-bus-0.0.17.tgz","integrity":"sha512-+hjbG9nPJsFtJTlzk0Xp4FLedu+ywoPAR7xc+TMGfEnWzeLFtvUbFrslYw/PyxMsZ78lk6DElphJAdxSZfMdmA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+EdaDa6y2VOoMzazKROSZ1AISroKcDtyRw/WOcv3nowIgdGWzInIWSOsEbP93jqkB3DgFWVAs5jpHOtquNqqEcOs="}]}},"0.0.18":{"name":"roof-bus","version":"0.0.18","description":"roof bus library","main":"./lib/index.js","directories":{"test":"test"},"scripts":{"test":"mocha --compilers js:babel/register ./test/spec/*","testone":"mocha --compilers js:babel/register","testbus":"mocha --compilers js:babel/register ./test/bus","testlib":"mocha --compilers js:babel/register ./test/lib","compile":"babel src --out-dir lib"},"keywords":["event"],"author":{"name":"sskyy"},"license":"MIT","devDependencies":{"babel":"~5.6.14","babel-core":"~5.4.7","babel-loader":"~5.1.3","mocha":"^2.2.5","node-libs-browser":"~0.5.2","pre-commit":"~1.0.7","prettyjson":"~1.1.1","webpack":"~1.9.10","webpack-dev-server":"~1.9.0"},"dependencies":{"babel-runtime":"~5.8.20","co":"~4.5.4","lodash":"~3.10.1","lodash.clonedeep":"~3.0.1","lodash.merge":"~3.3.1","lodash.uniq":"~3.2.1"},"pre-commit":["compile"],"gitHead":"d15855b488fedfba24ef559de65e3d4923667b04","_id":"roof-bus@0.0.18","_shasum":"b648d5e79d8610d2c43aefa25b7537d293f6091b","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"dist":{"shasum":"b648d5e79d8610d2c43aefa25b7537d293f6091b","tarball":"https://registry.npmjs.org/roof-bus/-/roof-bus-0.0.18.tgz","integrity":"sha512-zyNIhlewW64GkQvI6DJEUvwfL6GaskfW7d0X7t8X7uqpYe3aVZmn2bJWctOGNcUBIoneo/TyC7dB4EUpK1Xayw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHgHxMvrau5uQ5K36d94y1X5Q5eY4vQ8Snwj7UpBXtdQAiALBr2q0/Pi+T+Cp0NL/+oG1Qzh7w/Cj8Q6FqgnWGSV9w=="}]}}},"readme":"# roof-bus\n\nroof-bus is a event bus for both practical programmers and application architects. It can be used as a simple string-based event bus whitout any buy-in in small apps. When handling large apps, especially the one with complex business logic, its powerful features like Listener Sequence Control can help you keep the system low-coupled and flexsible during the growth.\n\n## Quick Start\n\nroof-bus is really easy to get start with, check the code below. I don't think it need any explaination.\n\n```javascript\nvar Bus = require('roof-bus')\nvar bus = new Bus\n\nbus.on('start', function busListener( arg1, arg2 ){\n\tconsole.log('listener fired', arg1, arg2)\n})\n\nbus.fire('start', 'argument1', 'argument2')\n```\n\nMost event libraries use a simple first-in, first-out listener sequence. But sometimes simple tactic can not solve real-world problem. For example, framework usually load modules from file system in alphabetical order, but module's listener may require a diffrent registration order. Listener which control the access of certain functionality may require to be called first of the sequence. \n\nWith roof-node, you can do it easily. Say that we have two listeners in different file both listen to event `start`, but one of them is in charge of validating the  arguments.\n\nstart-something.js:\n\n```javascript\nmodule.exports = function(bus){\n\tbus.on('start', function( owner ){\n\t\tconsole.log(owner + 'started something')\n\t})\n}\n```\n\nvalidate-arguments.js:\n\n```javascript\nmodule.exports = function(bus){\n\tbus.on('start',{\n\t\tfn: function(owner){\n\t\t\tif(owner !== 'Jane') throw new Error('owner is not Jane')\n\t\t},\n\t\tfirst : true\n\t})\n}\n```\n\nTo put the validation listener to first place, simply change the listener to a object with attribute `first` that set to true. If you want to stop following listeners from being called, just throw a error. \n\nSometime to describe complex business flow, listeners need to fire another event, like:\n\n```javascript\nbus.on('process1', function(){\n\tbus.fire('process2')\n})\n```\n\nWhen the hierachy goes deep, it will be hard to figure out what exactly happend when top event fired. Don't worry, roof-bus generates a detailed tracestack every time. And some visualization tools have already been developed.\n\n```\npic\n```\n\nRead on for more usage, you may find more practical features.\n\n\n## Usage\n\n### 1. Simple `on` and `fire`.\n\n\n```javascript\nvar Bus = require('roof-bus')\nvar bus = new Bus\n\nbus.on('start', function busListener( arg1, arg2 ){\n\tconsole.log('listener fired', arg1, arg2)\n})\n\nbus.fire('start', 'argument1', 'argument2')\n```\n\n### 2. Listener Sequence Control\n\nOrder of listeners on the same event can be controlled. Just name you listener function and then use the function name in attribute `before` or `after`.\n\n```javascript\nbus.on('start', function listener1( arg1, arg2 ){\n\tconsole.log('listener1 fired', arg1, arg2)\n})\n\nbus.on('start', {\n\tfn: function listener2( arg1, arg2 ){\n\t\tconsole.log('listener2 fired', arg1, arg2)\n\t},\n\tbefore : ['listener1']\n})\n\nbus.fire('start', 'argument1', 'argument2')\n```\n\nThere are four order control attributes: `before` `after` `first` `last`. Check below.\n\n```javascript\nbus.on('start', function listener1( arg1, arg2 ){\n\tconsole.log('listener1 fired', arg1, arg2)\n})\n\nbus.on('start', {\n\tfn: function listener2( arg1, arg2 ){\n\t\tconsole.log('listener2 fired', arg1, arg2)\n\t},\n\tbefore : ['listener1']\n})\n\nbus.on('start', {\n\tfn: function listener3( arg1, arg2 ){\n\t\tconsole.log('listener3 fired', arg1, arg2)\n\t},\n\tafter : ['listener1']\n})\n\nbus.on('start', {\n\tfn: function listener4( arg1, arg2 ){\n\t\tconsole.log('listener4 fired', arg1, arg2)\n\t},\n\tfirst : true\n})\n\nbus.fire('start', 'argument1', 'argument2')\n//fire order: 4 2 1 3\n```\n\n### 3. Handle asynchronicity\n\n`fire` method always return a promise. If you have synchronous code in listener and want roof-bus wait for you, return a promise.\n\n```javascript\nbus.on('start', function listener1( arg1, arg2 ){\n\treturn new Promise(function(resolve,reject){\n\t\tsetTimeout(resolve, 1000)\n\t})\n})\n\n\nbus.fire('start', 'argument1', 'argument2').then(function(){\n\tconsole.log('show in 1 second')\n})\n```\n\n**Note** that listeners are fired synchronously as default. So listener which returns promise will block followers until promise resolve.\n\n```javascript\nbus.on('start', function listener1( arg1, arg2 ){\n\treturn new Promise(function(resolve,reject){\n\t\tsetTimeout(resolve, 1000)\n\t})\n})\n\nbus.on('start', {\n\tfn: function listener2( arg1, arg2 ){\n\t\tconsole.log('will wait for listener1 resolve')\n\t},\n\tafter : ['listener1']\n})\n\n\nbus.fire('start', 'argument1', 'argument2').then(function(){\n\tconsole.log('will wait all listener fired')\n})\n\n```\n\nIf you want some listeners to execute asynchronously, you can set `async` attribute to `true` as below. \n\n\n```javascript\nbus.on('start', {\n\tfn: function listener1( arg1, arg2 ){\n\t\treturn new Promise(function(resolve,reject){\n\t\t\tsetTimeout(resolve, 1000)\n\t\t})\n\t},\n\tasync : true\n})\n\nbus.on('start', {\n\tfn: function listener2( arg1, arg2 ){\n\t\tconsole.log('will not be blocked by listener1')\n\t},\n\tafter : ['listener1']\n})\n\n\n\nbus.fire('start', 'argument1', 'argument2').then(function(){\n\tconsole.log('show in 1 second')\n})\n```\n\n### 4. Passing data between listeners\n\nNote the order of listeners is important when passing data.\n\n```javascript\nbus.on('start', function listener1( arg1, arg2 ){\n\tthis.data.set('name','Bill')\n})\n\nbus.on('start', {\n\tfn: function listener2( arg1, arg2 ){\n\t\tconsole.log(this.data.get('name'))     // 'Bill'\n\t},\n\tafter : 'listener1'\n})\n```\n\n### 5. Error handling\n\nYou can throw a build-in Error instance or use roof-bus `error` method.\n\n```javascript\nbus.on('start', function listener1( arg1, arg2 ){\n\tthrow new Error('some error')\n\t//or \n\t//return this.error(500,{msg:'some error'})\n})\n\nbus.fire('start').then(function(){\n\n}).catch(function( error){\n\tconsole.log( error)\n})\n\n```\n\n## Advanced\n\n### list listeners\n\n### listener tracestack","maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"time":{"modified":"2022-06-26T14:08:40.285Z","created":"2015-05-31T09:27:27.701Z","0.0.1":"2015-05-31T09:27:27.701Z","0.0.2":"2015-05-31T09:34:15.233Z","0.0.3":"2015-06-07T07:28:27.074Z","0.0.4":"2015-06-07T10:10:05.294Z","0.0.5":"2015-06-08T12:07:10.047Z","0.0.6":"2015-06-09T07:06:23.913Z","0.0.7":"2015-06-29T03:35:29.731Z","0.0.8":"2015-07-01T10:18:57.499Z","0.0.9":"2015-07-06T03:32:43.015Z","0.0.10":"2015-07-07T04:04:52.373Z","0.0.11":"2015-08-30T07:49:27.498Z","0.0.12":"2015-09-20T02:39:40.697Z","0.0.13":"2015-09-20T02:55:35.578Z","0.1.1":"2015-10-12T08:28:03.629Z","0.1.2":"2015-10-12T13:32:55.602Z","0.1.3":"2015-10-14T07:39:55.424Z","0.1.4":"2015-10-29T08:36:54.023Z","0.0.14":"2015-11-02T14:03:55.771Z","0.0.15":"2015-11-02T14:06:21.110Z","0.0.16":"2015-11-05T12:22:55.886Z","0.1.5":"2015-11-12T12:56:21.232Z","0.2.0":"2015-11-24T06:30:46.765Z","0.0.17":"2016-01-18T06:20:11.059Z","0.0.18":"2016-01-18T07:52:46.910Z"},"keywords":["event"],"author":{"name":"sskyy"},"license":"MIT","readmeFilename":"README.md"}