9807015b

Author: Greg Pfeil <greg@technomadic.org>

Committer: GitHub <noreply@github.com>

Extend `CyclicCalendar` (#10)

This adds two more primitive operations to `CyciicCalendar`:
`cycleLength` and `ordinal`, which then allows a default implementation
of `onOrBefore`.

It also generalizes a number of previously `DayOfWeek`-specific
operations to work for any `CyclicCalendar`.

Suite timing

Time to Start Worker time Duration Time to finish Idle
Config 0s 3s 3s 3s 0s
Eval 4s 1m57s 1m57s 2m02s 0s
Build 9s 7m37s 1m41s 1m51s 0s
Suite 0s 9m39s 2m02s 2m02s 0s

Timeline

0s10s20s30s40s50s1m1m10s1m20s1m30s1m40s1m50s2m