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

boundary.calendar.ports

Protocol definitions for the calendar module.

FC/IS rule: protocols are interfaces — no implementation here. Adapters (shell layer) implement these protocols.

Protocol definitions for the calendar module.

FC/IS rule: protocols are interfaces — no implementation here.
Adapters (shell layer) implement these protocols.
raw docstring

boundary.calendar.schema

Malli validation schemas for the calendar module.

Malli validation schemas for the calendar module.
raw docstring

boundary.calendar.shell.adapters.ical

ical4j 4.x adapter implementing CalendarAdapterProtocol.

Converts boundary EventData maps ↔ RFC 5545 VCALENDAR strings using net.fortuna.ical4j 4.x. VEvents are built with ZonedDateTime so that TZID parameters are correctly emitted and preserved in round-trips.

Shell layer — may perform I/O via ical4j CalendarBuilder/CalendarOutputter.

ical4j 4.x adapter implementing CalendarAdapterProtocol.

Converts boundary EventData maps ↔ RFC 5545 VCALENDAR strings using
net.fortuna.ical4j 4.x. VEvents are built with ZonedDateTime so that
TZID parameters are correctly emitted and preserved in round-trips.

Shell layer — may perform I/O via ical4j CalendarBuilder/CalendarOutputter.
raw docstring

boundary.calendar.shell.service

Public API for the calendar library.

Wraps the iCal adapter to keep callers decoupled from ical4j internals. All functions create an adapter internally unless one is injected via opts.

Shell layer — may perform I/O via the ical4j adapter.

Public API for the calendar library.

Wraps the iCal adapter to keep callers decoupled from ical4j internals.
All functions create an adapter internally unless one is injected via opts.

Shell layer — may perform I/O via the ical4j adapter.
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