split<R> method

R split<R>(
  1. R on1(
    1. X1
    ),
  2. R on2(
    1. X2
    ),
  3. R on3(
    1. X3
    )
)

Implementation

R split<R>(
  R Function(X1) on1,
  R Function(X2) on2,
  R Function(X3) on3,
) {
  var v = value;
  if (v is X1) return on1(v);
  if (v is X2) return on2(v);
  if (v is X3) return on3(v);
  throw InvalidUnionTypeException(
    "Union3<$X1, $X2, $X3>",
    value,
  );
}