presentation/elements/tappable_action
library
Classes
-
AsyncDebouncer
-
Async debouncing with auto-cancellation of previous calls.
Returns null if cancelled by a newer invocation.
-
AsyncExecutor
-
Handles async operations with concurrency control and cancellation.
-
AsyncThrottler
-
Async throttling with process-based locking.
-
BatchThrottler<T>
-
Collects multiple actions and executes them as a single batch after a pause.
-
CallbackController
-
Base class for synchronous callback controllers (Throttler, Debouncer).
-
Debouncer
-
Waits for a pause in activity before executing. Supports leading/trailing edge.
-
HighFrequencyThrottler
-
Optimized for high-frequency events (16-32ms intervals like scroll/resize).
Uses DateTime.now() comparison instead of Timer objects for reduced overhead.
-
ITappableActionGroupManager
-
Interface for group management to enable testing
-
RateLimiter
-
Token bucket algorithm for sustained rate limiting with burst capacity.
Uses Stopwatch (monotonic clock) for accurate timing.
-
TapDebouncer
-
-
TapMetrics
-
Metrics data for tap analytics and observability.
-
TappableAction
-
Enhanced TappableAction with production-grade reliability
-
TappableActionConfig
-
Configuration for TappableAction behavior
-
TappableActionGroupConfig
-
Configuration for TappableActionGroupManager
-
TappableActionGroupManager
-
Production-grade group manager with comprehensive safety measures
-
TappableActionInkedWell
-
Simplified InkedWell wrapper
-
ThrottleDebouncer
-
Combines throttle + debounce: executes immediately (leading edge),
then again after pause (trailing edge).
-
Throttler
-
Executes immediately on first call, blocks subsequent calls until duration passes.
-
TimerFactory
-
Factory for creating timers (enables testing)