isMimeType 方法

  1. @Since("2.17")
bool isMimeType(
  1. String mimeType
)

判断 UriData.mimeType 是否等于 mimeType

比较 data: URI 的 MIME 类型与 mimeType,进行不区分大小写的比较,忽略 ASCII 字母的大小写。

mimeType 被视为与 text/plain 等价,无论是在 mimeType 参数中还是在 data: URI 本身中。

实现

@Since("2.17")
bool isMimeType(String mimeType) {
  int start = _separatorIndices[0] + 1;
  int end = _separatorIndices[1];
  if (start == end) {
    return mimeType.isEmpty ||
        identical(mimeType, "text/plain") ||
        _caseInsensitiveEquals(mimeType, "text/plain");
  }
  if (mimeType.isEmpty) mimeType = "text/plain";
  return (mimeType.length == end - start) &&
      _caseInsensitiveStartsWith(mimeType, _text, start);
}