diff options
| author | Jackson Moore <jacksonmoore@tuta.io> | 2026-09-04 13:36:49 +0200 |
|---|---|---|
| committer | Jackson Moore <jacksonmoore@tuta.io> | 2026-09-04 13:36:49 +0200 |
| commit | acf8650a0f2d823f6d388d4d787ebfec134c35b0 (patch) | |
| tree | 183a770feaec19382574bd7a77e2522bf0075d12 /lua/clever_f | |
| parent | 614eb6bd3f7059d297b4c940af5de154214091b3 (diff) | |
Stop resolved acquisition outcomes
Diffstat (limited to 'lua/clever_f')
| -rw-r--r-- | lua/clever_f/sequence_coordinator.lua | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/lua/clever_f/sequence_coordinator.lua b/lua/clever_f/sequence_coordinator.lua index d391eec..37657b2 100644 --- a/lua/clever_f/sequence_coordinator.lua +++ b/lua/clever_f/sequence_coordinator.lua @@ -204,6 +204,17 @@ function SequenceCoordinator:acquire_primary(descriptor, invocation) ) end +function SequenceCoordinator:resolve_acquisition(descriptor, invocation) + local result = self:acquire_primary(descriptor, invocation) + if type(result.has_outcome) ~= "function" then + fail("AcquisitionService must return an AcquisitionResult", 2) + end + if result:has_outcome() then + return result.outcome + end + return result +end + function SequenceCoordinator:primary(value) local descriptor = self:validate_primary_descriptor(value) local invocation = self:read_primary_invocation() @@ -214,7 +225,7 @@ function SequenceCoordinator:primary(value) ) invocation.repeat_decision = self:decide_primary(invocation) if invocation.repeat_decision == repeat_resolver_factory.Decision.ACQUIRE then - return self:acquire_primary(descriptor, invocation) + return self:resolve_acquisition(descriptor, invocation) end return descriptor end |
