evt
Version:
Type safe replacement for node's EventEmitter
19 lines (15 loc) • 508 B
text/typescript
import { compose } from "../lib/util/compose";
export const throttleTime = <T>(duration: number) =>
compose<T, { data: T; lastClick: number; }, T>(
[
(data, { lastClick }) => {
const now = Date.now();
return now - lastClick < duration ?
null :
[{ data, "lastClick": now }]
;
},
{ "lastClick": 0, "data": null as any }
],
({ data }) => [data]
);