-
-
Notifications
You must be signed in to change notification settings - Fork 21
/
Copy pathdebounceTimeSubsequent.ts
34 lines (30 loc) · 976 Bytes
/
debounceTimeSubsequent.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/**
* @license Use of this source code is governed by an MIT-style license that
* can be found in the LICENSE file at https://github.com/cartant/rxjs-etc
*/
import { MonoTypeOperatorFunction, SchedulerLike } from "rxjs";
import { debounceTime } from "rxjs/operators";
import { subsequent } from "./subsequent";
export function debounceTimeSubsequent<T>(
duration: number,
count: number,
scheduler?: SchedulerLike
): MonoTypeOperatorFunction<T>;
export function debounceTimeSubsequent<T>(
duration: number,
scheduler?: SchedulerLike
): MonoTypeOperatorFunction<T>;
export function debounceTimeSubsequent<T>(
duration: number,
countOrScheduler?: number | SchedulerLike,
scheduler?: SchedulerLike
): MonoTypeOperatorFunction<T> {
let count: number;
if (typeof countOrScheduler === "number") {
count = countOrScheduler;
} else {
count = 1;
scheduler = countOrScheduler;
}
return subsequent(count, debounceTime(duration, scheduler));
}