y_infra 0.0.6
y_infra: ^0.0.6 copied to clipboard
A reusable Flutter infrastructure package — cache, storage, auth, network, database, permissions, formatters, and more.
0.0.5 #
- BREAKING:
CrudCubit<T>→CrudCubit<T, Id>— generic ID type instead of hardcodedint - BREAKING:
PaginatedCubit<T>→PaginatedCubit<T, Id>— generic ID type instead of hardcodedint - BREAKING:
BaseOperationCubit<TResult>→BaseOperationCubit<TResult, Id>— generic ID type fortargetId - BREAKING:
EndpointResponseLogDataandNetworkResponseLogDatanow take plain fields (statusCode,body,url) instead ofhttpResponse - BREAKING:
CrudSavedandCrudDeletednow carry anitemsfield;CrudCubitemits a single state instead of two - Fixed
AuthInterceptorandIRemoteDatasourcedepending on concreteAuthTokenStorageinstead ofIAuthTokenStorage - Fixed
ExternalStoragePermissionHandler.g2gchecking wrong permission (Permission.storagevsPermission.manageExternalStorage) - Fixed
AppNavObserver.didPop/didRemoveremoving wrong routes from the navigation stack - Fixed
EventLogData.messagethrowingUnimplementedError— now accepts a message string - Fixed
TokenPairnot extendingEquatable, causing missed state changes inAuthState - Added
ErrorMessages— centralised, overridable error messages for i18n support - Updated all error types and
ErrorMapperto useErrorMessages.instanceinstead of hardcoded English - Removed
LocationServiceauto-init in constructor — consumers now callinit()explicitly - Removed
httppackage dependency (no longer needed)
0.0.4 #
- Added
InterceptorPipelinefor composable Dio interceptor chains - Added
AuthCubitwith token check, login/logout, and auto-logout on auth failures - Added
AuthStatehierarchy (AuthInitial,AuthLoading,Authenticated,Unauthenticated) - Added
UnauthenticatedReasonenum (noToken,sessionExpired,loggedOut) - Added
FilterableMixin— generic filtering mixin for any Cubit (search, sort, filter) - Improved
BaseOperationCubit— now generic with built-inexecute()and duplicate call guard - Removed
SafeOperationMixin(merged intoBaseOperationCubit) - Removed
FilterablePaginatedCubit(usePaginatedCubit with FilterableMixininstead) - Removed
CorrelationIdInterceptor - Restructured
data/network/intoconfig/,datasource/,interceptors/,objects/ - Restructured
utils/formatters/intoinput/anddisplay/subfolders - Moved
token_pair.darttoauth/objects/ - Moved
components/to top-levellib/components/ - Moved
mixins/to top-levellib/mixins/ - Moved
map_launchertoutils/map/with configurable URLs and error message - Added doc comments to all files
- Updated README with full usage examples
0.0.3 #
- Added TTL (time-to-live) support to cache system
- Added ConnectivityService for network status monitoring (connectivity_plus)
0.0.2 #
- Added SeparatorInputFormatter as configurable base for input formatters
- Added CreditCardNumberInputFormatter and CardExpiryInputFormatter
- Added IAuthTokenStorage interface
- Added YInfraColors ThemeExtension
- Restructured package into core/, data/, domain/, platform/, base_features/, utils/
- Updated all dependencies to latest versions
0.0.1 #
- Initial release
- Core: cache, errors, log, notifier, storage, theme
- Data: database (SQLite), file (CSV/JSON), network (Dio interceptors, config)
- Domain: repository with queue/dedup and cache invalidation
- Auth: token pair storage
- Firebase: analytics, messaging, realtime database abstractions
- Push: notification management with Awesome Notifications
- Platform: permission handlers, location service
- Base Features: CRUD, list, paginated, operation cubits + filterable mixin
- Utils: formatters, generators (UUID), validators, routing
- Base Features: SnackBarY mixin, MapLauncher, bottom sheet selector