mirror of
				https://scm.univ-tours.fr/22107988t/rappaurio-sae501_502.git
				synced 2025-11-04 04:15:23 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			17 lines
		
	
	
		
			372 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			17 lines
		
	
	
		
			372 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
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;
 |