export function isActionGen(action) { return typeof action === 'function' && action.type; } export function action(type, payloadFunction, transformer) { let generator = function (...payloadArg) { const result = { type }; if (payloadFunction) { result.payload = payloadFunction(...payloadArg); } else { if (payloadArg[0] !== undefined) result.payload = payloadArg[0]; } return result; }; if (transformer) { const orig = generator; generator = (...args) => transformer(orig(...args), args); } generator.type = type; return generator; }