MCPcopy Create free account
hub / github.com/denoland/std / allKeyed

Function allKeyed

async/all_keyed.ts:92–105  ·  view source on GitHub ↗
(
  record: PromiseRecord<T>,
)

Source from the content-addressed store, hash-verified

90 * ```
91 */
92export function allKeyed<T extends Record<PropertyKey, unknown>>(
93 record: PromiseRecord<T>,
94): Promise<T> {
95 const keys = getEnumerableKeys(record);
96 const values = keys.map((key) => record[key as keyof typeof record]);
97
98 return Promise.all(values).then((resolved) => {
99 const result = Object.create(null) as T;
100 for (let i = 0; i < keys.length; i++) {
101 result[keys[i] as keyof T] = resolved[i] as T[keyof T];
102 }
103 return result;
104 });
105}
106
107/**
108 * Resolves all values in a record of promises in parallel, returning a promise

Callers 1

all_keyed_test.tsFile · 0.90

Calls 1

getEnumerableKeysFunction · 0.85

Tested by

no test coverage detected