UNPKG

redux

Version:

Atomic Flux with hot reloading

37 lines (25 loc) 998 B
'use strict'; exports.__esModule = true; exports['default'] = createDispatcher; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var _utilsComposeMiddleware = require('./utils/composeMiddleware'); var _utilsComposeMiddleware2 = _interopRequireDefault(_utilsComposeMiddleware); var INIT_ACTION = { type: '@@INIT' }; function createDispatcher(store) { var middlewares = arguments[1] === undefined ? [] : arguments[1]; return function dispatcher(initialState, setState) { var state = setState(store(initialState, INIT_ACTION)); function dispatch(action) { state = setState(store(state, action)); return action; } function getState() { return state; } var finalMiddlewares = typeof middlewares === 'function' ? middlewares(getState) : middlewares; return _utilsComposeMiddleware2['default'].apply(undefined, finalMiddlewares.concat([dispatch])); }; } module.exports = exports['default'];