I am looking for an operator that works similarly to debounce(ms), but it fires the first event, then waits ms and then fires the first event and so on.
Basically, I would like to filter events that happen very close to each other (in terms of time), but not wait for the last one, but pick the first one instead.
Is there such an operator, or maybe it is not hard to make one?
I've actually compiled a comparative marble diagram for these operators, might be helpful as a cheatsheet:

As @oles-savluk already mentioned, you seem to need throttleTime
Play with it here: debounceTime vs throttleTime vs auditTime vs sampleTime.
Hope this helps
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With