File tree Expand file tree Collapse file tree 1 file changed +20
-14
lines changed Expand file tree Collapse file tree 1 file changed +20
-14
lines changed Original file line number Diff line number Diff line change 1
1
import { asyncMap } from './async-map'
2
2
3
+ /**
4
+ * Build an array of the numbers from `start` to `end`
5
+ *
6
+ * @param start number to start from
7
+ * @param end number to end at
8
+ * @returns an array of numbers
9
+ */
10
+ export const numberArray = ( start : number , end : number ) => {
11
+ const a : number [ ] = [ ]
12
+
13
+ for ( let i = start ; i <= end ; i ++ ) {
14
+ a . push ( i )
15
+ }
16
+
17
+ return a
18
+ }
19
+
3
20
/**
4
21
* Repeat the given function `number` times
5
22
*
6
23
* @param number The number of times to itterate
7
24
* @param cb The function to run
8
25
*/
9
26
export const times = < T > ( number : number , cb : ( i : number ) => T ) : T [ ] => {
10
- const result : T [ ] = [ ]
11
- for ( let i = 1 ; i <= number ; i ++ ) {
12
- result . push ( cb ( i ) )
13
- }
14
-
15
- return result
27
+ return numberArray ( 1 , number ) . map ( cb )
16
28
}
17
29
18
30
/**
@@ -25,13 +37,7 @@ export const asyncTimes = async <T>(
25
37
number : number ,
26
38
cb : ( i : number ) => Promise < T >
27
39
) : Promise < T [ ] > => {
28
- const numbers : number [ ] = [ ]
29
-
30
- for ( let i = 1 ; i <= number ; i ++ ) {
31
- numbers . push ( i )
32
- }
33
-
34
- return asyncMap ( numbers , cb )
40
+ return asyncMap ( numberArray ( 1 , number ) , cb )
35
41
}
36
42
37
- // {times, asyncTimes}
43
+ // {numberArray, times, asyncTimes}
You can’t perform that action at this time.
0 commit comments