splitNamed<R> method
R?
splitNamed<R>({})
Implementation
R? splitNamed<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(Object?)? onOther,
R Function(Object?)? onInvalid,
}) {
var v = value;
if (v is X1) return (on1 ?? onOther)?.call(v);
if (v is X2) return (on2 ?? onOther)?.call(v);
if (v is X3) return (on3 ?? onOther)?.call(v);
if (v is X4) return (on4 ?? onOther)?.call(v);
if (v is X5) return (on5 ?? onOther)?.call(v);
if (v is X6) return (on6 ?? onOther)?.call(v);
if (v is X7) return (on7 ?? onOther)?.call(v);
if (v is X8) return (on8 ?? onOther)?.call(v);
if (onInvalid != null) return onInvalid(v);
throw InvalidUnionTypeException(
"Union8<$X1, $X2, $X3, $X4, $X5, $X6, $X7, $X8>",
value,
);
}