flutter_helper_utils 1.5.6
flutter_helper_utils: ^1.5.6 copied to clipboard
The Flutter Helper Package offers various extensions and helper methods that can make development more efficient.
Flutter Helper Utils #
Flutter Helper Utils is a comprehensive package aimed to augment Dart and Flutter's core functionalities. With a rich set of extensions and helper methods, this package boosts productivity and simplifies coding in Flutter projects.
Table of Contents #
Helper Methods #
Converting Objects: #
convert objects to various types, such as int
, double
, bool
, String
, List
, Set
and Map
, They are handy
when working with data from APIs, where you often encounter dynamic types. They offer simple and flexible methods to
perform accurate type conversions. here is a sample:
Before: #
Map = {score: "12.4"};
int score = double.parse(map['key']).toInt();
Notice that we need to parse to double first then to int.
With Package: #
int score = toInt(map['key']);
Extensions #
Our package provides a variety of extensions on Dart and Flutter's built-in types. Below are the categories of available extensions, sorted by their functionalities:
Core Data Types #
String Extensions #
isNumeric
- Checks if the string is numeric.isAlphabet
- Checks if the string consists only of alphabets.hasCapitalLetter
- Checks if the string contains at least one capital letter.isBool
- Checks if the string is a boolean value.removeWhiteSpaces
- Removes all white spaces from the string.textSize
- Returns the size of the text using TextPainter.wrapString
- Adds a new line to the string after a specified number of words.equalsIgnoreCase
- Compares two strings for equality, ignoring case.removeSurrounding
- Removes a specified delimiter from both ends of the string, if present.replaceAfter
- Replaces part of the string after the first occurrence of a given delimiter.- View All String Extensions
Number Extensions #
isSuccessHttpResCode
- Checks if the numeric HTTP status code represents a successful response.toHttpResStatus
- Converts the numeric HTTP status code to its corresponding HttpResStatus enum.tryToInt
- Safely converts a nullable number to an integer.tryToDouble
- Safely converts a nullable number to a double.percentage
- Calculates the percentage this number represents out of a total.isNegative & isPositive
- Checks if the number is negative or positive.isZeroOrNull
- Checks if the number is zero or null.asBool
- Evaluates the truthiness of a nullable number based on whether it's greater than 0.isZero
- Checks if the number is zero.numberOfDigits
- Returns the number of digits in the number.- View All Number Extensions
Boolean Extensions #
isTrue
- Checks if the Boolean value is true, considering null safety.isFalse
- Checks if the Boolean value is false or null.val
- Returns the Boolean value or false if it is null.binary
- Returns 1 if the Boolean is true and 0 if it is false or null.binaryText
- Returns '1' if the Boolean is true and '0' if it is false or null.
DateTime Extensions #
format & tryFormat
- format a DateTime object as a string using a specified format (e.g. "yyyy-MM-dd"), while tryFormat attempts to do the same but returns null if unsuccessful.tryToDateTime
- Safely attempts to convert a string to a DateTime object. Returns null if the conversion fails.toDateTime
- Converts a string to a DateTime object. Throw an exception if the conversion fails.dateFormat
- Returns a DateFormat object based on the string format provided.toDateWithFormat
- Converts a string to a DateTime object using a specific format.tryToDateWithFormat
- Safely attempts to convert a string to a DateTime object using a specific format. Returns null if the conversion fails.timestampToDate
- Converts a timestamp string to a DateTime object.toSmallMonthName & toFullMonthName
- Convert an integer representing a month to its abbreviated name.toSmallDayName & toFullDayName
- Convert an integer representing a day of the week to its abbreviated name.- View All DateTime Extensions
Duration Extensions #
delayed
- Utility to delay some code execution.fromNow
- Adds the Duration to the current DateTime and gives a future time.ago
- Subtracts the Duration from the current DateTime and gives a pastime.
UI & Design #
Color Extensions #
toHex
- Converts aColor
object to its hex string representation.toColor
- Converts a hex color string to aColor
object.isHexColor
- Checks if the given string is a valid hexadecimal color string.
Flutter Extensions #
ThemeExtensions #
themeData
- Quickly get the currentThemeData
from the nearestTheme
widget ancestor.txtTheme
- Effortlessly obtain theTextTheme
for your context.brightness
- Determine the brightness setting of the app theme.sysBrightness
- Determine the brightness setting of the system.isDark & isLight
- Convenient boolean to quickly check if the current theme is light or dark.
MediaQueryExtensions #
mq
- Quick Access to MediaQueryDatanullableMQ
- Nullable MediaQueryData AccessdeviceOrientation
- Device OrientationnavigationMode
- Navigation Modepadding and viewInsets
- Screen Padding and InsetsscreenDimensions
- Screen DimensionsadditionalFeatures
- Additional Features- View All Media Query Extensions
FocusScopeExtensions #
focusScope
- Getting the Nearest FocusScopeNode.unFocus
- Removing Focus.requestFocus
- Requesting Focus.requestFocusCall
- Requesting Focus (Using GestureTapCallback).hasFocus
- Checking if a Node Has Focus.hasPrimaryFocus
- Checking if a Node Has Primary Focus.
Navigator Extensions #
popPage
- Pop PagepopRoot
- Pop Rootnavigator
- Navigator StatecanPop
- Can PoppPage
- Push PagepReplacement
- Push ReplacementpAndRemoveUntil
- Push And Remove UntilpNamedAndRemoveUntil
- Push Named And Remove UntilpNamed
- Push NamedpReplacementNamed
- Push Replacement NamedpopUntil
- Pop UntildismissActivePopup
- Dismiss Active Popup- View All Navigator Extensions
Exceptions #
The ConvertObject
class throws a ParsingException
if there is an error while converting an object. This exception
provides information about the type of the object and the method used for conversion.
Contributions #
Contributions to this package are welcome. If you have any suggestions, issues, or feature requests, please create a pull request on the repository.
License #
flutter_helper_utils
is available under the BSD 3-Clause License.