diff options
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 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" |