summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGordon GECOS <u@adam>2023-03-20 07:58:34 -0400
committerGordon GECOS <u@adam>2023-03-20 07:58:34 -0400
commit6b7597d8c744284c8fa63b4d755b8a428cc7098f (patch)
tree3ae7660fc5eeedef0576658426c822136d15d585
parent68a28047dc5fea08ee23418a6293ef4d42aa9496 (diff)
factor out function "buildCalendar"
-rw-r--r--CosmicCalendar.hs3
-rw-r--r--CosmicCalendarEvents.hs3
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
123getNextCalendarEntry :: Calendar -> LocalTime -> Maybe CalendarEntry 123getNextCalendarEntry :: Calendar -> LocalTime -> Maybe CalendarEntry
124getNextCalendarEntry cal (localTimeToYearElapsed -> t) = snd <$> Map.lookupGT t cal 124getNextCalendarEntry cal (localTimeToYearElapsed -> t) = snd <$> Map.lookupGT t cal
125 125
126buildCalendar :: [CalendarEntry] -> Map NominalDiffTime CalendarEntry
127buildCalendar ls = Map.fromList $ map (\x -> (calBeginTime x, x)) $ map unwrap ls
128
126unwrap :: CalendarEntry -> CalendarEntry 129unwrap :: CalendarEntry -> CalendarEntry
127unwrap x@CalendarEntry{..} = x { calDescription = unwrapText calDescription } 130unwrap x@CalendarEntry{..} = x { calDescription = unwrapText calDescription }
128 where 131 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
7 7
8import Rebase.Prelude 8import Rebase.Prelude
9import NeatInterpolation 9import NeatInterpolation
10import qualified Rebase.Data.Map.Strict as Map
11 10
12import CosmicCalendar 11import CosmicCalendar
13 12
14theCalendar :: Map NominalDiffTime CalendarEntry 13theCalendar :: Map NominalDiffTime CalendarEntry
15theCalendar = Map.fromList $ map (\x -> (calBeginTime x, x)) $ map unwrap 14theCalendar = buildCalendar $
16 [ 15 [
17 CalendarEntry 0 Nothing "The Big Bang" "The universe begins" "" "", 16 CalendarEntry 0 Nothing "The Big Bang" "The universe begins" "" "",
18 CalendarEntry (370 & thousandYears & afterBigBang) 17 CalendarEntry (370 & thousandYears & afterBigBang)