A h8io.stages.base.Decoration that stops the pipeline as soon as the decorated stage produces an output value.
CompleteIfSome appends h8io.stages.std.Complete after the decorated stage via ~>. If the stage yields h8io.stages.Yield.Some, Complete immediately emits h8io.stages.Status.Complete, terminating the pipeline. If the stage yields h8io.stages.Yield.None, Complete is not reached and the pipeline continues normally.
The singleton operates on Stage[Any, Any, Nothing] and can be cast to any concrete Decoration[I, O, E] via apply[I, O, E].
Example:
val stage: Stage[Int, Int, Nothing] = ...
val completing: Stage[Int, Int, Nothing] = CompleteIfSome(stage)
// Once stage produces a value, the pipeline stops.