agera
agera copied to clipboard
Add "thenCheck()" to CompiledRepository.
"thenCheck()" can be used after another 'then' directive, which normally generates the new value of the repository. Using a "thenCheck()" directive, the would-have-been new value becomes a mere "candidate new value", and can be vetoed by the check -- the clause that follows "thenCheck()" can skip the update, end with another value, or even have the flow continue onwards.
The test cases use two demo-style repositories that perform a typical task of requesting a keyed item from the in-memory cache, then disk cache, then network, showcasing the real-life use of this new directive.
Current coverage is 97.38% (diff: 100%)
@@ master #113 diff @@
==========================================
Files 39 39
Lines 1611 1645 +34
Methods 0 0
Messages 0 0
Branches 280 284 +4
==========================================
+ Hits 1568 1602 +34
Misses 13 13
Partials 30 30
Powered by Codecov. Last update d816f6d...50a5b4b