aboutsummaryrefslogtreecommitdiff
path: root/internal/calendar/types.go
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-07-27 13:58:19 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-07-27 13:58:19 +0200
commit3bda15bfe7786ae97fac1cbf779b713cf4238846 (patch)
treed7d5d9b8a6a0183fdb732e4cc6289f65405fc6d5 /internal/calendar/types.go
parent5d96dd46ae8ed6b4f4cae6a0dd771a33cdc3a317 (diff)
downloadlectio-3bda15bfe7786ae97fac1cbf779b713cf4238846.tar.gz
lectio-3bda15bfe7786ae97fac1cbf779b713cf4238846.zip
feat(calendar): EF (1962) temporal cycle temporalEF + EF seasons
8 EF seasons by date boundary (Septuagesima, Passiontide, Time after Epiphany/ Pentecost + shared); major feasts of the Lord; Christ the King = last Sun of October. ParseRank accepts EF ranks.
Diffstat (limited to 'internal/calendar/types.go')
-rw-r--r--internal/calendar/types.go15
1 files changed, 6 insertions, 9 deletions
diff --git a/internal/calendar/types.go b/internal/calendar/types.go
index 0ccef8b..298e49d 100644
--- a/internal/calendar/types.go
+++ b/internal/calendar/types.go
@@ -137,16 +137,13 @@ type LiturgicalDay struct {
WeekdayCycle string // "I" | "II"
}
+// ParseRank validates a rank token (OF or EF vocabulary), falling back to
+// RankFerial for anything unknown.
func ParseRank(s string) Rank {
- switch s {
- case "solemnity":
- return RankSolemnity
- case "feast":
- return RankFeast
- case "memorial":
- return RankMemorial
- case "optional":
- return RankOptional
+ switch Rank(s) {
+ case RankSolemnity, RankFeast, RankMemorial, RankOptional, RankFerial,
+ RankClass1, RankClass2, RankClass3, RankClass4, RankCommemoration:
+ return Rank(s)
default:
return RankFerial
}