UNPKG

evt

Version:

Type safe replacement for node's EventEmitter

19 lines (15 loc) 508 B
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] );