isDataURI function

bool isDataURI(
  1. String input
)

check if string input is a data uri

Implementation

bool isDataURI(String input) {
  var data = input.split(',');
  if (data.length < 2) {
    return false;
  }
  var attributes = data.removeAt(0).trim().split(';');
  var schemeAndMediaType = attributes.removeAt(0);
  if (schemeAndMediaType.substring(0, 5) != 'data:') {
    return false;
  }

  var mediaType = schemeAndMediaType.substring(5);
  if (mediaType != '' && !_validMediaType.hasMatch(mediaType)) {
    return false;
  }

  for (var i = 0; i < attributes.length; i++) {
    if (i == attributes.length - 1 && attributes[i].toLowerCase() == 'base64') {
    } else if (!_validAttribute.hasMatch(attributes[i])) {
      return false;
    }
  }

  for (var i = 0; i < data.length; i++) {
    if (!_validData.hasMatch(data[i])) {
      return false;
    }
  }

  return true;
}