Skip to content

Instantly share code, notes, and snippets.

@kruschid
kruschid / debouncedBuffer.ts
Created April 19, 2023 19:00
rxjs debounced buffer operator
export const debouncedBufferTime = <T extends object>(
time: number
) => (
observable: Observable<T>
): Observable<T[]> => {
const messageSubject = new Subject<1>();
const debouncedMessage$ = messageSubject.pipe(debounceTime(time));
return observable.pipe(
tap(() => messageSubject.next(1)),
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCQGNCO8lk3iGP7P/QQxwAeqqQNFgEgCbzJ6RZWyHJ16zwEEd50Th2ejmeylj/qWAY6ZCq8ktnixjlkRyPSS+uECv7sebmOGmew5a53pNF10xzH9kEuWPnVV9H8lBxoxVbvz+PD210Y+bSIIgStJh8IxgfI49z4cDoCAsoQCfVI9t+MOjH8K8f9nZqELP0k5jzqhODq+kCW0i37tnRvuzoUMYgezuq4iaLSiIjlwH2iVAc4aTubVpbglz/kUrxxQahawrn6JTs3H/hsGMH44lxCDRBbw7lVS0IE8pOYzc4T1EA9C1CIALvytl9206KxoEi2jnKkQrtIDMeaG5KLaw9j3PA/VcOExq3OeLMqgvSmJZTy2voUdSi1ogR5puvUnJ9gvJ5BFrpqVLhFILA6pzPU2bfviGHVnhKjIodPAkQagz5s1RfpbMT8hkDPtSMdx13mCir1yHr4MIiXTLrSUOnbcWKVJ096+D4jj1nXZA8zX1HGkAxQSPubJxB1JtrFIhc= pi@raspberrypi
@kruschid
kruschid / eventually.ts
Created November 14, 2019 16:27
eventually
const eventually = <T extends any>(
cb: () => Promise<T>,
timeout = 20000,
interval = 1000
): Promise<T> =>
timeout <= 0
? Promise.reject()
: cb().catch(() =>
new Promise((resolve) => {
setTimeout(

Keybase proof

I hereby claim:

  • I am kruschid on github.
  • I am kruschid (https://keybase.io/kruschid) on keybase.
  • I have a public key ASAPH__gGuWG-Wi3Fx9NbSlWrtdoRwaOXLtJTMkD9135Iwo

To claim this, I am signing this object: