Deterministic UTC Cron and RFC 5545 recurrence rules for MoonBit.
moon add 100kkk/moon-schedulemoon check --target all --deny-warn
moon test --target all --deny-warnlet cron = @schedule.Cron::parse("*/15 9-17 * * MON-FRI")
let after = @schedule.DateTime::parse("2025-01-06T09:01Z")
let next = cron.next_after(after)
// 2025-01-06T09:15Z
let rule = @schedule.RRule::parse("FREQ=DAILY;COUNT=3")
let start = @schedule.DateTime::parse("2025-01-01T09:00Z")
let end = @schedule.DateTime::parse("2025-01-05T09:00Z")
let occurrences = rule.occurrences_between(start, end)moon run cmd/main -- parse 'cron:*/15 9-17 * * MON-FRI'
moon run cmd/main -- next 'cron:0 0 1 JAN *' '2024-12-31T23:59Z' 2
moon run cmd/main -- between 'rrule:FREQ=DAILY;COUNT=3' '2025-01-01T09:00Z' '2025-01-05T09:00Z'moon check --target all --deny-warn
moon build --target all --deny-warn
moon fmt --check
moon info
git diff --exit-code
moon test --target all --deny-warn
moon packagefn DateTime::new(year : Int, month : Int, day : Int, hour : Int, minute : Int) -> DateTime raise ScheduleErrorDeterministic UTC Cron and RFC 5545 recurrence rules for MoonBit.