diff options
author | Louis Pilfold <louis@lpil.uk> | 2021-08-29 19:50:10 +0100 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2021-08-29 19:50:44 +0100 |
commit | 0f2807706218655c5275dbd208ed390c4918a4c5 (patch) | |
tree | 78de8c798474d3d6af3472f51ae0d2c17a4e1b96 /src | |
parent | e57c18156cf11aaeae89e66828811c9fcc42fa81 (diff) | |
download | javascript-0f2807706218655c5275dbd208ed390c4918a4c5.tar.gz javascript-0f2807706218655c5275dbd208ed390c4918a4c5.zip |
Promise await{1,6}
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" |