def budget.of
bend-kit-runner@0.13.0.1 · runner.bend:366
import bend-kit-runner@0.13.0.1/runner.bend as Runner
import Base
import bend-kit-retry@0.3.0.0/retry.bend as Retry
366
367def budget.of(+attempts: Nat, t: Maybe<&2, Try>, d: Maybe<&2, Nat>) -> Retry.Budget:
368 match t d:
369 case None{} m:
370 Retry.Budget{attempts, None{}}
371 case Some{Try{f, st}} None{}:
372 Retry.Budget{Nat.sub(attempts, f), None{}}
373 case Some{Try{f, +st}} Some{ms}:
374 Retry.Budget{Nat.sub(attempts, f), Some{Nat.add(st, ms)}}