RateLimiterдобавлен вSctrictметодыApiWrap- Теперь вместо вызова onCancelOperation в
RateLimiter, будет вызыватьсяonErrorcRateCancelError - Добавлены параметры
delayTickInterval,onDelayTick,onDelayStart,onDelayEndвDebounce - Добавлены тесты для
ApiWrap,RetryиRateLimiter
- Добавлен метод
selectDataкAsycnValue, который похож наAsyncValue.whenData, но позволяет выбирать часть из состояния провайдера, поддерживая skipLoadingOnReload, skipLoadingOnRefresh и skipError - Исправлена ошибка, связанная с использованием
AsyncValue.whenDataвAsyncBuilder.paginated
- В
AsyncBuilder.paginatedдобавлена функция для возможности кастомизируемой отложенной анимации для элементов списка с помощью одногоAnimationController. ДобавленItemAnimationSettingsс параметрами для настройки анимации
- Добавлены хуки
useAppLifecycleListenerиuseListener
- Исправлена обработка
ErrorTypeвRetry, добавлен парамертminDelay - Исправлено взаимодействие
RateLimiterиRetry
- Добавлен
AsyncBuilder- виджет для упрощения работы с асинхронными данными, предоставляет билдеры по умолчанию для обработки состояний загрузки и обработки ошибок - Добавлен
AsyncBuilder.paginated- функция для организации пагинации списков с дополнительным функционалом, помогает управлять загрузкой данных с пагинацией, предоставляя удобный интерфейс для отображения загруженных элементов, обработки состояний загрузки и ошибок, а также предварительной загрузки данных для следующих страниц
- Добавлен
TokenStorage,userChangedProviderиuserAuthorizedProvider
- Добавлен
DurationUtilsX - В
ApiWrapControllerдобавлены методы для ручного завершенияDebounceиThrottle - Теперь
ApiWrapбудет корректно обрабатыватьApiError, не оборачивая его ещё в один - Рефакторинг
RateLimiter
- Улучшение и ренейминг в
ApiWrapAPI. Обновлена документация и добавлены Strict-методы, которые могут выдавать ошибку по умолчанию, если не задан onError - В
ApiWrapдобавлен genericErrorType, вApiWrapController- методparseError. Это позваляет задать кастомный тип ошибки и в onError работать напрямую с ним
- Новое API валидаторов, теперь они принимают функцию
getStateдля получения состояния для валидации и саму функцию валидации. - Асинхронные функции валидации теперь могут принимать
softMode
- Рефакторинг
RateLimiter - Параметр
includeRequestTimeвThrottleзаменён на enumcooldownLaunch, вDebounce- наshouldCancelRunningOperationsдля предоставления более понятного и очевидного API - Добавлены параметры
cooldownTickDelay,onTickCooldown,onStartCooldown,onEndCooldownвThrottleдля возможности обработки кулдауна в приложении
- Ренейминг
ErrorReponse->ApiError - Добавлен
ErrorTypeвApiError, позволяющий использовать кастомные классы ошибок, специфичных для приложения или бэкенда
- Исправление и рефакторинг метода
setErrorвSingleValidatorBase
- Добавлен параметр
errorVisibilityвApiWrap
- Добавлен параметр
executeIfвApiWrap
- Initial version
- Добавлен
ApiWrap, позволяющий более удобно и безопасно работать с любым API, предоставляя методы для обработки разных результатов функций с автоматической или ручной обработкой ошибок - Добавлен
RateLimiterвApiWrap, позволяющий бесшовно реализоватьDebounceиThrottleдля любых функций - Добавлен
RetryвApiWrap, позволяющий возможности при ошибке отправлять запросы повторно через регулируемое время - Добавлены
SingleValidatorиAsyncSingleValidator, которые с помощьюRiverpodвыполняют всю работу по управлению состоянием и предоставляют методы, позволяющие реализовать различные типы валидации - Добавлен
PersistenceMixin, позволяющий сохранять состояниеNotifierпри выходе из приложения - Добавлено расширение
AsyncUtils, предоставляющий методы для более удобного управления асинхронным состоянием вAsyncNotifier - Добавлены виджеты
AutoUnfocus,SliverBottomAlignиToastCard