mc_utils library

Classes

Bidi
This provides utility methods for working with bidirectional text. All of the methods are static, and are organized into a class primarily to group them together for documentation and discoverability.
BidiFormatter
Bidi stands for Bi-directional text. According to Wikipedia: Bi-directional text is text containing text in both text directionalities, both right-to-left (RTL) and left-to-right (LTR). It generally involves text containing different types of alphabets, but may also refer to boustrophedon, which is changing text directionality in each row.
Bindings
Bindings should be extended or implemented. 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.
BindingsBuilder<T>
Simplifies Bindings generation from a single callback. To avoid the creation of a custom Binding instance per route.
CachedNetworkImage
Image widget to show NetworkImage with caching functionality.
CachedNetworkImageProvider
IO implementation of the CachedNetworkImageProvider; the ImageProvider to load network images using a cache.
CachedVideoPlayerPlus
Widget that displays the video controlled by controller.
CachedVideoPlayerPlusController
Controls a platform video player, and provides updates when the state is changing.
CachedVideoPlayerPlusValue
The duration, current position, buffering state, error state and settings of a CachedVideoPlayerPlusController.
Caption
A representation of a single caption.
ClosedCaption
Widget for displaying closed captions on top of a video.
ClosedCaptionFile
A structured representation of a parsed closed caption file.
CustomDropdown<T>
CustomDropdownDecoration
CustomDropdownDisabledDecoration
CustomTransition
DateFormat
DateFormat is for formatting and parsing dates in a locale-sensitive manner.
DisposableInterface
DownloadProgress
Progress of the file that is being downloaded from the originalUrl.
DurationRange
Describes a discrete segment of time within a video using a start and end Duration.
FastList<T>
FormData
FullLifeCycleController
GetBar
GetBuilder<T extends GetxController>
GetBuilderState<T extends GetxController>
GetConnect
GetConnectInterface
GetCupertinoApp
GetDelegate
GetHttpClient
GetInformationParser
GetInstance
GetInterface
GetInterface allows any auxiliary package to be merged into the "Get" class through extensions
GetLifeCycle
GetMaterialApp
GetMaterialController
GetMicrotask
GetMiddleware
The Page Middlewares. The Functions will be called in this order (( redirect -> onPageCalled -> onBindingsStart -> onPageBuildStart -> onPageBuilt -> onPageDispose ))
GetModalBottomSheetRoute<T>
GetNavConfig
This config enables us to navigate directly to a sub-url
GetNavigator
GetNotifier<T>
GetObserver
GetPage<T>
GetPageRoute<T>
GetPlatform
GetQueue
GetResponsiveView<T>
Extend this widget to build responsive view. this widget contains the screen property that have all information about the screen size and type. You have two options to build it. 1- with builder method you return the widget to build. 2- with methods desktop, tablet,phone, watch. the specific method will be built when the screen type matches the method when the screen is ScreenType.Tablet the tablet method will be exuded and so on. Note if you use this method please set the property alwaysUseBuilder to false With settings property you can set the width limit for the screen types.
GetResponsiveWidget<T extends GetLifeCycleBase?>
GetRouterOutlet
GetSnackBar
GetSnackBarState
GetSocket
GetStream<T>
GetStream is the lightest and most performative way of working with events at Dart. You sintaxe is like StreamController, but it works with simple callbacks. In this way, every event calls only one function. There is no buffering, to very low memory consumption. event add will add a object to stream. addError will add a error to stream. listen is a very light StreamSubscription interface. Is possible take the last value with value property.
GetStreamTransformation<T>
GetUtils
GetView<T>
GetView is a great way of quickly access your Controller without having to call Get.find<AwesomeController>() yourself.
GetWidget<S extends GetLifeCycleBase?>
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 DisposableInterface>
GetxController
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 DisposableInterface>
GraphQLResponse<T>
HeaderValue
InstanceInfo
InternalFinalCallback<T>
Special callable class to keep the contract of a regular method, and avoid overrides if you extend the class that uses it, as Dart has no final methods. Used in DisposableInterface to avoid the danger of overriding onStart.
Intl
The Intl class provides a common entry point for internationalization related tasks. An Intl instance can be created for a particular locale and used to create a date format via anIntl.date(). Static methods on this class are also used in message formatting.
LightSubscription<T>
ListItemDecoration
McButton
McButton is a customizable button widget that extends McText. It supports adding an icon, custom border and background colors, padding, and tap actions, and can adjust its width based on the screen size.
McCardItem
McCardItem is a customizable card widget that can contain a child widget and supports various styling options. It allows for customization of width, height, border color, shadow visibility, padding, margin, and border radius.
McDateAndTimePicker
McDropDownBtn<T>
McDropDownBtn is a customizable dropdown button widget that supports both searchable and non-searchable dropdowns. It allows for customization of the dropdown's appearance, including color, border radius, and padding, and supports callbacks for item selection changes.
McIconTxt
McIconTxt is a widget that combines an icon with an optional text label. It supports customization of the icon's appearance, background color, and text style, and provides an onPress callback for user interaction.
McImageAssets
McImageAssets is a widget for displaying images from assets. It includes error handling for when the image fails to load and supports circular or rectangular image shapes.
McImageFile
McImageFile is a widget for displaying images from local file paths. It includes error handling for when the image fails to load and supports circular or rectangular image shapes.
McImageNetWork
McImageNetWork is a widget for displaying images from network URLs. It includes placeholders while loading, and error handling for when the image fails to load. Supports circular or rectangular image shapes and customizable dimensions.
McListButtons
McListButtons is a widget that displays a list of buttons, where each button represents an item in the list. It supports customization of button appearance, including colors, font size, and padding, and allows for horizontal or vertical scrolling.
McOtpInput
McPlayer
McPlayer is a utility class for creating video player widgets from different sources.
McPopUpMenChat
McPopUpMenChat is a customizable popup menu button widget that displays a list of menu items. It allows for various styling options, such as shape, color, and animation style, and supports custom icons, padding, and behavior configurations.
McProcess
McProcess provides various utility methods for file handling, text alignment, numeric checks, date-time formatting, and more.
McStepLine
McStepLine is a widget that displays a progress indicator with steps and a title. It allows customization of the step count, current step, title, line color, font size, and font color.
McText
McText is a customizable text widget that allows for various text styling options, including font size, color, boldness, line limit, and text alignment. It also includes an option to show only the first 5 words of the text.
McTextFieldTheme
McTextFieldTheme provides static methods for customizing text field decorations and box shadows.
MicroMoney
Used primarily for currency formatting, this number-like class stores millionths of a currency unit, typically as an Int64.
MiddlewareRunner
MiniStream<T>
MiniSubscription<T>
MixinBuilder<T extends GetxController>
MultiImageStreamCompleter
An ImageStreamCompleter with support for loading multiple images.
MultipartFile
MultiSelectController<T>
Node<T>
NumberFormat
Provides the ability to format a number in a locale-specific way.
NumberParserBase<R>
Obx
The simplest reactive widget in GetX.
ObxState
ObxValue<T extends RxInterface>
Similar to Obx, but manages a local state. Pass the initial data in constructor. Useful for simple local states, like toggles, visibility, themes, button states, etc. Sample: ObxValue((data) => Switch( value: data.value, onChanged: (flag) => data.value = flag, ), false.obs, ),
ObxWidget
The ObxWidget is the base for all GetX reactive widgets
PageRedirect
PathDecoded
Response<T>
ResponsiveScreen
ResponsiveScreenSettings
RouterOutlet<TDelegate extends RouterDelegate<T>, T extends Object>
RouterOutletState<TDelegate extends RouterDelegate<T>, T extends Object>
Routing
Rx<T>
Foundation class used for custom Types outside the common native Dart types. For example, any custom "Model" class, like User().obs will use Rx as wrapper.
RxBool
RxController
RxDouble
RxInt
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.
RxList<E>
Create a list similar to List<T>
RxMap<K, V>
Rxn<T>
RxnBool
RxnDouble
RxnInt
RxnNum
RxNotifier<T>
RxnString
Rx class for String Type.
RxNum
RxSet<E>
RxStatus
RxString
Rx class for String Type.
SearchFieldDecoration
SimpleBuilder
SimpleBuilderState
SingleSelectController<T>
SnackbarController
SubRipCaptionFile
Represents a ClosedCaptionFile, parsed from the SubRip file format. See: https://en.wikipedia.org/wiki/SubRip
SuperController<T>
TextDirection
Represents directionality of text.
Translations
TrustedCertificate
Value<T>
ValueBuilder<T>
Manages a local state like ObxValue, but uses a callback instead of a Rx value.
ValueBuilderState<T>
VideoPlayerOptions
VideoPlayerOptions can be optionally used to set additional player settings
VideoProgressColors
Used to configure the VideoProgressIndicator widget's colors for how it describes the video's status.
VideoProgressIndicator
Displays the play/buffering status of the video controlled by controller.
VideoScrubber
A scrubber to control CachedVideoPlayerPlusControllers
WebVTTCaptionFile
Represents a ClosedCaptionFile, parsed from the WebVTT file format. See: https://en.wikipedia.org/wiki/WebVTT
Worker
Workers

