From 8b57b01e159723c163e75fa85ff8439156f849d4 Mon Sep 17 00:00:00 2001 From: Max Smirnov Date: Wed, 31 May 2023 18:23:19 +0300 Subject: [PATCH 1/2] Simplify lastId --- core/shared/src/main/scala/canoe/api/sources/Polling.scala | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/core/shared/src/main/scala/canoe/api/sources/Polling.scala b/core/shared/src/main/scala/canoe/api/sources/Polling.scala index b845a700..95995736 100644 --- a/core/shared/src/main/scala/canoe/api/sources/Polling.scala +++ b/core/shared/src/main/scala/canoe/api/sources/Polling.scala @@ -29,10 +29,7 @@ private[api] class Polling[F[_]: TelegramClient: Functor](timeout: FiniteDuratio .map(updates => (lastId(updates).map(_ + 1).getOrElse(offset), updates)) private def lastId(updates: List[Update]): Option[Long] = - updates match { - case Nil => None - case nonEmpty => Some(nonEmpty.map(_.updateId).max) - } + updates.map(_.updateId).maxOption } object Polling { From c79a2f95382a50917298a181c1146d03913a706a Mon Sep 17 00:00:00 2001 From: Max Smirnov Date: Thu, 1 Jun 2023 01:04:41 +0300 Subject: [PATCH 2/2] Use lastOption Co-authored-by: ivan-klass --- core/shared/src/main/scala/canoe/api/sources/Polling.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/shared/src/main/scala/canoe/api/sources/Polling.scala b/core/shared/src/main/scala/canoe/api/sources/Polling.scala index 95995736..11a66dd0 100644 --- a/core/shared/src/main/scala/canoe/api/sources/Polling.scala +++ b/core/shared/src/main/scala/canoe/api/sources/Polling.scala @@ -29,7 +29,7 @@ private[api] class Polling[F[_]: TelegramClient: Functor](timeout: FiniteDuratio .map(updates => (lastId(updates).map(_ + 1).getOrElse(offset), updates)) private def lastId(updates: List[Update]): Option[Long] = - updates.map(_.updateId).maxOption + updates.lastOption.map(_.updateId) } object Polling {