diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-10 14:45:04 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-10 14:45:04 -0500 |
| commit | 3c4cb448e4f3b8642c3feb88cd12cca4f0eb4c31 (patch) | |
| tree | 7fb73da5fd1b6299e9cbdff3eb2254f52ce2dda0 /modules/cj-cache-lib.el | |
| parent | 27a9c8d643031783754309fac35b76aa2b84004b (diff) | |
| download | dotemacs-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
