aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
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"