soundsliced_dart_extensions 3.0.0
soundsliced_dart_extensions: ^3.0.0 copied to clipboard
A comprehensive collection of Dart extensions for Flutter including DateTime, Duration, String, List, Color, EdgeInsets, TimeOfDay, and more utilities.
3.0.0 #
s_packagesdependency upgraded to ^3.0.0- Added direct dependency:
strings
2.2.1 #
-
soundsliced_dart_extensionsnew utilities added:- Iterable/List helpers:
none,countWhere,singleWhereOrNull,distinctBy,sortedBy,chunked,windowed,firstWhereOrNull,lastWhereOrNull,firstOrNull,lastOrNull,elementAtOrNull. - Map helpers:
mapKeys,mapValues,filterKeys,filterValues, plus typed accessorsgetString,getIntOrNull,getDoubleOrNull,getBoolOrNull. - String helpers:
isBlank,ifBlank,toIntOrNull,toDoubleOrNull,toTitleCase,removeDiacritics. - Duration helpers:
formatCompactDuration()andtoClockString(). - Date/num helpers:
DateTime.clampTo(...),num?.clampOrNull(...), andnum?.clampToDoubleOrNull(...). - Marked legacy
MyStringExtension.convertStringIntoStringList()as deprecated in favor ofStringExtensions.convertToListString()and the top-level helper.
- Iterable/List helpers:
-
soundsliced_dart_extensionsextension deduplication (BREAKING):- Removed overlapping extensions already provided by exported
nb_utilsto prevent ambiguous extension resolution. - Removed
DateTimemembers from this subpackage:isToday,isYesterday,isTomorrow,isSameDay,startOfDay,endOfDay. - Removed overlapping
Stringmembers from this subpackage:toCamelCase,toSnakeCase. - Removed overlapping
intduration members from this subpackage:seconds,minutes,hours,microseconds. - Migration guidance:
- Use
nb_utilsequivalents for removed overlapping APIs (available transitively vias_packages). - For
intdurations, prefer retained short-hands from this subpackage where desired:sec,min,hr,micSec.
- Use
- Removed overlapping extensions already provided by exported
2.1.1 #
- CHANGELOG and README updated
2.1.0 #
s_packagesdependency upgraded- Added
String.truncate(maxLength, {ellipsis})extension - Added
List<T>.groupBy<K>(keyOf)extension for grouping elements by key
2.0.0 #
- package no longer holds the source code for it, but exports/exposes the
s_packagespackage instead, which will hold this package's latest source code. - The only future changes to this package will be made via
s_packagespackage dependency upgrades, in order to bring the new fixes or changes to this package - dependent on
s_packages: ^1.1.2
1.0.1 #
This release focuses on documentation completeness, improved developer ergonomics, and exposing several utility extensions that were previously undocumented.
Added / Documented #
- JSON beautifier utilities (
beautifiedJsononMap/List<Map>, anddecodeBeautifiedJsonMap/decodeBeautifiedJsonListonString). - Safe list accessor (
list.safe[index]) to prevent out-of-range exceptions. - Tuple‑based fluent
EdgeInsetsextensions:(10, 20).leftPad.rightPad,(5,10,15).leftPad.topPad.rightPad,(5,10,15,20).leftPad.topPad.rightPad.bottomPad. - Fluent EdgeInsets / EdgeInsetsGeometry chaining & modification helpers (
addToLeft,leftPad, etc.). - TimeOfDay enhancements (serialization
toJson/fromJson, roundingtoNearestMinute,roundDown, arithmeticaddMinutes/subtractMinutes, conversion helpers). - BorderRadius fluent helpers (
8.allRad,12.topRad, etc.). - Iterable helper
findFirstWhereOrNull. - URI parsing extension (
"https://example.com".toUri).
Documentation & Examples #
- Overhauled README with correct import path, updated dependency version, and comprehensive usage examples for Duration, DateTime, TimeOfDay, String, List, Color, EdgeInsets (including tuples & fluent builder), JSON beautifier, SafeListAccessor, BorderRadius.
- Added runnable example in
example/lib/main.dart. - Expanded test coverage (safe list accessor, JSON beautifier, TimeOfDay rounding & arithmetic, String capitalization, EdgeInsets tuple chaining).
Misc #
- General comment clean-up and consistency.
- Ensured MIT License header year and owner are present.
1.0.0 #
- Initial release
- Duration extensions with shortcuts (seconds, minutes, hours, days, weeks, months, years)
- DateTime utilities for conversion, formatting, and manipulation
- String extensions for parsing, formatting, and JSON utilities
- List extensions with safe access and chunking
- Color extensions for manipulation and hex conversion
- EdgeInsets extensions with fluent API
- TimeOfDay extensions with full feature support
- Offset, Map, ScrollController, and various utility extensions
- Comprehensive type conversion utilities