combine3<T1 extends Object, T2 extends Object, T3 extends Object> static method

Option<(T1, T2, T3)> combine3<T1 extends Object, T2 extends Object, T3 extends Object>(
  1. Option<T1> o1,
  2. Option<T2> o2,
  3. Option<T3> o3
)

Combines 3 Option outcomes into 1 containing a tuple of their values if all are Some.

Returns None if any are None.

See also: combineOption.

Implementation

static Option<(T1, T2, T3)>
combine3<T1 extends Object, T2 extends Object, T3 extends Object>(
  Option<T1> o1,
  Option<T2> o2,
  Option<T3> o3, //,
) {
  return combineOption<Object>([
    o1,
    o2,
    o3,
  ]).map((l) => (l[0] as T1, l[1] as T2, l[2] as T3));
}