normalize property

String get normalize

Implementation

// TODO(edufolly): Add more characters.
String get normalize => splitMapJoin(
      RegExp(r'[^a-zA-Z0-9\s]', caseSensitive: false),
      onMatch: (Match e) {
        return switch (e.group(0)) {
          'á' || 'à' || 'ã' || 'â' || 'ä' || 'å' => 'a',
          'Á' || 'À' || 'Ã' || 'Â' || 'Ä' || 'Å' => 'A',
          'é' || 'è' || 'ê' || 'ë' => 'e',
          'É' || 'È' || 'Ê' || 'Ë' => 'E',
          'í' || 'ì' || 'î' || 'ï' => 'i',
          'Í' || 'Ì' || 'Î' || 'Ï' => 'I',
          'ó' || 'ò' || 'õ' || 'ô' || 'ö' => 'o',
          'Ó' || 'Ò' || 'Õ' || 'Ô' || 'Ö' => 'O',
          'ú' || 'ù' || 'û' || 'ü' => 'u',
          'Ú' || 'Ù' || 'Û' || 'Ü' => 'U',
          'ç' => 'c',
          'Ç' => 'C',
          _ => e.group(0) ?? ''
        };
      },
      onNonMatch: (String e) => e,
    );