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 */