refreshed library

Library providing a collection of utilities and modules for managing state, navigation, animations, and more.

This library exports various sub-modules and utilities that can be used to build Flutter applications with improved state management, navigation handling, animation effects, and other functionalities.

Classes

BackButtonCallback
A widget that listens to back button events and provides custom back button handling.
Bind<T>
Abstract class representing a binding widget responsible for managing a specific type of controller.
BindElement<T>
The BindElement is responsible for injecting dependencies into the widget tree so that they can be observed.
Binder<T>
An inherited widget that updates its dependents when the controller sends notifications.
Binding<T>
Binding should be extended. When using GetMaterialApp, all GetPages and navigation methods (like Get.to()) have a binding property that takes an instance of Bindings to manage the dependencies() (via Get.put()) for the Route you are opening.
BindingsInterface<T>
Defines a contract for classes that provide dependencies for a specific type T.
Binds<S>
A widget responsible for managing a list of bindings and providing them to its child widget.
CustomStatus<T>
A custom status indicating that the state is in a custom state.
CustomTransition
An abstract class representing a custom transition for animated route transitions.
DeepCollectionEquality
A deep equality implementation for collections.
DefaultEquality<E>
A default equality implementation.
Dependencies
A class to manage dependencies within the application. This class provides methods to register, find, delete, and manage dependencies in a centralized manner. It leverages GetX for state management and dependency injection. This allows for lazy loading, lifecycle management, and the ability to work with isolated instances when needed.
EmptyStatus<T>
A status indicating that the state is empty.
Engine
A utility class for accessing the engine instance.
ErrorStatus<T, S>
A status indicating that the state has encountered an error.
FadeInTransition
A class representing a fade-in transition animation.
FullController<T>
A controller with both state management and lifecycle observation capabilities.
FullLifeCycleController
Alias for LifecycleController to maintain backward compatibility.
GetBackGestureController<T>
GetBackGestureDetector<T>
A widget that detects back gestures for navigating back in a GetX-based application.
GetBackGestureDetectorState<T>
GetBuilder<T extends GetxController>
A widget that builds itself based on the latest value of a GetxController.
GetCupertinoApp
GetDelegate
GetInformationParser
GetInterface
A contract defining the interface for interacting with the "Get" class, enabling auxiliary packages to extend its functionality through extensions.
GetListenable<T>
A class that provides listenable behavior similar to ValueNotifier.
GetMaterialApp
GetMicrotask
A utility class for executing microtasks sequentially.
GetMiddleware
Middleware to handle page lifecycle events in a prioritized manner.
GetModalBottomSheetRoute<T>
A custom PopupRoute used by Refreshed for displaying modal bottom sheet routes.
GetNavigator
GetNotifier<T>
A class representing a state notifier with a Get lifecycle.
GetObserver
A custom NavigatorObserver for tracking route changes and managing routing data.
GetPage<T>
GetPageRoute<T>
GetPlatform
Provides platform-specific information and utilities.
GetQueue<T>
A utility class for managing a queue of asynchronous jobs.
GetRouterOutlet
A specialized RouterOutlet for GetX, handling nested routing and page generation.
GetSnackBar
A custom StatefulWidget for displaying snack bars.
GetSnackBarState
The state for managing a GetSnackBar widget.
GetStatus<T>
Represents the status of an asynchronous operation, such as loading, error, empty, success, or custom.
GetUtils
Utility methods
GetView<T>
GetView is a great way of quickly access your Controller without having to call Get.find<AwesomeController>() yourself.
GetWidget<S extends GetLifeCycleMixin>
GetWidget is a great way of quickly access your individual Controller without having to call Get.find<AwesomeController>() yourself. Get save you controller on cache, so, you can to use Get.create() safely GetWidget is perfect to multiples instance of a same controller. Each GetWidget will have your own controller, and will be call events as onInit and onClose when the controller get in/get out on memory.
GetX<T extends GetLifeCycleMixin>
A widget that manages the lifecycle of a GetX controller and rebuilds its child widget whenever the controller's state changes.
GetxController
Base controller class that provides state management capabilities. This is the foundation for all other controllers.
GetxScrollController
A controller for managing scroll events at the top and bottom of scrollable content. Provides automatic handling of scroll edge detection with debouncing.
GetxService
Unlike GetxController, which serves to control events on each of its pages, GetxService is not automatically disposed (nor can be removed with Get.delete()). It is ideal for situations where, once started, that service will remain in memory, such as Auth control for example. Only way to remove it is Get.reset().
GetXState<T extends GetLifeCycleMixin>
IdentityEquality<E>
Equality of objects that compares only the identity of the objects.
IEquality<E>
A generic equality relation on objects.
IndexedRouteBuilder<T>
A widget that provides indexed routing for navigation items.
InheritedNavigator
An inherited widget for passing navigation state down the widget tree.
InstanceInfo
A class that holds information about an instance.
IterableEquality<E>
Equality on iterables.
LeftToRightFadeTransition
A class representing a left-to-right fade transition animation.
LifecycleController
A controller with full app lifecycle observation capabilities.
ListEquality<E>
Equality on lists.
ListNotifier
A notifier that supports both single and grouped listeners.
ListNotifierGroup
A Notifier that supports a group of listeners identified by an ID.
ListNotifierSingle
A Notifier that supports single listeners.
LoadingStatus<T>
A status indicating that the state is currently loading.
MapEquality<K, V>
Equality on maps.
MiddlewareRunner
Manages and executes GetMiddleware in a prioritized order.
Module
Abstract class representing a module in the application. Each module has its own UI and dependency setup.
ModuleState
State class that manages the lifecycle of the Module widget. It handles setting up dependencies and reporting route information.
Notifier
A class responsible for managing notifications and listeners.
NotifyData
Data class containing information about notifications and listeners.
NoTransition
A class representing a no transition animation.
Observer
An experimental widget that rebuilds when observed reactive variables change.
Obx
A reactive widget that rebuilds whenever the observed state changes.
ObxElement
A wrapper around a StatelessElement that enables observation of changes in the stateless widget's reactive dependencies.
ObxStatelessWidget
A stateless widget that can listen to reactive changes.
ObxValue<T extends RxInterface>
A reactive widget similar to Obx, but manages a local state. Pass the initial data in the constructor. This is useful for simple local states, like toggles, visibility, themes, button states, etc.
ObxWidget
The base class for all GetX reactive widgets. This class is used as a foundation for widgets that react to changes in GetX observables.
PageRedirect
Handles page redirection in a GetX navigation context.
PageSettings
A custom implementation of RouteSettings representing settings specific to a page.
ParseRouteTree
A class representing a parsed route tree that manages route matching and manipulation for nested routing structures.
PathDecoded
RightToLeftFadeTransition
A class representing a right-to-left fade transition animation.
RouteDecoder
A class that decodes a route and provides information about the current route tree branch and associated page settings.
RouteListenerState
RouteReport
A widget that tracks and reports its route lifecycle events.
RouteReportState
The state associated with RouteReport.
RouterListener
A widget that listens to changes in the router delegate state.
RouterListenerInherited
An inherited widget to handle router listener states.
RouterListenerState
RouterOutlet<TDelegate extends RouterDelegate<T>, T extends Object>
A widget that allows custom routing with GetX, helping in managing navigation and handling routing state across multiple routes in a nested manner.
RouterOutletState<TDelegate extends RouterDelegate<T>, T extends Object>
State class for RouterOutlet, handling navigation state updates and back button handling.
Routing
Represents the current state of routing, including the current route, previous route, arguments, and other relevant information.
Rx<T>
A foundation class that wraps a value of type T in a reactive container. This class provides the ability to track and manage the state of the wrapped value.
RxBool
An Rx object for managing boolean values.
RxController
A lightweight controller designed for use with reactive (Rx) variables.
RxDouble
A reactive extension of double type, enabling reactive operations on double values.
RxInt
A reactive extension of int type, enabling reactive operations on integer values.
RxInterface<T>
This class is the foundation for all reactive (Rx) classes that makes Get so powerful. This interface is the contract that [_RxImpl]<T> uses in all it's subclass.
RxJsonUtils
Utility functions for safer JSON conversion in reactive classes.
RxList<E>
A reactive list that extends functionality similar to List<T> and provides automatic notifications on changes.
RxMap<K, V>
Rxn<T>
A specialized version of Rx for nullable types (T?).
RxnBool
An Rx object for managing nullable boolean values.
RxnDouble
A reactive extension of double? type, enabling reactive operations on nullable double values.
RxnInt
A reactive extension of int? type, enabling reactive operations on nullable integer values.
RxnNum
A reactive extension of num? type, enabling reactive operations on nullable numeric values.
RxnString
Rx class for String Type.
RxNum
A reactive extension of num type, enabling reactive operations on numeric values.
RxSet<E>
RxString
Rx class for String Type.
SetEquality<E>
Equality of sets.
SizeTransitions
A class representing a size transition animation.
SlideDownTransition
A class representing a slide-down transition animation.
SlideLeftTransition
A class representing a slide-left transition animation.
SlideRightTransition
A class representing a slide-right transition animation.
SlideTopTransition
A class representing a slide-top transition animation.
SnackbarController
SnackBarQueue<T>
StateController<T>
A controller with state management capabilities for async operations.
SuccessStatus<T>
A status indicating that the state has been successfully updated with data of type T.
SuperController<T>
Alias for FullController to maintain backward compatibility.
Translations
Abstract class representing translations for an application.
UnorderedIterableEquality<E>
Equality of the elements of two iterables without considering order.
Value<T>
A class similar to ValueNotifier with additional state management capabilities.
ValueBuilder<T>
A widget that manages local state like ObxValue, but uses a callback instead of a reactive value.
ValueBuilderState<T>
The state associated with the ValueBuilder widget.
Worker
A class representing a worker for executing asynchronous tasks with disposal functionality.
Workers
A class for managing a collection of workers and disposing them when necessary.
ZoomInTransition
A class representing a zoom-in transition animation.

