def outcome.io
bend-kit-hairpin@0.14.0.0 · hairpin.bend:233
import bend-kit-hairpin@0.14.0.0/hairpin.bend as Hairpin
import Base
import bend-kit-time@0.3.0.0/time.bend as Time
import bend-kit-retry@0.3.0.0/retry.bend as Retry
233
234def outcome.io(+idem: Bool, v: Verdict) -> IO(Retry.Outcome):
235 match v:
236 case VerdictAgain{after}:
237 do IO<Retry.Outcome>:
238 wall : Time.Instant <- Time.now()
239 return outcome(idem, VerdictAgain{after}, wall)
240 case VerdictOk{}:
241 IO.pure(Retry.Outcome, Retry.Settled{})
242 case VerdictCaller{}:
243 IO.pure(Retry.Outcome, Retry.Rejected{})
244 case VerdictTarget{}:
245 IO.pure(Retry.Outcome, Retry.Failed{})