aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLouis Pilfold <louis@lpil.uk>2021-08-29 20:03:06 +0100
committerLouis Pilfold <louis@lpil.uk>2021-08-29 20:03:06 +0100
commit78815bcf52297b6edaa39a3f36e0d543f4f37484 (patch)
tree5f3d5a62d4007b1e003bcd3f1361b50dbb74534f /src
parent7acdc30e1c744d5435821c37375d5ef136db7230 (diff)
downloadjavascript-78815bcf52297b6edaa39a3f36e0d543f4f37484.tar.gz
javascript-78815bcf52297b6edaa39a3f36e0d543f4f37484.zip
Promise await_list
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 b0841e0..bdd3211 100644
--- a/src/gleam/javascript/promise.gleam
+++ b/src/gleam/javascript/promise.gleam
@@ -90,3 +90,12 @@ pub external fn await6(
pub external fn await_array(Array(Promise(a))) -> Promise(Array(a)) =
"../../ffi.js" "all_promises"
+
+pub fn await_list(xs: List(Promise(a))) -> Promise(List(a)) {
+ xs
+ |> do_await_list
+ |> map(array.to_list)
+}
+
+pub external fn do_await_list(List(Promise(a))) -> Promise(Array(a)) =
+ "../../ffi.js" "all_promises"