split<R> method

R split<R>(
  1. R on1(
    1. X1
    ),
  2. R on2(
    1. X2
    ),
  3. R on3(
    1. X3
    ),
  4. R on4(
    1. X4
    ),
  5. R on5(
    1. X5
    ),
  6. R on6(
    1. X6
    ),
  7. R on7(
    1. X7
    ),
  8. R on8(
    1. X8
    ),
  9. R on9(
    1. X9
    ),
)

Implementation

R split<R>(
  R Function(X1) on1,
  R Function(X2) on2,
  R Function(X3) on3,
  R Function(X4) on4,
  R Function(X5) on5,
  R Function(X6) on6,
  R Function(X7) on7,
  R Function(X8) on8,
  R Function(X9) on9,
) {
  var v = value;
  if (v is X1) return on1(v);
  if (v is X2) return on2(v);
  if (v is X3) return on3(v);
  if (v is X4) return on4(v);
  if (v is X5) return on5(v);
  if (v is X6) return on6(v);
  if (v is X7) return on7(v);
  if (v is X8) return on8(v);
  if (v is X9) return on9(v);
  throw InvalidUnionTypeException(
    "Union9<$X1, $X2, $X3, $X4, $X5, $X6, $X7, $X8, $X9>",
    value,
  );
}