hasCardinality method

bool hasCardinality(
  1. XPathCardinality cardinality
)

Checks the cardinality of the sequence.

Implementation

bool hasCardinality(XPathCardinality cardinality) {
  if (XPathCardinality.zeroOrMore == cardinality) return true;
  final iterator = this.iterator;
  if (iterator.moveNext()) {
    if (XPathCardinality.oneOrMore == cardinality) return true;
    if (!iterator.moveNext()) {
      return XPathCardinality.exactlyOne == cardinality ||
          XPathCardinality.zeroOrOne == cardinality;
    }
  } else {
    return XPathCardinality.zeroOrOne == cardinality;
  }
  return false;
}