@@ -7,10 +7,10 @@ export type SetCleanupFunction = (cf: CleanupFunction) => void
7
7
// astrai il possibile, grz E { [s: string]: Ref<T> } nn permette altri valori non Ref<T>, ma
8
8
// Ref<T> | unknown === unknown :(
9
9
10
- export function useSwitchMap < T > (
10
+ export function useSwitchMap < T , U > (
11
11
ref : Ref < T > ,
12
- projectionFromValuesToRefs : ( value : T , scf : SetCleanupFunction ) => Ref < T >
13
- ) : Ref < T > {
12
+ projectionFromValuesToRefs : ( value : T , scf : SetCleanupFunction ) => Ref < U >
13
+ ) : Ref < U > {
14
14
15
15
// cleanup function on ref.value update
16
16
let localCleanup : CleanupFunction = ( ) => { }
@@ -24,9 +24,9 @@ export function useSwitchMap<T>(
24
24
25
25
let dependenciesTrigger : ( ) => void = ( ) => { }
26
26
27
- let projectedRef : null | Ref < T > = null ;
27
+ let projectedRef : null | Ref < U > = null ;
28
28
29
- let localValue : T | null = null
29
+ let localValue : U | null = null
30
30
31
31
// projectedRef must not register this function as dependency
32
32
// it will have its own
@@ -46,7 +46,7 @@ export function useSwitchMap<T>(
46
46
// projectedRef.value has changed, we've got a new value
47
47
// so we must notify our dependencies
48
48
dependenciesTrigger ( )
49
- } , { immediate : true , deep : true } ) // the ref could contain an object
49
+ } , { immediate : true , deep : true } )
50
50
51
51
} , { immediate : true , deep : true } ) // the ref could contain an object
52
52
@@ -66,7 +66,7 @@ export function useSwitchMap<T>(
66
66
// not so much sense on changing this customRef value
67
67
// because it's value strictly depends on ref.value and projectedRef.value updates
68
68
// it will be overwritten as soon as ref.value / projectedRef.value changes
69
- set ( value : T ) {
69
+ set ( value : U ) {
70
70
localValue = value
71
71
dependenciesTrigger ( )
72
72
}
0 commit comments