From 78815bcf52297b6edaa39a3f36e0d543f4f37484 Mon Sep 17 00:00:00 2001 From: Louis Pilfold Date: Sun, 29 Aug 2021 20:03:06 +0100 Subject: Promise await_list --- src/gleam/javascript/promise.gleam | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src') 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" -- cgit v1.2.3