getZoomlevelRangeNode method

ZoomlevelRange? getZoomlevelRangeNode(
  1. ITagCollection tags
)

Returns the widest possible zoomrange which may accept the given argument. Returns null if the argument is never accepted.

Implementation

ZoomlevelRange? getZoomlevelRangeNode(ITagCollection tags) {
  ZoomlevelRange? result = nodeMatchingCache[tags];
  if (result != null) {
    if (result == const ZoomlevelRange.none()) return null;
    return result;
  }

  //    ZoomlevelRange? result;
  for (var rule in rulesList) {
    ZoomlevelRange? range = rule.getZoomlevelRangeNode(tags);
    if (range != null) {
      result = result?.widenTo(range) ?? range;
    }
  }
  nodeMatchingCache[tags] = result ?? const ZoomlevelRange.none();
  return result;
}