aboutsummaryrefslogtreecommitdiff
path: root/modules/cj-cache-lib.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-10 14:45:04 -0500
committerCraig Jennings <c@cjennings.net>2026-05-10 14:45:04 -0500
commit3c4cb448e4f3b8642c3feb88cd12cca4f0eb4c31 (patch)
tree7fb73da5fd1b6299e9cbdff3eb2254f52ce2dda0 /modules/cj-cache-lib.el
parent27a9c8d643031783754309fac35b76aa2b84004b (diff)
downloaddotemacs-3c4cb448e4f3b8642c3feb88cd12cca4f0eb4c31.tar.gz
dotemacs-3c4cb448e4f3b8642c3feb88cd12cca4f0eb4c31.zip
feat(cj-cache): add TTL+building cache helper
Phase 5 step 2 of utility-consolidation. Add `modules/cj-cache.el' implementing the API specified in `docs/design/cache-helper-design.org': `cj/cache-make' / `cj/cache-valid-p' / `cj/cache-value-or-rebuild' / `cj/cache-building-p' / `cj/cache-invalidate'. The helper captures the TTL+building-guard pattern that org-agenda-config and org-refile-config currently hand-roll. Both consumers will migrate in follow-up commits. No call-site changes in this commit -- helper plus its 15 tests only. Tests cover: default and custom TTL, fresh/recent/expired/nil-value validity, miss calls build / hit skips build, force-rebuild overrides hit, the four log callbacks (on-hit / on-build-start / on-build-success / on-build-error), error-rethrow and building-flag cleanup on both success and error paths.
Diffstat (limited to 'modules/cj-cache-lib.el')
0 files changed, 0 insertions, 0 deletions