From 6b7597d8c744284c8fa63b4d755b8a428cc7098f Mon Sep 17 00:00:00 2001 From: Gordon GECOS Date: Mon, 20 Mar 2023 07:58:34 -0400 Subject: factor out function "buildCalendar" --- CosmicCalendar.hs | 3 +++ CosmicCalendarEvents.hs | 3 +-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CosmicCalendar.hs b/CosmicCalendar.hs index bab94da..db29c02 100644 --- a/CosmicCalendar.hs +++ b/CosmicCalendar.hs @@ -123,6 +123,9 @@ type Calendar = Map NominalDiffTime CalendarEntry getNextCalendarEntry :: Calendar -> LocalTime -> Maybe CalendarEntry getNextCalendarEntry cal (localTimeToYearElapsed -> t) = snd <$> Map.lookupGT t cal +buildCalendar :: [CalendarEntry] -> Map NominalDiffTime CalendarEntry +buildCalendar ls = Map.fromList $ map (\x -> (calBeginTime x, x)) $ map unwrap ls + unwrap :: CalendarEntry -> CalendarEntry unwrap x@CalendarEntry{..} = x { calDescription = unwrapText calDescription } where diff --git a/CosmicCalendarEvents.hs b/CosmicCalendarEvents.hs index 0973539..224fbe8 100644 --- a/CosmicCalendarEvents.hs +++ b/CosmicCalendarEvents.hs @@ -7,12 +7,11 @@ module CosmicCalendarEvents where import Rebase.Prelude import NeatInterpolation -import qualified Rebase.Data.Map.Strict as Map import CosmicCalendar theCalendar :: Map NominalDiffTime CalendarEntry -theCalendar = Map.fromList $ map (\x -> (calBeginTime x, x)) $ map unwrap +theCalendar = buildCalendar $ [ CalendarEntry 0 Nothing "The Big Bang" "The universe begins" "" "", CalendarEntry (370 & thousandYears & afterBigBang) -- cgit v1.2.3