dart_helper_utils 2.0.0-beta.2 copy "dart_helper_utils: ^2.0.0-beta.2" to clipboard
dart_helper_utils: ^2.0.0-beta.2 copied to clipboard

This package offers a collection of Dart utilities, tools for converting dynamic objects to various types, and extending core Dart classes with extensions.

CHANGELOG #

[2.0.0] #

In this version, we have made extensive use of the intl package with a comprehensive set of new extensions to provide robust localization and formatting capabilities.

  • Intl Extensions:
    • General:
      • Map: intlSelectLogic, intlSelect
      • Num: pluralize, getPluralCategory
      • String: setAsDefaultLocale, setAsSystemLocale, translate, genderSelect, getGenderCategory
    • DateFormat:
      • DateTime: tryFormat, format, and various formatting methods.
      • String: dateFormat, toDateFormatted, toDateFormattedLoose, toDateFormattedStrict, toDateFormattedUtc, localeExists.
    • Bidi Extensions:
      • TextDirection: toBidiFormatter
      • String: Various bidi text manipulation methods.
    • NumberFormat Extensions:
      • String: toNumFormatted, toIntFormatted, toDoubleFormatted.
      • Num: formatAsCurrency, formatAsCompact, and various other formatting methods.

Enhancements and Fixes #

  • Enhanced number and date conversion functions (toNum, tryToNum, toInt, tryToInt, toDouble, tryToDouble, toDateTime, tryToDateTime) to include optional format and locale parameters.
  • Fixed an issue in makeEncodable on Maps where sets were not properly converted to JSON-encodable lists.
  • Consolidated several DateTime manipulation methods to ensure consistency and accuracy.
  • Addressed various minor bugs and inconsistencies in existing extension methods.
  • Enhanced documentation across several methods to improve clarity and usability.

Breaking Changes #

  • toDateWithFormat replaced with toDateFormatted() on String.
  • lastDayOfWeek and firstDayOfWeek are now methods with an optional startOfWeek parameter to customize the first day of the week (defaults to Monday). Improved time zone handling and added tests.

[1.2.0] #

  • New Feature: Added the toWords getter on String, which converts any String to a List<String>, handling complex cases more effectively than the native split() method.

    • Example Usage:

      print("FlutterAndDart_are-AWESOME".toWords); // [Flutter, And, Dart, are, AWESOME]
      

[1.1.0] #

Enhancements

  • String Case Conversions:
    • capitalizeFirstLetter: Now only capitalizes the first letter, preserving the rest of the case.
    • NEW: capitalizeFirstLowerRest: Provides the previous behavior, capitalizing the first letter and lowercasing the rest.

Added

  • Expanded String Case Conversions: Added comprehensive case conversion extensions:

    • toPascalCase: PascalCase (UpperCamelCase).
    • toTitleCase: Title Case.
    • toCamelCase: camelCase (dromedaryCase).
    • toSnakeCase: snake_case (snail_case, pothole_case).
    • toKebabCase: kebab-case (dash-case, lisp-case, spinal-case).
    • toScreamingSnakeCase: SCREAMING_SNAKE_CASE (MACRO_CASE, CONSTANT_CASE, ALL_CAPS).
    • toScreamingKebabCase: SCREAMING-KEBAB-CASE (COBOL-CASE).
    • toPascalSnakeCase: Pascal_Snake_Case.
    • toPascalKebabCase: Pascal-Kebab-Case.
    • toTrainCase: Train-Case (HTTP-Header-Case).
    • toCamelSnakeCase: camel_Snake_Case.
    • toCamelKebabCase: camel-Kebab-Case.
    • toDotCase: dot.case.
    • toFlatCase: flatcase.
    • toScreamingCase: SCREAMINGCASE (UPPERCASE).
  • Nullable String Handling: Added extensions for case conversion of nullable strings:

    • lowercaseFirstLetter: Lowercases only the first letter of the string, preserving the rest of the case.
    • capitalizeFirstLowerRest: Capitalizes the first letter of the string and lowers the rest.
    • tryToLowerCase: same as the native toLowerCase() but for nullable strings.
    • tryToUpperCase same as the native toUpperCase() but for nullable strings.
  • String Utility:

    • isBlank: Alias for isEmptyOrNull, checks if a string is null, empty, or solely whitespace.

[1.0.1] #

  • Updated the README.

[1.0.0] - 2024-05-25 #

Initial release of dart_helper_utils, which includes all the Dart utilities from flutter_helper_utils up to version 4.1.0

Added

  • ConvertObject class now accepts raw JSON strings for List, Set, and Map conversions, e.g., tryToList<int>("[1,2,3]").
  • New TimeUtils class for measuring and comparing execution times, with methods like:
    • executionDuration: Calculates the duration of a task (synchronous or asynchronous).
    • executionDurations: Measures execution times for a list of tasks.
    • compareExecutionTimes: Compares the execution durations of two tasks.
    • throttle: Creates a throttled function that invokes the function at most once per specified interval.
    • runPeriodically: Executes a function periodically with a given interval.
    • runWithTimeout: Executes a function with a timeout, cancelling if it exceeds the specified duration.

Notes

27
likes
0
pub points
61%
popularity

Publisher

unverified uploader

This package offers a collection of Dart utilities, tools for converting dynamic objects to various types, and extending core Dart classes with extensions.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

intl, mime

More

Packages that depend on dart_helper_utils