def before
bend-kit-camber@0.15.0.1 · camber.bend:741
import bend-kit-camber@0.15.0.1/camber.bend as Camber
import Base
741def before(~S: Type, ~K: Data, ~E: Data, ~H: Data,
742 ~hook: H -> S -> K -> Metadata -> IO(Step<S, E>),
743 hooks: List<&2, H>, state: S, +config: K, +meta: Metadata
744) -> IO(Step<S, E>):
745 match hooks:
746 case Nil{}:
747 IO.pure(Step<S, E>, Continue{state})
748 case h <> rest:
749 do IO<Step<S, E>>:
750 step : Step<S, E> <- hook(h, state, config, meta)
751 before.next(~S, ~E, step, s => before(~S, ~K, ~E, ~H, ~hook, rest, s, config, meta))