getMonoid<T> static method

Monoid<Option<T>> getMonoid<T>(
  1. Semigroup<T> semigroup

Build an instance of Monoid in which the empty value is None and the combine function uses the given semigroup to combine the values of both Option if they are both Some.

If one of the Option is None, then calling combine returns None.


static Monoid<Option<T>> getMonoid<T>(Semigroup<T> semigroup) =>
        const Option.none(),
        (a1, a2) => a1.flatMap((v1) => a2.flatMap(
              (v2) => Some(semigroup.combine(v1, v2)),