@@ -2,93 +2,80 @@ import { useCallback, useLayoutEffect, useRef } from 'react'
22import { NoValue } from '..'
33import { Facet , NO_VALUE , Option } from '../types'
44
5- // eslint-disable-next-line @typescript-eslint/no-explicit-any
6- export function useFacetCallback < M , V , C extends ( ...args : any [ ] ) => M | NoValue > (
7- callback : ( v : V ) => C ,
5+ export function useFacetCallback < M , V , K extends unknown [ ] > (
6+ callback : ( v : V ) => ( ...args : K ) => M ,
87 dependencies : unknown [ ] ,
98 facet : [ Facet < V > ] ,
10- ) : C
9+ ) : ( ... args : K ) => M | NoValue
1110
12- // eslint-disable-next-line @typescript-eslint/no-explicit-any
13- export function useFacetCallback < M , V , V1 , C extends ( ...args : any [ ] ) => M | NoValue > (
14- callback : ( v : V , v1 : V1 ) => C ,
11+ export function useFacetCallback < M , V , V1 , K extends unknown [ ] > (
12+ callback : ( v : V , v1 : V1 ) => ( ...args : K ) => M ,
1513 dependencies : unknown [ ] ,
1614 facet : [ Facet < V > , Facet < V1 > ] ,
17- ) : C
15+ ) : ( ... args : K ) => M | NoValue
1816
19- // eslint-disable-next-line @typescript-eslint/no-explicit-any
20- export function useFacetCallback < M , V , V1 , V2 , C extends ( ...args : any [ ] ) => M | NoValue > (
21- callback : ( v : V , v1 : V1 , v2 : V2 ) => C ,
17+ export function useFacetCallback < M , V , V1 , V2 , K extends unknown [ ] > (
18+ callback : ( v : V , v1 : V1 , v2 : V2 ) => ( ...args : K ) => M ,
2219 dependencies : unknown [ ] ,
2320 facet : [ Facet < V > , Facet < V1 > , Facet < V2 > ] ,
24- ) : C
21+ ) : ( ... args : K ) => M | NoValue
2522
26- // eslint-disable-next-line @typescript-eslint/no-explicit-any
27- export function useFacetCallback < M , V , V1 , V2 , V3 , C extends ( ...args : any [ ] ) => M | NoValue > (
28- callback : ( v : V , v1 : V1 , v2 : V2 , v3 : V3 ) => C ,
23+ export function useFacetCallback < M , V , V1 , V2 , V3 , K extends unknown [ ] > (
24+ callback : ( v : V , v1 : V1 , v2 : V2 , v3 : V3 ) => ( ...args : K ) => M ,
2925 dependencies : unknown [ ] ,
3026 facet : [ Facet < V > , Facet < V1 > , Facet < V2 > , Facet < V3 > ] ,
31- ) : C
27+ ) : ( ... args : K ) => M | NoValue
3228
33- // eslint-disable-next-line @typescript-eslint/no-explicit-any
34- export function useFacetCallback < M , V , V1 , V2 , V3 , V4 , C extends ( ...args : any [ ] ) => M | NoValue > (
35- callback : ( v : V , v1 : V1 , v2 : V2 , v3 : V3 , v4 : V4 ) => C ,
29+ export function useFacetCallback < M , V , V1 , V2 , V3 , V4 , K extends unknown [ ] > (
30+ callback : ( v : V , v1 : V1 , v2 : V2 , v3 : V3 , v4 : V4 ) => ( ...args : K ) => M ,
3631 dependencies : unknown [ ] ,
3732 facet : [ Facet < V > , Facet < V1 > , Facet < V2 > , Facet < V3 > , Facet < V4 > ] ,
38- ) : C
33+ ) : ( ... args : K ) => M | NoValue
3934
40- // eslint-disable-next-line @typescript-eslint/no-explicit-any
41- export function useFacetCallback < M , V , V1 , V2 , V3 , V4 , V5 , C extends ( ...args : any [ ] ) => M | NoValue > (
42- callback : ( v : V , v1 : V1 , v2 : V2 , v3 : V3 , v4 : V4 , v5 : V5 ) => C ,
35+ export function useFacetCallback < M , V , V1 , V2 , V3 , V4 , V5 , K extends unknown [ ] > (
36+ callback : ( v : V , v1 : V1 , v2 : V2 , v3 : V3 , v4 : V4 , v5 : V5 ) => ( ...args : K ) => M ,
4337 dependencies : unknown [ ] ,
4438 facet : [ Facet < V > , Facet < V1 > , Facet < V2 > , Facet < V3 > , Facet < V4 > , Facet < V5 > ] ,
45- ) : C
39+ ) : ( ... args : K ) => M | NoValue
4640
47- // eslint-disable-next-line @typescript-eslint/no-explicit-any
48- export function useFacetCallback < M , V , V1 , V2 , V3 , V4 , V5 , V6 , C extends ( ...args : any [ ] ) => M | NoValue > (
49- callback : ( v : V , v1 : V1 , v2 : V2 , v3 : V3 , v4 : V4 , v5 : V5 , v6 : V6 ) => C ,
41+ export function useFacetCallback < M , V , V1 , V2 , V3 , V4 , V5 , V6 , K extends unknown [ ] > (
42+ callback : ( v : V , v1 : V1 , v2 : V2 , v3 : V3 , v4 : V4 , v5 : V5 , v6 : V6 ) => ( ...args : K ) => M ,
5043 dependencies : unknown [ ] ,
5144 facet : [ Facet < V > , Facet < V1 > , Facet < V2 > , Facet < V3 > , Facet < V4 > , Facet < V5 > , Facet < V6 > ] ,
52- ) : C
45+ ) : ( ... args : K ) => M | NoValue
5346
54- // eslint-disable-next-line @typescript-eslint/no-explicit-any
55- export function useFacetCallback < M , V , V1 , V2 , V3 , V4 , V5 , V6 , V7 , C extends ( ...args : any [ ] ) => M | NoValue > (
56- callback : ( v : V , v1 : V1 , v2 : V2 , v3 : V3 , v4 : V4 , v5 : V5 , v6 : V6 , v7 : V7 ) => C ,
47+ export function useFacetCallback < M , V , V1 , V2 , V3 , V4 , V5 , V6 , V7 , K extends unknown [ ] > (
48+ callback : ( v : V , v1 : V1 , v2 : V2 , v3 : V3 , v4 : V4 , v5 : V5 , v6 : V6 , v7 : V7 ) => ( ...args : K ) => M ,
5749 dependencies : unknown [ ] ,
5850 facet : [ Facet < V > , Facet < V1 > , Facet < V2 > , Facet < V3 > , Facet < V4 > , Facet < V5 > , Facet < V6 > , Facet < V7 > ] ,
59- ) : C
51+ ) : ( ... args : K ) => M | NoValue
6052
61- // eslint-disable-next-line @typescript-eslint/no-explicit-any
62- export function useFacetCallback < M , V , V1 , V2 , V3 , V4 , V5 , V6 , V7 , V8 , C extends ( ...args : any [ ] ) => M | NoValue > (
63- callback : ( v : V , v1 : V1 , v2 : V2 , v3 : V3 , v4 : V4 , v5 : V5 , v6 : V6 , v7 : V7 , v8 : V8 ) => C ,
53+ export function useFacetCallback < M , V , V1 , V2 , V3 , V4 , V5 , V6 , V7 , V8 , K extends unknown [ ] > (
54+ callback : ( v : V , v1 : V1 , v2 : V2 , v3 : V3 , v4 : V4 , v5 : V5 , v6 : V6 , v7 : V7 , v8 : V8 ) => ( ...args : K ) => M ,
6455 dependencies : unknown [ ] ,
6556 facet : [ Facet < V > , Facet < V1 > , Facet < V2 > , Facet < V3 > , Facet < V4 > , Facet < V5 > , Facet < V6 > , Facet < V7 > , Facet < V8 > ] ,
66- ) : C
57+ ) : ( ... args : K ) => M | NoValue
6758
68- // eslint-disable-next-line @typescript-eslint/no-explicit-any
69- export function useFacetCallback < M , V , V1 , V2 , V3 , V4 , V5 , V6 , V7 , V8 , V9 , C extends ( ...args : any [ ] ) => M | NoValue > (
70- callback : ( v : V , v1 : V1 , v2 : V2 , v3 : V3 , v4 : V4 , v5 : V5 , v6 : V6 , v7 : V7 , v8 : V8 , v9 : V9 ) => C ,
59+ export function useFacetCallback < M , V , V1 , V2 , V3 , V4 , V5 , V6 , V7 , V8 , V9 , K extends unknown [ ] > (
60+ callback : ( v : V , v1 : V1 , v2 : V2 , v3 : V3 , v4 : V4 , v5 : V5 , v6 : V6 , v7 : V7 , v8 : V8 , v9 : V9 ) => ( ...args : K ) => M ,
7161 dependencies : unknown [ ] ,
7262 facet : [ Facet < V > , Facet < V1 > , Facet < V2 > , Facet < V3 > , Facet < V4 > , Facet < V5 > , Facet < V6 > , Facet < V7 > , Facet < V8 > , Facet < V9 > ] ,
73- ) : C
74-
75- export function useFacetCallback <
76- M ,
77- V ,
78- V1 ,
79- V2 ,
80- V3 ,
81- V4 ,
82- V5 ,
83- V6 ,
84- V7 ,
85- V8 ,
86- V9 ,
87- V10 ,
88- // eslint-disable-next-line @typescript-eslint/no-explicit-any
89- C extends ( ...args : any [ ] ) => M | NoValue ,
90- > (
91- callback : ( v : V , v1 : V1 , v2 : V2 , v3 : V3 , v4 : V4 , v5 : V5 , v6 : V6 , v7 : V7 , v8 : V8 , v9 : V9 , v10 : V10 ) => C ,
63+ ) : ( ...args : K ) => M | NoValue
64+
65+ export function useFacetCallback < M , V , V1 , V2 , V3 , V4 , V5 , V6 , V7 , V8 , V9 , V10 , K extends unknown [ ] > (
66+ callback : (
67+ v : V ,
68+ v1 : V1 ,
69+ v2 : V2 ,
70+ v3 : V3 ,
71+ v4 : V4 ,
72+ v5 : V5 ,
73+ v6 : V6 ,
74+ v7 : V7 ,
75+ v8 : V8 ,
76+ v9 : V9 ,
77+ v10 : V10 ,
78+ ) => ( ...args : K ) => M ,
9279 dependencies : unknown [ ] ,
9380 facet : [
9481 Facet < V > ,
@@ -103,7 +90,7 @@ export function useFacetCallback<
10390 Facet < V9 > ,
10491 Facet < V10 > ,
10592 ] ,
106- ) : C
93+ ) : ( ... args : K ) => M | NoValue
10794
10895/**
10996 * Creates a callback that depends on the value of a facet.
@@ -117,7 +104,7 @@ export function useFacetCallback<
117104 * Having this as the second argument allows the linter to work.
118105 */
119106export function useFacetCallback < M > (
120- callback : ( ...args : unknown [ ] ) => ( ...args : unknown [ ] ) => M | NoValue ,
107+ callback : ( ...args : unknown [ ] ) => ( ...args : unknown [ ] ) => M ,
121108 dependencies : unknown [ ] ,
122109 facets : Facet < unknown > [ ] ,
123110) : ( ...args : unknown [ ] ) => M | NoValue {
0 commit comments