-function promisify2WithVoid<T, U> (func: (arg1: T, arg2: U, cb: (err: any) => void) => void): (arg1: T, arg2: U) => Promise<void> {
- return function promisified (arg1: T, arg2: U): Promise<void> {
- return new Promise<void>((resolve: () => void, reject: (err: any) => void) => {
- func.apply(null, [ arg1, arg2, (err: any) => err ? reject(err) : resolve() ])
- })
- }
-}
-
-const pseudoRandomBytesPromise = promisify1<number, Buffer>(pseudoRandomBytes)
-const createPrivateKey = promisify1<number, { key: string }>(pem.createPrivateKey)
-const getPublicKey = promisify1<string, { publicKey: string }>(pem.getPublicKey)
-const bcryptComparePromise = promisify2<any, string, boolean>(bcrypt.compare)
-const bcryptGenSaltPromise = promisify1<number, string>(bcrypt.genSalt)
-const bcryptHashPromise = promisify2<any, string | number, string>(bcrypt.hash)
-const createTorrentPromise = promisify2<string, any, any>(createTorrent)