From 2c3d59ce58532b54ac2341550110906fdec5ff81 Mon Sep 17 00:00:00 2001 From: evenstensberg Date: Sun, 3 Apr 2016 08:34:43 +0200 Subject: [PATCH 1/3] Added ES6 scope and error log Added let to for loop scopes and an additional error log if user decides to do something tricky --- src/bindActionCreators.js | 2 +- src/combineReducers.js | 10 +++++----- src/createStore.js | 5 ++++- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/bindActionCreators.js b/src/bindActionCreators.js index e70e270fd4..d351eee882 100644 --- a/src/bindActionCreators.js +++ b/src/bindActionCreators.js @@ -37,7 +37,7 @@ export default function bindActionCreators(actionCreators, dispatch) { var keys = Object.keys(actionCreators) var boundActionCreators = {} - for (var i = 0; i < keys.length; i++) { + for (let i = 0; i < keys.length; i++) { var key = keys[i] var actionCreator = actionCreators[key] if (typeof actionCreator === 'function') { diff --git a/src/combineReducers.js b/src/combineReducers.js index 5a8a20a9b7..d5d302914d 100644 --- a/src/combineReducers.js +++ b/src/combineReducers.js @@ -4,7 +4,7 @@ import warning from './utils/warning' function getUndefinedStateErrorMessage(key, action) { var actionType = action && action.type - var actionName = actionType && `"${actionType.toString()}"` || 'an action' + const actionName = actionType && `"${actionType.toString()}"` || 'an action' return ( `Given action ${actionName}, reducer "${key}" returned undefined. ` + @@ -14,7 +14,7 @@ function getUndefinedStateErrorMessage(key, action) { function getUnexpectedStateShapeWarningMessage(inputState, reducers, action) { var reducerKeys = Object.keys(reducers) - var argumentName = action && action.type === ActionTypes.INIT ? + const argumentName = action && action.type === ActionTypes.INIT ? 'initialState argument passed to createStore' : 'previous state received by the reducer' @@ -93,7 +93,7 @@ function assertReducerSanity(reducers) { export default function combineReducers(reducers) { var reducerKeys = Object.keys(reducers) var finalReducers = {} - for (var i = 0; i < reducerKeys.length; i++) { + for (let i = 0; i < reducerKeys.length; i++) { var key = reducerKeys[i] if (typeof reducers[key] === 'function') { finalReducers[key] = reducers[key] @@ -114,7 +114,7 @@ export default function combineReducers(reducers) { } if (process.env.NODE_ENV !== 'production') { - var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action) + const warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action) if (warningMessage) { warning(warningMessage) } @@ -122,7 +122,7 @@ export default function combineReducers(reducers) { var hasChanged = false var nextState = {} - for (var i = 0; i < finalReducerKeys.length; i++) { + for (let i = 0; i < finalReducerKeys.length; i++) { var key = finalReducerKeys[i] var reducer = finalReducers[key] var previousStateForKey = state[key] diff --git a/src/createStore.js b/src/createStore.js index 68097d1ce3..59cee60b92 100644 --- a/src/createStore.js +++ b/src/createStore.js @@ -73,7 +73,10 @@ export default function createStore(reducer, initialState, enhancer) { function getState() { return currentState } - + + if (typeof getState !== 'function' || getState == 'undefined') { + throw new Error('Expected the getState to be a function.') + } /** * Adds a change listener. It will be called any time an action is dispatched, * and some part of the state tree may potentially have changed. You may then From cfcc3ec17cb02238c21ab490a547fa44670c505b Mon Sep 17 00:00:00 2001 From: Even Stensberg Date: Sun, 3 Apr 2016 08:55:37 +0200 Subject: [PATCH 2/3] Added ES6 scoping to loops and error log Fixed awkward typo mistake --- src/createStore.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/createStore.js b/src/createStore.js index 59cee60b92..742d3237d5 100644 --- a/src/createStore.js +++ b/src/createStore.js @@ -75,7 +75,7 @@ export default function createStore(reducer, initialState, enhancer) { } if (typeof getState !== 'function' || getState == 'undefined') { - throw new Error('Expected the getState to be a function.') + throw new Error('Expected getState to be a function.') } /** * Adds a change listener. It will be called any time an action is dispatched, From bfa024338f60875709a966bf4c278c320f492fe0 Mon Sep 17 00:00:00 2001 From: Even Stensberg Date: Sun, 3 Apr 2016 22:24:52 +0200 Subject: [PATCH 3/3] Update createStore.js --- src/createStore.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/createStore.js b/src/createStore.js index 742d3237d5..132cbf8d31 100644 --- a/src/createStore.js +++ b/src/createStore.js @@ -175,7 +175,7 @@ export default function createStore(reducer, initialState, enhancer) { } var listeners = currentListeners = nextListeners - for (var i = 0; i < listeners.length; i++) { + for (let i = 0; i < listeners.length; i++) { listeners[i]() }