Fleasy Logo
pub.dev badge GitHub actions GitHub commit activity
Buy Me A Coffee

Fleasy helps create Flutter apps easier by providing useful and easy to use extensions, helper classes and widgets.

The goal is that by using this package you have to write less (repeating) and more clean and readable code.

Overview

Features

All features with links to their page in the documentation:

  • Extensions on String and String?:

    Note: All getters also do a null check if used on String?.
    • isNotBlank

      Whether the string contains characters except of whitespace characters.
    • isBlank

      Whether the string is either empty or solely made of whitespace characters.
    • isEmail

      Whether the string is a valid email.
    • isUrl

      Whether the string is a valid url.
    • isEasyPassword

      Whether the string is a valid easy password.
    • isMediumPassword

      Whether the string is a valid medium password.
    • isStrongPassword

      Whether the string is a valid strong password.
    • toNullIfBlank()

      Returns null if the string isBlank or it's text if it isNotBlank.
    • addHttps()

      Adds https:// to the link if it does not contain https:// or http:// already. This is helpful to make a link openable when using the url_launcher package for example.
  • Extensions on DateTime:

    • copyWith(...)

      Returns a copy with the overridden (given) attributes.
    • format(...)

      Returns a String which represents the date formatted by the given pattern.
    • isToday

      Whether the date is today.
    • isYesterday

      Whether the date is yesterday.
    • isTomorrow

      Whether the date is tomorrow.
    • isFutureDay

      Whether the date is a day in the future.
    • isSameDay(...)

      Whether the date is on the same day (regardless of the time) as the given date.
    • timeIsZero

      Whether the time of the date is zero/empty.
    • copyWithEmptyTime()

      Returns a copy with time set to zero/empty.
  • Extensions on List<DateTime>:

  • Extensions on List?:

    • isNotBlank

      Whether the list is not empty nor null.
    • isBlank

      Whether the list is empty or null.
  • Extensions on List:

    • find(...)

      Returns either the first element of the list which satisfies the provided test or null if there is none.
  • Date helper class:

    • today()

      DateTime.now() without time (time set to zero).
    • tomorrow()

      The DateTime of tomorrow (without time (time set to zero)).
    • yesterday()

      The DateTime of yesterday (without time (time set to zero)).
  • DeviceType helper class:

    With the help of this class you can easily find out on which platform the app is currently running and most importantly: in a web-safe way! It uses the awesome universal_platform package.
    • isIOS

      Whether the app is running on iOS.
    • isAndroid

      Whether the app is running on android.
    • isMacOS

      Whether the app is running on macOS.
    • isLinux

      Whether the app is running on linux.
    • isWindows

      Whether the app is running on windows.
    • isWeb

      Whether the app is running on the web.
    • isDesktop

      Whether the app is running on desktop (windows, macOS or linux).
    • isMobile

      Whether the app is running on mobile (android or iOS).
    • isDesktopOrWeb

      Whether the app is running on desktop or web.
    • isMobileOrWeb

      Whether the app is running on mobile or web.
  • Insets helper class:

    A single source of truth for styling values like padding, spacing, corner shape, font sizes, and so on. These constants can then be used in place of hard-coded numeric values.
    • xxs

      An extra extra small inset of 2.0.
    • xs

      An extra small inset of 4.0.
    • s

      A small inset of 6.0.
    • m

      A medium inset of 8.0.
    • l

      A large inset of 10.0.
    • xl

      An extra large inset of 12.0.
    • xxl

      An extra extra large inset of 16.0.
  • Flutter Widgets:

    • EasyFutureBuilder

      A wrapper around FutureBuilder which makes it easy to display the various states of fetching data from the given Future. See example.
    • EasyStreamBuilder

      A wrapper around StreamBuilder which makes it easy to display the various states of streaming data from the given Stream. See example.
  • Analysis options:

    You can use the same analysis options which this package uses by simply including them in your analysis_options.yaml file:

      include: package:fleasy/analysis_options.yaml
    

    They are based on:

    For more details, have a look at the analysis_options.yaml file here.

Note:

This package is still in early stages. If you notice any bugs not present in issues, please file a new issue. If you are willing to fix or enhance things yourself, you are very welcome to make a pull request.

Also: Feedback and suggestions are very welcome. Just open an issue or write an email to info@jensbecker.dev.

Libraries

fleasy