From 26f42e83dd5a842e4463b1613729c16f0251cef4 Mon Sep 17 00:00:00 2001 From: Sebastian Porto Date: Sat, 8 May 2021 00:56:23 +1000 Subject: Add result.values (#204) --- src/gleam/result.gleam | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src') diff --git a/src/gleam/result.gleam b/src/gleam/result.gleam index 47fe956..d0601bf 100644 --- a/src/gleam/result.gleam +++ b/src/gleam/result.gleam @@ -264,3 +264,17 @@ pub fn replace_error(result: Result(a, e1), error: e2) -> Result(a, e2) { result |> map_error(fn(_) { error }) } + +/// Given a list of results +/// Return only the values inside Ok +/// +/// ## Examples +/// +/// ``` +/// > values([Ok(1), None, Ok(3)]) +/// [1, 3] +/// ``` +/// +pub fn values(results: List(Result(a, e))) -> List(a) { + list.filter_map(results, fn(r) { r }) +} -- cgit v1.2.3