( liveData: Input )
| 18 | * subscribe LiveData and return the value. |
| 19 | */ |
| 20 | export function useLiveData<Input extends LiveData<any> | null | undefined>( |
| 21 | liveData: Input |
| 22 | ): NonNullable<Input> extends LiveData<infer T> |
| 23 | ? Input extends undefined |
| 24 | ? T | undefined |
| 25 | : Input extends null |
| 26 | ? T | null |
| 27 | : T |
| 28 | : never { |
| 29 | return useSyncExternalStore( |
| 30 | liveData ? liveData.reactSubscribe : noopSubscribe, |
| 31 | liveData |
| 32 | ? liveData.reactGetSnapshot |
| 33 | : liveData === undefined |
| 34 | ? undefinedGetSnapshot |
| 35 | : nullGetSnapshot |
| 36 | ); |
| 37 | } |
no outgoing calls