File tree 5 files changed +23
-15
lines changed
5 files changed +23
-15
lines changed Original file line number Diff line number Diff line change @@ -18,7 +18,9 @@ export const Subscribe: React.FC<{
18
18
useEffect ( ( ) => {
19
19
const subscription = source$ . subscribe ( )
20
20
setMounted ( 1 )
21
- return ( ) => subscription . unsubscribe ( )
21
+ return ( ) => {
22
+ subscription . unsubscribe ( )
23
+ }
22
24
} , [ source$ ] )
23
25
return < > { mounted ? children : fallback } </ >
24
26
}
Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ import { BehaviorObservable } from "./BehaviorObservable"
3
3
import { EMPTY_VALUE } from "./empty-value"
4
4
5
5
const reactEnhancer = < T > ( source$ : BehaviorObservable < T > ) : ( ( ) => T ) => {
6
- let promise : Promise < T | void > | undefined
6
+ let promise : Promise < T | void > | null
7
7
let error : any = EMPTY_VALUE
8
8
9
9
return ( ) : T => {
@@ -46,11 +46,11 @@ const reactEnhancer = <T>(source$: BehaviorObservable<T>): (() => T) => {
46
46
subscription . unsubscribe ( )
47
47
}
48
48
} ) . finally ( ( ) => {
49
- promise = undefined
49
+ promise = null
50
50
} )
51
51
52
52
if ( value !== EMPTY_VALUE ) {
53
- promise = undefined
53
+ promise = null
54
54
return value
55
55
}
56
56
Original file line number Diff line number Diff line change @@ -7,8 +7,8 @@ const shareLatest = <T>(
7
7
shouldComplete = true ,
8
8
teardown = noop ,
9
9
) : BehaviorObservable < T > => {
10
- let subject : Subject < T > | undefined
11
- let subscription : Subscription | undefined | null
10
+ let subject : Subject < T > | null
11
+ let subscription : Subscription | null
12
12
let refCount = 0
13
13
let currentValue : T = EMPTY_VALUE
14
14
@@ -25,16 +25,16 @@ const shareLatest = <T>(
25
25
} ,
26
26
( err ) => {
27
27
const _subject = subject
28
- subscription = undefined
29
- subject = undefined
28
+ subscription = null
29
+ subject = null
30
30
_subject ! . error ( err )
31
31
} ,
32
32
( ) => {
33
- subscription = undefined
33
+ subscription = null
34
34
shouldComplete && subject ! . complete ( )
35
35
} ,
36
36
)
37
- if ( subscription . closed ) subscription = undefined
37
+ if ( subscription . closed ) subscription = null
38
38
} else {
39
39
innerSub = subject . subscribe ( subscriber )
40
40
if ( currentValue !== EMPTY_VALUE ) {
@@ -51,8 +51,8 @@ const shareLatest = <T>(
51
51
subscription . unsubscribe ( )
52
52
}
53
53
teardown ( )
54
- subject = undefined
55
- subscription = undefined
54
+ subject = null
55
+ subscription = null
56
56
}
57
57
}
58
58
} ) as BehaviorObservable < T >
Original file line number Diff line number Diff line change @@ -21,7 +21,9 @@ export const useObservable = <O>(
21
21
} )
22
22
}
23
23
24
- let subscription = source$ . subscribe ( ( val ) => ( syncVal = val ) , onError )
24
+ let subscription = source$ . subscribe ( ( val ) => {
25
+ syncVal = val
26
+ } , onError )
25
27
if ( err !== EMPTY_VALUE ) return
26
28
27
29
const set = ( val : O | ( ( ) => O ) ) => {
@@ -37,7 +39,9 @@ export const useObservable = <O>(
37
39
} , onError )
38
40
t . unsubscribe ( )
39
41
40
- return ( ) => subscription . unsubscribe ( )
42
+ return ( ) => {
43
+ subscription . unsubscribe ( )
44
+ }
41
45
} , keys )
42
46
43
47
return state as Exclude < O , typeof SUSPENSE >
Original file line number Diff line number Diff line change @@ -13,6 +13,8 @@ import { useEffect } from "react"
13
13
export const useSubscribe = < T > ( source$ : Observable < T > ) => {
14
14
useEffect ( ( ) => {
15
15
const subscription = source$ . subscribe ( )
16
- return ( ) => subscription . unsubscribe ( )
16
+ return ( ) => {
17
+ subscription . unsubscribe ( )
18
+ }
17
19
} , [ source$ ] )
18
20
}
You can’t perform that action at this time.
0 commit comments