aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLouis Pilfold <louis@lpil.uk>2021-08-29 17:24:59 +0100
committerLouis Pilfold <louis@lpil.uk>2021-08-29 17:24:59 +0100
commit1afefdbdfa62de83bfa7334bc78d30c273cd5a93 (patch)
treed77592110b42f6a75b4140639539eb1a55665a00 /src
parentc2d25106df806fd9de96f1ab3186102ba27dceab (diff)
downloadjavascript-1afefdbdfa62de83bfa7334bc78d30c273cd5a93.tar.gz
javascript-1afefdbdfa62de83bfa7334bc78d30c273cd5a93.zip
Promise tap
Diffstat (limited to 'src')
-rw-r--r--src/gleam/javascript/promise.gleam9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/gleam/javascript/promise.gleam b/src/gleam/javascript/promise.gleam
index 4f8d54c..2437dc0 100644
--- a/src/gleam/javascript/promise.gleam
+++ b/src/gleam/javascript/promise.gleam
@@ -1,4 +1,5 @@
// TODO: docs
+// TODO: labels
pub external type Promise(value)
pub external fn resolve(value) -> Promise(value) =
@@ -9,3 +10,11 @@ pub external fn then(Promise(a), fn(a) -> Promise(b)) -> Promise(b) =
pub external fn map(Promise(a), fn(a) -> b) -> Promise(b) =
"../../ffi.js" "map_promise"
+
+pub fn tap(promise: Promise(a), callback: fn(a) -> b) -> Promise(a) {
+ promise
+ |> map(fn(a) {
+ callback(a)
+ a
+ })
+}