From 173f452c1f2af8761ecc82910c1a3bc52dd93b32 Mon Sep 17 00:00:00 2001 From: "Mark S. Miller" Date: Wed, 2 Nov 2022 13:26:50 -0700 Subject: [PATCH] fix: need internals changes --- packages/internal/src/utils.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/packages/internal/src/utils.js b/packages/internal/src/utils.js index b084680cb588..7f1e2ecca26d 100644 --- a/packages/internal/src/utils.js +++ b/packages/internal/src/utils.js @@ -353,3 +353,13 @@ export const fsStreamReady = stream => stream.on('ready', onReady); stream.on('error', onError); }); + +/** @type { (xs: X[], ys: Y[]) => [X, Y][]} */ +export const zip = (xs, ys) => harden(xs.map((x, i) => [x, ys[+i]])); + +/** @type { (obj: Record>) => Promise> } */ +export const allValues = async obj => { + const resolved = await Promise.all(Object.values(obj)); + // @ts-expect-error cast + return harden(fromEntries(zip(Object.keys(obj), resolved))); +};