setPairXY method
P?
setPairXY(
- P pair,
- X x,
- Y y
Implementation
P? setPairXY(P pair, X x, Y y) {
if (pair == null) {
return null;
} else if (pair is List) {
if (x.runtimeType == y.runtimeType) {
pair[0] = x;
pair[1] = y;
return null;
} else {
return [x, y] as P;
}
} else if (pair is Map) {
var keyX = findKeyName(pair as Map<String, dynamic>, xKeys, true)!;
var keyY = findKeyName(pair, yKeys, true)!;
pair[keyX] = x;
pair[keyY] = y;
return null;
} else if (pair is Pair) {
return Pair(x, y) as P;
} else if (pair is String) {
String s = pair;
String? delimiter = '';
s.splitMapJoin(stringPairDelimiterPattern,
onNonMatch: (p) => '',
onMatch: (m) {
delimiter = m[0];
return '';
});
return '$x$delimiter$y' as P;
} else {
throw UnsupportedError(
"Can't handle pair of type ${pair.runtimeType}: $pair");
}
}