Skip to content

Commit 39297b6

Browse files
authored
refactor: remove ramda from stylesheet package (diegomura#1829)
0 parents  commit 39297b6

File tree

3 files changed

+36
-0
lines changed

3 files changed

+36
-0
lines changed

castArray.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/**
2+
* Casts value to array
3+
*
4+
* @param {any} value
5+
* @returns {Array} casted value
6+
*/
7+
const castArray = value => {
8+
return Array.isArray(value) ? value : [value];
9+
};
10+
11+
export default castArray;

compose.js

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/* eslint-disable no-await-in-loop */
2+
3+
import reverse from './reverse';
4+
5+
/**
6+
* Performs right-to-left function composition
7+
*
8+
* @param {...any} functions
9+
*/
10+
const compose = (...fns) => (value, ...args) => {
11+
let result = value;
12+
const reversedFns = reverse(fns);
13+
14+
for (let i = 0; i < reversedFns.length; i += 1) {
15+
const fn = reversedFns[i];
16+
result = fn(result, ...args);
17+
}
18+
19+
return result;
20+
};
21+
22+
export default compose;

reverse.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
const reverse = list => Array.prototype.slice.call(list, 0).reverse();
2+
3+
export default reverse;

0 commit comments

Comments
 (0)