getColors method

List<Color>? getColors(
  1. String key, {
  2. String splitPatter = r'(\s*,+\s*)+',
  3. ColorMapper? colorMapper = kBasicCSSColors,
})
inherited

Implementation

List<Color>? getColors(
  String key, {
  String splitPatter = r'(\s*,+\s*)+',
  ColorMapper? colorMapper = kBasicCSSColors,
}) {
  final raw = attrs[key];
  if (raw.isEmpty) return null;

  final rawColors = raw!.split(RegExp(splitPatter));
  if (rawColors.isEmpty) return null;
  if (rawColors.length == 1 && rawColors[0].isEmpty) return null;

  List<Color>? colors;

  for (var rawColor in rawColors) {
    var color = Pigment.fromString(rawColor, colorMapper);
    if (color != null) {
      colors ??= [];
      colors.add(color);
    }
  }

  return colors;
}