export function invokeAsync( fn: (cb: (err?: Error | undefined | null, res?: U) => void) => void ) { return new Promise((resolve, reject) => { fn((err, res) => { if (err) reject(err); else (resolve as any)(res); }); }); }