| import { | |
| Agent, | |
| ClientRequest, | |
| RequestOptions, | |
| AgentCallbackCallback, | |
| AgentCallbackPromise, | |
| AgentCallbackReturn | |
| } from './index'; | |
| type LegacyCallback = ( | |
| req: ClientRequest, | |
| opts: RequestOptions, | |
| fn: AgentCallbackCallback | |
| ) => void; | |
| export default function promisify(fn: LegacyCallback): AgentCallbackPromise { | |
| return function(this: Agent, req: ClientRequest, opts: RequestOptions) { | |
| return new Promise((resolve, reject) => { | |
| fn.call( | |
| this, | |
| req, | |
| opts, | |
| (err: Error | null | undefined, rtn?: AgentCallbackReturn) => { | |
| if (err) { | |
| reject(err); | |
| } else { | |
| resolve(rtn); | |
| } | |
| } | |
| ); | |
| }); | |
| }; | |
| } | |