{"_id":"@anton.matosov/rodux","_rev":"1-b8d2057a06b4e58a485dec3accbee4d4","name":"@anton.matosov/rodux","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@anton.matosov/rodux","version":"1.0.0","description":"Robloxified Redux","main":"lib","directories":{"doc":"docs","lib":"lib"},"scripts":{"test":"lest"},"repository":{"type":"git","url":"git+https://github.com/Roblox/rodux.git"},"keywords":["Roblox","Redux"],"author":{"name":"Roblox Corp"},"license":"Apache-2.0","bugs":{"url":"https://github.com/Roblox/rodux/issues"},"homepage":"https://github.com/Roblox/rodux#readme","gitHead":"776d8eb85730150c372437ec7323614b2cf883cb","_id":"@anton.matosov/rodux@1.0.0","_npmVersion":"6.4.1","_nodeVersion":"8.11.4","_npmUser":{"name":"anton.matosov","email":"anton.matosov@gmail.com"},"dist":{"integrity":"sha512-RXt737vAGPGaEXr85U2VypLppICLLyGlhAqoIqQDQlOdBz9SET/02+2uhciYPADXAIz2Vw/Ef0/xd4QUruvxYw==","shasum":"8b15e2a0cf24e1adb70b4efb4d10efb785ab86de","tarball":"https://registry.npmjs.org/@anton.matosov/rodux/-/rodux-1.0.0.tgz","fileCount":46,"unpackedSize":69345,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb9PaMCRA9TVsSAnZWagAAQr8P/2PT2NWbWqopzBmMY2Fe\npwUtAG4/B56Am7oE7sTOekULADnFhiwvREUttdenuFk88Bam30qCW7vuJvus\n05YRHtEphCP3bYb3Y4E/hlQG1bN71Gtt6IeuBWdDUtj7RJqExd56SlVTTx7u\nVimIci0Y09x+XkWQbmXafEALU5SRrH1I8f0yPcZLQm0lQUWI2DUQv31b9UUV\nNjLJHqr4AV/xTdTlGYz6t9oFYJOhWodV7Ee9+xnqHyeIa8ldJLFQtzNzdwn9\nOv+/PuFvOux7nf9brqXSJ4qURXaX2UI85zKCrCu3Gxd7SwgLeCz00kLclFdI\nR9317QIU1RE7QnAYCXtoSl+xuYIMxtNyoLX4q58ywSOWvkfKk34HgOMbm3yW\n/F0YlWXviW1BwTHKTCKgxA6MYK4tFz1Roc+WypOf3LRSYQP1mgNpJAOxhPbj\nMi4Y2cVhHb6tCu/5dERjbHJvqs676ZyEMXL90X6IQxZ/q6Ku0FW4HpkKGqKs\nk7ZqnKWE/MiVNBwcXTI6PxBpRq+v4BL/1SJ2pl7bCB4k/XM5ZFSHjOYMLylH\nsMhWJyxfYvAnZ1cRbnE1TrIunzLW4NISNn6oCtlig1uXWODEYRgJTaVF4EMM\nA+HkHOxOfMrNsMT+GpG7eKr9s6ofvHZwJ19fdtb09SC4uONQWgkCwXzqM3Gr\nXpse\r\n=i5nY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHiWGrhP7tx3PO5wAajEK9jUCHcurz+PKPgUum/mdeE0AiEA6dHoQXexVqu5WriJQMGfLB5H5SpcBqWTZ0YLwdkoRLY="}]},"maintainers":[{"name":"anton.matosov","email":"anton.matosov@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rodux_1.0.0_1542780556142_0.5114418640367522"},"_hasShrinkwrap":false}},"time":{"created":"2018-11-21T06:09:15.965Z","1.0.0":"2018-11-21T06:09:16.326Z","modified":"2022-04-04T14:23:04.044Z"},"maintainers":[{"name":"anton.matosov","email":"anton.matosov@gmail.com"}],"description":"Robloxified Redux","homepage":"https://github.com/Roblox/rodux#readme","keywords":["Roblox","Redux"],"repository":{"type":"git","url":"git+https://github.com/Roblox/rodux.git"},"author":{"name":"Roblox Corp"},"bugs":{"url":"https://github.com/Roblox/rodux/issues"},"license":"Apache-2.0","readme":"<h1 align=\"center\">Rodux</h1>\n<div align=\"center\">\n\t<a href=\"https://travis-ci.org/Roblox/rodux\">\n\t\t<img src=\"https://api.travis-ci.org/Roblox/rodux.svg?branch=master\" alt=\"Travis-CI Build Status\" />\n\t</a>\n\t<a href=\"https://coveralls.io/github/Roblox/rodux?branch=master\">\n\t\t<img src=\"https://coveralls.io/repos/github/Roblox/rodux/badge.svg?branch=master\" alt=\"Coveralls Coverage\" />\n\t</a>\n\t<a href=\"https://roblox.github.io/rodux\">\n\t\t<img src=\"https://img.shields.io/badge/docs-website-green.svg\" alt=\"Documentation\" />\n\t</a>\n</div>\n\n<div align=\"center\">\n\tA state management library for Roblox Lua inspired by <a href=\"https://redux.js.org\">Redux</a>.\n</div>\n\n<div>&nbsp;</div>\n\n## Installation\n\n### Method 1: Model File (Roblox Studio)\n* Download the `rbxmx` model file attached to the latest release from the [GitHub releases page](https://github.com/Roblox/rodux/releases).\n* Insert the model into Studio into a place like `ReplicatedStorage`\n\n### Method 2: Filesystem\n* Copy the `lib` directory into your codebase\n* Rename the folder to `Rodux`\n* Use a plugin like [Rojo](https://github.com/LPGhatguy/rojo) to sync the files into a place\n\n## Usage\nRodux works just like [Redux](https://redux.js.org)'s base API.\n\nSee the official [Rodux Documentation](https://roblox.github.io/rodux/) for more details.\n\n```lua\nlocal Rodux = require(script.Parent.Rodux)\n\nlocal function reducer(state, action)\n\tstate = state or {\n\t\tfrobulations = 0,\n\t}\n\n\tif action.type == \"frobulate\" then\n\t\treturn {\n\t\t\tfrobulations = state.frobulations + 1,\n\t\t}\n\tend\n\n\treturn state\nend\n\nlocal store = Rodux.Store.new(reducer)\n\nstore:getState() -- { frobulations = 0 }\n\nstore:dispatch({\n\ttype = \"frobulate\",\n})\n\nstore:getState() -- { frobulations = 1 }\n```\n\n## Contributing\nContributions are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for information.\n\n## License\nRodux is available under the Apache 2.0 license. See [LICENSE](LICENSE) for details.\n","readmeFilename":"README.md"}