39 lines
		
	
	
		
			983 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			983 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| export default (function (o, c, d) {
 | |
|   var sortBy = function sortBy(method, dates) {
 | |
|     if (!dates || !dates.length || dates.length === 1 && !dates[0] || dates.length === 1 && Array.isArray(dates[0]) && !dates[0].length) {
 | |
|       return null;
 | |
|     }
 | |
| 
 | |
|     if (dates.length === 1 && dates[0].length > 0) {
 | |
|       var _dates = dates;
 | |
|       dates = _dates[0];
 | |
|     }
 | |
| 
 | |
|     dates = dates.filter(function (date) {
 | |
|       return date;
 | |
|     });
 | |
|     var result;
 | |
|     var _dates2 = dates;
 | |
|     result = _dates2[0];
 | |
| 
 | |
|     for (var i = 1; i < dates.length; i += 1) {
 | |
|       if (!dates[i].isValid() || dates[i][method](result)) {
 | |
|         result = dates[i];
 | |
|       }
 | |
|     }
 | |
| 
 | |
|     return result;
 | |
|   };
 | |
| 
 | |
|   d.max = function () {
 | |
|     var args = [].slice.call(arguments, 0); // eslint-disable-line prefer-rest-params
 | |
| 
 | |
|     return sortBy('isAfter', args);
 | |
|   };
 | |
| 
 | |
|   d.min = function () {
 | |
|     var args = [].slice.call(arguments, 0); // eslint-disable-line prefer-rest-params
 | |
| 
 | |
|     return sortBy('isBefore', args);
 | |
|   };
 | |
| }); |