Settings to control how debouncing should work.
This should be constructed using defaultDebounceSettings and record
update syntax, e.g.:
let settings = defaultDebounceSettings { debounceAction = flushLog }
Constructors
DebounceSettingsdebounceFreq :: IntLength of the debounce timeout period in microseconds.
Default: 1 second (1000000)
debounceAction :: IO ()Action to be performed.
Note: all exceptions thrown by this action will be silently discarded.
Default: does nothing.
debounceEdge :: DebounceEdgeWhether to perform the action on the leading edge or trailing edge of the timeout.
Default: leadingEdge.
debounceThreadName :: StringLabel of the thread spawned when debouncing.
Default:
.Debounce