diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ffi.js | 4 | ||||
-rw-r--r-- | src/gleam/javascript/promise.gleam | 37 |
2 files changed, 41 insertions, 0 deletions
@@ -118,3 +118,7 @@ export function set_reference(ref, value) { ref.value = value; return previous; } + +export function all_promises(...promises) { + return Promise.all(promises); +} diff --git a/src/gleam/javascript/promise.gleam b/src/gleam/javascript/promise.gleam index 3c7190c..5e374dd 100644 --- a/src/gleam/javascript/promise.gleam +++ b/src/gleam/javascript/promise.gleam @@ -49,3 +49,40 @@ pub fn then_try( } }) } + +pub external fn await2(Promise(a), Promise(b)) -> Promise(#(a, b)) = + "../../ffi.js" "all_promises" + +pub external fn await3( + Promise(a), + Promise(b), + Promise(c), +) -> Promise(#(a, b, c)) = + "../../ffi.js" "all_promises" + +pub external fn await4( + Promise(a), + Promise(b), + Promise(c), + Promise(d), +) -> Promise(#(a, b, c, d)) = + "../../ffi.js" "all_promises" + +pub external fn await5( + Promise(a), + Promise(b), + Promise(c), + Promise(d), + Promise(e), +) -> Promise(#(a, b, c, d, e)) = + "../../ffi.js" "all_promises" + +pub external fn await6( + Promise(a), + Promise(b), + Promise(c), + Promise(d), + Promise(e), + Promise(f), +) -> Promise(#(a, b, c, d, e, f)) = + "../../ffi.js" "all_promises" |