getSelectionRangeCached method

({String endFrag, int endOff, String startFrag, int startOff})? getSelectionRangeCached(
  1. String nodeId
)

O(1) when pre-computed, falls back to O(n) otherwise (e.g. drag selection).

Implementation

({String startFrag, int startOff, String endFrag, int endOff})?
    getSelectionRangeCached(String nodeId) {
  if (_cachedSelectionRanges.containsKey(nodeId)) {
    return _cachedSelectionRanges[nodeId];
  }
  return getSelectionRangeForNode(nodeId);
}