samePolysAreHovered static method

bool samePolysAreHovered(
  1. List<Object> prev,
  2. List<Object> current
)

Implementation

static bool samePolysAreHovered(List<Object> prev, List<Object> current) {
  // Check if each item in prev and current is MapEquatableObject
  bool prevValid = prev.every((item) => item is MapEquatableObject);
  bool currentValid = current.every((item) => item is MapEquatableObject);

  if (!prevValid || !currentValid) {
    return false;
  }

  // Cast to List<MapEquatableObject> and compare based on hash values
  final prevHashes = prev.cast<MapEquatableObject>().map((e) => e.hash).toSet();
  final currentHashes = current.cast<MapEquatableObject>().map((e) => e.hash).toSet();

  // Compare sets for equality (ignores order)
  return prevHashes.containsAll(currentHashes) && currentHashes.containsAll(prevHashes);
}