toRune function
Implementation
int toRune(String string) {
if (string == null) {
throw ArgumentError('string: $string');
}
final length = string.length;
if (length == 0) {
throw StateError('An empty string contains no elements.');
}
final start = string.codeUnitAt(0);
if (length == 1) {
return start;
}
if ((start & 0xFC00) == 0xD800) {
final end = string.codeUnitAt(1);
if ((end & 0xFC00) == 0xDC00) {
return (0x10000 + ((start & 0x3FF) << 10) + (end & 0x3FF));
}
}
return start;
}