Enums

CacheManagerLogLevel
Log levels of the cache manager. Debug shows failed downloads and verbose also shows successful downloads and cache retrievals.
DataSourceType
The way in which the video was originally loaded.
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
ScreenType
SmartManagement
GetX by default disposes unused controllers from memory, Through different behaviors. SmartManagement.full SmartManagement.full is the default one. Dispose classes that are not being used and were not set to be permanent. In the majority of the cases you will want to keep this config untouched. If you new to GetX then don't change this. SmartManagement.onlyBuilder only controllers started in init: or loaded into a Binding with Get.lazyPut() will be disposed. If you use Get.put() or Get.putAsync() or any other approach, SmartManagement will not have permissions to exclude this dependency. With the default behavior, even widgets instantiated with "Get.put" will be removed, unlike SmartManagement.onlyBuilders. SmartManagement.keepFactoryJust like SmartManagement.full, it will remove it's dependencies when it's not being used anymore. However, it will keep their factory, which means it will recreate the dependency if you need that instance again.
SnackbarStatus
Indicates Status of snackbar SnackbarStatus.OPEN Snack is fully open, SnackbarStatus.CLOSED Snackbar has closed, SnackbarStatus.OPENING Starts with the opening animation and ends with the full snackbar display, SnackbarStatus.CLOSING Starts with the closing animation and ends with the full snackbar dispose
SnackPosition
Indicates if snack is going to start at the TOP or at the BOTTOM
SnackStyle
Indicates if snack will be attached to the edge of the screen or not
Transition
VideoFormat
The file format of the given video.

