Skip to content

Commit 709ad99

Browse files
committed
Merge remote-tracking branch 'DenisIzmaylov/master'
2 parents 58c174f + 4f620e6 commit 709ad99

File tree

8 files changed

+38
-33
lines changed

8 files changed

+38
-33
lines changed

.eslintrc

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,17 @@
11
{
2-
"ecmaFeatures": {
3-
"jsx": true,
4-
"modules": true
5-
},
2+
"extends": "eslint-config-airbnb",
63
"env": {
74
"browser": true,
85
"mocha": true,
96
"node": true
107
},
11-
"parser": "babel-eslint",
128
"rules": {
13-
"quotes": [2, "single"],
14-
"strict": [2, "never"],
159
"react/jsx-uses-react": 2,
1610
"react/jsx-uses-vars": 2,
17-
"react/react-in-jsx-scope": 2
11+
"react/react-in-jsx-scope": 2,
12+
13+
// Temporarily disabled for test/* until babel/babel-eslint#33 is resolved
14+
"padded-blocks": 0
1815
},
1916
"plugins": [
2017
"react"

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@
3939
"babel-core": "^5.5.8",
4040
"babel-eslint": "^3.1.15",
4141
"babel-loader": "^5.1.4",
42-
"eslint": "^0.22.1",
42+
"eslint": "^0.23",
43+
"eslint-config-airbnb": "0.0.6",
4344
"eslint-plugin-react": "^2.3.0",
4445
"expect": "^1.6.0",
4546
"istanbul": "^0.3.15",

src/Redux.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,18 @@ import thunkMiddleware from './middleware/thunk';
44

55
export default class Redux {
66
constructor(dispatcher, initialState) {
7+
let finalDispatcher = dispatcher;
78
if (typeof dispatcher === 'object') {
89
// A shortcut notation to use the default dispatcher
9-
dispatcher = createDispatcher(
10+
finalDispatcher = createDispatcher(
1011
composeStores(dispatcher),
11-
getState => [thunkMiddleware(getState)]
12+
(getState) => [thunkMiddleware(getState)]
1213
);
1314
}
1415

1516
this.state = initialState;
1617
this.listeners = [];
17-
this.replaceDispatcher(dispatcher);
18+
this.replaceDispatcher(finalDispatcher);
1819
}
1920

2021
getDispatcher() {
@@ -44,7 +45,7 @@ export default class Redux {
4445
const { listeners } = this;
4546
listeners.push(listener);
4647

47-
return function unsubscribe () {
48+
return function unsubscribe() {
4849
const index = listeners.indexOf(listener);
4950
listeners.splice(index, 1);
5051
};

src/components/createConnector.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,8 @@ export default function createConnector(React) {
3131
return true;
3232
} else if (typeof slice !== 'object' || typeof nextSlice !== 'object') {
3333
return isRefEqual;
34-
} else {
35-
return shallowEqual(slice, nextSlice);
3634
}
35+
return shallowEqual(slice, nextSlice);
3736
}
3837

3938
constructor(props, context) {

src/index.js

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,16 @@
11
// Core
2-
export createRedux from './createRedux';
3-
export createDispatcher from './createDispatcher';
2+
import createRedux from './createRedux';
3+
import createDispatcher from './createDispatcher';
44

55
// Utilities
6-
export composeMiddleware from './utils/composeMiddleware';
7-
export composeStores from './utils/composeStores';
8-
export bindActionCreators from './utils/bindActionCreators';
6+
import composeMiddleware from './utils/composeMiddleware';
7+
import composeStores from './utils/composeStores';
8+
import bindActionCreators from './utils/bindActionCreators';
9+
10+
export {
11+
createRedux,
12+
createDispatcher,
13+
composeMiddleware,
14+
composeStores,
15+
bindActionCreators
16+
};

src/utils/composeStores.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ import mapValues from '../utils/mapValues';
22
import pick from '../utils/pick';
33

44
export default function composeStores(stores) {
5-
stores = pick(stores, (val) => typeof val === 'function');
5+
const finalStores = pick(stores, (val) => typeof val === 'function');
66
return function Composition(atom = {}, action) {
7-
return mapValues(stores, (store, key) =>
7+
return mapValues(finalStores, (store, key) =>
88
store(atom[key], action)
99
);
1010
};

src/utils/shallowEqual.js

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,18 @@ export default function shallowEqual(objA, objB) {
33
return true;
44
}
55

6-
var keysA = Object.keys(objA);
7-
var keysB = Object.keys(objB);
6+
const keysA = Object.keys(objA);
7+
const keysB = Object.keys(objB);
88

99
if (keysA.length !== keysB.length) {
1010
return false;
1111
}
1212

1313
// Test for A's keys different from B.
14-
var hasOwn = Object.prototype.hasOwnProperty;
15-
for (var i = 0; i < keysA.length; i++) {
14+
const hasOwn = Object.prototype.hasOwnProperty;
15+
for (let i = 0; i < keysA.length; i++) {
1616
if (!hasOwn.call(objB, keysA[i]) ||
1717
objA[keysA[i]] !== objB[keysA[i]]) {
18-
1918
return false;
2019
}
2120
}

src/utils/shallowEqualScalar.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,22 +8,22 @@ export default function shallowEqualScalar(objA, objB) {
88
return false;
99
}
1010

11-
var keysA = Object.keys(objA);
12-
var keysB = Object.keys(objB);
11+
const keysA = Object.keys(objA);
12+
const keysB = Object.keys(objB);
1313

1414
if (keysA.length !== keysB.length) {
1515
return false;
1616
}
1717

1818
// Test for A's keys different from B.
19-
var hasOwn = Object.prototype.hasOwnProperty;
20-
for (var i = 0; i < keysA.length; i++) {
19+
const hasOwn = Object.prototype.hasOwnProperty;
20+
for (let i = 0; i < keysA.length; i++) {
2121
if (!hasOwn.call(objB, keysA[i])) {
2222
return false;
2323
}
2424

25-
var valA = objA[keysA[i]];
26-
var valB = objB[keysA[i]];
25+
const valA = objA[keysA[i]];
26+
const valB = objB[keysA[i]];
2727

2828
if (valA !== valB || typeof valA === 'object' || typeof valB === 'object') {
2929
return false;

0 commit comments

Comments
 (0)