Safetorun/safe_to_run

Allow logging from verification check

Closed this issue · 0 comments

We have this equivalent for resilience:

safeToRunWithLogger(
            logger = { assertThat(it).isFalse() },
            { false }
        )

Probably this:

inline fun <T> ((T) -> Boolean).withLogger(
    verbose: Boolean = false,
    crossinline logger: (Boolean, String?) -> Unit
): (T) -> Boolean {
    return { value ->
        invoke(value).also { pass ->
            if (verbose) {
                logger(pass, value.toString())
            } else {
                logger(pass, value.toString())
            }
        }
    }
}