/* * https://github.com/morethanwords/tweb * Copyright (C) 2019-2021 Eduard Kuzmenko * https://github.com/morethanwords/tweb/blob/master/LICENSE */ import { Awaited } from '../types'; export default function callbackifyAll( values: T, callback: (result: { -readonly [P in keyof T]: Awaited }) => R ): PromiseLike | R { if(values.some((value) => value instanceof Promise)) { return Promise.all(values).then(callback as any); } else { return callback(values as any); } }