Debounce.res.mjs
1// Generated by ReScript, PLEASE EDIT WITH CARE
2
3
4function make(fn, delay) {
5 let state = {
6 timeoutId: undefined
7 };
8 let id = setTimeout(() => {
9 fn();
10 state.timeoutId = undefined;
11 }, delay);
12 state.timeoutId = id;
13 return state;
14}
15
16function cancel(state) {
17 let id = state.timeoutId;
18 if (id !== undefined) {
19 clearTimeout(id);
20 state.timeoutId = undefined;
21 return;
22 }
23}
24
25export {
26 make,
27 cancel,
28}
29/* No side effect */