on method

Widget on({
  1. required Widget pending(),
  2. required Widget fail(
    1. E e
    ),
  3. required Widget success(
    1. T ok
    ),
})

Implementation

Widget on({
  required Widget Function() pending,
  required Widget Function(E e) fail,
  required Widget Function(T ok) success,
}) {
  if (connectionState == ConnectionState.waiting) {
    return pending();
  }
  if (hasError) {
    final Err<E>(:E _value) = error! as Err<E>;
    return fail(_value);
  }
  final Ok<T>(:T _value) = data! as Ok<T>;
  return success(_value);
}