validate function

List<String> validate(
  1. dynamic data
)

Implementation

List<String> validate(dynamic data) {
  switch (data) {
    case Map<String, dynamic> map:
      return flatten(map)
          .values
          .whereType<String>()
          .where((it) => it.contains(RegExp(r'[:;]')))
          .toList();

    case List list:
      return list //
          .map((it) => validate(it))
          .expand((it) => it)
          .toList();

    case String string:
      if (string.contains(RegExp(r'[:;]'))) {
        return [string];
      }

      return [];

    case Object():
      try {
        jsonEncode(data);
      } catch (error) {
        return [error.toString()];
      }

      return [];

    default:
      return [];
  }
}