UNPKG

@lifaon/rx-js-light

Version:

Blazing fast Observables

22 lines (21 loc) 543 B
import {createTimeout} from "../../../../../../misc/timer/create-timeout.mjs"; export function debounceTimeObservable(subscribe, duration) { return emit => { let abortTimeout = null; const unsubscribe = subscribe(value => { if (abortTimeout !== null) { abortTimeout(); } abortTimeout = createTimeout(() => { abortTimeout = null; emit(value); }, duration); }); return () => { unsubscribe(); if (abortTimeout !== null) { abortTimeout(); } }; }; }