An (almost) 1:1 conversion of the JS state management library Redux.
I did my best to translate many of the features of Redux, including packages made for it, such as toolkit and thunk. However, translating these features was quite hard, so even though I did lots of unit testing, there still could be some bugs or unoptimized sections. If you happen to notice anything, please open an issue.
Add this to your wally.toml
file:
Redux = "quamatic/[email protected]"
NOTE: Just because something is said to be included does not guarantee it works correctly. There are unit tests put in place, but it may not catch all possible cases.
-
Redux
- createStore (obviously :P)
- bindActionCreators
- combineReducers
- compose
- applyMiddleware
-
Redux Toolkit
- autoBatchEnhancer
- getDefaultMiddleware
- configureStore
- createAction
- createAsyncThunk
- createReducer
- createSlice
- nanoid
- matchers
- immutableStateInvariantMiddleware
- serializableStateInvariantMiddleware
- For a Roblox environment, I do no see any practical use. But it still can be added.
- createListenerMiddleware
- creatEntityAdapter
- RTK Query
- RTK Query definitely has no practical use on Roblox, and won't be implemented.
-
Redux DevTools
- DevTools are an amazing extension of Redux, and are great for live viewing the tree of a store. However, the devtools package itself it quite large with the amount of features it has, and would take quite the effort to implement. It is possible, but tough.
-
Redux Thunk
- thunkMiddleware
- withExtraArgument
-
Reselect
- createSelector
- createSelectorCreator
-
React-Redux
- Coming soon!