in src/common-core/promise_utils.ts [72:94]
export function callbackToPromise<TResult>(callBackOperation: (callback: Callback<TResult>) => void, userCallback?: Callback<TResult>): Promise<TResult> | void {
if (userCallback) {
if (!(typeof userCallback === 'function')) {
throw new TypeError('Callback has to be a Function');
}
return callBackOperation(userCallback);
}
return new Promise<TResult>((resolve, reject) => {
try {
callBackOperation((error, result) => {
if (error) {
return reject(error);
}
return resolve(result);
});
} catch (error) {
reject(error);
}
});
}