Liking cljdoc? Tell your friends :D

boundary.calendar.core.conflict

Conflict detection for calendar events — pure functions, no I/O.

Detects overlapping events by expanding recurring events to individual occurrences and performing pairwise interval overlap checks.

FC/IS rule: no I/O, no logging, no exceptions.

Conflict detection for calendar events — pure functions, no I/O.

Detects overlapping events by expanding recurring events to individual
occurrences and performing pairwise interval overlap checks.

FC/IS rule: no I/O, no logging, no exceptions.
raw docstring

boundary.calendar.core.event

Event type registry and pure helper functions.

Provides the defevent macro for declaring event type definitions as data, an in-process registry backed by an atom, and pure helper functions for working with EventData maps.

FC/IS rule: no I/O here. All side effects live in the shell layer.

Event type registry and pure helper functions.

Provides the `defevent` macro for declaring event type definitions as data,
an in-process registry backed by an atom, and pure helper functions
for working with EventData maps.

FC/IS rule: no I/O here. All side effects live in the shell layer.
raw docstring

boundary.calendar.core.recurrence

RRULE parsing and occurrence expansion — pure functions, no I/O.

Uses ical4j's net.fortuna.ical4j.model.Recur for RFC 5545 RRULE parsing. All date arithmetic uses java.time with explicit timezone handling so that DST transitions are respected (e.g. a 9:00 AM recurring event stays at 9:00 AM local time even when UTC offset changes).

ical4j 4.x API note: Recur.getDates accepts java.time.ZonedDateTime seeds and returns List<ZonedDateTime>, giving correct DST-aware expansion.

FC/IS rule: no I/O, no logging, no exceptions thrown for valid inputs.

RRULE parsing and occurrence expansion — pure functions, no I/O.

Uses ical4j's net.fortuna.ical4j.model.Recur for RFC 5545 RRULE parsing.
All date arithmetic uses java.time with explicit timezone handling so that
DST transitions are respected (e.g. a 9:00 AM recurring event stays at
9:00 AM local time even when UTC offset changes).

ical4j 4.x API note: Recur.getDates accepts java.time.ZonedDateTime seeds
and returns List<ZonedDateTime>, giving correct DST-aware expansion.

FC/IS rule: no I/O, no logging, no exceptions thrown for valid inputs.
raw docstring

boundary.calendar.core.ui

Pure Hiccup UI components for calendar views.

All functions are pure — they receive data and return Hiccup structures. No side effects, no I/O, no HTMX-specific markup. Composable into any Ring handler or Hiccup template.

Components: event-badge — colored pill with title and time day-cell — single day grid cell with event badges month-view — full month calendar grid week-view — 7-column week grid with hourly rows mini-calendar — compact month navigator for sidebars

Pure Hiccup UI components for calendar views.

All functions are pure — they receive data and return Hiccup structures.
No side effects, no I/O, no HTMX-specific markup.
Composable into any Ring handler or Hiccup template.

Components:
  event-badge    — colored pill with title and time
  day-cell       — single day grid cell with event badges
  month-view     — full month calendar grid
  week-view      — 7-column week grid with hourly rows
  mini-calendar  — compact month navigator for sidebars
raw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close