diff options
author | Louis Pilfold <louis@lpil.uk> | 2021-08-29 19:57:06 +0100 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2021-08-29 19:57:06 +0100 |
commit | 7acdc30e1c744d5435821c37375d5ef136db7230 (patch) | |
tree | 9f7a112f405535a6e9df9678c65977a75a2d86a8 /src | |
parent | 0f2807706218655c5275dbd208ed390c4918a4c5 (diff) | |
download | javascript-7acdc30e1c744d5435821c37375d5ef136db7230.tar.gz javascript-7acdc30e1c744d5435821c37375d5ef136db7230.zip |
Promise await_array
Diffstat (limited to 'src')
-rw-r--r-- | src/ffi.js | 6 | ||||
-rw-r--r-- | src/gleam/javascript/promise.gleam | 4 |
2 files changed, 9 insertions, 1 deletions
@@ -120,5 +120,9 @@ export function set_reference(ref, value) { } export function all_promises(...promises) { - return Promise.all(promises); + if (promises.length === 1) { + return Promise.all(promises[0]); + } else { + return Promise.all(promises); + } } diff --git a/src/gleam/javascript/promise.gleam b/src/gleam/javascript/promise.gleam index 5e374dd..b0841e0 100644 --- a/src/gleam/javascript/promise.gleam +++ b/src/gleam/javascript/promise.gleam @@ -1,4 +1,5 @@ import gleam/dynamic.{Dynamic} +import gleam/javascript/array.{Array} // TODO: docs // TODO: labels @@ -86,3 +87,6 @@ pub external fn await6( Promise(f), ) -> Promise(#(a, b, c, d, e, f)) = "../../ffi.js" "all_promises" + +pub external fn await_array(Array(Promise(a))) -> Promise(Array(a)) = + "../../ffi.js" "all_promises" |