mirror of
				https://scm.univ-tours.fr/22107988t/rappaurio-sae501_502.git
				synced 2025-11-04 13:15:21 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			29 lines
		
	
	
		
			564 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			564 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
'use strict';
 | 
						|
 | 
						|
/**
 | 
						|
 * Syntactic sugar for invoking a function and expanding an array for arguments.
 | 
						|
 *
 | 
						|
 * Common use case would be to use `Function.prototype.apply`.
 | 
						|
 *
 | 
						|
 *  ```js
 | 
						|
 *  function f(x, y, z) {}
 | 
						|
 *  var args = [1, 2, 3];
 | 
						|
 *  f.apply(null, args);
 | 
						|
 *  ```
 | 
						|
 *
 | 
						|
 * With `spread` this example can be re-written.
 | 
						|
 *
 | 
						|
 *  ```js
 | 
						|
 *  spread(function(x, y, z) {})([1, 2, 3]);
 | 
						|
 *  ```
 | 
						|
 *
 | 
						|
 * @param {Function} callback
 | 
						|
 *
 | 
						|
 * @returns {Function}
 | 
						|
 */
 | 
						|
export default function spread(callback) {
 | 
						|
  return function wrap(arr) {
 | 
						|
    return callback.apply(null, arr);
 | 
						|
  };
 | 
						|
}
 |