repo_description: Promise based HTTP client for the browser and node.js
repo_topics: hacktoberfest http-client javascript nodejs promise
code: import utils from '../utils.js';
  
  const callbackify = (fn, reducer) => {
    return utils.isAsyncFn(fn)
      ? function (...args) {
          const cb = args.pop();
          fn.apply(this, args).then((value) => {
            try {
              reducer ? cb(null, ...reducer(value)) : cb(null, value);
            } catch (err) {
              cb(err);
            }
          }, cb);
        }
      : fn;
  };
  
  export default callbackify;
  