rodux
rodux copied to clipboard
A state management library for Roblox Lua inspired by Redux
Added a freezeMiddleware built in to freeze the reducer state table to enforce immutability rules. Previously impossible per issue here https://github.com/Roblox/rodux/issues/16 but as mentioned with the addition of table.clone it...
It'd be cool to have a middleware that automatically makes all items in the store read-only. It'd be similar to [the JS package 'deep-freeze'](https://github.com/substack/deep-freeze), but probably throw errors on mutations...
* mark optional arguments as such with types * Approximate upstream redux types, privately for now. Store analyzes cleanly in strict mode, and test analyze in strict mode with minor...
Expose store `ACTION_LOG_LENGTH` as a user-settable param, and add a `:clearLog` method to the store
At times, it is useful to know what actions were successfully applied to a store (e.g. to fire highly specific listeners that correspond to specific actions). At present, however, the...
Currently, in the logger middleware, tables are unnecessarily pretty-printed because of the new Studio expressive output window. Instead, tables should be printed without formatting them beforehand so that developers can...
This probably doesn't come up often in practice, but it seems like a fairly low-effort optimization for this case.
Right now, `Store.changed` only fires once per Heartbeat (or other event, I don't remember) in order to reduce the number of renders resulting from Rodux changes. When using Rodux standalone,...
This is a straightforward change: instead of calling `NoYield`, we'll instead just create a regular coroutine and let it run, presumably via `coroutine.wrap`. This was a restriction that we wanted...
When I built the first version of Rodux, the best way to respond to changes outside of something like React/Roact wasn't very well understood. I think that we understand now...