Skip to content

Commit f77e2dd

Browse files
authored
refactor pure method to pure function for readability (#142)
1 parent f874e14 commit f77e2dd

File tree

1 file changed

+20
-20
lines changed

1 file changed

+20
-20
lines changed

addon/modifiers/style.js

+20-20
Original file line numberDiff line numberDiff line change
@@ -7,28 +7,28 @@ function isObject(o) {
77
return typeof o === 'object' && Boolean(o);
88
}
99

10+
/**
11+
* Returns a two-dimensional array, like:
12+
*
13+
* ```js
14+
* [
15+
* ['font-size', '16px'],
16+
* ['text-align', 'center'],
17+
* ['color', 'red']
18+
* ]
19+
* ```
20+
*
21+
* This data structure is slightly faster to process than an object / dictionary.
22+
*/
23+
function compileStyles(positional, named) {
24+
return [...positional.filter(isObject), named]
25+
.map((obj) => Object.entries(obj).map(([k, v]) => [dasherize(k), v]))
26+
.flat();
27+
}
28+
1029
export default class StyleModifier extends Modifier {
1130
existingStyles = new Set();
1231

13-
/**
14-
* Returns a two-dimensional array, like:
15-
*
16-
* ```js
17-
* [
18-
* ['font-size', '16px'],
19-
* ['text-align', 'center'],
20-
* ['color', 'red']
21-
* ]
22-
* ```
23-
*
24-
* This data structure is slightly faster to process than an object / dictionary.
25-
*/
26-
getStyles(positional, named) {
27-
return [...positional.filter(isObject), named]
28-
.map((obj) => Object.entries(obj).map(([k, v]) => [dasherize(k), v]))
29-
.flat();
30-
}
31-
3232
setStyles(element, newStyles) {
3333
const { existingStyles } = this;
3434
const rulesToRemove = new Set(existingStyles);
@@ -71,6 +71,6 @@ export default class StyleModifier extends Modifier {
7171
}
7272

7373
modify(element, positional, named) {
74-
this.setStyles(element, this.getStyles(positional, named));
74+
this.setStyles(element, compileStyles(positional, named));
7575
}
7676
}

0 commit comments

Comments
 (0)