Enums

PopMode
Enables the user to customize the intended pop behavior
PreventDuplicateHandlingMode
Enables the user to customize the behavior when pushing multiple routes that shouldn't be duplicates
RowStyle
An enumeration representing different styles for rows.
SmartManagement
Refreshed by default disposes unused controllers from memory, Through different behaviors.
SnackbarStatus
Indicates the status of a snackbar.
SnackHoverState
Indicates the state when the mouse enters or exits.
SnackPosition
Indicates the position where a snack is displayed.
SnackStyle
Indicates the style of a snack.
Transition
Enum defining various types of transitions that can be applied when navigating between routes.

Mixins

AppLifecycleMixin
Mixin that provides app lifecycle observation capabilities. This separates the app lifecycle logic from the controller hierarchy.
Equality
A mixin for implementing equality based on a list of properties.
FullLifeCycleMixin
Mixin that provides backward compatibility with the old lifecycle implementation.
GetLifeCycleMixin
The GetLifeCycleMixin
GetPageRouteTransitionMixin<T>
GetSingleTickerProviderStateMixin
Mixin to provide a single ticker for GetxControllers. Works like SingleTickerProviderMixin but optimized for GetX.
GetTickerProviderStateMixin
Mixin to provide multiple tickers for GetxControllers. Works like TickerProviderMixin but optimized for GetX.
GetxServiceMixin
Allow track difference between GetxServices and GetxControllers
IGetNavigation
A mixin that provides navigation methods for managing routes in a Flutter application.
ListNotifierGroupMixin
A mixin for managing a group of listeners identified by an ID.
ListNotifierSingleMixin
This mixin adds listener management capabilities to Listenable.
PageRouteReportMixin<T>
A mixin that provides page route lifecycle event reporting to a RouterReportManager.
RouteReportMixin<T extends StatefulWidget>
A mixin that provides route lifecycle event reporting to a RouterReportManager.
RouterListenerMixin<T extends StatefulWidget>
Mixin to listen to changes in the router delegate state.
RxObjectMixin<T>
global object that registers against GetX and Obx, and allows the reactivity of those Widgets and Rx values.
ScrollMixin
Alias for GetxScrollController to maintain backward compatibility.
StatelessObserverComponent
A mixin that provides functionality for observing reactive changes in a StatelessElement.
StateMixin<T>
A mixin that provides state management capabilities.
UpdateMixin
Mixin that provides update capabilities for controllers. This separates the update logic from the controller base class.

