in modules/core/src/main/scala/org/scalasteward/core/repocache/RefreshErrorAlg.scala [53:63]
private def failedRecently(repo: Repo): F[Option[FiniteDuration]] =
kvStore.get(repo).flatMap {
case None => F.pure(None)
case Some(entry) =>
dateTimeAlg.currentTimestamp.flatMap { now =>
entry.expiresIn(now, backoffPeriod) match {
case some @ Some(_) => F.pure(some)
case None => kvStore.set(repo, None).as(None)
}
}
}