aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSebastian Porto <s@porto5.com>2021-05-08 00:56:23 +1000
committerGitHub <noreply@github.com>2021-05-07 14:56:23 +0000
commit26f42e83dd5a842e4463b1613729c16f0251cef4 (patch)
tree439195e0b0756dec80c7c9ae846a621382529d16 /src
parent3e3f49ac6b09a0e395d3d4f9cca3c811b2002c87 (diff)
downloadgleam_stdlib-26f42e83dd5a842e4463b1613729c16f0251cef4.tar.gz
gleam_stdlib-26f42e83dd5a842e4463b1613729c16f0251cef4.zip
Add result.values (#204)
Diffstat (limited to 'src')
-rw-r--r--src/gleam/result.gleam14
1 files changed, 14 insertions, 0 deletions
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 })
+}