{"_id":"minimal-flux","_rev":"39-19c02ad83b7d86248cd181e7f4209710","name":"minimal-flux","description":"A very lightweight implementation of Flux","dist-tags":{"latest":"0.5.0-alpha"},"versions":{"0.1.0":{"name":"minimal-flux","version":"0.1.0","description":"A very lightweight implementation of Flux","main":"dist/index.js","bugs":{"url":"https://github.com/malte-wessel/minimal-flux/issues"},"repository":{"type":"git","url":"https://github.com/malte-wessel/minimal-flux.git"},"homepage":"https://github.com/malte-wessel/minimal-flux","scripts":{"build":"babel ./src --out-dir ./dist","test":"babel-node ./node_modules/.bin/tape test/*.js"},"author":{"name":"Malte Wessel","email":"delabreak@gmail.com"},"license":"MIT","devDependencies":{"babel":"^4.3.0","tape":"^3.5.0"},"dependencies":{"eventemitter3":"^0.1.6","object-assign":"^2.0.0"},"keywords":["flux","lightweight","react","flow","unidirectional"],"testling":{"files":"test/*.js","browsers":["ie/8..latest","chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6","android-browser/latest"]},"gitHead":"6e103a1a4d41e0fc3bf194a8129d8ed1adeb76a3","_id":"minimal-flux@0.1.0","_shasum":"fed2284dcccff7b767d21f03bfd0a767ade6c123","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"malte-wessel","email":"delabreak@gmail.com"},"maintainers":[{"name":"malte-wessel","email":"delabreak@gmail.com"}],"dist":{"shasum":"fed2284dcccff7b767d21f03bfd0a767ade6c123","tarball":"https://registry.npmjs.org/minimal-flux/-/minimal-flux-0.1.0.tgz","integrity":"sha512-4r4YAAiK7HvZbRiuXW8AlFuZIeQfj+G1ekLz9bYzPlp9sOy36CBhql1VKK3kaAgL9O3NlXPP0oqByUMzTrlTwA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG/oMXjg+cAXRCwB+Epz/c/z2qUT/rf207qg6ibMNqoMAiBkkgIYKWX6q+rMcEqHKfHfMFsa7cKufwFIKxhGzZDFfQ=="}]}},"0.1.1":{"name":"minimal-flux","version":"0.1.1","description":"A very lightweight implementation of Flux","main":"dist/index.js","bugs":{"url":"https://github.com/malte-wessel/minimal-flux/issues"},"repository":{"type":"git","url":"https://github.com/malte-wessel/minimal-flux.git"},"homepage":"https://github.com/malte-wessel/minimal-flux","scripts":{"build":"babel ./src --out-dir ./dist","test":"babel-node ./node_modules/.bin/tape test/*.js","prepublish":"npm test","install":"npm run build"},"author":{"name":"Malte Wessel","email":"delabreak@gmail.com"},"license":"MIT","devDependencies":{"babel":"^4.3.0","tape":"^3.5.0"},"dependencies":{"eventemitter3":"^0.1.6","object-assign":"^2.0.0"},"keywords":["flux","lightweight","react","flow","unidirectional"],"testling":{"files":"test/*.js","browsers":["ie/8..latest","chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6","android-browser/latest"]},"gitHead":"d35223df9aff220f2281a0a03204b2216cb8a44b","_id":"minimal-flux@0.1.1","_shasum":"ad073dd9d5884e09071c12716a182059178f2f1c","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"malte-wessel","email":"delabreak@gmail.com"},"maintainers":[{"name":"malte-wessel","email":"delabreak@gmail.com"}],"dist":{"shasum":"ad073dd9d5884e09071c12716a182059178f2f1c","tarball":"https://registry.npmjs.org/minimal-flux/-/minimal-flux-0.1.1.tgz","integrity":"sha512-PtQ4cqt82S3XIPIi8UwDTfvsvl9VE7eDcVctmKgIIy2c3dP+HARrH4n31qLr5SvIzgDaC/q6PKfGhAiKKpXZPg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHP2JB3Q4vY+IOjxRJp13uE3VaOXV6OB9LlKuxhvmY4WAiBWjLzWAs5B0ZWR8as8hOFY/q2xmy4R2v1z5apkX8Vpeg=="}]}},"0.1.2":{"name":"minimal-flux","version":"0.1.2","description":"A very lightweight implementation of Flux","main":"dist/index.js","bugs":{"url":"https://github.com/malte-wessel/minimal-flux/issues"},"repository":{"type":"git","url":"https://github.com/malte-wessel/minimal-flux.git"},"homepage":"https://github.com/malte-wessel/minimal-flux","scripts":{"build":"babel ./src --out-dir ./dist","test":"babel-node ./node_modules/.bin/tape test/*.js","prepublish":"npm test"},"author":{"name":"Malte Wessel","email":"delabreak@gmail.com"},"license":"MIT","devDependencies":{"babel":"^4.3.0","tape":"^3.5.0"},"dependencies":{"eventemitter3":"^0.1.6","object-assign":"^2.0.0"},"keywords":["flux","lightweight","react","flow","unidirectional"],"testling":{"files":"test/*.js","browsers":["ie/8..latest","chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6","android-browser/latest"]},"gitHead":"1114bc1ba5a82c3fb6e669be3ab8508b4f6c0f0b","_id":"minimal-flux@0.1.2","_shasum":"63c1bd4dd00582a66ad4e40ab9e77808cf46c3b0","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"malte-wessel","email":"delabreak@gmail.com"},"maintainers":[{"name":"malte-wessel","email":"delabreak@gmail.com"}],"dist":{"shasum":"63c1bd4dd00582a66ad4e40ab9e77808cf46c3b0","tarball":"https://registry.npmjs.org/minimal-flux/-/minimal-flux-0.1.2.tgz","integrity":"sha512-mmNIG8z83NgJFeXywsf9IpN0NX3OACT9BL70lUf0bWZwsAz7a7JXJOWwaiH8aJQosCHhXazUaA8CGmVuWcWx3w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE1j6G3xMpz1iOmhNfN2yzIqo3ZEdMjU1bEmG8ehBJ0xAiBlupVMcKgggn+m3X41DDhHbTSeQ8jbYR3BfLqNb0LEbg=="}]}},"0.1.3":{"name":"minimal-flux","version":"0.1.3","description":"A very lightweight implementation of Flux","main":"dist/index.js","bugs":{"url":"https://github.com/malte-wessel/minimal-flux/issues"},"repository":{"type":"git","url":"https://github.com/malte-wessel/minimal-flux.git"},"homepage":"https://github.com/malte-wessel/minimal-flux","scripts":{"build":"babel ./src --out-dir ./dist","test":"babel-node ./node_modules/.bin/tape test/*.js","prepublish":"npm test"},"author":{"name":"Malte Wessel","email":"delabreak@gmail.com"},"license":"MIT","devDependencies":{"babel":"^4.3.0","tape":"^3.5.0"},"dependencies":{"eventemitter3":"^0.1.6","object-assign":"^2.0.0"},"keywords":["flux","lightweight","react","flow","unidirectional"],"testling":{"files":"test/*.js","browsers":["ie/8..latest","chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6","android-browser/latest"]},"gitHead":"dbc6106214bd3e4116c1ebd03f8e6ecb27007d2f","_id":"minimal-flux@0.1.3","_shasum":"1eeb38bc7fec979efa7f9ac823c1ccb32ea0b8e1","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"malte-wessel","email":"delabreak@gmail.com"},"maintainers":[{"name":"malte-wessel","email":"delabreak@gmail.com"}],"dist":{"shasum":"1eeb38bc7fec979efa7f9ac823c1ccb32ea0b8e1","tarball":"https://registry.npmjs.org/minimal-flux/-/minimal-flux-0.1.3.tgz","integrity":"sha512-m1gozxDSYmQx9CM01KYsYkx1GHUiTYCxnOjJq7ewcc+s+xuIcs4PMJl35Hwue5MRyCSQRrcm/SfQxRwpleSrHw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD0zWVKEyYe5SAAxcNYYVhcckEElT6tsbjlDGA1/i/MLQIgX8O1Dg52ZndQ/okY4CvGVfaNexCkMpPnpB+1djJn2m8="}]}},"0.1.4":{"name":"minimal-flux","version":"0.1.4","description":"A very lightweight implementation of Flux","main":"dist/index.js","bugs":{"url":"https://github.com/malte-wessel/minimal-flux/issues"},"repository":{"type":"git","url":"https://github.com/malte-wessel/minimal-flux.git"},"homepage":"https://github.com/malte-wessel/minimal-flux","scripts":{"build":"babel ./src --out-dir ./dist","test":"babel-node ./node_modules/.bin/tape test/*.js","prepublish":"npm test"},"author":{"name":"Malte Wessel","email":"delabreak@gmail.com"},"license":"MIT","devDependencies":{"babel":"^4.3.0","tape":"^3.5.0"},"dependencies":{"eventemitter3":"^0.1.6","object-assign":"^2.0.0"},"keywords":["flux","lightweight","react","flow","unidirectional"],"testling":{"files":"test/*.js","browsers":["ie/8..latest","chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6","android-browser/latest"]},"gitHead":"de87af8f8f809f25998a490069562e27f3854df3","_id":"minimal-flux@0.1.4","_shasum":"ce01c291966dc00c760744304fba581ac25386c9","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"malte-wessel","email":"delabreak@gmail.com"},"maintainers":[{"name":"malte-wessel","email":"delabreak@gmail.com"}],"dist":{"shasum":"ce01c291966dc00c760744304fba581ac25386c9","tarball":"https://registry.npmjs.org/minimal-flux/-/minimal-flux-0.1.4.tgz","integrity":"sha512-2NgxdYQfWuGZSp279UMxvauoTby7FcV3z0oro5kKkh4OlIdJxMy6eXGVu2qNGqse5NGlvL/niabFGkKJaJYqfQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBTjGdwRWace7yBzyCgl2Pr1MHie4rZ8+yRsi8ruFqINAiEA0TWMf7caJfCA+ie1jtCcCb4xCUTEMxQOakUrhjh5DmQ="}]}},"0.1.5":{"name":"minimal-flux","version":"0.1.5","description":"A very lightweight implementation of Flux","main":"dist/index.js","bugs":{"url":"https://github.com/malte-wessel/minimal-flux/issues"},"repository":{"type":"git","url":"https://github.com/malte-wessel/minimal-flux.git"},"homepage":"https://github.com/malte-wessel/minimal-flux","scripts":{"build":"babel ./src --out-dir ./dist","test":"babel-node ./node_modules/.bin/tape test/*.js","prepublish":"npm test"},"author":{"name":"Malte Wessel","email":"delabreak@gmail.com"},"license":"MIT","devDependencies":{"babel":"^4.3.0","tape":"^3.5.0"},"dependencies":{"eventemitter3":"^0.1.6","object-assign":"^2.0.0"},"keywords":["flux","lightweight","react","flow","unidirectional"],"testling":{"files":"test/*.js","browsers":["ie/8..latest","chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6","android-browser/latest"]},"gitHead":"eb990d32e3ecf276a474e0898b0c6453d8eabcd1","_id":"minimal-flux@0.1.5","_shasum":"3144e9223e5d384ecf7ed87f68dbc68682343d61","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"malte-wessel","email":"delabreak@gmail.com"},"maintainers":[{"name":"malte-wessel","email":"delabreak@gmail.com"}],"dist":{"shasum":"3144e9223e5d384ecf7ed87f68dbc68682343d61","tarball":"https://registry.npmjs.org/minimal-flux/-/minimal-flux-0.1.5.tgz","integrity":"sha512-z22cOE9bBlxz/0FhT3ZARh+3uAyunzBDHWjz+QuJyP9HUDAOKKnlHzSZICT0nCBSzLoOEgK28QMY37GYN0/GTQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDxL7I4q0kZMETEpEFAXWT6v83pxPH6/hIQQkzz03aPUQIgUEftFRmcDFsB1kZfUsMatsJRkkaj3wez5cK696bJj/8="}]}},"0.1.6":{"name":"minimal-flux","version":"0.1.6","description":"A very lightweight implementation of Flux","main":"dist/index.js","bugs":{"url":"https://github.com/malte-wessel/minimal-flux/issues"},"repository":{"type":"git","url":"https://github.com/malte-wessel/minimal-flux.git"},"homepage":"https://github.com/malte-wessel/minimal-flux","scripts":{"build":"babel ./src --out-dir ./dist","test":"babel-node ./node_modules/.bin/tape test/*.js","prepublish":"npm test"},"author":{"name":"Malte Wessel","email":"delabreak@gmail.com"},"license":"MIT","devDependencies":{"babel":"^4.3.0","tape":"^3.5.0"},"dependencies":{"eventemitter3":"^0.1.6","object-assign":"^2.0.0"},"keywords":["flux","lightweight","react","flow","unidirectional"],"testling":{"files":"test/*.js","browsers":["ie/8..latest","chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6","android-browser/latest"]},"gitHead":"25c6282e5204057ad3ce9263d6b0f2fc9430e483","_id":"minimal-flux@0.1.6","_shasum":"5a81bb4e286b2058edda6810bfe17d7ba51104cc","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"malte-wessel","email":"delabreak@gmail.com"},"maintainers":[{"name":"malte-wessel","email":"delabreak@gmail.com"}],"dist":{"shasum":"5a81bb4e286b2058edda6810bfe17d7ba51104cc","tarball":"https://registry.npmjs.org/minimal-flux/-/minimal-flux-0.1.6.tgz","integrity":"sha512-j17KWaMIiVB4+miuzKsXAHW+qURbdhqQDCr9nX5DKP6pYm8r/pap0uhMj8vHhUzWIL3XprS6IwSVwHKBqPMNbA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC0L7V+DSNqhswvXaOmmuqqaoADdD130QiKXTmgqV6sPAiA+DbFdoLJKHfNeHx5rbpB+Pcd5eyEJPENqm6Q/pzT6Pw=="}]}},"0.2.0":{"name":"minimal-flux","version":"0.2.0","description":"A very lightweight implementation of Flux","main":"dist/index.js","bugs":{"url":"https://github.com/malte-wessel/minimal-flux/issues"},"repository":{"type":"git","url":"https://github.com/malte-wessel/minimal-flux.git"},"homepage":"https://github.com/malte-wessel/minimal-flux","scripts":{"build":"babel ./src --out-dir ./dist","test":"babel-node ./node_modules/.bin/tape test/*.js","prepublish":"npm test"},"author":{"name":"Malte Wessel","email":"delabreak@gmail.com"},"license":"MIT","devDependencies":{"babel":"^4.3.0","tape":"^3.5.0"},"dependencies":{"eventemitter3":"^0.1.6","object-assign":"^2.0.0"},"keywords":["flux","lightweight","react","flow","unidirectional"],"testling":{"files":"test/*.js","browsers":["ie/8..latest","chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6","android-browser/latest"]},"gitHead":"64d76fad82bc40355232dffb8301b753022397b2","_id":"minimal-flux@0.2.0","_shasum":"c35eb1947f5b82c6806a9e5e3150e41802d79370","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"malte-wessel","email":"delabreak@gmail.com"},"maintainers":[{"name":"malte-wessel","email":"delabreak@gmail.com"}],"dist":{"shasum":"c35eb1947f5b82c6806a9e5e3150e41802d79370","tarball":"https://registry.npmjs.org/minimal-flux/-/minimal-flux-0.2.0.tgz","integrity":"sha512-XEV408awscRTXKOJoyyfGtL4s8VOaWz2cFH5lvoEZ/PZvWD/5zWJl9pv88h8udcNJKo/PnEdHfozjNd8SCmsHA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCmYu9vJJLA64aH8un0yOE6Kz8do/RY+XGP0B/UmMFv8wIhALvgDC6bPVbXrGD2nLluFZNv/aRKG5cMa/i8dkMaKOg4"}]}},"0.2.1":{"name":"minimal-flux","version":"0.2.1","description":"A very lightweight implementation of Flux","main":"dist/index.js","bugs":{"url":"https://github.com/malte-wessel/minimal-flux/issues"},"repository":{"type":"git","url":"https://github.com/malte-wessel/minimal-flux.git"},"homepage":"https://github.com/malte-wessel/minimal-flux","scripts":{"build":"babel ./src --out-dir ./dist","test":"babel-node ./node_modules/.bin/tape test/*.js","prepublish":"npm test"},"author":{"name":"Malte Wessel","email":"delabreak@gmail.com"},"license":"MIT","devDependencies":{"babel":"^4.3.0","tape":"^3.5.0"},"dependencies":{"eventemitter3":"^0.1.6","object-assign":"^2.0.0"},"keywords":["flux","lightweight","react","flow","unidirectional"],"testling":{"files":"test/*.js","browsers":["ie/8..latest","chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6","android-browser/latest"]},"gitHead":"6a0b765beaf76ae7a6703ecb9a24b62d7b2f95e1","_id":"minimal-flux@0.2.1","_shasum":"d9b25b18fca11e9bf2206158623973595cd103c2","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"malte-wessel","email":"delabreak@gmail.com"},"maintainers":[{"name":"malte-wessel","email":"delabreak@gmail.com"}],"dist":{"shasum":"d9b25b18fca11e9bf2206158623973595cd103c2","tarball":"https://registry.npmjs.org/minimal-flux/-/minimal-flux-0.2.1.tgz","integrity":"sha512-hUYZIRQ+uL/wwG5rVh2LpL5LEZ9wOc90FTy+Axajul+m91rDrHIYhcCtHBBOSPFkL05O38f0cQXEjoKApZmMfQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC/WutbYz6Ga7K0EZTSPx21JUU5t4jsoIsGQF6knVS+VQIgbSW5/5Lh8N215Kq7Qn03IFCiyQDXAe6z1qZfdTFvg84="}]}},"0.3.0":{"name":"minimal-flux","version":"0.3.0","description":"A very lightweight implementation of Flux","main":"dist/index.js","bugs":{"url":"https://github.com/malte-wessel/minimal-flux/issues"},"repository":{"type":"git","url":"https://github.com/malte-wessel/minimal-flux.git"},"homepage":"https://github.com/malte-wessel/minimal-flux","scripts":{"build":"babel ./src --out-dir ./dist","test":"babel-node ./node_modules/.bin/tape test/*.js","prepublish":"npm test && npm run build"},"author":{"name":"Malte Wessel","email":"delabreak@gmail.com"},"license":"MIT","devDependencies":{"babel":"^4.3.0","tape":"^3.5.0"},"dependencies":{"eventemitter3":"^0.1.6","getallpropertynames":"^0.1.1","object-assign":"^2.0.0","toposort":"^0.2.10"},"keywords":["flux","lightweight","react","flow","unidirectional"],"testling":{"files":"test/*.js","browsers":["ie/8..latest","chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6","android-browser/latest"]},"gitHead":"2991840c62243e273e74902ca348f7960c6c4e51","_id":"minimal-flux@0.3.0","_shasum":"0cd6c6a9f44150d3b7cdea6c6d0e965edb8a70ef","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"malte-wessel","email":"delabreak@gmail.com"},"maintainers":[{"name":"malte-wessel","email":"delabreak@gmail.com"}],"dist":{"shasum":"0cd6c6a9f44150d3b7cdea6c6d0e965edb8a70ef","tarball":"https://registry.npmjs.org/minimal-flux/-/minimal-flux-0.3.0.tgz","integrity":"sha512-2luBpzWTnWrZVQWbZ/NSIJadOq9cAUTPaxmoPPLI4ImDdym9EpNQs1le6BzcWf6lilr4oW/OxVJmQtOecA+OnA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGs5mlGMfx5eoXpaNr1msJrpFmtRfwYoLAkZPbDnUWs9AiEArUSKJKXwevJW27FaM2PrJjuu6rQV+C6ZyeeVrtRzV14="}]}},"0.4.0":{"name":"minimal-flux","version":"0.4.0","description":"A very lightweight implementation of Flux","main":"dist/index.js","bugs":{"url":"https://github.com/malte-wessel/minimal-flux/issues"},"repository":{"type":"git","url":"https://github.com/malte-wessel/minimal-flux.git"},"homepage":"https://github.com/malte-wessel/minimal-flux","scripts":{"build":"babel ./src --out-dir ./dist","test":"babel-node ./node_modules/.bin/tape test/*.js","prepublish":"npm test && npm run build"},"author":{"name":"Malte Wessel","email":"delabreak@gmail.com"},"license":"MIT","devDependencies":{"babel":"^4.7.8","tape":"^3.5.0"},"dependencies":{"eventemitter3":"^0.1.6","getallpropertynames":"^0.1.1","object-assign":"^2.0.0","toposort":"^0.2.10"},"keywords":["flux","lightweight","react","flow","unidirectional"],"testling":{"files":"test/*.js","browsers":["ie/8..latest","chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6","android-browser/latest"]},"gitHead":"65a8206c2c1255c47d333b3803b254c96f7b0895","_id":"minimal-flux@0.4.0","_shasum":"148d8118a7a02ef050605d87609299d46d662baf","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"malte-wessel","email":"delabreak@gmail.com"},"maintainers":[{"name":"malte-wessel","email":"delabreak@gmail.com"}],"dist":{"shasum":"148d8118a7a02ef050605d87609299d46d662baf","tarball":"https://registry.npmjs.org/minimal-flux/-/minimal-flux-0.4.0.tgz","integrity":"sha512-jUAH6GJvVZn8kioBSXSUhuaeRaWpQLgqxpQqvUzTUL9FwmOnIU4Dh+vygDhGLaekf7mJ0LhqNXBlKpuMEqpbTQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFKQ3qXKOn1H/9CE965IWQ5+DyMmFcW4tW1aCI9jq8M/AiBcxnAohQp0p5meAQcrt2zEWmS05PsZA2qaoZkN2m/noA=="}]}},"0.4.1":{"name":"minimal-flux","version":"0.4.1","description":"A very lightweight implementation of Flux","main":"dist/index.js","bugs":{"url":"https://github.com/malte-wessel/minimal-flux/issues"},"repository":{"type":"git","url":"https://github.com/malte-wessel/minimal-flux.git"},"homepage":"https://github.com/malte-wessel/minimal-flux","scripts":{"build":"babel ./src --out-dir ./dist","test":"babel-node ./node_modules/.bin/tape test/*.js","prepublish":"npm test && npm run build"},"author":{"name":"Malte Wessel","email":"delabreak@gmail.com"},"license":"MIT","devDependencies":{"babel":"^4.7.8","tape":"^3.5.0"},"dependencies":{"eventemitter3":"^0.1.6","getallpropertynames":"^0.1.1","object-assign":"^2.0.0","toposort":"^0.2.10"},"keywords":["flux","lightweight","react","flow","unidirectional"],"testling":{"files":"test/*.js","browsers":["ie/8..latest","chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6","android-browser/latest"]},"gitHead":"5c5c9f1da583d68643638051a8ab31901e37d768","_id":"minimal-flux@0.4.1","_shasum":"5e046d2609ff416a901aecfc6b25cc451383394e","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"malte-wessel","email":"delabreak@gmail.com"},"maintainers":[{"name":"malte-wessel","email":"delabreak@gmail.com"}],"dist":{"shasum":"5e046d2609ff416a901aecfc6b25cc451383394e","tarball":"https://registry.npmjs.org/minimal-flux/-/minimal-flux-0.4.1.tgz","integrity":"sha512-eMBq0iV6tFZDXZ7N1h3HcsRsbbw1x8Es3iBG8IXBGAGJT7FYwePjJtDRyNBYczKV7URtQKj5PLsme7J4h5EQGQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFKwyWD3/rQg5IVQprJKFmEHaVVRSD3hrjLdIVM4gBdtAiEA7vNnu90A2IDVIQrYuP+VUh00uhsFNcJYIbetZTsIujg="}]}},"0.4.2":{"name":"minimal-flux","version":"0.4.2","description":"A very lightweight implementation of Flux","main":"dist/index.js","bugs":{"url":"https://github.com/malte-wessel/minimal-flux/issues"},"repository":{"type":"git","url":"https://github.com/malte-wessel/minimal-flux.git"},"homepage":"https://github.com/malte-wessel/minimal-flux","scripts":{"build":"babel ./src --out-dir ./dist","test":"babel-node ./node_modules/.bin/tape test/*.js","prepublish":"npm test && npm run build"},"author":{"name":"Malte Wessel","email":"delabreak@gmail.com"},"license":"MIT","devDependencies":{"babel":"^4.7.8","tape":"^3.5.0"},"dependencies":{"eventemitter3":"^0.1.6","getallpropertynames":"^0.1.1","object-assign":"^2.0.0","toposort":"^0.2.10"},"keywords":["flux","lightweight","react","flow","unidirectional"],"testling":{"files":"test/*.js","browsers":["ie/8..latest","chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6","android-browser/latest"]},"gitHead":"bbe29b9efc3b32bfec48feb5875581bcb354000b","_id":"minimal-flux@0.4.2","_shasum":"1253a7f852010e08b56b23513e860b8219740bbf","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"malte-wessel","email":"delabreak@gmail.com"},"maintainers":[{"name":"malte-wessel","email":"delabreak@gmail.com"}],"dist":{"shasum":"1253a7f852010e08b56b23513e860b8219740bbf","tarball":"https://registry.npmjs.org/minimal-flux/-/minimal-flux-0.4.2.tgz","integrity":"sha512-9QiH1ySNhcAMXzHh/4Uujb127uREcKS+KgEX/J64zxwb7RN2/0Dc4F97tajqiuRgejPbpv7tYR2MDBuSITlhqA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDbSWu9dYx9N7+CdeTCyHVTDZfhehoIb59MKtZ/iDp5xQIhAJYaH/wXYY/sKR3Jg47pHLQ0n2GRolVxVDDKiG/q1PsM"}]}},"0.4.3":{"name":"minimal-flux","version":"0.4.3","description":"A very lightweight implementation of Flux","main":"dist/index.js","bugs":{"url":"https://github.com/malte-wessel/minimal-flux/issues"},"repository":{"type":"git","url":"https://github.com/malte-wessel/minimal-flux.git"},"homepage":"https://github.com/malte-wessel/minimal-flux","scripts":{"build":"babel ./src --out-dir ./dist","test":"babel-node ./node_modules/.bin/tape test/*.js","prepublish":"npm test && npm run build"},"author":{"name":"Malte Wessel","email":"delabreak@gmail.com"},"license":"MIT","devDependencies":{"babel":"^4.7.8","tape":"^3.5.0"},"dependencies":{"eventemitter3":"^0.1.6","getallpropertynames":"^0.1.1","object-assign":"^2.0.0","toposort":"^0.2.10"},"keywords":["flux","lightweight","react","flow","unidirectional"],"testling":{"files":"test/*.js","browsers":["ie/8..latest","chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6","android-browser/latest"]},"gitHead":"bc933e9c5b6a5aac5f3eb5420de109b2b063b4e8","_id":"minimal-flux@0.4.3","_shasum":"4a6f5370e1c714cb442353b4cd5b6f33c983d483","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"malte-wessel","email":"delabreak@gmail.com"},"maintainers":[{"name":"malte-wessel","email":"delabreak@gmail.com"}],"dist":{"shasum":"4a6f5370e1c714cb442353b4cd5b6f33c983d483","tarball":"https://registry.npmjs.org/minimal-flux/-/minimal-flux-0.4.3.tgz","integrity":"sha512-LXs9lGcpyT7f/s+LbfxwPhgyqKe6+/MFjmK8ImnItppDcsUJaEIX1wEjNXBYuE+TxEaOKNFpTyM6NMMfSrbDAQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDw02XjskKcqpxjmHjXYyYoJbqX2J5iPwg3PNpIgcWj1AiAtY7BDrrKr3v0iXrAg9zyiwPgmXnomn/BX3v4/w0nSiw=="}]}},"0.4.4":{"name":"minimal-flux","version":"0.4.4","description":"A very lightweight implementation of Flux","main":"dist/index.js","bugs":{"url":"https://github.com/malte-wessel/minimal-flux/issues"},"repository":{"type":"git","url":"https://github.com/malte-wessel/minimal-flux.git"},"homepage":"https://github.com/malte-wessel/minimal-flux","scripts":{"build":"babel ./src --out-dir ./dist","test":"babel-node ./node_modules/.bin/tape test/*.js","prepublish":"npm test && npm run build"},"author":{"name":"Malte Wessel","email":"delabreak@gmail.com"},"license":"MIT","devDependencies":{"babel":"^4.7.8","tape":"^3.5.0"},"dependencies":{"eventemitter3":"^0.1.6","getallpropertynames":"^0.1.1","object-assign":"^2.0.0","toposort":"^0.2.10"},"keywords":["flux","lightweight","react","flow","unidirectional"],"testling":{"files":"test/*.js","browsers":["ie/8..latest","chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6","android-browser/latest"]},"gitHead":"e380dc5ce9394d062adf402b359ff1d4c6b3ecad","_id":"minimal-flux@0.4.4","_shasum":"5911fba174aab60ba4c9913cb0b48084a5c47365","_from":".","_npmVersion":"2.7.5","_nodeVersion":"0.12.0","_npmUser":{"name":"malte-wessel","email":"delabreak@gmail.com"},"maintainers":[{"name":"malte-wessel","email":"delabreak@gmail.com"}],"dist":{"shasum":"5911fba174aab60ba4c9913cb0b48084a5c47365","tarball":"https://registry.npmjs.org/minimal-flux/-/minimal-flux-0.4.4.tgz","integrity":"sha512-8s+TgubRJGwV8BVJ2tLIWoiE5aiw5X2X6BcwvsZamTw8ytz6g0lJJ7dVfM00ESKdrBJfZDX7wPlmB9qqhF/mXQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD7NbD7ujESumDK+C2v+bkP0WMSC8YW4n4mGdZxqP8OuAIhALfXWJhP9SF6/vVBPIxNU41QVh4yaFmp3ueHiAdPhta0"}]}},"0.4.5":{"name":"minimal-flux","version":"0.4.5","description":"A very lightweight implementation of Flux","main":"dist/index.js","bugs":{"url":"https://github.com/malte-wessel/minimal-flux/issues"},"repository":{"type":"git","url":"https://github.com/malte-wessel/minimal-flux.git"},"homepage":"https://github.com/malte-wessel/minimal-flux","scripts":{"build":"babel ./src --out-dir ./dist","test":"babel-node ./node_modules/.bin/tape test/*.js","prepublish":"npm test && npm run build"},"author":{"name":"Malte Wessel","email":"delabreak@gmail.com"},"license":"MIT","devDependencies":{"babel":"^4.7.8","tape":"^3.5.0"},"dependencies":{"eventemitter3":"^0.1.6","getallpropertynames":"^0.1.1","object-assign":"^2.0.0","toposort":"^0.2.10"},"keywords":["flux","lightweight","react","flow","unidirectional"],"testling":{"files":"test/*.js","browsers":["ie/8..latest","chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6","android-browser/latest"]},"gitHead":"97a6f19f53a82d09f0b90eb936dfdb6ef0a72fb9","_id":"minimal-flux@0.4.5","_shasum":"69826d108534c0161773d70d3bdeb4cbf05dd3b7","_from":".","_npmVersion":"2.7.5","_nodeVersion":"0.12.0","_npmUser":{"name":"malte-wessel","email":"delabreak@gmail.com"},"maintainers":[{"name":"malte-wessel","email":"delabreak@gmail.com"}],"dist":{"shasum":"69826d108534c0161773d70d3bdeb4cbf05dd3b7","tarball":"https://registry.npmjs.org/minimal-flux/-/minimal-flux-0.4.5.tgz","integrity":"sha512-e2vaBs0cU4B95//AvGufmmfI1fxmcOqmFgMi2AVMFg2cSMu8aKs67FuJ2JQkMFeE6LUh4DKvoGnT+l7Sz7nN0A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEKvWukahvQ8KNeUAxkkiEr2lECXnmCm4dF5DlO6B6yYAiEAtoN7HN/8X/usAMrQ40/0K6aD/SSp3sz5V2uk7CcDj/0="}]}},"0.4.6":{"name":"minimal-flux","version":"0.4.6","description":"A very lightweight implementation of Flux","main":"dist/index.js","bugs":{"url":"https://github.com/malte-wessel/minimal-flux/issues"},"repository":{"type":"git","url":"https://github.com/malte-wessel/minimal-flux.git"},"homepage":"https://github.com/malte-wessel/minimal-flux","scripts":{"build":"babel ./src --out-dir ./dist","test":"babel-node ./node_modules/.bin/tape test/*.js","prepublish":"npm test && npm run build"},"author":{"name":"Malte Wessel","email":"delabreak@gmail.com"},"license":"MIT","devDependencies":{"babel":"^4.7.8","tape":"^3.5.0"},"dependencies":{"eventemitter3":"^0.1.6","getallpropertynames":"^0.1.1","object-assign":"^2.0.0","toposort":"^0.2.10"},"keywords":["flux","lightweight","react","flow","unidirectional"],"testling":{"files":"test/*.js","browsers":["ie/8..latest","chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6","android-browser/latest"]},"gitHead":"4b300e6e0cfefdd21f7a1b46a97c890f028f6695","_id":"minimal-flux@0.4.6","_shasum":"b88b8c14ed6c30df8b84a62b9ec4ca8610c473d3","_from":".","_npmVersion":"2.7.5","_nodeVersion":"0.12.0","_npmUser":{"name":"malte-wessel","email":"delabreak@gmail.com"},"maintainers":[{"name":"malte-wessel","email":"delabreak@gmail.com"}],"dist":{"shasum":"b88b8c14ed6c30df8b84a62b9ec4ca8610c473d3","tarball":"https://registry.npmjs.org/minimal-flux/-/minimal-flux-0.4.6.tgz","integrity":"sha512-H56V/+wsiXQgGPgPeVaRxcxycytUsyDDJdl8o4NrO9t02B5vNK8TqMtAz/iuFbU8dJP8hSRDFEPeDtol0Q3mCA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFNRZxIYtmINXCe6t2OFf+0gScTRc44rBETr1tC1N630AiAj+j7QEAZ7TGiUpNiIQza2DOr0VJQ+546o2G+/9lQPew=="}]}},"0.4.7":{"name":"minimal-flux","version":"0.4.7","description":"A very lightweight implementation of Flux","main":"dist/index.js","bugs":{"url":"https://github.com/malte-wessel/minimal-flux/issues"},"repository":{"type":"git","url":"https://github.com/malte-wessel/minimal-flux.git"},"homepage":"https://github.com/malte-wessel/minimal-flux","scripts":{"build":"babel ./src --out-dir ./dist","test":"babel-node ./node_modules/.bin/tape test/*.js","prepublish":"npm test && npm run build"},"author":{"name":"Malte Wessel","email":"delabreak@gmail.com"},"license":"MIT","devDependencies":{"babel":"^4.7.8","tape":"^3.5.0"},"dependencies":{"eventemitter3":"^0.1.6","getallpropertynames":"^0.1.1","object-assign":"^2.0.0","toposort":"^0.2.10"},"keywords":["flux","lightweight","react","flow","unidirectional"],"testling":{"files":"test/*.js","browsers":["ie/8..latest","chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6","android-browser/latest"]},"gitHead":"920d2dee16973aa7308b581df506054014d9ef05","_id":"minimal-flux@0.4.7","_shasum":"830ac78f182376602e69c29edb428e2d80ba94b7","_from":".","_npmVersion":"2.7.5","_nodeVersion":"0.12.0","_npmUser":{"name":"malte-wessel","email":"delabreak@gmail.com"},"maintainers":[{"name":"malte-wessel","email":"delabreak@gmail.com"}],"dist":{"shasum":"830ac78f182376602e69c29edb428e2d80ba94b7","tarball":"https://registry.npmjs.org/minimal-flux/-/minimal-flux-0.4.7.tgz","integrity":"sha512-bLT6cWjZHxllSbG29X3Fz4SVcGKmRTKtV0VcOSJtT/xYVBLuo4mn61q6ydHK/NwqfGMwGao/FcmSk0hAT6s0Dg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDJruMOlXStXjkNAXHXkgVdseV6oUJqN3BgqAnVDczoJQIgJ01TvZ3CHarWkNv/FpBt4MA0Ho5l4pt2pAa7Bx88pdQ="}]}},"0.4.8":{"name":"minimal-flux","version":"0.4.8","description":"A very lightweight implementation of Flux","main":"dist/index.js","bugs":{"url":"https://github.com/malte-wessel/minimal-flux/issues"},"repository":{"type":"git","url":"https://github.com/malte-wessel/minimal-flux.git"},"homepage":"https://github.com/malte-wessel/minimal-flux","scripts":{"build":"babel ./src --out-dir ./dist","test":"babel-node ./node_modules/.bin/tape test/*.js","prepublish":"npm test && npm run build"},"author":{"name":"Malte Wessel","email":"delabreak@gmail.com"},"license":"MIT","devDependencies":{"babel":"^5.1.13","tape":"^3.5.0"},"dependencies":{"eventemitter3":"^1.0.1","getallpropertynames":"^0.1.3","object-assign":"^2.0.0","toposort":"^0.2.10"},"keywords":["flux","lightweight","react","flow","unidirectional"],"testling":{"files":"test/*.js","browsers":["ie/8..latest","chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6","android-browser/latest"]},"gitHead":"ee3789518857eb840c7c98285348d38273d8c97b","_id":"minimal-flux@0.4.8","_shasum":"81ecf4bc0ccdde934c900b1807594b4dfc3b746b","_from":".","_npmVersion":"2.7.5","_nodeVersion":"0.12.0","_npmUser":{"name":"malte-wessel","email":"delabreak@gmail.com"},"maintainers":[{"name":"malte-wessel","email":"delabreak@gmail.com"}],"dist":{"shasum":"81ecf4bc0ccdde934c900b1807594b4dfc3b746b","tarball":"https://registry.npmjs.org/minimal-flux/-/minimal-flux-0.4.8.tgz","integrity":"sha512-ZVPvEpOgnHkQ7xS+TzBLQPHqwcMZ6KaPOltQSQI01MWSqZSImozydVEX3tXZI9S9B5uRr4w9kZG1njjtH/b6aQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDUsrNI2YQkgY9WFjxBR74M0opbfy00Og1nmyr7gGQvWgIgCV34CDq4CUql1YMXJbQtdDYQWtrvqO8lrEiMlRYB0BU="}]}},"0.4.9":{"name":"minimal-flux","version":"0.4.9","description":"A very lightweight implementation of Flux","main":"dist/index.js","bugs":{"url":"https://github.com/malte-wessel/minimal-flux/issues"},"repository":{"type":"git","url":"https://github.com/malte-wessel/minimal-flux.git"},"homepage":"https://github.com/malte-wessel/minimal-flux","scripts":{"build":"babel ./src --out-dir ./dist","test":"babel-node ./node_modules/.bin/tape test/*.js","prepublish":"npm test && npm run build"},"author":{"name":"Malte Wessel","email":"delabreak@gmail.com"},"license":"MIT","devDependencies":{"babel":"^5.1.13","tape":"^3.5.0"},"dependencies":{"eventemitter3":"^1.0.1","getallpropertynames":"^0.1.3","object-assign":"^2.0.0","toposort":"^0.2.10"},"keywords":["flux","lightweight","react","flow","unidirectional"],"testling":{"files":"test/*.js","browsers":["ie/8..latest","chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6","android-browser/latest"]},"gitHead":"cd6daa3273de209e0631bd2a215dc3157fbec292","_id":"minimal-flux@0.4.9","_shasum":"71a73e0b2e0a5d2578127063fec4ba3a6830b749","_from":".","_npmVersion":"2.7.5","_nodeVersion":"0.12.0","_npmUser":{"name":"malte-wessel","email":"delabreak@gmail.com"},"maintainers":[{"name":"malte-wessel","email":"delabreak@gmail.com"}],"dist":{"shasum":"71a73e0b2e0a5d2578127063fec4ba3a6830b749","tarball":"https://registry.npmjs.org/minimal-flux/-/minimal-flux-0.4.9.tgz","integrity":"sha512-8fL4b2OyDXEfvWv/vEi/Pz1K+xSdcmRj9ZaT3vdU77XUQzT2w+jchJUh/fCnhTIMd8t73xrcOgXyDpc/UgKBoQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDdRxTxU6oGHjksyEBKj+3CL6umy6yGGaFNmJDL5c8zIAiEA0YmyV+K9OSMtbyKZZXqxzEuKOWipuqPnb5r9IOyxtQE="}]}},"0.4.10":{"name":"minimal-flux","version":"0.4.10","description":"A very lightweight implementation of Flux","main":"dist/index.js","bugs":{"url":"https://github.com/malte-wessel/minimal-flux/issues"},"repository":{"type":"git","url":"https://github.com/malte-wessel/minimal-flux.git"},"homepage":"https://github.com/malte-wessel/minimal-flux","scripts":{"build":"babel ./src --out-dir ./dist","test":"babel-node ./node_modules/.bin/tape test/*.js","prepublish":"npm test && npm run build"},"author":{"name":"Malte Wessel","email":"delabreak@gmail.com"},"license":"MIT","devDependencies":{"babel":"^5.1.13","tape":"^3.5.0"},"dependencies":{"eventemitter3":"^1.0.1","getallpropertynames":"^0.1.3","object-assign":"^2.0.0","toposort":"^0.2.10"},"keywords":["flux","lightweight","react","flow","unidirectional"],"testling":{"files":"test/*.js","browsers":["ie/8..latest","chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6","android-browser/latest"]},"gitHead":"17727b87fb1fceed3e5eebf27448e2db66b8fce0","_id":"minimal-flux@0.4.10","_shasum":"ca05f4203cfeed4e2c8f4c051f55c814e022c8b9","_from":".","_npmVersion":"2.7.5","_nodeVersion":"0.12.0","_npmUser":{"name":"malte-wessel","email":"delabreak@gmail.com"},"maintainers":[{"name":"malte-wessel","email":"delabreak@gmail.com"}],"dist":{"shasum":"ca05f4203cfeed4e2c8f4c051f55c814e022c8b9","tarball":"https://registry.npmjs.org/minimal-flux/-/minimal-flux-0.4.10.tgz","integrity":"sha512-NV2THzJZr00w9ybfJfekCtM6jMASmfqOUDcRRJ5FTXQMHZB8iqo19vEScGBQrM5KY90qGs++YcBkR9aptUKi+A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDivVnH9ftE9k8Qb6yrpXOFgaBSLOd7lo5knPVKSqnz6QIgCDmSZMAJ1GR+YxTp9Xn/8djpaSZkunW0v77dfIuRtaY="}]}},"0.4.11":{"name":"minimal-flux","version":"0.4.11","description":"A very lightweight implementation of Flux","main":"dist/index.js","bugs":{"url":"https://github.com/malte-wessel/minimal-flux/issues"},"repository":{"type":"git","url":"https://github.com/malte-wessel/minimal-flux.git"},"homepage":"https://github.com/malte-wessel/minimal-flux","scripts":{"build":"babel ./src --out-dir ./dist","test":"babel-node ./node_modules/.bin/tape test/*.js","prepublish":"npm test && npm run build"},"author":{"name":"Malte Wessel","email":"delabreak@gmail.com"},"license":"MIT","devDependencies":{"babel":"^5.1.13","tape":"^3.5.0"},"dependencies":{"eventemitter3":"^1.0.1","getallpropertynames":"^0.1.3","object-assign":"^2.0.0","toposort":"^0.2.10"},"keywords":["flux","lightweight","react","flow","unidirectional"],"testling":{"files":"test/*.js","browsers":["ie/8..latest","chrome/22..latest","firefox/16..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6","android-browser/latest"]},"gitHead":"8a3d47701689997fd4f1d683b109028ad9819a48","_id":"minimal-flux@0.4.11","_shasum":"3d1ef532f3e3e3fa7c4ae67fd124fd742326840b","_from":".","_npmVersion":"2.7.5","_nodeVersion":"0.12.0","_npmUser":{"name":"malte-wessel","email":"delabreak@gmail.com"},"maintainers":[{"name":"malte-wessel","email":"delabreak@gmail.com"}],"dist":{"shasum":"3d1ef532f3e3e3fa7c4ae67fd124fd742326840b","tarball":"https://registry.npmjs.org/minimal-flux/-/minimal-flux-0.4.11.tgz","integrity":"sha512-6Wt0MiUSigMIGmLlT4asOS0Ef1vAo5KNXxONJ0+mjX3LCbjbIp0isMU+1WCTTrRV/ZN2342K8x4Xe/FVGn935g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDtnC8D0awE52txU1q5QH7WOEGAybqG7cQ/+Cpgm/XsZQIgTjmKyKkYJUhZGi/bIMXsBJu8seOOkxUXi2EV0m52pi8="}]}},"0.5.0-alpha":{"name":"minimal-flux","version":"0.5.0-alpha","description":"A very lightweight implementation of Flux","main":"dist/index.js","bugs":{"url":"https://github.com/malte-wessel/minimal-flux/issues"},"repository":{"type":"git","url":"git+https://github.com/malte-wessel/minimal-flux.git"},"homepage":"https://github.com/malte-wessel/minimal-flux","scripts":{"build":"babel ./src --plugins babel-plugin-closure-elimination --out-dir ./dist","test":"babel-node ./node_modules/.bin/tape \"test/src/**/*.js\"","prepublish":"npm test && npm run build"},"author":{"name":"Malte Wessel","email":"delabreak@gmail.com"},"license":"MIT","devDependencies":{"babel":"^5.2.17","babel-plugin-closure-elimination":"0.0.1","jsdom":"^5.3.0","react":"^0.14.0-alpha2","tape":"^3.5.0"},"dependencies":{"eventemitter3":"^1.0.2","getallpropertynames":"^0.1.3","object-assign":"^2.0.0","toposort":"^0.2.10"},"keywords":["flux","lightweight","react","flow","unidirectional"],"gitHead":"9d8a53b46f595fbfd01ef191a28612cf3105cef9","_id":"minimal-flux@0.5.0-alpha","_shasum":"2b283f5723879f52164e2dd4c1030008e6a1fe4a","_from":".","_npmVersion":"2.9.0","_nodeVersion":"2.0.0","_npmUser":{"name":"malte-wessel","email":"delabreak@gmail.com"},"maintainers":[{"name":"malte-wessel","email":"delabreak@gmail.com"}],"dist":{"shasum":"2b283f5723879f52164e2dd4c1030008e6a1fe4a","tarball":"https://registry.npmjs.org/minimal-flux/-/minimal-flux-0.5.0-alpha.tgz","integrity":"sha512-uZw1Hzvv3jzBIpCJl/MNXZ2jSseT18Z47sQ+6ljJWXS26TuB8IytpmRSkhNsnuw8ErW9N8CbCyeJk5kBsrIzEQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDqYIAiBAZajNp/OdM56YokmvTlue8RplAYOTgARCboRwIgeZsC1Vj1j6InDVyy5Hkb5zp2E5eS4QTZXLArQba1WSo="}]}}},"readme":"minimal-flux\n=========\n\nA lightweight implementation of Flux\n\n[![Travis](https://img.shields.io/travis/malte-wessel/minimal-flux.svg?style=flat-square)](https://travis-ci.org/malte-wessel/minimal-flux)\n[![David](https://img.shields.io/david/malte-wessel/minimal-flux.svg?style=flat-square)]()\n[![NPM](https://img.shields.io/badge/NPM-minimal--flux-brightgreen.svg?style=flat-square)]()\n\n* [Features](#features)\n* [The basics](#the-basics)\n* [Documentation](#documentation)\n    * [Core concepts](#core-concepts)\n    * [API](#api)\n* [Advanced patterns](#advanced-patterns)\n* [Examples](#examples)\n* [Boilerplates](#boilerplates)\n\n## Install\n\n````\nnpm install minimal-flux --save\n````\n\n## Features\n* **Unidirectional data flow** implemented with the flux pattern\n* **Minimal API**, lightweight implementation (~200 lines)\n* **Isolated** stores\n* **Idiomatic** Javascript (ready for use with ES6)\n* **Completely synchronous**\n* **Easily testable**\n* **No singletons**\n* **Declarative** definition of **dependencies between stores**\n\n## The basics\n\nThere are plenty of flux libraries out there that try to solve different things. This one is about **minimalism**, **convenience** and **isolation** while following the ideas behind flux. As in the [original flux implementation](https://github.com/facebook/flux) the main actors are *Components*, *Actions* and *Stores*. Have a look at the following graph:\n\n[![Minimalflux](http://breakdesign.de/minimalflux.png)]()\n\nHere you can see how the flux loop works:\n\n1. Components invoke actions\n2. Store listen to actions and can update their state\n3. Components listen to store updates and rerender if something changes\n\nWhat about the dispatcher? Minimal-flux implements an own dispatcher under the hood - you don't have to worry about those details, just invoke actions and you're good :) Let's have a look at some code!\n\n### Actions\n\n````javascript\nimport { Actions } from 'minimal-flux';\n\nexport default class MessageActions extends Actions {\n\n    // Create an action...\n    create(message) {\n        this.dispatch('create', message);\n    }\n    \n}\n\n````\n\n### Stores\n\n````javascript\nimport { Store } from 'minimal-flux';\n\nexport default class MessageStore extends Store {\n\n    constructor() {\n        super();\n        // Set initial state\n        this.state = { messages: [] };\n        \n        // Register a handler for the create action\n        this.handleAction('messages.create', this.handleCreate);\n    }\n    \n    handleCreate(message) {\n        let { messages } = this.getState();\n        messages.push(message);\n\n        // Update the store's state\n        // `setState` will trigger a change event\n        this.setState({ messages });\n    }\n    \n}\n````\n\n### Components\n\n````javascript\nimport { Flux } from 'minimal-flux';\nimport MessageActions from './MessageActions';\nimport MessageStore from './MessageStore';\n\n// Create a new Flux instance and pass the actions and stores.\n// You can of course put this into an own file and require it inside your\n// components or just pass it down the components tree via context.\nlet flux = new Flux({\n    actions: { messages: MessageActions },\n    stores: { messages: MessageStore },\n});\n\n// Use flux inside your components\nexport default class Messages extends React.Component {\n\n    constructor(props, context) {\n        super(props, context)\n        this.setState = this.setState.bind(this);\n\n        // Set the component's initial state.\n        // Note: Inside your components, you only have access to store \n        // functions that start with `get` or are inherited from EventEmitter\n        this.state = flux.stores.messages.getState();\n    }\n\n    componentWillMount() {\n        // Listen to changes in the store\n        flux.stores.messages.addListener('change', this.setState);\n    }\n\n    componentWillUnmount() {\n        // Stop listen to changes in the store\n        flux.stores.messages.removeListener('change', this.setState);\n    }\n\n    render() {\n        let messages = this.state.messages.map((message) => {\n            return <li>{message}</li>;\n        });\n        return <ul>{messages}</ul>;\n    }\n\n}\n\n````\n\n## Documentation\n\n### Core concepts\n\n#### Isolation\n\nA lot of problems that people have with flux is that they don't know where to put things and which actor is allowed to perform which operation. Minimal-flux isolates stores and actions, so that you are forced to follow the flux pattern.\n\nHere are the rules :)\n\n##### Stores can only be updated by themselves\nYou can only access your stores through the flux object. When your stores are instantiated they get wrapped by an object that **only exposes getters (methods that start with `get`) and an API for registering events** (stores extend [eventemitter3](https://github.com/primus/eventemitter3)). Therefore you have no chance to update your stores from the outside:\n\n````javascript\n// ReferenceError: setState is not defined\nflux.stores.todos.setState({ foo: 'bar' })\n\n// Getting the state works\nlet state = flux.stores.todos.getState()\n\n// Registering events also\nflux.stores.todos.addListener('change', handler);\n````\n\n##### Stores can get data from other stores\nInside your stores you have access to all other registered stores. Same as before: you cannot update stores from other stores.\n\n````javascript\nclass ThreadStore extends Store {\n    handleCreateMessage() {\n        // This does work\n        let messages = this.stores.messages.getState();\n\n        // ReferenceError: setState is not defined\n        this.stores.message.setState({ messages: [] })\n    }\n}\n````\n\n##### Stores can listen to actions\nStores listen to actions and update their state:\n\n````javascript\nclass MessageStore extends Store {\n    constructor() {\n        this.handleAction('messages.create', this.handleMessagesCreate)\n    }\n}\n````\n\n##### Stores cannot invoke actions\nInvoking actions from within stores is a bad idea. You could easily get into a race condition and break the unidrectional data flow. If you want read more about this [have a look here](https://github.com/facebook/flux/issues/47#issuecomment-54716863)\n\n````javascript\nclass ThreadStore extends Store {\n    handleCreateMessage(message) {\n        // ReferenceError: actions is not defined\n        this.actions.message.markAsRead(message.id)\n    }\n}\n````\n\n##### Actions can invoke other actions\n\n````javascript\nclass MessageActions extend Actions {\n    fetch() {\n        API.fetch().then(this.complete).catch(this.fail);\n    }\n    complete(data) {\n        this.dispatch('complete', data);\n    }\n    fail(error) {\n        this.dispatch('fail', error);\n    }\n}\n````\n\n### API\n\n#### Flux\n\n##### `Flux(options)`\n\n* `options` {Object}\n* `options.actions` {Object} Namespaced actions\n* `options.stores` {Object} Namespaced stores\n\nCreates a new flux instance.\n\n##### Example\n````javascript\nimport { Flux } from 'minimal-flux';\nimport MessageActions from './MessageActions';\nimport MessageStore from './MessageStore';\n\n// Create a new Flux instance and pass the actions and stores.\n// You can of course put this into an own file and require it inside your\n// components or just pass it down the components tree via context.\nlet flux = new Flux({\n    actions: {\n        messages: MessageActions\n    },\n    stores: {\n        messages: MessageStore\n    }\n});\n````\n\n#### Actions\n\n##### `Action.dispatch(name, ...args)`\n\n* `name` {String} The name of the action method\n\nDispatch the action\n\n###### Example\n````javascript\nclass MessageActions extends Actions {\n    create(message) {\n        this.dispatch('create', message);\n    }\n}\n````\n\n#### Stores\n\nStores should only be instantiated through the [flux object](#flux). When your stores are instantiated they get wrapped by an object that **only exposes getters (methods that start with `get`) and an API for registering events** (stores extend [eventemitter3](https://github.com/primus/eventemitter3)).\n\n##### `Store.handleAction(id, handler)`\n\n* `id` {String} The id of the action to be handled.\n* `handler` {Function} Function that will be invoked when the action is dispatched\n\nRegister an action handler. The action id is composed of the key you registered your Action class with and the name of the action method (e.g. `messages.create`). The handler will be bound automatically bound to the store instance. \n\n###### Example\n````javascript\nclass MessageStore extends Store {\n\n    constructor() {\n        this.handleAction('messages.create', this.handleCreate);\n    }\n    \n    handleCreate(message) {\n        // Do stuff\n    }\n}\n````\n\n*This method is only available inside of stores.*\n\n##### `Store.stopHandleAction(id)`\n\n* `id` {String} The id of the action\n\nUnregister an action handler.\n\n*This method is only available inside of stores.*\n\n##### `Store.addListener(event, handler)`\n\n* `event` {String} The name of the event.\n* `handler` {Function}\n\nAdd an event listener. Stores emit a `change` event when `setState` is called.\n\n##### `Store.removeListener(event, handler`\n\n* `event` {String} The name of the event.\n* `handler` {Function}\n\nRemove an event listener.\n\n##### `Store.setState(state, options)`\n\n* `state` {Object} An object containing the state\n* `options` {Object}\n* `options.silent` {Boolean} If true, change event will not be emitted\n\nSet the store's state and emit a `change` event. Note: This will extend the current state with the passed state object.\n\n[**This method is only available inside of stores.**](#stores-can-only-be-updated-by-themselves)\n\n##### `Store.getState()`\n\nGet the store's current state.\n\n## Advanced patterns\n\n### Fetching data\n\n````javascript\n\nclass MessageActions extends Actions {\n\n    fetch() {\n        // Invoke wait action\n        this.wait();\n\n        // Make a request to your API\n        request.get('/api/messages').end((err, res) => {\n            // If we got an error invoke fail action\n            if(err) return this.fail(err);\n            // Otherwise invoke complete action\n            this.complete(res.data);\n        });\n    }\n    \n    wait() {\n        this.dispatch('wait');\n    }\n    \n    complete(data) {\n        this.dispatch('complete', data);\n    }\n    \n    fail(err) {\n        this.dispatch('fail', err);\n    }\n    \n}\n\nclass MessageStore extends Store {\n    constructor() {\n        this.state = { messages: [] };\n        this.handleAction('messages.wait', this.handleWait);\n        this.handleAction('messages.complete', this.handleComplete);\n        this.handleAction('messages.fail', this.handleFail);\n    }\n\n    handleWait(message) {\n        this.setState({\n            waiting: true,\n            error: undefined\n        });\n    }\n    \n    handleComplete(data) {\n        this.setState({\n            messages: data,\n            waiting: false,\n            error: undefined\n        });\n    }    \n    \n    handleFail(err) {\n        this.setState({\n            waiting: false,\n            error: err\n        });\n    }\n}\n````\n\n### Dependencies between stores\n\n````javascript\n\nclass MessageActions extends Actions {\n    receive(message) {\n        this.dispatch('receive', message);\n    }\n}\n\nclass MessageStore extends Store {\n    constructor() {\n        this.state = {messages: []};\n        this.handleAction('messages.receive', this.handleReceive);\n    }\n\n    handleReceive(message) {\n        let { messages } = this.getState();\n        messages.push(message);\n        this.setState({ messages });\n    }\n}\n\nclass UnreadStore extends Store {\n    constructor() {\n        this.state = {count: null};\n        this.handleAction('messages.receive', this.handleReceive);\n    }\n    \n    handleReceive(message) {\n        let { messages } = this.stores.messages.getState();\n        let count = 0;\n        for(msg of messages) if(msg.unread) count++;\n        this.setState({ count });\n    }\n}\n\nlet flux = new Flux({\n    actions: {\n        messages: MessageActions\n    },\n    stores: {\n        messages: MessageStore,\n        // Since UnreadStore depends on MessageStore, \n        // we need to make sure that the MessageStore handles\n        // the action first. This can be done by defining dependencies:\n        unread: [UnreadStore, 'messages']\n    },\n});\n````\n\n## Examples\n\nYou can find more examples in `examples/`. Run the following commands to make the examples work:\n\n````bash\n# Run install for minimal-flux in the root directory\nnpm install\n# Change to one of the examples\ncd examples/<example>\n# Install and build the example\nnpm install\nnpm run build\n````\n\nThen open the index.html in your browser.\n\n## Boilerplates\n\n* [mbrio/react-boilerplate](https://github.com/mbrio/react-boilerplate/tree/react-0.13-minimal-flux) Thanks to @mbrio\n\n\n## Inspiration\n* [Facebook Flux](https://github.com/facebook/flux)\n* [Flummox](https://github.com/acdlite/flummox)\n* [Reflux](https://github.com/spoike/refluxjs)\n\n## License\nMIT\n","maintainers":[{"name":"malte-wessel","email":"delabreak@gmail.com"}],"time":{"modified":"2022-06-19T21:15:56.008Z","created":"2015-02-19T20:14:25.595Z","0.1.0":"2015-02-19T20:14:25.595Z","0.1.1":"2015-02-19T20:27:18.267Z","0.1.2":"2015-02-19T20:30:34.723Z","0.1.3":"2015-02-19T20:41:26.456Z","0.1.4":"2015-02-19T20:49:31.515Z","0.1.5":"2015-02-19T20:54:28.244Z","0.1.6":"2015-02-20T18:41:26.616Z","0.2.0":"2015-02-21T09:58:37.715Z","0.2.1":"2015-02-21T10:15:40.834Z","0.3.0":"2015-03-03T21:41:28.971Z","0.4.0":"2015-03-11T13:26:09.579Z","0.4.1":"2015-03-13T09:49:36.887Z","0.4.2":"2015-03-15T20:04:06.077Z","0.4.3":"2015-03-25T14:24:45.801Z","0.4.4":"2015-04-08T20:08:46.351Z","0.4.5":"2015-04-14T16:40:30.820Z","0.4.6":"2015-04-23T13:45:20.664Z","0.4.7":"2015-04-28T11:51:57.660Z","0.4.8":"2015-04-30T10:09:09.222Z","0.4.9":"2015-05-02T13:00:00.941Z","0.4.10":"2015-05-03T10:42:58.378Z","0.4.11":"2015-05-04T14:11:08.634Z","0.5.0-alpha":"2015-05-25T13:52:24.488Z"},"homepage":"https://github.com/malte-wessel/minimal-flux","keywords":["flux","lightweight","react","flow","unidirectional"],"repository":{"type":"git","url":"git+https://github.com/malte-wessel/minimal-flux.git"},"author":{"name":"Malte Wessel","email":"delabreak@gmail.com"},"bugs":{"url":"https://github.com/malte-wessel/minimal-flux/issues"},"license":"MIT","readmeFilename":"README.md","users":{"jamesulph":true}}