{"_id":"stoar","_rev":"63-46609512b139f1451013779443ab0ca9","name":"stoar","description":"Flux architecture","dist-tags":{"latest":"0.2.5"},"versions":{"0.0.0":{"name":"stoar","version":"0.0.0","description":"Implementation of flux dispatcher and data store","main":"index.js","scripts":{"test":"mocha"},"keywords":["flux","data","store","dispatcher"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^2.4.1"},"_id":"stoar@0.0.0","dist":{"shasum":"eee2e7db36c93df331a12466be313381bfdb9ab2","tarball":"https://registry.npmjs.org/stoar/-/stoar-0.0.0.tgz","integrity":"sha512-2wUnxJ/okaFRwt09C75V8wSaCzoEgJ6MkCPpVFH6yqm/cSfP6a58wG3kkAY1y2jl2yeXwdlF+v90lN2Z1H24Bw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDy4IJ/lY8yJ46veJF9rx9u/Uh6tDg+UmixnfkBe9c4UAiEAu+FIJfMQb2G6Mtm88KEnBcbQ180gDq/IeezqaKS5z6c="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"directories":{}},"0.0.1":{"name":"stoar","version":"0.0.1","description":"Implementation of flux dispatcher and data store","main":"index.js","scripts":{"test":"mocha"},"keywords":["flux","data","store","dispatcher"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^2.4.1"},"_id":"stoar@0.0.1","dist":{"shasum":"f896c7f580295be159ff207bfe76eb41a966dcdf","tarball":"https://registry.npmjs.org/stoar/-/stoar-0.0.1.tgz","integrity":"sha512-e8vPfSLMpJrGqtw7OrN73pRBf9+R4W+TdFdxcqSjaV3TMCJ/31L3BOwWlZXnbUczCfVEcAaIBkFmOLF82F1tVg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEp4w+qnFbOaQbmqY73ywzZgeYaJ6pVDSwvXg4U83onPAiEA/BInrbr663AHcq3Hl1Un7rhSWDBpJArwhtWAhWJGy1o="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"directories":{}},"0.0.2":{"name":"stoar","version":"0.0.2","description":"Implementation of flux dispatcher and data store","main":"index.js","scripts":{"test":"mocha"},"keywords":["flux","data","store","dispatcher"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^2.4.1"},"_id":"stoar@0.0.2","dist":{"shasum":"bce2cbddca1b80d5a79c8e99960b71ba2b7002bc","tarball":"https://registry.npmjs.org/stoar/-/stoar-0.0.2.tgz","integrity":"sha512-fkASyTPGvysdB6tC8tMHwFKFC0KfqmfE/XQLJ8XTLiqtoMdErY+oZKkfnSLmxWGF8BCXUim5hFavH46Rw4BN5w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDCCgGVBcYii3Jvei8Iq3gz3IHv9ZRlDjeUyvQI+sA67wIga0uPQdK00TvaRMquDY+cnw6Kt2XJpomi355AlxE7Kjc="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"directories":{}},"0.0.3":{"name":"stoar","version":"0.0.3","description":"Implementation of flux dispatcher and data store","main":"index.js","scripts":{"test":"mocha"},"keywords":["flux","data","store","dispatcher"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^2.4.1"},"_id":"stoar@0.0.3","dist":{"shasum":"bc9fcd8d3bd080e95bf8eff6177b7e720ca943ae","tarball":"https://registry.npmjs.org/stoar/-/stoar-0.0.3.tgz","integrity":"sha512-Ypqu0glhxPz9vUowLAifGVz4eo+Bj+VEIc5jB5Kil04P/SERKw7pWoUEHVJCctUIzieX6vTsZlt3XmWa3RZeGw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDH/dEcvUqERIGVKSpTAH4c3mPIe9G9hyR0p3G2GOEpaAIhAK4NKsgaBwoydUa3Wz+zo9JSyoqoOQHid9L4v4MCEKsx"}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"directories":{}},"0.0.4":{"name":"stoar","version":"0.0.4","description":"Implementation of flux dispatcher and data store","main":"index.js","scripts":{"test":"mocha"},"keywords":["flux","data","store","dispatcher"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^2.4.1"},"_id":"stoar@0.0.4","dist":{"shasum":"82b71686ed3114e68def0e836ee5dfc71477b893","tarball":"https://registry.npmjs.org/stoar/-/stoar-0.0.4.tgz","integrity":"sha512-TZuQAOJbAV8LdAsCZH8frpEOAvfxoELt4jI/B/gv4YK5A/0cFHfImf3Qz8j0yTJg7SDJwME5cI2K+ppaR9f9yQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD7Yjsy/rYBV1W+fxeg+coVAQRCZgrO05PAEHFJ2RSIcQIgdF+Y2W9fMykosCSA5M9IFrDzF2IyKdOsCm595LyTW1U="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"directories":{}},"0.0.5":{"name":"stoar","version":"0.0.5","description":"Implementation of flux dispatcher and data store","main":"index.js","scripts":{"test":"mocha"},"keywords":["flux","data","store","dispatcher"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^2.4.1"},"_id":"stoar@0.0.5","dist":{"shasum":"232780acfe4daa001d464ab06b25c8a6757265d6","tarball":"https://registry.npmjs.org/stoar/-/stoar-0.0.5.tgz","integrity":"sha512-giusdtTIU7kyzLiue83yzi0U0QAEkjpt97ba7hHrbiZSm1QXyvIaTRX9uD1HveYRhddg0AMGSYZNVpsAzxf46A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC7cFWDxraOeTo1z2v8P5JXzYx6yM05qzfQVV3X17CfFQIhAMi1bFP3wA0izJg56GIkW+RDpA3cUP0083aEuUNG6YCS"}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"directories":{}},"0.0.6":{"name":"stoar","version":"0.0.6","description":"Implementation of flux dispatcher and data store","main":"index.js","scripts":{"test":"mocha"},"keywords":["flux","data","store","dispatcher"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^2.4.1"},"_id":"stoar@0.0.6","dist":{"shasum":"e14212085c7cf5dec1e8f0aefe0fad2acfbdf44f","tarball":"https://registry.npmjs.org/stoar/-/stoar-0.0.6.tgz","integrity":"sha512-CKT2sF8UPd67WfwwuGP0v4uQ+lvgPTWWU0PwKu7cEFSzqIwiw4Y1mj3LjdpiU56r9NJFm27+EjSTUzQKD3O41Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQz/Ogqc+TYbSxjkFbXY3vQtRJNQ6Y6qWn4AzPKwF5owIgTTJa7CYlPpo1MX3zfzF7PRuAxMcx53h12mx1F3ogIxQ="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"directories":{}},"0.0.7":{"name":"stoar","version":"0.0.7","description":"Implementation of flux dispatcher and data store","main":"index.js","scripts":{"test":"mocha"},"keywords":["flux","data","store","dispatcher"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^2.4.1"},"_id":"stoar@0.0.7","dist":{"shasum":"742e6e2a636543b692d7f9ced7a3c1ea2054b4c3","tarball":"https://registry.npmjs.org/stoar/-/stoar-0.0.7.tgz","integrity":"sha512-dQnTz0qepJi389NdxwH5VmMPLFSqpDeVQgsQ0WHctpoEpe4aXld+uaahy91KnunDLfix+Um6ka82gv57eOIydg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEfnSekvoMD+Z8FqI5CrxEDup9HlR1cWhDQCU9T52Bs/AiA7FLPowreWS+1pts7TkjCyx85DaSnvPAQplr5Zyr1YjA=="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"directories":{}},"0.1.0":{"name":"stoar","version":"0.1.0","description":"Flux architecture","main":"index.js","scripts":{"test":"mocha"},"keywords":["flux","data","store","dispatcher"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^2.4.1"},"devDependencies":{"await":"^0.2.4"},"_id":"stoar@0.1.0","dist":{"shasum":"88afc246a8974e36f92f1bad790bd2a2ab5e1571","tarball":"https://registry.npmjs.org/stoar/-/stoar-0.1.0.tgz","integrity":"sha512-HWbNZHhmkawDeJvsKEHEQkAB7+dwAK2sOAcx2HeFtDt/xwD5pAastgdqEAtdV2AxACIjqn5/9ELENReS1YIBng==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD079ukwpsj9NTfF1bs5ovjlIPZ+AdAQUiwLTZ//uBpJAIgIs3YbMdqX+eANmzOrZrTEyTjr9r+zeMqxhM7QPmRvec="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"directories":{}},"0.1.1":{"name":"stoar","version":"0.1.1","description":"Flux architecture","main":"index.js","scripts":{"test":"mocha"},"keywords":["flux","data","store","dispatcher"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^2.4.1"},"devDependencies":{"await":"^0.2.4"},"_id":"stoar@0.1.1","dist":{"shasum":"00d7988b1bb888e0a259f44bfa3fb37b7d0825e2","tarball":"https://registry.npmjs.org/stoar/-/stoar-0.1.1.tgz","integrity":"sha512-Xi6QPCa1MJA45LUt/snDIJqR25Yz6AJFxTlemiGAOSpWz2O6Oa5F2wZzcz/cM0rwVYaxJdQiGnLt6LrkCYEaOg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDlEZuVy71cpqYmqOHCxYM1ekzBDtjPuXVW/B13ZE7pfQIhAL2tBD1Fx1YNoPenfcTwq6IWeKmpU78bNa0J7BidaNgn"}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"directories":{}},"0.1.2":{"name":"stoar","version":"0.1.2","description":"Flux architecture","main":"index.js","scripts":{"test":"mocha"},"keywords":["flux","data","store","dispatcher"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^2.4.1"},"devDependencies":{"await":"^0.2.4"},"_id":"stoar@0.1.2","dist":{"shasum":"867fe40f86473a7a176457e02d12e9bdde5ed11b","tarball":"https://registry.npmjs.org/stoar/-/stoar-0.1.2.tgz","integrity":"sha512-CbAVJ0RrspwUEhERQ3QTaUgylqTX5ZSpcRdZXoW6Fp6TUt3Czp7HaGL4icmpKFUKlb5GxBE80oFOLzdf+LUbuQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF6IKC3xZMZbj9ck9EvLh+5l/Ypae5cVolXWSxsPCH/SAiBAhBPuoYPH8BAswxQhXWj/i+wd2u/bPzNokJVuqANIlw=="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"directories":{}},"0.1.3":{"name":"stoar","version":"0.1.3","description":"Flux architecture","main":"index.js","scripts":{"test":"mocha"},"keywords":["flux","data","store","dispatcher"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^2.4.1"},"devDependencies":{"await":"^0.2.4"},"_id":"stoar@0.1.3","dist":{"shasum":"f28daf0613e02a2e1fbbb479e8d710e164dcdc99","tarball":"https://registry.npmjs.org/stoar/-/stoar-0.1.3.tgz","integrity":"sha512-5/SpLlHFXyQGdKMuDly+/bglZQOIWmB7/oak+yo33GR+28xbrSLzf6LZRoZ3YsQxUdWy4XvBmqk4Ln7+zR5j2g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAOLjQcMc/m21yNgATKKN6jiLTun0p7Q3foYtp9MFUjVAiEA3FBZ0LnoY5cTRnWaZ+d3R63jnqPUrS9XWeRL2FAJcWM="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"directories":{}},"0.1.4":{"name":"stoar","version":"0.1.4","description":"Flux architecture","main":"index.js","scripts":{"test":"mocha"},"keywords":["flux","data","store","dispatcher"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^2.4.1"},"devDependencies":{"await":"^0.2.4"},"_id":"stoar@0.1.4","dist":{"shasum":"ac45ad80a4e934de7f621d11fd614f47b74f4046","tarball":"https://registry.npmjs.org/stoar/-/stoar-0.1.4.tgz","integrity":"sha512-CjxPbnhnpW9j5tlgUuSckDlZGorhQoeygvhH4g0wstnHaodMaHNEyWt7FM0socbSPi0hAdMvCLa6vBK3YbEAWA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFWPnz1MxSMeTP5tbbjhLTAXh5af4fSbEy15qzYHUW3nAiEAiy/jw0qBhow3qx1E0G2PY35QG12hQaszikEKb3InA7I="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"directories":{}},"0.1.5":{"name":"stoar","version":"0.1.5","description":"Flux architecture","main":"index.js","scripts":{"test":"mocha"},"keywords":["flux","data","store","dispatcher"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^2.4.1"},"devDependencies":{"await":"^0.2.4"},"_id":"stoar@0.1.5","dist":{"shasum":"ee3760c574455e546d51ee4dc19b9ab9de25f2f5","tarball":"https://registry.npmjs.org/stoar/-/stoar-0.1.5.tgz","integrity":"sha512-i/LsZ9h8dEi9b5G1PYbJhp4PgUlXmhgbvEDWKuIjoueQRGWRz78A8KK21bMj33XpOJ+A+x8Id0cgwk1sAQ9Dug==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICDDUYEvMpNfWsOdupTV4kGVKgouVRl/aDDPBmht9QUGAiAKsV4hA9wXidyEqFV7a0Ksgej7xjIog1hXXdvO3BjHJw=="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"directories":{}},"0.1.6":{"name":"stoar","version":"0.1.6","description":"Flux architecture","main":"index.js","scripts":{"test":"mocha"},"keywords":["flux","data","store","dispatcher"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^2.4.1"},"devDependencies":{"await":"^0.2.4"},"_id":"stoar@0.1.6","dist":{"shasum":"2154d605a30bd893477d881faf70cb642109abdc","tarball":"https://registry.npmjs.org/stoar/-/stoar-0.1.6.tgz","integrity":"sha512-JwV3UfJzeWF9FlPJQxjCQXPXPaS4G/0UJJCmVwwvy4AH+IZsJf0yipd15bENK/QFRsxbVJDozVLzuKm9Ovg2WA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFl9hQg3CpmICreqJ+SUs2T/MjSHxF6dLjDJYahRe8rJAiBPUSgDGPm8BuVX0fDvDMCugO1dPBY2/OhAW5/o9I3CXw=="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"directories":{}},"0.1.7":{"name":"stoar","version":"0.1.7","description":"Flux architecture","main":"index.js","scripts":{"test":"mocha"},"keywords":["flux","data","store","dispatcher"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^2.4.1"},"devDependencies":{"await":"^0.2.4"},"_id":"stoar@0.1.7","dist":{"shasum":"cef516969507f52b40db54dae52949a13801bdcf","tarball":"https://registry.npmjs.org/stoar/-/stoar-0.1.7.tgz","integrity":"sha512-/GIFx8D1bQ0Wgzy+9RpbPZwUKvPAV7k/2SiqFNOLR+C/JFnF31MXFMyAx1OHMuDtN1yLivUL9HnuCTpy/E0Igg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFWBe3Ipujoc4BgwIKoTN0s4a3xwbUQdtgQVE2584GP9AiAllsygWvK881HkoK8SEQE0zLr6/zOdOWWQnkGYOKyNCw=="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"directories":{}},"0.1.8":{"name":"stoar","version":"0.1.8","description":"Flux architecture","main":"index.js","scripts":{"test":"mocha"},"keywords":["flux","data","store","dispatcher"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^2.4.1"},"devDependencies":{"await":"^0.2.4"},"_id":"stoar@0.1.8","dist":{"shasum":"4241d9fbb9c4d13457ca95373f925655da9116f4","tarball":"https://registry.npmjs.org/stoar/-/stoar-0.1.8.tgz","integrity":"sha512-HxhosrQWgDvFrmbC40i2nueajs0OzOEX0xHf1z6veeXVXOexZsbb6erjlRC1oPJHsiic+D9nYSkuL6me3FbHXg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCu+UKE7MMyazoYvOFN95V/L33Z4mTR+IeJ5EIiiye0wwIhANzxWE8NLSRfvTXwL3tiQ2ypU7r7ie21iHMitjZ2NNIt"}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"directories":{}},"0.1.9":{"name":"stoar","version":"0.1.9","description":"Flux architecture","main":"index.js","scripts":{"test":"mocha"},"keywords":["flux","data","store","dispatcher"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^2.4.1"},"devDependencies":{"await":"^0.2.4"},"_id":"stoar@0.1.9","dist":{"shasum":"90fbf7074f36e939b527773021c3354b2fde09cb","tarball":"https://registry.npmjs.org/stoar/-/stoar-0.1.9.tgz","integrity":"sha512-zMzhO15yXJZIJBFu7oMElguOqKXOg7E/wgApQqHEb/WdMYTm5Db5M4InOjzmUuZ6USJaNgpLy+bg8ylZ3U90Qw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGcFEDo6+xJyxRXWLcemLfmLYWptPRX6B+2ndQRwPSQnAiEAl1D5hQSnq1iMmJs73Qrxyf4wNPQBnHfBuNFIYsgLCpg="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"directories":{}},"0.1.10":{"name":"stoar","version":"0.1.10","description":"Flux architecture","main":"index.js","scripts":{"test":"mocha"},"keywords":["flux","data","store","dispatcher"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^2.4.1"},"devDependencies":{"await":"^0.2.4"},"_id":"stoar@0.1.10","dist":{"shasum":"a3b9dc5c1d4030cf897ea42de6031785039d3ef3","tarball":"https://registry.npmjs.org/stoar/-/stoar-0.1.10.tgz","integrity":"sha512-SbaDUx2bhL13Z9kG+gnc4d8VRiGmKaM1wZSpWp1ms+GAxmsGQ0Y7OLuogVKQWJ51EyAoiifAEZKah736VrYUrg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCOiGVyrZYwuCB8rE0JILdsSZAohw5rN6B/tItlg257JgIhAPhqM6HIP7NnjlrwkO3n265JiGWr+W05EuzbOfdZ/XXf"}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"directories":{}},"0.1.11":{"name":"stoar","version":"0.1.11","description":"Flux architecture","main":"index.js","scripts":{"test":"mocha"},"keywords":["flux","data","store","dispatcher"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^2.4.1"},"devDependencies":{"await":"^0.2.4"},"_id":"stoar@0.1.11","dist":{"shasum":"55c86a67ab6c0363d48604270dade169949ded0c","tarball":"https://registry.npmjs.org/stoar/-/stoar-0.1.11.tgz","integrity":"sha512-Ub4WuDV8GJ1rvHTECzS526q4PHWkHN5K3RMv9eHMWBeNNpn8+hCo9cl8oxL8QkCE7fRwWKgocMVzyv2sn6TY5g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAPSZEzK9PY+6DStS/rkST/fie+zbmuQj4Ym4HvZIyG3AiEAy45xqq+E+OS01txFw5Uhfjr+IqjpXi0ZaXTNH5D81ds="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"directories":{}},"0.1.12":{"name":"stoar","version":"0.1.12","description":"Flux architecture","main":"index.js","scripts":{"test":"mocha"},"keywords":["flux","data","store","dispatcher"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^2.4.1"},"devDependencies":{"await":"^0.2.4"},"gitHead":"96657e46042e084ccc7b6639b3514fa21848822f","_id":"stoar@0.1.12","_shasum":"1a5700c72996c0c31bcefbafd0847ea22aa56408","_from":".","_npmVersion":"2.0.0","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"dist":{"shasum":"1a5700c72996c0c31bcefbafd0847ea22aa56408","tarball":"https://registry.npmjs.org/stoar/-/stoar-0.1.12.tgz","integrity":"sha512-FfQQdCghQFl+536e8X5a+27+WfHpT9hWVMBdZa6L16sbKk5q42kIJ4GfFHDUk0ULAMxVWjVVAt2f6xx3kII03A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCn8VPN0D4NZYYhfV0iAHSknhGbjI89l5Gu6aey56tWjgIhAIIfdcUnYfKc9G4skxfQ32N/prCRwKp7RE4CkAMgxrz6"}]},"directories":{}},"0.1.13":{"name":"stoar","version":"0.1.13","description":"Flux architecture","main":"index.js","scripts":{"test":"mocha"},"repository":{"type":"git","url":"https://github.com/greim/stoar.git"},"keywords":["flux","data","store","dispatcher"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^2.4.1"},"devDependencies":{"await":"^0.2.4"},"gitHead":"e3babf48c9bf45292b3a6d96817e65bf0a315d78","bugs":{"url":"https://github.com/greim/stoar/issues"},"homepage":"https://github.com/greim/stoar","_id":"stoar@0.1.13","_shasum":"56b8db31f6ae48c9e64baf11efc1c5c39f11b070","_from":".","_npmVersion":"2.0.0","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"dist":{"shasum":"56b8db31f6ae48c9e64baf11efc1c5c39f11b070","tarball":"https://registry.npmjs.org/stoar/-/stoar-0.1.13.tgz","integrity":"sha512-dh12jZB03HZlMyffCeqWVA1FFe9cEEeuJ+JkhiU3BE9pnmrpSL+d+eIEGbvgp5X+n5hu0+tMA+HPOQnbyJ9BEA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAlt9y8t3pEC0ntRR1YJT3CXVm0dJbAnU5e9m36HM/zJAiBK4uc+5XtQGKItO3Svhe1z9aqLeHY9vY3Hzmyb96M9Og=="}]},"directories":{}},"0.1.14":{"name":"stoar","version":"0.1.14","description":"Flux architecture","main":"index.js","scripts":{"test":"mocha"},"repository":{"type":"git","url":"https://github.com/greim/stoar.git"},"keywords":["flux","data","store","dispatcher"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^2.4.1"},"devDependencies":{"await":"^0.2.4"},"gitHead":"d909bad704f1fa969792e787f90abaec9ab14c82","bugs":{"url":"https://github.com/greim/stoar/issues"},"homepage":"https://github.com/greim/stoar","_id":"stoar@0.1.14","_shasum":"0a3603f08d8bddd5b5f6399fb5da97fd53ef444f","_from":".","_npmVersion":"2.0.0","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"dist":{"shasum":"0a3603f08d8bddd5b5f6399fb5da97fd53ef444f","tarball":"https://registry.npmjs.org/stoar/-/stoar-0.1.14.tgz","integrity":"sha512-G4dwikg8dRpoyNneGXlgOHugATo15bnEc9Bh7xPMmpKQ/KZH6X14YwThmiJF4TaRi9I59Sy9onfIWMigjpywYA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBGzV5zWpm7d4+/MvRjYZAqQZyDzjkvzhR0nHupomESDAiEAw7tmqB+PgPlmS3Bz0nNaEwnkz3wzJCquZHg/qKuLE38="}]},"directories":{}},"0.1.15":{"name":"stoar","version":"0.1.15","description":"Flux architecture","main":"index.js","scripts":{"test":"mocha --reporter nyan"},"repository":{"type":"git","url":"https://github.com/greim/stoar.git"},"keywords":["flux","data","store","dispatcher"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^2.4.1"},"devDependencies":{"await":"^0.2.4"},"gitHead":"03996670cb7c144ca5736e0c8650a50ba2e99a44","bugs":{"url":"https://github.com/greim/stoar/issues"},"homepage":"https://github.com/greim/stoar","_id":"stoar@0.1.15","_shasum":"baefb53ca21e8d75b54e1d1fe6ba642e787fe71c","_from":".","_npmVersion":"2.0.0","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"dist":{"shasum":"baefb53ca21e8d75b54e1d1fe6ba642e787fe71c","tarball":"https://registry.npmjs.org/stoar/-/stoar-0.1.15.tgz","integrity":"sha512-wV1GlKPBXV0XX1ZyvgfZosaK/rW8Euyn40HLJeihweL3wQmybLpgtUaaQSnwnQ4wl9ZpRgP3ZZmT9X6je2FWPQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDFpMcn9kueqN2nA8uDHCs+weoUpbLctryiAk0/X+xeNAiAYjQOIEmbZAdkTxMf9fRiXPsfEBHyvuVcvrixPwHBiTQ=="}]},"directories":{}},"0.1.16":{"name":"stoar","version":"0.1.16","description":"Flux architecture","main":"index.js","scripts":{"test":"mocha --reporter nyan"},"repository":{"type":"git","url":"https://github.com/greim/stoar.git"},"keywords":["flux","data","store","dispatcher"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^2.4.1"},"devDependencies":{"await":"^0.2.4"},"gitHead":"be3097a37deadf095588f93415e8832d021f30a5","bugs":{"url":"https://github.com/greim/stoar/issues"},"homepage":"https://github.com/greim/stoar","_id":"stoar@0.1.16","_shasum":"893fda147f7bae4371227c13d001e6a69cba5cda","_from":".","_npmVersion":"2.0.0","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"dist":{"shasum":"893fda147f7bae4371227c13d001e6a69cba5cda","tarball":"https://registry.npmjs.org/stoar/-/stoar-0.1.16.tgz","integrity":"sha512-xBXiMhRq2vG2qNZseSu8oYuqYbFaeA5FbdAARrMgi0u675FoM4CsEwhDcxPRYWGTVyPBk2TO7bH/vgAiiriEhA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDV3sourunpOvVeTPyNxk481jx1UWFM30800iwiCJyDIwIhAL6yIiyyb7NEGBGjqdCNrx/Z0uFrDteORwA02qEQ8JqZ"}]},"directories":{}},"0.1.17":{"name":"stoar","version":"0.1.17","description":"Flux architecture","main":"index.js","scripts":{"test":"mocha --reporter nyan"},"repository":{"type":"git","url":"https://github.com/greim/stoar.git"},"keywords":["flux","data","store","dispatcher"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^2.4.1"},"devDependencies":{"await":"^0.2.4"},"gitHead":"a7d2fc4b47d9acf3c4b34af9d6183facd2103ba2","bugs":{"url":"https://github.com/greim/stoar/issues"},"homepage":"https://github.com/greim/stoar","_id":"stoar@0.1.17","_shasum":"ec55b284288b4a4df051d9ba79e19d7f4000c57b","_from":".","_npmVersion":"2.0.0","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"dist":{"shasum":"ec55b284288b4a4df051d9ba79e19d7f4000c57b","tarball":"https://registry.npmjs.org/stoar/-/stoar-0.1.17.tgz","integrity":"sha512-1/7J2HRz+FYeV5hQu+iwZlDfc7L/yG4fA4UDS5n3/rRxYJpiOSVBSCM6iDcGfpvWmQsZg5+iUywPlp/mBMTSxQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC2oewJtqGjtkMwywEbFp8ng+GBColSNfZTLw4i4gyIGAiEAp3P1Th9wsqbq7KTMKXOCXfnEBhWr6V40kWrcgIQjBTQ="}]},"directories":{}},"0.1.18":{"name":"stoar","version":"0.1.18","description":"Flux architecture","main":"index.js","scripts":{"test":"mocha --reporter nyan"},"repository":{"type":"git","url":"https://github.com/greim/stoar.git"},"keywords":["flux","data","store","dispatcher"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^2.4.1"},"devDependencies":{"await":"^0.2.4"},"gitHead":"9f6d1f1f55c970519a5f48f6834941455a962f8f","bugs":{"url":"https://github.com/greim/stoar/issues"},"homepage":"https://github.com/greim/stoar","_id":"stoar@0.1.18","_shasum":"94942df5d74161cfa6ffbea967d00fe7dc57591e","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.2","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"dist":{"shasum":"94942df5d74161cfa6ffbea967d00fe7dc57591e","tarball":"https://registry.npmjs.org/stoar/-/stoar-0.1.18.tgz","integrity":"sha512-SugtPO3yLHsTAXMJDvVEu3tGr9ez/yx9uFvijmbNLyCIQlJsLgiModm/6koQL2GsG6GsU/5uWV60HQOzSyQJXA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDXeFftG1UFCGXF9VGmnp1vV9Hk+dkxw8kSbQ+7JdV3LwIgFEnu3N+6CLnUf0MhdzwgJMRRCBFgF8QOsswusdbQD1o="}]},"directories":{}},"0.2.0":{"name":"stoar","version":"0.2.0","description":"Flux architecture","main":"index.js","scripts":{"test":"mocha --reporter nyan"},"repository":{"type":"git","url":"https://github.com/greim/stoar.git"},"keywords":["flux","data","store","dispatcher"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^2.4.1"},"devDependencies":{"await":"^0.2.4"},"gitHead":"1a8af85086a7c1290c4b73a0fc92865e9c98be1b","bugs":{"url":"https://github.com/greim/stoar/issues"},"homepage":"https://github.com/greim/stoar","_id":"stoar@0.2.0","_shasum":"ca97114c13460056c9793a953148becfc114c848","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.2","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"dist":{"shasum":"ca97114c13460056c9793a953148becfc114c848","tarball":"https://registry.npmjs.org/stoar/-/stoar-0.2.0.tgz","integrity":"sha512-Zh3Pjjxda+8s126azEU44BtBEPPVAZRuLjvOamZrnNujG12XDnZzUurIYBUyVSqqNeDhU6dbKGkCPehWFMnHag==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDVPZ4Nj3/3Noc1h+Ytgr2crszkWWXZHOmdTEvagOilPwIgEuOZuYyY568N+crBJZausY3wJzgG3q0NYHajItCsZRs="}]},"directories":{}},"0.2.1":{"name":"stoar","version":"0.2.1","description":"Flux architecture","main":"index.js","scripts":{"test":"mocha --reporter nyan"},"repository":{"type":"git","url":"https://github.com/greim/stoar.git"},"keywords":["flux","data","store","dispatcher"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^2.4.1"},"devDependencies":{"await":"^0.2.4"},"gitHead":"3c5fc012d21bb5a0b80d87e7746941b8e0e5ec58","bugs":{"url":"https://github.com/greim/stoar/issues"},"homepage":"https://github.com/greim/stoar","_id":"stoar@0.2.1","_shasum":"2e273107c51b262536e5cacb469ea71b8f504607","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.2","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"dist":{"shasum":"2e273107c51b262536e5cacb469ea71b8f504607","tarball":"https://registry.npmjs.org/stoar/-/stoar-0.2.1.tgz","integrity":"sha512-7BUwO+HjQ2x0Z4uUYUuD6PJSac00J5pXo5OeOhKQ4d9/PoLEzLVPgNfdJdL7dCqbTyki7kVG0Wf8Byeb89pwJQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDDtNScnGTIb6vs8BJWUAWSDGL/Z8+BvUIEeBHKxow80AIhAPkv1n2kbsOp2YF9v50W9OdlFaSMVDl2EyVU37mhpiWy"}]},"directories":{}},"0.2.2":{"name":"stoar","version":"0.2.2","description":"Flux architecture","main":"index.js","scripts":{"test":"mocha --reporter nyan"},"repository":{"type":"git","url":"https://github.com/greim/stoar.git"},"keywords":["flux","data","store","dispatcher"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^3.10.0"},"devDependencies":{"await":"^0.2.4"},"gitHead":"d7b63a69e4d513d0272c11c7dea9723f71be59f1","bugs":{"url":"https://github.com/greim/stoar/issues"},"homepage":"https://github.com/greim/stoar","_id":"stoar@0.2.2","_shasum":"31c109935dc1d99fb6f90b46c5c21561c2bb89e8","_from":".","_npmVersion":"2.13.0","_nodeVersion":"2.4.0","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"dist":{"shasum":"31c109935dc1d99fb6f90b46c5c21561c2bb89e8","tarball":"https://registry.npmjs.org/stoar/-/stoar-0.2.2.tgz","integrity":"sha512-X0fMmCoOrq2h3tM6ZZKdw8ulFzaZ5ai4wmB53fXu3ZGS3T3kqpSckR3/C+XmAT9lo4XS0verayOxYlQjqNo1jg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA5c+MOiUcIfi5dHw3EWc+M/af4Q3VbtN77N+Z8OHSLcAiA19YIvsUtV+aQ19gZ55NlbPhiBFYPVlB8qU7mJtJIhDA=="}]},"directories":{}},"0.2.3":{"name":"stoar","version":"0.2.3","description":"Flux architecture","main":"index.js","scripts":{"test":"mocha --reporter nyan"},"repository":{"type":"git","url":"git+https://github.com/greim/stoar.git"},"keywords":["flux","data","store","dispatcher"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^3.10.0"},"devDependencies":{"await":"^0.2.4"},"gitHead":"a90962a13c83bdb5e39e69ea8d6d11154005f0c1","bugs":{"url":"https://github.com/greim/stoar/issues"},"homepage":"https://github.com/greim/stoar#readme","_id":"stoar@0.2.3","_shasum":"b1ce0ad7a6489ab9fabdde5154bf0dc5b5f178d4","_from":".","_npmVersion":"2.14.4","_nodeVersion":"4.1.1","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"dist":{"shasum":"b1ce0ad7a6489ab9fabdde5154bf0dc5b5f178d4","tarball":"https://registry.npmjs.org/stoar/-/stoar-0.2.3.tgz","integrity":"sha512-tpmPV3HLSRIH8LJw6F3GYOGgPawikaMzgRenH1u0Cf30cT0R6361NYX3QGQY0qEe7dsPIKg92elyEfkk/KYRIw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBL1Nti7aCim6ehm4aMJQeDWTy5GYK0XZrzkBULEzxajAiA5bS5vJi19ro+J5zrkH67A6Dxv0GqNJOjWwb8yxGszig=="}]},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"directories":{}},"0.2.4":{"name":"stoar","version":"0.2.4","description":"Flux architecture","main":"index.js","scripts":{"test":"mocha --reporter nyan"},"repository":{"type":"git","url":"git+https://github.com/greim/stoar.git"},"keywords":["flux","data","store","dispatcher"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^3.10.0"},"devDependencies":{"await":"^0.2.4"},"gitHead":"75fe4a67b5c9a1f4e3028fdb36339ec9d18bec0e","bugs":{"url":"https://github.com/greim/stoar/issues"},"homepage":"https://github.com/greim/stoar#readme","_id":"stoar@0.2.4","_shasum":"8fba7040a2098ec34465b788448cd070b8f2bf5b","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"sojournerc","email":"chris@christopher-meyer.me"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"},{"name":"sojournerc","email":"chris@christopher-meyer.me"}],"dist":{"shasum":"8fba7040a2098ec34465b788448cd070b8f2bf5b","tarball":"https://registry.npmjs.org/stoar/-/stoar-0.2.4.tgz","integrity":"sha512-hKEkmLPWs4M3ovN89WnBhQ70v4PsA1O4or5chSS/ynRXxxoBgJqRCOMKwOIkGtRDUT1C5bvS4CtYXES9qUz4FA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG/oYfrm4GPiW0C21Nm2QSNpQSBEbG82wMgFaB5e18GuAiEAh1cb9wbH75KyVP04pxFSU6VkmLZnapVq5sjN5vNbfKg="}]},"directories":{}},"0.2.5":{"name":"stoar","version":"0.2.5","description":"Flux architecture","main":"index.js","scripts":{"test":"mocha --reporter nyan"},"repository":{"type":"git","url":"git+https://github.com/greim/stoar.git"},"keywords":["flux","data","store","dispatcher"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^3.10.0"},"devDependencies":{"await":"^0.2.4"},"gitHead":"5deb685dddffa388b13c0e17a7630be048b9482c","bugs":{"url":"https://github.com/greim/stoar/issues"},"homepage":"https://github.com/greim/stoar#readme","_id":"stoar@0.2.5","_shasum":"b1d4a3026cb3408aa7593ea87af14f893dd60c06","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"sojournerc","email":"chris@christopher-meyer.me"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"},{"name":"sojournerc","email":"chris@christopher-meyer.me"}],"dist":{"shasum":"b1d4a3026cb3408aa7593ea87af14f893dd60c06","tarball":"https://registry.npmjs.org/stoar/-/stoar-0.2.5.tgz","integrity":"sha512-bNW3sASKmkNQeanQ5SNk9J0ETvA3exsVnvj8gQUF43fUNkFC27sjEV8ZUcLLvikxs07pqWIdixfVsEiMxeffAA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDY50ni1dum7oNkTMUD0GoSYyD9xDJx/I5QW43Y5/zZ3AiEA8PfMajgHQvD9sYgqjgIs7VVo/wPWXOiolmDi2C2VtwY="}]},"directories":{}}},"readme":"# Stoar\n\nA set of tools for the [Flux](http://facebook.github.io/react/docs/flux-overview.html) architecture.\nIt provides you with:\n\n * **Dispatcher** - An object that mediates data flow to and from your stores. This is the central hub of your Flux app.\n * **Store** - A container for application state.\n * **Commander** - The entry point where data flows into the dispatcher.\n * **Notifier** - The exit point where data flows out of the stores.\n\n```sh\n% npm install stoar\n```\n\n```js\nvar Stoar = require('stoar');\n```\n\n## Building a simple Stoar Flux app\n\nFirst, define your objects.\nThese will be modules which can be required from the rest of your code.\n\n 1. Create a dispatcher. Do this first; everything else comes from it.\n 1. Create one or more stores from the dispatcher and provide action callbacks for each.\n 1. Create a commander from the dispatcher, with optional custom methods.\n 1. Create a notifier from the dispatcher.\n\nNext, compose these modules into an app.\n\n 1. Listen for change events on the notifier, re-rendering your top-level React component(s) for each change. Do not listen for change events from anywhere but the top level components, as changes will propagate down via your render functions.\n 1. Send actions to the commander in response to various events in your app, e.g. user-initiated, server-push, app initialize, window resize, polling/fetching, etc. Actions always have the signature `(action, payload)` where `action` is a string and `payload` is any value whatsoever.\n 1. At any point in the app it's okay to read data from the stores. However, only in a given store's action callback is it okay to mutate that store.\n\nHere's the same thing but laid out as files.\n\n```js\n// ------------------------------------\n// dispatcher.js\nvar Stoar = require('stoar');\nmodule.exports = Stoar.dispatcher();\n```\n```js\n// ------------------------------------\n// ui-store.js\nvar dispatcher = require('./dispatcher');\nvar uiStore = module.exports = dispatcher.store({\n  // define data here\n}, function(action, payload){\n  uiStore.set(...) // mutate the store here\n});\n```\n```js\n// ------------------------------------\n// data-store.js\nvar dispatcher = require('./dispatcher');\nvar uiStore = require('./ui-store');\nvar dataStore = module.exports = dispatcher.store({\n  // define data here\n}, function(action, payload){\n  this.waitFor(uiStore);\n  // respond to the action while being able\n  // to see the latest data in uiStore\n});\n```\n```js\n// ------------------------------------\n// commander.js\nvar dispatcher = require('./dispatcher');\nmodule.exports = dispatcher.commander({\n  doCustomThing: function(){}\n});\n```\n```js\n// ------------------------------------\n// notifier.js\nvar dispatcher = require('./dispatcher');\nmodule.exports = dispatcher.notifier();\n```\n```js\n// ------------------------------------\n// main-controller.js\nvar notifier = require('./notifier');\nnotifier.on('change', function(){\n  topLevelComponent.setProps(...)\n});\n```\n```js\n// ------------------------------------\n// some-component.jsx\nvar commander = require('./commander');\n...\ncommander.send(action, payload); // send an action to dispatcher\ncommander.doCustomThing(); // custom method might have side effects\n...\n```\n\n## Stores\n\n```js\nvar store = Stoar.store({\n  isFloating: {\n    type: 'item',\n    value: false\n  },\n  foods: {\n    type: 'list',\n    value: ['pizza','salad','eggs']\n  },\n  hasFood: function(food){\n    var foods = this.getAll('foods');\n    return foods.indexOf(food) !== -1;\n  }\n});\n\nvar isFloating = store.get('isFloating')\nvar firstFood = store.get('foods', 0)\nstore.forEach('foods', function(food){\n  // ...\n});\n```\n\nTwo data items and one custom method are defined in this store.\nAs you might have guessed, the data items are `isFloating` and `foods` and the method is `hasFood`.\nEach data item consists of a definition, which is an object with `type`, `value` and `validate` properties.\n\n  * **type** - Possible values include: `item`, `map`, and `list`. Optional; defaults to `item`. The `type` determines what kinds of operations are available on this store property.\n  * **value** - The initial content of this property in the store. If `type === 'map`, this must be a plain object. If `type === 'list'`, this must be an array. This is optional, with a default value depending on `type`.\n  * **validate** - An optional function that runs against every value set on this store property. For `map` and `list` types, this runs against every item in that map or list. It should throw for bad values. The return value is discarded.\n  * **loadable** - Indicates that this property is associated with a remote data source. Setting this to `true` merely causes some extra properties to be added. For example if the property is called `posts`, then properties called `posts:loading`, `posts:status`, `posts:code`, and `posts:timestamp` will be created too, each with a corresponding `type`. It's up to you whether and how to use these extra properties.\n\n## Immutability and Cloning\n\nJS objects aren't immutable, but treating them as such makes many things easier.\nThus, store objects are read-only.\nThe only way to get data into a store is via the commander > dispatcher flow.\nAlso, stoar rejects resetting a mutable property to itself, *even through the dispatcher*, and provides a `clone()` method that you can use instead of `get()` in order to treat objects as immutable.\n\n```js\nvar store = new Stoar({\n  user: {\n    value: { name: 'jorge' }\n  }\n});\n\nvar user = store.get('user');\nuser.name = 'Jorge';\nstore.set('user', user); // error!\n\nvar user = store.clone('user');\nuser.name = 'Jorge';\nstore.set('user', user); // success\n```\n\nClones are shallow by default. You can optionally deep clone by passing `true`:\n\n```js\nvar deepClone = store.clone('stuff', true);\n```\n\n## API\n\n### Top-level API\n\n * `var disp = Stoar.dispatcher()` - Create a dispatcher.\n\n### Dispatcher API\n\n * `var store = dispatcher.store(defs, actionCallback)` - Create a store. `defs` is an object describing the store's data. `actionCallback` is a callback that receives a signature `(action, payload)` for whenever the dispatcher receives a command, or an object keyed by action names and whose values are functions receiving an `(action, payload)` signature.\n * `var commander = dispatcher.commander(methods)` - Create a commander. `methods` is an object containing any custom method you'd like to have on the created commander.\n * `var notifier = dispatcher.notifier()` - Create a notifier.\n * `dispatcher.waitFor(store)` - Call this synchronously from within a store's action callback. Causes another store to be updated first.\n\n### Store\n\n * `store.absorb(payload)` - Convenience method to apply a `mutate` action directly. Can only be called synchronously from within an action callback. (See commander API below).\n\n### Item accessors\n\n * `store.get(prop)` - Returns the item.\n * `store.getLoadable(prop)` - Returns a composite object representing loadable info: `{value:*,loading:*,timestamp:*,status:*}`\n * `store.clone(prop, [isDeep])` - Returns a clone of the item.\n\n### Item mutators\n\n * `store.set(prop, val)` - Updates the item to the given value.\n * `store.unset(prop)` - Sets the item to undefined.\n * `store.toggle(prop)` - Inverts the value in place using `!`.\n\n### Map accessors\n\n * `store.get(prop, key)` - Returns the value at the given key.\n * `store.getLoadable(prop, key)` - Returns a composite object representing loadable info: `{value:*,loading:*,timestamp:*,status:*}`\n * `store.clone(prop, isDeep)` - Clone the value at the given key.\n * `store.has(prop, key)` - Returns true if the map has the given key as an own property.\n * `store.getAll(prop)` - Returns a copy of the map. Modifying the copy will not change the map.\n * `store.getAllLoadables(prop)` - Returns a keyed map of composite objects (see `getLoadable()`).\n * `store.keys(prop)` - Returns an array of map keys.\n * `store.values(prop)` - Returns an array of map values.\n * `store.forEach(prop, cb, [ctx])` - Iterate the map. `cb` is passed signature `(value, name)`.\n * `store.isIdentical(prop, otherMap)` - Test whether the top-level contents of a different object are identical using `===`.\n\n### Map mutators\n\n * `store.set(prop, key, val)` - Updates the value at the given key.\n * `store.unset(prop, key)` - Deletes the value at the given key.\n * `store.setAll(prop, newMap)` - Merges in the new values.\n * `store.resetAll(prop, newMap)` - Overwrites the map with the new values.\n * `store.setExistingValuesTo(prop, val)` - Sets each existing map value to `val`. Leaves keys unchanged.\n * `store.clear(prop)` - Empties out the map.\n * `store.toggle(prop, key)` - Inverts the value in place using `!`.\n\n### List accessors\n\n * `store.get(prop, idx)` - Returns the value at the given index.\n * `store.getLoadable(prop, idx)` - Returns a composite object representing loadable info: `{value:*,loading:*,timestamp:*,status:*}`\n * `store.clone(prop, idx, isDeep)` - Clone the value at the given index.\n * `store.length(prop)` - Returns the length.\n * `store.getAll(prop)` - Returns a copy of the list. Modifying the copy will not change the list.\n * `store.getAllLoadables(prop)` - Returns a list of composite objects (see `getLoadable()`).\n * `store.isIdentical(prop, otherList)` - Test whether the top-level contents of a different list are identical using `===`.\n\nAll of these are strictly accessors and call directly into the `Array.prototype` method of the same name, but with `prop` shifted off the args.\nIn old browsers you may need to polyfill `Array.prototype` in order for these to work.\n\n * `store.filter(prop, ...)`\n * `store.map(prop, ...)`\n * `store.some(prop, ...)`\n * `store.every(prop, ...)`\n * `store.forEach(prop, ...)`\n * `store.reduce(prop, ...)`\n * `store.reduceRight(prop, ...)`\n * `store.join(prop, sep)`\n * `store.slice(prop, ...)`\n * `store.concat(prop, ...)`\n * `store.indexOf(prop, ...)`\n * `store.lastIndexOf(prop, ...)`\n\n### Lists mutators\n\n * `store.set(prop, idx, val)` - Updates the value at the given index.\n * `store.resetAll(prop, newList)` - Overwrites the list with the new values.\n * `store.populate(prop, val, [len])` - Populate list with `val`. If `len` is given, list length is changed.\n * `store.clear(prop)` - Empties out the list.\n * `store.push(prop, val)` - Appends a value.\n * `store.unshift(prop, val)` - Prepends a value.\n * `store.pop(prop)` - Removes and returns the last value.\n * `store.shift(prop)` - Removes and returns the first value.\n * `store.truncateLength(prop, length)` - Limits length of list to `length`. If `length` is bigger, becomes a no-op.\n * `store.toggle(prop, idx)` - Inverts the value in place using `!`.\n * `store.splice(prop, ...)` - Splice the list in-place. Internally, args are passed directly to `Array.prototype.splice`, with `prop` shifted off the front.\n\n### Commander API\n\n * `commander.send(action, payload)` - Send an action directly to the dispatcher.\n * `commander.myCustomMethod(any, args)` - Call a custom method that you provided when creating the commander.\n * `commander[mutatorMethod](store, ...args`) - Proxy for any store mutator method. Stores can't be mutated outside of their action callbacks. This therefore translates into an action called `mutate` which is passed to the given store. The payload contains the arguments passed to the commander, except with `store` shifted off the list. For convenience, in the action callback, you can do `if (action === 'mutate') { this.absorb(payload) }` in order to apply mutations directly.\n\n### Notifier API\n\n * `notifier.on('change', callback)` - Listen for changes to any of the stores that have been registered with the dispatcher. `callback` is passed a signature `(store, property, change)`, where `change` is an object like `{ oldVal: something, newVal: something }`. If the changed property was a list or map, `change` will also contain `index` or `key`, respectively.\n\n\n\n\n\n\n\n\n\n\n\n\n","maintainers":[{"email":"gregreimer@gmail.com","name":"greim"}],"time":{"modified":"2022-06-27T00:27:51.784Z","created":"2014-08-27T17:15:42.476Z","0.0.0":"2014-08-27T17:15:42.476Z","0.0.1":"2014-08-27T17:16:29.863Z","0.0.2":"2014-08-27T18:06:34.293Z","0.0.3":"2014-08-27T18:31:46.070Z","0.0.4":"2014-08-27T23:42:34.513Z","0.0.5":"2014-08-29T17:27:29.721Z","0.0.6":"2014-08-30T23:02:00.816Z","0.0.7":"2014-08-30T23:33:59.804Z","0.1.0":"2014-09-21T23:02:37.737Z","0.1.1":"2014-09-22T16:36:31.090Z","0.1.2":"2014-09-25T21:07:08.908Z","0.1.3":"2014-09-26T17:46:24.152Z","0.1.4":"2014-09-26T17:53:42.752Z","0.1.5":"2014-09-26T18:10:26.089Z","0.1.6":"2014-09-29T17:54:15.386Z","0.1.7":"2014-09-30T15:27:07.903Z","0.1.8":"2014-09-30T18:35:12.695Z","0.1.9":"2014-09-30T19:06:42.666Z","0.1.10":"2014-09-30T20:27:10.418Z","0.1.11":"2014-10-01T02:51:41.702Z","0.1.12":"2014-10-09T19:56:10.513Z","0.1.13":"2014-10-14T22:39:25.523Z","0.1.14":"2014-10-15T18:40:12.857Z","0.1.15":"2014-10-18T03:53:49.193Z","0.1.16":"2014-12-03T22:21:08.444Z","0.1.17":"2014-12-04T22:53:16.829Z","0.1.18":"2015-04-10T16:49:03.983Z","0.2.0":"2015-05-29T19:43:41.130Z","0.2.1":"2015-06-25T22:09:54.334Z","0.2.2":"2015-08-03T16:55:32.119Z","0.2.3":"2015-11-09T22:09:57.295Z","0.2.4":"2015-11-20T23:00:21.502Z","0.2.5":"2015-12-02T00:25:49.768Z"},"keywords":["flux","data","store","dispatcher"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","readmeFilename":"readme.md","homepage":"https://github.com/greim/stoar#readme","repository":{"type":"git","url":"git+https://github.com/greim/stoar.git"},"bugs":{"url":"https://github.com/greim/stoar/issues"}}