File tree Expand file tree Collapse file tree 3 files changed +36
-0
lines changed Expand file tree Collapse file tree 3 files changed +36
-0
lines changed Original file line number Diff line number Diff line change
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 ;
Original file line number Diff line number Diff line change
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 ;
Original file line number Diff line number Diff line change
1
+ const reverse = list => Array . prototype . slice . call ( list , 0 ) . reverse ( ) ;
2
+
3
+ export default reverse ;
You can’t perform that action at this time.
0 commit comments