0 purchases
utility library
Utility Library #
A comprehensive set of Dart extensions and utilities to enhance your Flutter applications with additional functionality like advanced number, date, and string manipulations.
Features #
Color utilities
Extended number formatting and validation
Date and time formatting and computations
String transformations and checks
Unique and JSON transformation functionalities for collections
Installation #
To use the utility library in your project, add it to your dependencies in your pubspec.yaml file:
dependencies:
utility_library: ^1.0.0
copied to clipboard
Then run:
flutter pub get
copied to clipboard
Usage #
Import the library #
Add the following import to your Dart file:
import 'package:utility_library/utility_library.dart';
copied to clipboard
Color Utilities #
Set your app's primary and secondary colors:
AppColors.primaryColor = Color(0xff02a4ff); // Your app primary color
AppColors.secondaryColor = Color(0xffffffff); // Your app secondary color
copied to clipboard
JSON Extensions #
You can use an interface or abstract class with instance methods for toJson and factory or regular methods for fromJson. Here’s a revised approach:
User user = User(name: 'Alice', age: 28);
String userJson = serialize(user);
print('Serialized User: $userJson');
User deserializedUser = deserialize<User>(userJson, User.fromJson);
print('Deserialized User: ${deserializedUser.name}');
copied to clipboard
Number Extensions #
Formatting and checking numbers:
double myNumber = 123.456;
print(myNumber.reFormat(formatDigits: '000', asFixedNumber: 3)); // Using the extension method
copied to clipboard
DateTime Extensions #
Work with DateTime formatting easily:
DateTime now = DateTime.now();
print('Standard DateTime: ${now.format(pattern: PredefinedDateFormats.standardDateTime.pattern)}');
print('Date Only: ${now.format(pattern: PredefinedDateFormats.dateOnly.pattern)}');
print('Time Only: ${now.format(pattern: PredefinedDateFormats.timeOnly.pattern)}');
print('Custom DateTime: ${now.format(pattern: PredefinedDateFormats.customDateTime.pattern)}');
print('Verbose DateTime with Day of Week: ${now.format(pattern: PredefinedDateFormats.verboseDateTimeWithDayOfWeek.pattern)}');
print('Year and Full Month: ${now.format(pattern: PredefinedDateFormats.yearAndFullMonth.pattern)}');
copied to clipboard
Date Time Utils Extensions #
Work with DateTime formatting easily:
DateTime today = DateTime.now();
print('Today is ${today.isLeapYear ? "a" : "not a"} leap year.');
print('Days in the current month: ${today.daysInMonth}');
print('Is today the start of the year? ${today.isStartOfYear}');
print('Is today the end of the year? ${today.isEndOfYear}');
print('Days to the end of the year: ${today.daysToEndOfYear}');
print('Is today a weekend? ${today.isWeekend}');
copied to clipboard
More Utilities #
Checking leap year, day computations, weekend checks for dates.
Validating and formatting for doubles and integers.
String manipulations such as title casing, palindrome checks, and base64 conversions.
Unique and JSON transformations for lists.
Example #
Here's how you might use some of these utilities in a Flutter app:
// Example usage of the library
void main() {
// Initialize and use colors
AppColors.primaryColor = Color(0xff02a4ff);
AppColors.secondaryColor = Color(0xffffffff);
// Work with extensions
DateTime today = DateTime.now();
print('Today is ${today.isLeapYear ? "a" : "not a"} leap year.');
}
copied to clipboard
// Example usage of the library
Text(widget.title, style: TextStyle(color: AppColors.secondaryColor))
copied to clipboard
pubspec.yaml #
dependencies:
flutter:
sdk: flutter
intl: ^0.17.0
copied to clipboard
Contributing #
Contributions are welcome! Feel free to submit pull requests or create issues for bugs and feature requests.
License #
This project is licensed under the MIT License - see the LICENSE file for details.
words unique? ${words.isUnique}');
print('JSON String of words: ${words.toJsonString()}');
print('Transformed numbers: ${numbers.transform((n) => 'Number $n').toString()}');
## Contributing
Contributions are welcome! Feel free to submit pull requests or create issues for bugs and feature requests.
## License
This project is licensed under the MIT License - see the LICENSE file for details.
copied to clipboard
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.