H(elpful)Utils

Release

This is a work in progress

About

This is a set of helper classes I feel that Dart was missing.

Disclaimer this is made for personal use and interface changes might occur.

Features

Usage

Date & Time

Control Flow

Method

A function that takes an input of type I and returns a value of O.

typedef Method<I, O> = O Function(I);  

Usage

final Method<int, String> method = (int input) => int.toString();

Value

final Method<dynamic, int> method = value(2);
method(4); // returns 2

Map

final Method<int, int> method = (int input) => int * 2;
method.map((number) => number / 2)(4); // returns 4

Also

final Method<String, String> method = (String input) => "Hello $input";
final Method<String, String> printedMethod = method.also((String input) => print(input));
also("World"); // prints World, returns Hello World

Format

final Method<String, String> method = (String input) => "Hello $input";
method.format("{}, how are you?")("World"); // returns Hello World, how are you?

ForEach

final Method<String, String> method = (String input) => "Hello $input";
method.format("{}, how are you?")("World"); // Hello World, how are you?

Supplier

Consumer

Predicate

Runnable

Switcher

Optional

Either

Immutability

Libraries

blur_popup
both_present
builder
conditions
consumer
date
empty
first_present
functional
h_utils
if
list
logger
map
math
method
neither_present
non_blank_string
optional
optional_list
optional_num
optional_string
optional_tuple
predicate
present
runnable
second_present
string
supplier
switcher
time
try
using