You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							29 lines
						
					
					
						
							564 B
						
					
					
				
			
		
		
	
	
							29 lines
						
					
					
						
							564 B
						
					
					
				| '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);
 | |
|   };
 | |
| }
 |