Skip to content

Commit 324f950

Browse files
committed
Code style.
1 parent 733d9fa commit 324f950

14 files changed

+92
-166
lines changed

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,11 @@
3636
"scripts": {
3737
"pragmatist": "node ./node_modules/.bin/pragmatist --es5",
3838
"lint": "npm run pragmatist lint",
39-
"test": "npm run pragmatist test",
39+
"test": "npm run pragmatist test --type-annotations",
4040
"build": "npm run pragmatist build",
4141
"watch": "npm run pragmatist watch",
4242
"watch-lint": "npm run pragmatist watch-lint",
43-
"watch-test": "npm run pragmatist watch-test",
43+
"watch-test": "npm run pragmatist watch-test --type-annotations",
4444
"watch-build": "npm run pragmatist watch-build"
4545
}
4646
}

src/extendReactClass.js

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,10 @@ import hoistNonReactStatics from 'hoist-non-react-statics';
1111
* @param {Object} options
1212
* @returns {ReactClass}
1313
*/
14-
export default (Component, defaultStyles, options) => {
15-
let WrappedComponent;
16-
17-
WrappedComponent = class extends Component {
14+
export default (Component: Object, defaultStyles: Object, options: Object) => {
15+
const WrappedComponent = class extends Component {
1816
render () {
19-
let renderResult,
20-
styles;
17+
let styles;
2118

2219
if (this.props.styles) {
2320
styles = this.props.styles;
@@ -31,7 +28,7 @@ export default (Component, defaultStyles, options) => {
3128
styles = {};
3229
}
3330

34-
renderResult = super.render();
31+
const renderResult = super.render();
3532

3633
if (renderResult) {
3734
return linkClass(renderResult, styles, options);

src/generateAppendClassName.js

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,15 @@
11
import Map from 'es6-map';
22

3-
let stylesIndex;
4-
5-
stylesIndex = new Map();
3+
const stylesIndex = new Map();
64

75
export default (styles, styleNames: Array<string>, errorWhenNotFound: boolean): string => {
86
let appendClassName,
9-
styleName,
107
stylesIndexMap;
118

129
stylesIndexMap = stylesIndex.get(styles);
1310

1411
if (stylesIndexMap) {
15-
let styleNameIndex;
16-
17-
styleNameIndex = stylesIndexMap.get(styleNames);
12+
const styleNameIndex = stylesIndexMap.get(styleNames);
1813

1914
if (styleNameIndex) {
2015
return styleNameIndex;
@@ -25,15 +20,15 @@ export default (styles, styleNames: Array<string>, errorWhenNotFound: boolean):
2520

2621
appendClassName = '';
2722

28-
for (styleName in styleNames) {
29-
let className;
30-
31-
className = styles[styleNames[styleName]];
23+
for (const styleName in styleNames) {
24+
if (styleNames.hasOwnProperty(styleName)) {
25+
const className = styles[styleNames[styleName]];
3226

33-
if (className) {
34-
appendClassName += ' ' + className;
35-
} else if (errorWhenNotFound === true) {
36-
throw new Error('"' + styleNames[styleName] + '" CSS module is undefined.');
27+
if (className) {
28+
appendClassName += ' ' + className;
29+
} else if (errorWhenNotFound === true) {
30+
throw new Error('"' + styleNames[styleName] + '" CSS module is undefined.');
31+
}
3732
}
3833
}
3934

src/index.js

Lines changed: 8 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,29 +2,22 @@ import _ from 'lodash';
22
import extendReactClass from './extendReactClass';
33
import wrapStatelessFunction from './wrapStatelessFunction';
44

5-
let decoratorConstructor,
6-
functionConstructor,
7-
isReactComponent;
5+
/**
6+
* @see https://github.com/gajus/react-css-modules#options
7+
*/
8+
type OptionsType = {};
89

910
/**
1011
* Determines if the given object has the signature of a class that inherits React.Component.
11-
*
12-
* @param {*} maybeReactComponent
13-
* @returns {boolean}
1412
*/
15-
isReactComponent = (maybeReactComponent) => {
13+
const isReactComponent = (maybeReactComponent: any): boolean => {
1614
return 'prototype' in maybeReactComponent && _.isFunction(maybeReactComponent.prototype.render);
1715
};
1816

1917
/**
2018
* When used as a function.
21-
*
22-
* @param {Function} Component
23-
* @param {Object} defaultStyles CSS Modules class map.
24-
* @param {Object} options {@link https://github.com/gajus/react-css-modules#options}
25-
* @returns {Function}
2619
*/
27-
functionConstructor = (Component, defaultStyles, options) => {
20+
const functionConstructor = (Component: Function, defaultStyles: Object, options: OptionsType): Function => {
2821
let decoratedClass;
2922

3023
if (isReactComponent(Component)) {
@@ -44,13 +37,9 @@ functionConstructor = (Component, defaultStyles, options) => {
4437

4538
/**
4639
* When used as a ES7 decorator.
47-
*
48-
* @param {Object} defaultStyles CSS Modules class map.
49-
* @param {Object} options {@link https://github.com/gajus/react-css-modules#options}
50-
* @returns {Function}
5140
*/
52-
decoratorConstructor = (defaultStyles, options) => {
53-
return (Component) => {
41+
const decoratorConstructor = (defaultStyles: Object, options: OptionsType): Function => {
42+
return (Component: Function) => {
5443
return functionConstructor(Component, defaultStyles, options);
5544
};
5645
};

src/isIterable.js

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,23 @@
11
import _ from 'lodash';
22

3-
let ITERATOR_SYMBOL,
4-
OLD_ITERATOR_SYMBOL;
5-
6-
ITERATOR_SYMBOL = _.isFunction(Symbol) && Symbol.iterator;
7-
OLD_ITERATOR_SYMBOL = '@@iterator';
3+
const ITERATOR_SYMBOL = _.isFunction(Symbol) && Symbol.iterator;
4+
const OLD_ITERATOR_SYMBOL = '@@iterator';
85

96
/**
107
* @see https://github.com/lodash/lodash/issues/1668
118
* @see https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Iteration_protocols
12-
* @param {Object} target
13-
* @returns {boolean}
149
*/
15-
export default (target) => {
10+
export default (maybeIterable: any): boolean => {
1611
let iterator;
1712

18-
if (!_.isObject(target)) {
13+
if (!_.isObject(maybeIterable)) {
1914
return false;
2015
}
2116

2217
if (ITERATOR_SYMBOL) {
23-
iterator = target[ITERATOR_SYMBOL];
18+
iterator = maybeIterable[ITERATOR_SYMBOL];
2419
} else {
25-
iterator = target[OLD_ITERATOR_SYMBOL];
20+
iterator = maybeIterable[OLD_ITERATOR_SYMBOL];
2621
}
2722

2823
return _.isFunction(iterator);

src/linkClass.js

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,16 @@ import parseStyleName from './parseStyleName';
66
import generateAppendClassName from './generateAppendClassName';
77
import objectUnfreeze from 'object-unfreeze';
88

9+
import {
10+
ReactElement
11+
} from 'react';
12+
913
let linkElement;
1014

1115
linkElement = (element, styles, configuration) => {
1216
let appendClassName,
1317
elementIsFrozen,
14-
elementShallowCopy,
15-
styleNames;
18+
elementShallowCopy;
1619

1720
elementShallowCopy = element;
1821

@@ -24,7 +27,7 @@ linkElement = (element, styles, configuration) => {
2427
elementShallowCopy.props = objectUnfreeze(elementShallowCopy.props);
2528
}
2629

27-
styleNames = parseStyleName(elementShallowCopy.props.styleName || '', configuration.allowMultiple);
30+
const styleNames = parseStyleName(elementShallowCopy.props.styleName || '', configuration.allowMultiple);
2831

2932
if (React.isValidElement(elementShallowCopy.props.children)) {
3033
elementShallowCopy.props.children = linkElement(React.Children.only(elementShallowCopy.props.children), styles, configuration);
@@ -66,14 +69,12 @@ linkElement = (element, styles, configuration) => {
6669
* @returns {ReactElement}
6770
*/
6871
export default (element, styles = {}, userConfiguration) => {
69-
let configuration;
70-
7172
// @see https://github.com/gajus/react-css-modules/pull/30
7273
if (!_.isObject(element)) {
7374
return element;
7475
}
7576

76-
configuration = makeConfiguration(userConfiguration);
77+
const configuration = makeConfiguration(userConfiguration);
7778

7879
return linkElement(element, styles, configuration);
7980
};

src/makeConfiguration.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
import _ from 'lodash';
22
import Map from 'es6-map';
33

4-
let userConfigurationIndex;
5-
6-
userConfigurationIndex = new Map();
4+
const userConfigurationIndex = new Map();
75

86
/**
97
* @typedef CSSModules~Options

src/parseStyleName.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import _ from 'lodash';
22

3-
let styleNameIndex;
4-
5-
styleNameIndex = {};
3+
const styleNameIndex = {};
64

75
export default (styleNamePropertyValue: string, allowMultiple: boolean): Array<string> => {
86
let styleNames;

src/wrapStatelessFunction.js

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,13 @@
1-
/* eslint-disable react/prop-types */
2-
31
import _ from 'lodash';
42
import React from 'react';
53
import linkClass from './linkClass';
64

75
/**
86
* @see https://facebook.github.io/react/blog/2015/09/10/react-v0.14-rc1.html#stateless-function-components
9-
* @param {Function} Component
10-
* @param {Object} defaultStyles
11-
* @param {Object} options
12-
* @returns {Function}
137
*/
14-
export default (Component, defaultStyles, options) => {
15-
let WrappedComponent;
16-
17-
WrappedComponent = (props = {}, ...args) => {
18-
let renderResult,
19-
styles,
8+
export default (Component: Function, defaultStyles: Object, options: Object): Function => {
9+
const WrappedComponent = (props = {}, ...args) => {
10+
let styles,
2011
useProps;
2112

2213
if (props.styles) {
@@ -33,7 +24,7 @@ export default (Component, defaultStyles, options) => {
3324
styles = {};
3425
}
3526

36-
renderResult = Component(useProps, ...args);
27+
const renderResult = Component(useProps, ...args);
3728

3829
if (renderResult) {
3930
return linkClass(renderResult, styles, options);

tests/extendReactClass.js

Lines changed: 17 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,11 @@ describe('extendReactClass', () => {
1717
});
1818
context('using default styles', () => {
1919
it('exposes styles through this.props.styles property', (done) => {
20-
let Component,
21-
styles;
20+
let Component;
21+
22+
const styles = {
23+
foo: 'foo-1'
24+
};
2225

2326
Component = class extends React.Component {
2427
render () {
@@ -27,17 +30,12 @@ describe('extendReactClass', () => {
2730
}
2831
};
2932

30-
styles = {
31-
foo: 'foo-1'
32-
};
33-
3433
Component = extendReactClass(Component, styles);
3534

3635
TestUtils.renderIntoDocument(<Component />);
3736
});
3837
it('does not affect the other instance properties', (done) => {
39-
let Component,
40-
styles;
38+
let Component;
4139

4240
Component = class extends React.Component {
4341
render () {
@@ -46,7 +44,7 @@ describe('extendReactClass', () => {
4644
}
4745
};
4846

49-
styles = {
47+
const styles = {
5048
foo: 'foo-1'
5149
};
5250

@@ -57,8 +55,11 @@ describe('extendReactClass', () => {
5755
});
5856
context('overwriting default styles using "styles" property of the extended component', () => {
5957
it('overwrites default styles', (done) => {
60-
let Component,
61-
styles;
58+
let Component;
59+
60+
const styles = {
61+
foo: 'foo-1'
62+
};
6263

6364
Component = class extends React.Component {
6465
render () {
@@ -67,10 +68,6 @@ describe('extendReactClass', () => {
6768
}
6869
};
6970

70-
styles = {
71-
foo: 'foo-1'
72-
};
73-
7471
Component = extendReactClass(Component, {
7572
bar: 'bar-0',
7673
foo: 'foo-0'
@@ -81,11 +78,9 @@ describe('extendReactClass', () => {
8178
});
8279
context('rendering Component that returns null', () => {
8380
it('generates <noscript> element', () => {
84-
let Component,
85-
component,
86-
shallowRenderer;
81+
let Component;
8782

88-
shallowRenderer = TestUtils.createRenderer();
83+
const shallowRenderer = TestUtils.createRenderer();
8984

9085
Component = class extends React.Component {
9186
render () {
@@ -97,25 +92,22 @@ describe('extendReactClass', () => {
9792

9893
shallowRenderer.render(<Component />);
9994

100-
component = shallowRenderer.getRenderOutput();
95+
const component = shallowRenderer.getRenderOutput();
10196

10297
expect(component.type).to.equal('noscript');
10398
});
10499
});
105100
context('target component have static properties', () => {
106101
it('hoists static properties', () => {
107-
let Component,
108-
WrappedComponent;
109-
110-
Component = class extends React.Component {
102+
const Component = class extends React.Component {
111103
static foo = 'FOO';
112104

113105
render () {
114106
return null;
115107
}
116108
};
117109

118-
WrappedComponent = extendReactClass(Component);
110+
const WrappedComponent = extendReactClass(Component);
119111

120112
expect(Component.foo).to.equal('FOO');
121113
expect(WrappedComponent.foo).to.equal(Component.foo);

0 commit comments

Comments
 (0)