Mixins

CustomDropdownListFilter
FullLifeCycleMixin
GetLifeCycleBase
The GetLifeCycle
GetResponsiveMixin
GetSingleTickerProviderStateMixin
Used like SingleTickerProviderMixin but only with Get Controllers. Simplifies AnimationController creation inside GetxController.
GetStateUpdaterMixin<T extends StatefulWidget>
Complies with GetStateUpdater
GetTickerProviderStateMixin
Used like TickerProviderMixin but only with Get Controllers. Simplifies multiple AnimationController creation inside GetxController.
GetxServiceMixin
Allow track difference between GetxServices and GetxControllers
NotifyManager<T>
PageRouteReportMixin<T>
RxObjectMixin<T>
global object that registers against GetX and Obx, and allows the reactivity of those Widgets and Rx values.
ScrollMixin
SingleGetTickerProviderMixin
Used like SingleTickerProviderMixin but only with Get Controllers. Simplifies AnimationController creation inside GetxController.
StateMixin<T>

Constants

rtlLanguages → const List<String>

Properties

Get → _GetImpl
final
It replaces the Flutter Navigator, but needs no context. You can to use navigator.push(YourRoute()) rather Navigator.push(context, YourRoute());
no setter
timeDilation → double
Slows down animations by this factor to help in development.
no setter

Functions

ambiguate<T>(T? value) → T?
bodyBytesToString(Stream<List<int>> bodyBytes, Map<String, String> headers) → Future<String>
debounce<T>(RxInterface<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
default logger from GetX
ever<T>(RxInterface<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>(RxInterface<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>(RxInterface<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().
toBeginningOfSentenceCase<T extends String?>(T input, [String? locale]) → T
Convert a string to beginning of sentence case, in a way appropriate to the locale.

Typedefs

AddSubscription<T> = FutureOr<void> Function(LightSubscription<T> subs)
AsyncInstanceBuilderCallback<S> = Future<S> Function()
BindingBuilderCallback = void Function()
Condition = bool Function()
Decoder<T> = T Function(dynamic data)
GetControllerBuilder<T extends DisposableInterface> = Widget Function(T controller)
GetPageBuilder = Widget Function()
GetXControllerBuilder<T extends DisposableInterface> = Widget Function(T controller)
ImageWidgetBuilder = Widget Function(BuildContext context, ImageProvider<Object> imageProvider)
Builder function to create an image widget. The function is called after the ImageProvider completes the image loading.
InjectorBuilderCallback<S> = S Function(GetInstance)
InstanceBuilderCallback<S> = S Function()
LoadingErrorWidgetBuilder = Widget Function(BuildContext context, String url, Object error)
Builder function to create an error widget. This builder is called when the image failed loading, for example due to a 404 NotFound exception.
LogWriterCallback = void Function(String text, {bool isError})
VoidCallback from logs
NotifierBuilder<T> = Widget Function(T state)
OnTap = void Function(GetSnackBar snack)
PlaceholderWidgetBuilder = Widget Function(BuildContext context, String url)
Builder function to create a placeholder widget. The function is called once while the ImageProvider is loading the image.
PrintFunctionCallback = void Function(String prefix, dynamic value, String info, {bool? isError})
Progress = dynamic Function(double percent)
ProgressIndicatorBuilder = Widget Function(BuildContext context, String url, DownloadProgress progress)
Builder function to create a progress indicator widget. The function is called every time a chuck of the image is downloaded from the web, but at least once during image loading.
RemoveSubscription<T> = FutureOr<bool?> Function(LightSubscription<T> subs)
ResponseInterceptor<T> = Future<Response<T>?> Function(Request<T> request, Type targetType, HttpClientResponse response)
SnackbarStatusCallback = void Function(SnackbarStatus? status)
ValueBuilderBuilder<T> = Widget Function(T snapshot, ValueBuilderUpdateCallback<T> updater)
ValueBuilderUpdateCallback<T> = void Function(T snapshot)
ValueUpdater<T> = T Function()
WidgetCallback = Widget Function()
WorkerCallback<T> = dynamic Function(T callback)