either function
String
either(
- dynamic arg0, [
- dynamic arg1,
- dynamic arg2,
- dynamic arg3,
- dynamic arg4,
- dynamic arg5,
- dynamic arg6,
- dynamic arg7,
- dynamic arg8,
- dynamic arg9,
- dynamic arg10,
- dynamic arg11,
- dynamic arg12,
- dynamic arg13,
- dynamic arg14,
- dynamic arg15,
- dynamic arg16,
- dynamic arg17,
- dynamic arg18,
- dynamic arg19,
Implementation
String either(
dynamic arg0, [
dynamic arg1,
dynamic arg2,
dynamic arg3,
dynamic arg4,
dynamic arg5,
dynamic arg6,
dynamic arg7,
dynamic arg8,
dynamic arg9,
dynamic arg10,
dynamic arg11,
dynamic arg12,
dynamic arg13,
dynamic arg14,
dynamic arg15,
dynamic arg16,
dynamic arg17,
dynamic arg18,
dynamic arg19,
]) {
var args = <dynamic>[
arg0,
arg1,
arg2,
arg3,
arg4,
arg5,
arg6,
arg7,
arg8,
arg9,
arg10,
arg11,
arg12,
arg13,
arg14,
arg15,
arg16,
arg17,
arg18,
arg19,
].where((x) => x != null).toList();
Map<String, dynamic>? opts;
if (args.isNotEmpty && args.last is Map<String, dynamic>) {
opts = args.removeLast() as Map<String, dynamic>;
}
final capture = opts != null && opts['capture'] == true;
final joined =
'(${capture ? "" : "?:"}${args.map((x) => source(x)).join("|")})';
return joined;
}