A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://gist.github.com/gaearon/ffd88b0e4f00b22c3159 below:

Redux without the sanity checks in a single file. Don't use this, use normal Redux. :-) ยท GitHub

function mapValues(obj, fn) { return Object.keys(obj).reduce((result, key) => { result[key] = fn(obj[key], key); return result; }, {}); } function pick(obj, fn) { return Object.keys(obj).reduce((result, key) => { if (fn(obj[key])) { result[key] = obj[key]; } return result; }, {}); } function bindActionCreator(actionCreator, dispatch) { return (...args) => dispatch(actionCreator(...args)); } export function bindActionCreators(actionCreators, dispatch) { return typeof actionCreators === 'function' ? bindActionCreator(actionCreators, dispatch) : mapValues(actionCreators, actionCreator => bindActionCreator(actionCreator, dispatch) ); } export function compose(...funcs) { return arg => funcs.reduceRight((composed, f) => f(composed), arg); } export function applyMiddleware(...middlewares) { return (next) => (reducer, initialState) => { var store = next(reducer, initialState); var dispatch = store.dispatch; var chain = []; chain = middlewares.map(middleware => middleware({ getState: store.getState, dispatch: (action) => dispatch(action) })); dispatch = compose(...chain)(store.dispatch); return { ...store, dispatch }; }; } export function combineReducers(reducers) { var finalReducers = pick(reducers, (val) => typeof val === 'function'); return (state = {}, action) => mapValues(finalReducers, (reducer, key) => reducer(state[key], action) ); } export function createStore(reducer, initialState) { var currentReducer = reducer; var currentState = initialState; var listeners = []; var isDispatching = false; function getState() { return currentState; } function subscribe(listener) { listeners.push(listener); return function unsubscribe() { var index = listeners.indexOf(listener); listeners.splice(index, 1); }; } function dispatch(action) { if (isDispatching) { throw new Error('Reducers may not dispatch actions.'); } try { isDispatching = true; currentState = currentReducer(currentState, action); } finally { isDispatching = false; } listeners.slice().forEach(listener => listener()); return action; } function replaceReducer(nextReducer) { currentReducer = nextReducer; dispatch({ type: '@@redux/INIT' }); } dispatch({ type: '@@redux/INIT' }); return { dispatch, subscribe, getState, replaceReducer }; }

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4