debounce method
debounce implementation
wrap an AuthRepository with debouncing to disallow too many token refresh calls in a timed window.
it should be wrapped first with lock then debounce.
Implementation
AuthRepository debounce(Duration duration) => AuthRepositoryDebounceImpl(
this,
duration: duration,
);