Extensions

BoolExtension on bool
Extension on bool providing methods to create reactive booleans.
BottomSheetExtension on GetInterface
ContextExtension on BuildContext
Extension providing additional functionality for BuildContext.
DialogExtension on GetInterface
DoubleExtension on double
Extension on double providing methods to create reactive doubles.
DynamicExtension on dynamic
Extension on dynamic to provide utility methods for dynamic objects.
ExtensionSnackbar on GetInterface
FirstWhereOrNullExt on List<T>
Extension on List to provide a firstWhereOrNull method.
InstanceExtension on GetInterface
Extension on GetInterface providing a convenient method to find instances of type T.
IntExtension on int
Extension on int providing methods to create reactive integers.
ListExtension on List<E>
LocalesIntl on GetInterface
Extension methods for handling internationalization within GetX.
LoopEventsExtension on GetInterface
Extension providing additional loop event methods for GetInterface.
MapExtension on Map<K, V>
OverlayExtension on GetInterface
PageArgExtension on BuildContext
Extension methods for BuildContext to provide convenient access to page-related information.
PagesListExt on List<GetPage<T>>
Extension on List<GetPage> for enhanced routing functionality.
ResetExtension on GetInterface
Extension method to reset the Get instance.
ResetInstance on GetInterface
Extension on GetInterface providing a method to reset all registered instances.
RxBoolExt on Rx<bool>
Extension on Rx<bool> providing methods for boolean operations.
RxDoubleExt on Rx<double>
Extension providing additional functionality for double values wrapped in an Rx object.
RxIntExt on Rx<int>
Extension providing additional functionality for int values wrapped in an Rx object.
RxnBoolExt on Rx<bool?>
Extension on Rx<bool?> providing methods for nullable boolean operations.
RxnDoubleExt on Rx<double?>
Extension providing additional functionality for nullable double values wrapped in an Rx object.
RxnIntExt on Rx<int?>
Extension providing additional functionality for nullable int values wrapped in an Rx object.
RxnNumExt on Rx<T?>
Extension providing additional functionality for nullable numeric values wrapped in an Rx object.
RxnStringExt on Rx<String?>
RxNumExt on Rx<T>
Extension providing additional functionality for numeric values wrapped in an Rx object.
RxStringExt on Rx<String>
Extension methods for Rx<String> to provide additional functionality.
RxT on T
Generic extension for creating reactive instances of any custom type T.
RxTnew on Object
A new method to replace the old .obs getter. This method avoids conflicts with Dart 3 features by using contextual type inference to determine T.
SetExtension on Set<E>
StateAccessExtension on BuildContext
Extension methods for accessing state in the context of a widget build.
StateExtension on StateMixin<T>
Extension methods for the StateMixin class.
StatusDataExtension on GetStatus<T>
Extension methods for the GetStatus class.
StringExtension on String
Extension on String providing methods to create reactive strings.
TranslationExtension on String
Extension providing localization capabilities to strings.

