Current section
Files
Jump to
Current section
Files
src/priv/errors.gleam
import gleam/io
import gleam/result
import gleam/string
pub fn map_messages(
result: Result(a, b),
success_message: String,
error_message: String,
) -> Result(String, String) {
result
|> result.map_error(fn(error) {
"Error - " <> error_message <> ": " <> string.inspect(error)
})
|> result.replace(success_message)
}
pub fn map_error(
result: Result(a, b),
error_message: String,
) -> Result(a, String) {
result
|> result.map_error(fn(error) {
error_message <> ": " <> string.inspect(error)
})
}
pub fn print_result(result: Result(String, String)) {
result
|> result.unwrap_both
|> io.println
result
}
pub fn print_error(result: Result(a, String)) {
result
|> result.map_error(fn(err) {
io.println(err)
err
})
}
pub fn assert_ok(result: Result(a, String)) {
let assert Ok(value) =
result
|> result.map_error(fn(err) {
halt(1)
err
})
value
}
@target(erlang)
@external(erlang, "erlang", "halt")
fn halt(a: Int) -> Nil