private def findUpdateState()

in modules/core/src/main/scala/org/scalasteward/core/update/PruningAlg.scala [107:127]


  private def findUpdateState(
      repo: Repo,
      repoCache: RepoCache,
      updates: List[Update.ForArtifactId]
  )(
      crossDependency: CrossDependency
  ): F[UpdateState] =
    updates.find(UpdateAlg.isUpdateFor(_, crossDependency)) match {
      case None => F.pure(DependencyUpToDate(crossDependency))
      case Some(update) =>
        pullRequestRepository.findLatestPullRequest(repo, crossDependency, update.nextVersion).map {
          case None =>
            DependencyOutdated(crossDependency, update)
          case Some(pr) if pr.state.isClosed =>
            PullRequestClosed(crossDependency, update, pr.url)
          case Some(pr) if pr.baseSha1 === repoCache.sha1 =>
            PullRequestUpToDate(crossDependency, update, pr.url)
          case Some(pr) =>
            PullRequestOutdated(crossDependency, update, pr.url)
        }
    }