diff options
author | Louis Pilfold <louis@lpil.uk> | 2021-08-29 17:24:59 +0100 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2021-08-29 17:24:59 +0100 |
commit | 1afefdbdfa62de83bfa7334bc78d30c273cd5a93 (patch) | |
tree | d77592110b42f6a75b4140639539eb1a55665a00 /src | |
parent | c2d25106df806fd9de96f1ab3186102ba27dceab (diff) | |
download | javascript-1afefdbdfa62de83bfa7334bc78d30c273cd5a93.tar.gz javascript-1afefdbdfa62de83bfa7334bc78d30c273cd5a93.zip |
Promise tap
Diffstat (limited to 'src')
-rw-r--r-- | src/gleam/javascript/promise.gleam | 9 |
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 + }) +} |