UNPKG

@snap/camera-kit

Version:
22 lines 892 B
import { Observable, asyncScheduler, buffer, debounceTime, tap } from "rxjs"; export function debounceTimeAfter(amount, duration, scheduler = asyncScheduler) { return (source) => { return new Observable((subscriber) => { let iterationCount = 0; return source .pipe(tap((value) => { iterationCount++; if (iterationCount <= amount) { subscriber.next({ type: "initial", value }); } }), buffer(source.pipe(debounceTime(duration, scheduler))), tap((values) => { if (iterationCount > amount) { subscriber.next({ type: "debounced", values: values.slice(amount) }); } iterationCount = 0; })) .subscribe(); }); }; } //# sourceMappingURL=debounceTimeAfter.js.map