Clients/Client2018/content/LuaPackages/RoduxImpl/thunkMiddleware.lua

18 lines
440 B
Lua

--[[
A middleware that allows for functions to be dispatched.
Functions will receive a single argument, the store itself.
This middleware consumes the function; middleware further down the chain
will not receive it.
]]
local function thunkMiddleware(nextDispatch, store)
return function(action)
if typeof(action) == "function" then
return action(store)
else
return nextDispatch(action)
end
end
end
return thunkMiddleware