Pure helper functions for working with EventData maps.
Provides duration, all-day?, within-range?, and validation
delegates. The event type definition registry and the defevent macro
live in the shell (boundary.calendar.shell.registry) — this namespace
holds no mutable state.
FC/IS rule: no I/O here. All side effects live in the shell layer.
Pure helper functions for working with EventData maps. Provides `duration`, `all-day?`, `within-range?`, and validation delegates. The event type definition registry and the `defevent` macro live in the shell (boundary.calendar.shell.registry) — this namespace holds no mutable state. FC/IS rule: no I/O here. All side effects live in the shell layer.
(all-day? event)Return true if the event spans at least 24 hours and starts at midnight UTC.
Args: event - EventData map
Returns boolean.
Return true if the event spans at least 24 hours and starts at midnight UTC. Args: event - EventData map Returns boolean.
(duration event)Return the java.time.Duration between an event's :start and :end.
Args: event - EventData map with :start and :end Instants
Returns java.time.Duration (may be zero or negative for malformed events).
Return the java.time.Duration between an event's :start and :end. Args: event - EventData map with :start and :end Instants Returns java.time.Duration (may be zero or negative for malformed events).
(explain-event event)Returns human-readable validation errors for an event map.
Delegates to boundary.calendar.schema/explain-event.
Returns human-readable validation errors for an event map. Delegates to boundary.calendar.schema/explain-event.
(valid-event? event)Returns true if the given map satisfies EventData schema.
Delegates to boundary.calendar.schema/valid-event?.
Returns true if the given map satisfies EventData schema. Delegates to boundary.calendar.schema/valid-event?.
(within-range? event range-start range-end)Return true if the event overlaps with [range-start, range-end).
Uses half-open interval: event start < range-end AND event end > range-start.
Args: event - EventData map with :start and :end Instants range-start - java.time.Instant range-end - java.time.Instant
Returns boolean.
Return true if the event overlaps with [range-start, range-end). Uses half-open interval: event start < range-end AND event end > range-start. Args: event - EventData map with :start and :end Instants range-start - java.time.Instant range-end - java.time.Instant Returns boolean.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |