RxJS operators transform, filter or combine streams, and are chained with pipe. map transforms each value, filter keeps some of them, switchMap switches to a new Observable by canceling the previous one, debounceTime waits for a pause in the emissions.
Example
recherche$.pipe(
debounceTime(300),
switchMap(q => http.get(`/api?q=${q}`))
)