Constants

rtlLanguages → const List<String>
List of right-to-left (RTL) languages.

Properties

Get → _GetImpl
Global instance of GetX controller.
final
It replaces the Flutter Navigator, but needs no context. You can to use navigator.push(YourRoute()) rather Navigator.push(context, YourRoute());
no setter

Functions

debounce<T>(GetListenable<T> listener, WorkerCallback<T> callback, {Duration? time, Function? onError, void onDone()?, bool? cancelOnError}) Worker
debounce is similar to interval, but sends the last value. Useful for Anti DDos, every time the user stops typing for 1 second, for instance. When listener emits the last "value", when time hits, it calls callback with the last "value" emitted.
defaultLogWriterCallback(String value, {bool isError = false}) → void
The default logger function used by Refreshed for writing logs.
ever<T>(GetListenable<T> listener, WorkerCallback<T> callback, {dynamic condition = true, Function? onError, void onDone()?, bool? cancelOnError}) Worker
Called every time listener changes. As long as the condition returns true.
everAll(List<RxInterface> listeners, WorkerCallback callback, {dynamic condition = true, Function? onError, void onDone()?, bool? cancelOnError}) Worker
Similar to ever, but takes a list of listeners, the condition for the callback is common to all listeners, and the callback is executed to each one of them. The Worker is common to all, so worker.dispose() will cancel all streams.
interval<T>(GetListenable<T> listener, WorkerCallback<T> callback, {Duration time = const Duration(seconds: 1), dynamic condition = true, Function? onError, void onDone()?, bool? cancelOnError}) Worker
Ignore all changes in listener during time (1 sec by default) or until condition is met (can be a bool expression or a bool Function()), It brings the 1st "value" since the period of time, so if you click a counter button 3 times in 1 sec, it will show you "1" (after 1 sec of the first press) click counter 3 times in 1 sec, it will show you "4" (after 1 sec) click counter 2 times in 1 sec, it will show you "7" (after 1 sec).
once<T>(GetListenable<T> listener, WorkerCallback<T> callback, {dynamic condition = true, Function? onError, void onDone()?, bool? cancelOnError}) Worker
once() will execute only 1 time when condition is met and cancel the subscription to the listener stream right after that. condition defines when callback is called, and can be a bool or a bool Function().
removeLastHistory(String? url) → void
Removes the last history entry from the browser history stack.
setUrlStrategy() → void
Sets the URL strategy to remove the hash from the URL.

