@@ -3,7 +3,8 @@ export const range = (end: number, start = 0): number[] =>
3
3
. fill ( undefined )
4
4
. map ( ( _ , i ) => start + i )
5
5
6
- export const to = < A , T > ( fn : ( items : A [ ] ) => T ) =>
6
+ export const to =
7
+ < A , T > ( fn : ( items : A [ ] ) => T ) =>
7
8
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
8
9
( sum : any , _item : A , index : number , all : A [ ] ) : T => {
9
10
const isLast = index === all . length - 1
@@ -15,16 +16,21 @@ export const to = <A, T>(fn: (items: A[]) => T) =>
15
16
return fn ( all )
16
17
}
17
18
18
- export const constant = < T > ( value : T ) : ( ( ) => T ) => ( ) => value
19
+ export const constant =
20
+ < T > ( value : T ) : ( ( ) => T ) =>
21
+ ( ) =>
22
+ value
19
23
20
24
export const identity = < T > ( x : T ) : T => x
21
25
22
- export const toIndexedObject = < T , V , R extends { [ key : string ] : V } > (
23
- fn : ( item : T , index : number ) => [ string , V ] ,
24
- ) => ( sum : R , item : T , index : number ) : R => {
25
- const [ key , value ] = fn ( item , index )
26
- return ( ( sum as { [ key : string ] : V } ) [ key ] = value ) , sum
27
- }
26
+ export const toIndexedObject =
27
+ < T , V , R extends { [ key : string ] : V } > (
28
+ fn : ( item : T , index : number ) => [ string , V ] ,
29
+ ) =>
30
+ ( sum : R , item : T , index : number ) : R => {
31
+ const [ key , value ] = fn ( item , index )
32
+ return ( ( sum as { [ key : string ] : V } ) [ key ] = value ) , sum
33
+ }
28
34
29
35
export const mapToIndexedObject = < T , V , R extends { [ key : string ] : V } > (
30
36
fn : ( item : T , index : number ) => [ string , V ] ,
0 commit comments