single property
override
Checks that this iterable has only one element, and returns that element.
Throws a StateError if this
is empty or has more than one element.
This operation will not iterate past the second element.
Implementation
String get single {
int len = this.length;
if (len == 1) {
return JS('String', '#[0]', this);
}
if (len == 0) throw new StateError("No elements");
throw new StateError("More than one element");
}