bdf46fea

Author: Tom Sydney Kerckhove <syd@cs-syd.eu>

Committer: Tom Sydney Kerckhove <NorfairKing@users.noreply.github.com>

ical-recurrence: keep the week day of a numeric BYDAY

GREEN for the test in the previous commit.  'FREQ=DAILY;BYDAY=2MO' now
matches Mondays instead of every day.

A numeric BYDAY at a frequency other than MONTHLY or YEARLY is forbidden,
so it was dropped whole.  Dropping it whole left the day filter empty, and
an empty day filter is no restriction, so the recurrence set came out
wider than the rule asked for rather than narrower.  Keeping the week day
and discarding only the number is what the unnumbered form already means,
and is how 'byEveryWeekDayWeek' repairs the same shape.

'RecurrenceByDayNumeric' is still emitted, so a conforming run still
refuses the rule and only a lenient run gets the repaired week day.

'Data.Maybe' goes with 'catMaybes': nothing in the module needs it now
that no rule part is dropped.

Suite timing

Time to Start Worker time Duration Time to finish Idle
Config 0s 1s 1s 1s 0s
Eval 1s 10s 10s 11s 0s
Build 10s 56s 42s 53s 0s
Suite 0s 1m07s 53s 53s 0s

Timeline

0s10s20s30s40s50s