Typedefs

AsyncInstanceBuilderCallback<S> = Future<S> Function()
A callback function used to asynchronously construct instances of type S.
BindingBuilderCallback = void Function()
Defines the signature for a callback used to build bindings.
Disposer = void Function()
This callback removes the listener when called.
GetControllerBuilder<T extends GetLifeCycleMixin> = Widget Function(T controller)
Signature for a function that builds a widget with a controller of type T.
GetPageBuilder = Widget Function()
Typedef representing a function that returns a widget.
GetRouteAwarePageBuilder<T> = Widget Function([GetPageRoute<T>? route])
Typedef representing a function that takes an optional GetPageRoute route parameter and returns a widget.
GetStateUpdate = void Function()
Replaces StateSetter, returning whether the Widget is mounted for extra validation. If this brings overhead, consider removing the extra call.
GetXControllerBuilder<T extends GetLifeCycleMixin> = Widget Function(T controller)
A typedef for a function that builds a widget based on a GetX controller.
InitBuilder<T> = T Function()
Signature for a function that creates an object of type T.
InstanceBuilderCallback<S> = S Function()
A callback function used to construct instances of type S.
InstanceCreateBuilderCallback<S> = S Function(BuildContext _)
A callback function used to construct instances of type S with access to the current BuildContext.
LogWriterCallback = void Function(String text, {bool isError})
A typedef representing a callback function for writing logs, typically used in the context of Refreshed.
A widget builder for indexed navigation routes.
NotifierBuilder<T> = Widget Function(T state)
A builder function for creating widgets based on a state.
OnHover = void Function(GetSnackBar snack, SnackHoverState snackHoverState)
Callback signature for hover events on a GetSnackBar.
OnTap = void Function(GetSnackBar snack)
Callback signature for tap events on a GetSnackBar.
PrintFunctionCallback<T> = void Function(String prefix, T value, String info, {bool? isError})
Callback type definition for a function that prints logs with optional error indication.
SnackbarStatusCallback = void Function(SnackbarStatus? status)
Callback signature for status changes on a GetSnackBar.
ValueBuilderBuilder<T> = Widget Function(T snapshot, ValueBuilderUpdateCallback<T> updater)
A function that builds a widget based on the current value and an updater function.
ValueBuilderUpdateCallback<T> = void Function(T snapshot)
A callback function that is called when the ValueBuilder updates its value.
ValueUpdater<T> = T Function()
A function type representing a value updater.
WidgetCallback = Widget Function()
Callback signature for a widget builder function.
WorkerCallback<T> = dynamic Function(T callback)
A typedef representing a callback function used by workers.

Exceptions / Errors

BindError<T>
A class representing an error encountered during binding resolution.
ObxError
Represents an error specific to the use of GetX or Obx.