aws-eventbridge-cron 0.1.1.0 → 0.1.1.1
raw patch · 3 files changed
+32/−25 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- CHANGELOG.md +5/−0
- aws-eventbridge-cron.cabal +1/−1
- src/AWS/EventBridge/Schedule.hs +26/−24
CHANGELOG.md view
@@ -5,6 +5,11 @@ The format is based on Keep a Changelog and this project adheres to Semantic Versioning. +## [0.1.1.1] - 2025-11-20+### Changed+- Improved Haddock/README guidance for timezone-aware helpers, including a+ rendered-friendly entrypoint walkthrough and base-vs-output reference table.+ ## [0.1.1.0] - 2025-11-20 ### Added - `AWS.EventBridge.Schedule` module that pairs schedules with an IANA timezone
aws-eventbridge-cron.cabal view
@@ -1,7 +1,7 @@ cabal-version: 3.0 name: aws-eventbridge-cron-version: 0.1.1.0+version: 0.1.1.1 synopsis: AWS EventBridge cron, rate, and one-time parser with scheduler description: Parse AWS EventBridge cron, rate, and one-time expressions and compute
src/AWS/EventBridge/Schedule.hs view
@@ -2,38 +2,40 @@ -- | Zone-aware helpers built on top of 'AWS.EventBridge.Cron'. ----- ## Choosing an entry point+-- == Choosing an entry point ----- 1. Parse the expression: use 'parseCronText' (UTC-only) or 'scheduleFromText'--- when the rule already specifies an IANA timezone.--- 2. Wrap the expression with 'scheduleFromExpr' or 'scheduleFromText' to carry--- timezone metadata.--- 3. Evaluate upcoming runs via the primary trio:+-- * Parse the expression: use 'parseCronText' (UTC-only) or 'scheduleFromText'+-- when the rule already specifies an IANA timezone.+-- * Wrap the expression with 'scheduleFromExpr' or 'scheduleFromText' to carry+-- timezone metadata.+-- * Evaluate upcoming runs via the primary trio: ----- * 'nextRunTimesUTC' – keep everything in UTC and compare against other--- absolute timestamps.--- * 'nextRunTimesLocal' – receive wall-clock values in the schedule's zone.--- * 'nextRunTimesZoned' – like 'nextRunTimesLocal' but tagged with the--- `TimeZone` used at each occurrence (captures DST changes).+-- * 'nextRunTimesUTC' – keep everything in UTC and compare against other+-- absolute timestamps.+-- * 'nextRunTimesLocal' – receive wall-clock values in the schedule's zone.+-- * 'nextRunTimesZoned' – like 'nextRunTimesLocal' but tagged with the+-- 'TimeZone' used at each occurrence (captures DST changes). ----- Conversion helpers (the `*FromUTC`, `*FromLocal`, and `*FromZoned` variants)+-- Conversion helpers (the @*FromUTC@, @*FromLocal@, and @*FromZoned@ variants) -- simply preprocess the base value before delegating to one of the three -- primary functions. They are handy when your caller already has a specific -- representation and you want to avoid manual conversions. ----- ### Base/Input vs Output quick reference+-- == Base/Input vs Output quick reference ----- | Base type | Desired output | Function |--- |------------|----------------|----------------------------------|--- | 'UTCTime' | 'UTCTime' | 'nextRunTimesUTC' |--- | 'LocalTime'| 'UTCTime' | 'nextRunTimesUTCFromLocal' |--- | 'ZonedTime'| 'UTCTime' | 'nextRunTimesUTCFromZoned' |--- | 'UTCTime' | 'LocalTime' | 'nextRunTimesLocalFromUTC' |--- | 'LocalTime'| 'LocalTime' | 'nextRunTimesLocal' |--- | 'ZonedTime'| 'LocalTime' | 'nextRunTimesLocalFromZoned' |--- | 'UTCTime' | 'ZonedTime' | 'nextRunTimesZonedFromUTC' |--- | 'LocalTime'| 'ZonedTime' | 'nextRunTimesZonedFromLocal' |--- | 'ZonedTime'| 'ZonedTime' | 'nextRunTimesZoned' |+-- @+-- Base input Output Function+-- ----------------------------------------------+-- UTCTime UTCTime nextRunTimesUTC+-- LocalTime UTCTime nextRunTimesUTCFromLocal+-- ZonedTime UTCTime nextRunTimesUTCFromZoned+-- UTCTime LocalTime nextRunTimesLocalFromUTC+-- LocalTime LocalTime nextRunTimesLocal+-- ZonedTime LocalTime nextRunTimesLocalFromZoned+-- UTCTime ZonedTime nextRunTimesZonedFromUTC+-- LocalTime ZonedTime nextRunTimesZonedFromLocal+-- ZonedTime ZonedTime nextRunTimesZoned+-- @ module AWS.EventBridge.Schedule ( -- * Schedule construction Schedule(..)