def sign.if
import bend-kit-jwt@0.11.0.1/jwt.bend as Jwtimport Base
import bend-kit-bytes@0.3.3.0/bytes.bend as Bytes
583def sign.if(ok: Bool, +a: Alg, key: Key, kid: Maybe<&2, String>, body: Bytes.Bytes) -> IO(Result<&1, &1, Err, String>):
584 match ok:
585 case False{}:
586 IO.pure(Result<&1, &1, Err, String>, Fail{BadClaim{}})
587 case True{}:
588 +input = signing.input(a, kid, body)
589 do IO<Result<&1, &1, Err, String>>:
590 s : Result<&1, &1, Err, Bytes.Bytes> <- sig.make(a, key, Bytes.from_string(input))
591 return sign.done(input, s)