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.
		
		
		
		
		
			
		
			
				
					686 lines
				
				15 KiB
			
		
		
			
		
	
	
					686 lines
				
				15 KiB
			| 
											3 years ago
										 | // Generated by LiveScript 1.4.0
 | ||
|  | var each, map, compact, filter, reject, partition, find, head, first, tail, last, initial, empty, reverse, unique, uniqueBy, fold, foldl, fold1, foldl1, foldr, foldr1, unfoldr, concat, concatMap, flatten, difference, intersection, union, countBy, groupBy, andList, orList, any, all, sort, sortWith, sortBy, sum, product, mean, average, maximum, minimum, maximumBy, minimumBy, scan, scanl, scan1, scanl1, scanr, scanr1, slice, take, drop, splitAt, takeWhile, dropWhile, span, breakList, zip, zipWith, zipAll, zipAllWith, at, elemIndex, elemIndices, findIndex, findIndices, toString$ = {}.toString, slice$ = [].slice; | ||
|  | each = curry$(function(f, xs){ | ||
|  |   var i$, len$, x; | ||
|  |   for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { | ||
|  |     x = xs[i$]; | ||
|  |     f(x); | ||
|  |   } | ||
|  |   return xs; | ||
|  | }); | ||
|  | map = curry$(function(f, xs){ | ||
|  |   var i$, len$, x, results$ = []; | ||
|  |   for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { | ||
|  |     x = xs[i$]; | ||
|  |     results$.push(f(x)); | ||
|  |   } | ||
|  |   return results$; | ||
|  | }); | ||
|  | compact = function(xs){ | ||
|  |   var i$, len$, x, results$ = []; | ||
|  |   for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { | ||
|  |     x = xs[i$]; | ||
|  |     if (x) { | ||
|  |       results$.push(x); | ||
|  |     } | ||
|  |   } | ||
|  |   return results$; | ||
|  | }; | ||
|  | filter = curry$(function(f, xs){ | ||
|  |   var i$, len$, x, results$ = []; | ||
|  |   for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { | ||
|  |     x = xs[i$]; | ||
|  |     if (f(x)) { | ||
|  |       results$.push(x); | ||
|  |     } | ||
|  |   } | ||
|  |   return results$; | ||
|  | }); | ||
|  | reject = curry$(function(f, xs){ | ||
|  |   var i$, len$, x, results$ = []; | ||
|  |   for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { | ||
|  |     x = xs[i$]; | ||
|  |     if (!f(x)) { | ||
|  |       results$.push(x); | ||
|  |     } | ||
|  |   } | ||
|  |   return results$; | ||
|  | }); | ||
|  | partition = curry$(function(f, xs){ | ||
|  |   var passed, failed, i$, len$, x; | ||
|  |   passed = []; | ||
|  |   failed = []; | ||
|  |   for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { | ||
|  |     x = xs[i$]; | ||
|  |     (f(x) ? passed : failed).push(x); | ||
|  |   } | ||
|  |   return [passed, failed]; | ||
|  | }); | ||
|  | find = curry$(function(f, xs){ | ||
|  |   var i$, len$, x; | ||
|  |   for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { | ||
|  |     x = xs[i$]; | ||
|  |     if (f(x)) { | ||
|  |       return x; | ||
|  |     } | ||
|  |   } | ||
|  | }); | ||
|  | head = first = function(xs){ | ||
|  |   return xs[0]; | ||
|  | }; | ||
|  | tail = function(xs){ | ||
|  |   if (!xs.length) { | ||
|  |     return; | ||
|  |   } | ||
|  |   return xs.slice(1); | ||
|  | }; | ||
|  | last = function(xs){ | ||
|  |   return xs[xs.length - 1]; | ||
|  | }; | ||
|  | initial = function(xs){ | ||
|  |   if (!xs.length) { | ||
|  |     return; | ||
|  |   } | ||
|  |   return xs.slice(0, -1); | ||
|  | }; | ||
|  | empty = function(xs){ | ||
|  |   return !xs.length; | ||
|  | }; | ||
|  | reverse = function(xs){ | ||
|  |   return xs.concat().reverse(); | ||
|  | }; | ||
|  | unique = function(xs){ | ||
|  |   var result, i$, len$, x; | ||
|  |   result = []; | ||
|  |   for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { | ||
|  |     x = xs[i$]; | ||
|  |     if (!in$(x, result)) { | ||
|  |       result.push(x); | ||
|  |     } | ||
|  |   } | ||
|  |   return result; | ||
|  | }; | ||
|  | uniqueBy = curry$(function(f, xs){ | ||
|  |   var seen, i$, len$, x, val, results$ = []; | ||
|  |   seen = []; | ||
|  |   for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { | ||
|  |     x = xs[i$]; | ||
|  |     val = f(x); | ||
|  |     if (in$(val, seen)) { | ||
|  |       continue; | ||
|  |     } | ||
|  |     seen.push(val); | ||
|  |     results$.push(x); | ||
|  |   } | ||
|  |   return results$; | ||
|  | }); | ||
|  | fold = foldl = curry$(function(f, memo, xs){ | ||
|  |   var i$, len$, x; | ||
|  |   for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { | ||
|  |     x = xs[i$]; | ||
|  |     memo = f(memo, x); | ||
|  |   } | ||
|  |   return memo; | ||
|  | }); | ||
|  | fold1 = foldl1 = curry$(function(f, xs){ | ||
|  |   return fold(f, xs[0], xs.slice(1)); | ||
|  | }); | ||
|  | foldr = curry$(function(f, memo, xs){ | ||
|  |   var i$, x; | ||
|  |   for (i$ = xs.length - 1; i$ >= 0; --i$) { | ||
|  |     x = xs[i$]; | ||
|  |     memo = f(x, memo); | ||
|  |   } | ||
|  |   return memo; | ||
|  | }); | ||
|  | foldr1 = curry$(function(f, xs){ | ||
|  |   return foldr(f, xs[xs.length - 1], xs.slice(0, -1)); | ||
|  | }); | ||
|  | unfoldr = curry$(function(f, b){ | ||
|  |   var result, x, that; | ||
|  |   result = []; | ||
|  |   x = b; | ||
|  |   while ((that = f(x)) != null) { | ||
|  |     result.push(that[0]); | ||
|  |     x = that[1]; | ||
|  |   } | ||
|  |   return result; | ||
|  | }); | ||
|  | concat = function(xss){ | ||
|  |   return [].concat.apply([], xss); | ||
|  | }; | ||
|  | concatMap = curry$(function(f, xs){ | ||
|  |   var x; | ||
|  |   return [].concat.apply([], (function(){ | ||
|  |     var i$, ref$, len$, results$ = []; | ||
|  |     for (i$ = 0, len$ = (ref$ = xs).length; i$ < len$; ++i$) { | ||
|  |       x = ref$[i$]; | ||
|  |       results$.push(f(x)); | ||
|  |     } | ||
|  |     return results$; | ||
|  |   }())); | ||
|  | }); | ||
|  | flatten = function(xs){ | ||
|  |   var x; | ||
|  |   return [].concat.apply([], (function(){ | ||
|  |     var i$, ref$, len$, results$ = []; | ||
|  |     for (i$ = 0, len$ = (ref$ = xs).length; i$ < len$; ++i$) { | ||
|  |       x = ref$[i$]; | ||
|  |       if (toString$.call(x).slice(8, -1) === 'Array') { | ||
|  |         results$.push(flatten(x)); | ||
|  |       } else { | ||
|  |         results$.push(x); | ||
|  |       } | ||
|  |     } | ||
|  |     return results$; | ||
|  |   }())); | ||
|  | }; | ||
|  | difference = function(xs){ | ||
|  |   var yss, results, i$, len$, x, j$, len1$, ys; | ||
|  |   yss = slice$.call(arguments, 1); | ||
|  |   results = []; | ||
|  |   outer: for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { | ||
|  |     x = xs[i$]; | ||
|  |     for (j$ = 0, len1$ = yss.length; j$ < len1$; ++j$) { | ||
|  |       ys = yss[j$]; | ||
|  |       if (in$(x, ys)) { | ||
|  |         continue outer; | ||
|  |       } | ||
|  |     } | ||
|  |     results.push(x); | ||
|  |   } | ||
|  |   return results; | ||
|  | }; | ||
|  | intersection = function(xs){ | ||
|  |   var yss, results, i$, len$, x, j$, len1$, ys; | ||
|  |   yss = slice$.call(arguments, 1); | ||
|  |   results = []; | ||
|  |   outer: for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { | ||
|  |     x = xs[i$]; | ||
|  |     for (j$ = 0, len1$ = yss.length; j$ < len1$; ++j$) { | ||
|  |       ys = yss[j$]; | ||
|  |       if (!in$(x, ys)) { | ||
|  |         continue outer; | ||
|  |       } | ||
|  |     } | ||
|  |     results.push(x); | ||
|  |   } | ||
|  |   return results; | ||
|  | }; | ||
|  | union = function(){ | ||
|  |   var xss, results, i$, len$, xs, j$, len1$, x; | ||
|  |   xss = slice$.call(arguments); | ||
|  |   results = []; | ||
|  |   for (i$ = 0, len$ = xss.length; i$ < len$; ++i$) { | ||
|  |     xs = xss[i$]; | ||
|  |     for (j$ = 0, len1$ = xs.length; j$ < len1$; ++j$) { | ||
|  |       x = xs[j$]; | ||
|  |       if (!in$(x, results)) { | ||
|  |         results.push(x); | ||
|  |       } | ||
|  |     } | ||
|  |   } | ||
|  |   return results; | ||
|  | }; | ||
|  | countBy = curry$(function(f, xs){ | ||
|  |   var results, i$, len$, x, key; | ||
|  |   results = {}; | ||
|  |   for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { | ||
|  |     x = xs[i$]; | ||
|  |     key = f(x); | ||
|  |     if (key in results) { | ||
|  |       results[key] += 1; | ||
|  |     } else { | ||
|  |       results[key] = 1; | ||
|  |     } | ||
|  |   } | ||
|  |   return results; | ||
|  | }); | ||
|  | groupBy = curry$(function(f, xs){ | ||
|  |   var results, i$, len$, x, key; | ||
|  |   results = {}; | ||
|  |   for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { | ||
|  |     x = xs[i$]; | ||
|  |     key = f(x); | ||
|  |     if (key in results) { | ||
|  |       results[key].push(x); | ||
|  |     } else { | ||
|  |       results[key] = [x]; | ||
|  |     } | ||
|  |   } | ||
|  |   return results; | ||
|  | }); | ||
|  | andList = function(xs){ | ||
|  |   var i$, len$, x; | ||
|  |   for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { | ||
|  |     x = xs[i$]; | ||
|  |     if (!x) { | ||
|  |       return false; | ||
|  |     } | ||
|  |   } | ||
|  |   return true; | ||
|  | }; | ||
|  | orList = function(xs){ | ||
|  |   var i$, len$, x; | ||
|  |   for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { | ||
|  |     x = xs[i$]; | ||
|  |     if (x) { | ||
|  |       return true; | ||
|  |     } | ||
|  |   } | ||
|  |   return false; | ||
|  | }; | ||
|  | any = curry$(function(f, xs){ | ||
|  |   var i$, len$, x; | ||
|  |   for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { | ||
|  |     x = xs[i$]; | ||
|  |     if (f(x)) { | ||
|  |       return true; | ||
|  |     } | ||
|  |   } | ||
|  |   return false; | ||
|  | }); | ||
|  | all = curry$(function(f, xs){ | ||
|  |   var i$, len$, x; | ||
|  |   for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { | ||
|  |     x = xs[i$]; | ||
|  |     if (!f(x)) { | ||
|  |       return false; | ||
|  |     } | ||
|  |   } | ||
|  |   return true; | ||
|  | }); | ||
|  | sort = function(xs){ | ||
|  |   return xs.concat().sort(function(x, y){ | ||
|  |     if (x > y) { | ||
|  |       return 1; | ||
|  |     } else if (x < y) { | ||
|  |       return -1; | ||
|  |     } else { | ||
|  |       return 0; | ||
|  |     } | ||
|  |   }); | ||
|  | }; | ||
|  | sortWith = curry$(function(f, xs){ | ||
|  |   return xs.concat().sort(f); | ||
|  | }); | ||
|  | sortBy = curry$(function(f, xs){ | ||
|  |   return xs.concat().sort(function(x, y){ | ||
|  |     if (f(x) > f(y)) { | ||
|  |       return 1; | ||
|  |     } else if (f(x) < f(y)) { | ||
|  |       return -1; | ||
|  |     } else { | ||
|  |       return 0; | ||
|  |     } | ||
|  |   }); | ||
|  | }); | ||
|  | sum = function(xs){ | ||
|  |   var result, i$, len$, x; | ||
|  |   result = 0; | ||
|  |   for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { | ||
|  |     x = xs[i$]; | ||
|  |     result += x; | ||
|  |   } | ||
|  |   return result; | ||
|  | }; | ||
|  | product = function(xs){ | ||
|  |   var result, i$, len$, x; | ||
|  |   result = 1; | ||
|  |   for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { | ||
|  |     x = xs[i$]; | ||
|  |     result *= x; | ||
|  |   } | ||
|  |   return result; | ||
|  | }; | ||
|  | mean = average = function(xs){ | ||
|  |   var sum, i$, len$, x; | ||
|  |   sum = 0; | ||
|  |   for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { | ||
|  |     x = xs[i$]; | ||
|  |     sum += x; | ||
|  |   } | ||
|  |   return sum / xs.length; | ||
|  | }; | ||
|  | maximum = function(xs){ | ||
|  |   var max, i$, ref$, len$, x; | ||
|  |   max = xs[0]; | ||
|  |   for (i$ = 0, len$ = (ref$ = xs.slice(1)).length; i$ < len$; ++i$) { | ||
|  |     x = ref$[i$]; | ||
|  |     if (x > max) { | ||
|  |       max = x; | ||
|  |     } | ||
|  |   } | ||
|  |   return max; | ||
|  | }; | ||
|  | minimum = function(xs){ | ||
|  |   var min, i$, ref$, len$, x; | ||
|  |   min = xs[0]; | ||
|  |   for (i$ = 0, len$ = (ref$ = xs.slice(1)).length; i$ < len$; ++i$) { | ||
|  |     x = ref$[i$]; | ||
|  |     if (x < min) { | ||
|  |       min = x; | ||
|  |     } | ||
|  |   } | ||
|  |   return min; | ||
|  | }; | ||
|  | maximumBy = curry$(function(f, xs){ | ||
|  |   var max, i$, ref$, len$, x; | ||
|  |   max = xs[0]; | ||
|  |   for (i$ = 0, len$ = (ref$ = xs.slice(1)).length; i$ < len$; ++i$) { | ||
|  |     x = ref$[i$]; | ||
|  |     if (f(x) > f(max)) { | ||
|  |       max = x; | ||
|  |     } | ||
|  |   } | ||
|  |   return max; | ||
|  | }); | ||
|  | minimumBy = curry$(function(f, xs){ | ||
|  |   var min, i$, ref$, len$, x; | ||
|  |   min = xs[0]; | ||
|  |   for (i$ = 0, len$ = (ref$ = xs.slice(1)).length; i$ < len$; ++i$) { | ||
|  |     x = ref$[i$]; | ||
|  |     if (f(x) < f(min)) { | ||
|  |       min = x; | ||
|  |     } | ||
|  |   } | ||
|  |   return min; | ||
|  | }); | ||
|  | scan = scanl = curry$(function(f, memo, xs){ | ||
|  |   var last, x; | ||
|  |   last = memo; | ||
|  |   return [memo].concat((function(){ | ||
|  |     var i$, ref$, len$, results$ = []; | ||
|  |     for (i$ = 0, len$ = (ref$ = xs).length; i$ < len$; ++i$) { | ||
|  |       x = ref$[i$]; | ||
|  |       results$.push(last = f(last, x)); | ||
|  |     } | ||
|  |     return results$; | ||
|  |   }())); | ||
|  | }); | ||
|  | scan1 = scanl1 = curry$(function(f, xs){ | ||
|  |   if (!xs.length) { | ||
|  |     return; | ||
|  |   } | ||
|  |   return scan(f, xs[0], xs.slice(1)); | ||
|  | }); | ||
|  | scanr = curry$(function(f, memo, xs){ | ||
|  |   xs = xs.concat().reverse(); | ||
|  |   return scan(f, memo, xs).reverse(); | ||
|  | }); | ||
|  | scanr1 = curry$(function(f, xs){ | ||
|  |   if (!xs.length) { | ||
|  |     return; | ||
|  |   } | ||
|  |   xs = xs.concat().reverse(); | ||
|  |   return scan(f, xs[0], xs.slice(1)).reverse(); | ||
|  | }); | ||
|  | slice = curry$(function(x, y, xs){ | ||
|  |   return xs.slice(x, y); | ||
|  | }); | ||
|  | take = curry$(function(n, xs){ | ||
|  |   if (n <= 0) { | ||
|  |     return xs.slice(0, 0); | ||
|  |   } else { | ||
|  |     return xs.slice(0, n); | ||
|  |   } | ||
|  | }); | ||
|  | drop = curry$(function(n, xs){ | ||
|  |   if (n <= 0) { | ||
|  |     return xs; | ||
|  |   } else { | ||
|  |     return xs.slice(n); | ||
|  |   } | ||
|  | }); | ||
|  | splitAt = curry$(function(n, xs){ | ||
|  |   return [take(n, xs), drop(n, xs)]; | ||
|  | }); | ||
|  | takeWhile = curry$(function(p, xs){ | ||
|  |   var len, i; | ||
|  |   len = xs.length; | ||
|  |   if (!len) { | ||
|  |     return xs; | ||
|  |   } | ||
|  |   i = 0; | ||
|  |   while (i < len && p(xs[i])) { | ||
|  |     i += 1; | ||
|  |   } | ||
|  |   return xs.slice(0, i); | ||
|  | }); | ||
|  | dropWhile = curry$(function(p, xs){ | ||
|  |   var len, i; | ||
|  |   len = xs.length; | ||
|  |   if (!len) { | ||
|  |     return xs; | ||
|  |   } | ||
|  |   i = 0; | ||
|  |   while (i < len && p(xs[i])) { | ||
|  |     i += 1; | ||
|  |   } | ||
|  |   return xs.slice(i); | ||
|  | }); | ||
|  | span = curry$(function(p, xs){ | ||
|  |   return [takeWhile(p, xs), dropWhile(p, xs)]; | ||
|  | }); | ||
|  | breakList = curry$(function(p, xs){ | ||
|  |   return span(compose$(p, not$), xs); | ||
|  | }); | ||
|  | zip = curry$(function(xs, ys){ | ||
|  |   var result, len, i$, len$, i, x; | ||
|  |   result = []; | ||
|  |   len = ys.length; | ||
|  |   for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { | ||
|  |     i = i$; | ||
|  |     x = xs[i$]; | ||
|  |     if (i === len) { | ||
|  |       break; | ||
|  |     } | ||
|  |     result.push([x, ys[i]]); | ||
|  |   } | ||
|  |   return result; | ||
|  | }); | ||
|  | zipWith = curry$(function(f, xs, ys){ | ||
|  |   var result, len, i$, len$, i, x; | ||
|  |   result = []; | ||
|  |   len = ys.length; | ||
|  |   for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { | ||
|  |     i = i$; | ||
|  |     x = xs[i$]; | ||
|  |     if (i === len) { | ||
|  |       break; | ||
|  |     } | ||
|  |     result.push(f(x, ys[i])); | ||
|  |   } | ||
|  |   return result; | ||
|  | }); | ||
|  | zipAll = function(){ | ||
|  |   var xss, minLength, i$, len$, xs, ref$, i, lresult$, j$, results$ = []; | ||
|  |   xss = slice$.call(arguments); | ||
|  |   minLength = undefined; | ||
|  |   for (i$ = 0, len$ = xss.length; i$ < len$; ++i$) { | ||
|  |     xs = xss[i$]; | ||
|  |     minLength <= (ref$ = xs.length) || (minLength = ref$); | ||
|  |   } | ||
|  |   for (i$ = 0; i$ < minLength; ++i$) { | ||
|  |     i = i$; | ||
|  |     lresult$ = []; | ||
|  |     for (j$ = 0, len$ = xss.length; j$ < len$; ++j$) { | ||
|  |       xs = xss[j$]; | ||
|  |       lresult$.push(xs[i]); | ||
|  |     } | ||
|  |     results$.push(lresult$); | ||
|  |   } | ||
|  |   return results$; | ||
|  | }; | ||
|  | zipAllWith = function(f){ | ||
|  |   var xss, minLength, i$, len$, xs, ref$, i, results$ = []; | ||
|  |   xss = slice$.call(arguments, 1); | ||
|  |   minLength = undefined; | ||
|  |   for (i$ = 0, len$ = xss.length; i$ < len$; ++i$) { | ||
|  |     xs = xss[i$]; | ||
|  |     minLength <= (ref$ = xs.length) || (minLength = ref$); | ||
|  |   } | ||
|  |   for (i$ = 0; i$ < minLength; ++i$) { | ||
|  |     i = i$; | ||
|  |     results$.push(f.apply(null, (fn$()))); | ||
|  |   } | ||
|  |   return results$; | ||
|  |   function fn$(){ | ||
|  |     var i$, ref$, len$, results$ = []; | ||
|  |     for (i$ = 0, len$ = (ref$ = xss).length; i$ < len$; ++i$) { | ||
|  |       xs = ref$[i$]; | ||
|  |       results$.push(xs[i]); | ||
|  |     } | ||
|  |     return results$; | ||
|  |   } | ||
|  | }; | ||
|  | at = curry$(function(n, xs){ | ||
|  |   if (n < 0) { | ||
|  |     return xs[xs.length + n]; | ||
|  |   } else { | ||
|  |     return xs[n]; | ||
|  |   } | ||
|  | }); | ||
|  | elemIndex = curry$(function(el, xs){ | ||
|  |   var i$, len$, i, x; | ||
|  |   for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { | ||
|  |     i = i$; | ||
|  |     x = xs[i$]; | ||
|  |     if (x === el) { | ||
|  |       return i; | ||
|  |     } | ||
|  |   } | ||
|  | }); | ||
|  | elemIndices = curry$(function(el, xs){ | ||
|  |   var i$, len$, i, x, results$ = []; | ||
|  |   for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { | ||
|  |     i = i$; | ||
|  |     x = xs[i$]; | ||
|  |     if (x === el) { | ||
|  |       results$.push(i); | ||
|  |     } | ||
|  |   } | ||
|  |   return results$; | ||
|  | }); | ||
|  | findIndex = curry$(function(f, xs){ | ||
|  |   var i$, len$, i, x; | ||
|  |   for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { | ||
|  |     i = i$; | ||
|  |     x = xs[i$]; | ||
|  |     if (f(x)) { | ||
|  |       return i; | ||
|  |     } | ||
|  |   } | ||
|  | }); | ||
|  | findIndices = curry$(function(f, xs){ | ||
|  |   var i$, len$, i, x, results$ = []; | ||
|  |   for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { | ||
|  |     i = i$; | ||
|  |     x = xs[i$]; | ||
|  |     if (f(x)) { | ||
|  |       results$.push(i); | ||
|  |     } | ||
|  |   } | ||
|  |   return results$; | ||
|  | }); | ||
|  | module.exports = { | ||
|  |   each: each, | ||
|  |   map: map, | ||
|  |   filter: filter, | ||
|  |   compact: compact, | ||
|  |   reject: reject, | ||
|  |   partition: partition, | ||
|  |   find: find, | ||
|  |   head: head, | ||
|  |   first: first, | ||
|  |   tail: tail, | ||
|  |   last: last, | ||
|  |   initial: initial, | ||
|  |   empty: empty, | ||
|  |   reverse: reverse, | ||
|  |   difference: difference, | ||
|  |   intersection: intersection, | ||
|  |   union: union, | ||
|  |   countBy: countBy, | ||
|  |   groupBy: groupBy, | ||
|  |   fold: fold, | ||
|  |   fold1: fold1, | ||
|  |   foldl: foldl, | ||
|  |   foldl1: foldl1, | ||
|  |   foldr: foldr, | ||
|  |   foldr1: foldr1, | ||
|  |   unfoldr: unfoldr, | ||
|  |   andList: andList, | ||
|  |   orList: orList, | ||
|  |   any: any, | ||
|  |   all: all, | ||
|  |   unique: unique, | ||
|  |   uniqueBy: uniqueBy, | ||
|  |   sort: sort, | ||
|  |   sortWith: sortWith, | ||
|  |   sortBy: sortBy, | ||
|  |   sum: sum, | ||
|  |   product: product, | ||
|  |   mean: mean, | ||
|  |   average: average, | ||
|  |   concat: concat, | ||
|  |   concatMap: concatMap, | ||
|  |   flatten: flatten, | ||
|  |   maximum: maximum, | ||
|  |   minimum: minimum, | ||
|  |   maximumBy: maximumBy, | ||
|  |   minimumBy: minimumBy, | ||
|  |   scan: scan, | ||
|  |   scan1: scan1, | ||
|  |   scanl: scanl, | ||
|  |   scanl1: scanl1, | ||
|  |   scanr: scanr, | ||
|  |   scanr1: scanr1, | ||
|  |   slice: slice, | ||
|  |   take: take, | ||
|  |   drop: drop, | ||
|  |   splitAt: splitAt, | ||
|  |   takeWhile: takeWhile, | ||
|  |   dropWhile: dropWhile, | ||
|  |   span: span, | ||
|  |   breakList: breakList, | ||
|  |   zip: zip, | ||
|  |   zipWith: zipWith, | ||
|  |   zipAll: zipAll, | ||
|  |   zipAllWith: zipAllWith, | ||
|  |   at: at, | ||
|  |   elemIndex: elemIndex, | ||
|  |   elemIndices: elemIndices, | ||
|  |   findIndex: findIndex, | ||
|  |   findIndices: findIndices | ||
|  | }; | ||
|  | function curry$(f, bound){ | ||
|  |   var context, | ||
|  |   _curry = function(args) { | ||
|  |     return f.length > 1 ? function(){ | ||
|  |       var params = args ? args.concat() : []; | ||
|  |       context = bound ? context || this : this; | ||
|  |       return params.push.apply(params, arguments) < | ||
|  |           f.length && arguments.length ? | ||
|  |         _curry.call(context, params) : f.apply(context, params); | ||
|  |     } : f; | ||
|  |   }; | ||
|  |   return _curry(); | ||
|  | } | ||
|  | function in$(x, xs){ | ||
|  |   var i = -1, l = xs.length >>> 0; | ||
|  |   while (++i < l) if (x === xs[i]) return true; | ||
|  |   return false; | ||
|  | } | ||
|  | function compose$() { | ||
|  |   var functions = arguments; | ||
|  |   return function() { | ||
|  |     var i, result; | ||
|  |     result = functions[0].apply(this, arguments); | ||
|  |     for (i = 1; i < functions.length; ++i) { | ||
|  |       result = functions[i](result); | ||
|  |     } | ||
|  |     return result; | ||
|  |   }; | ||
|  | } | ||
|  | function not$(x){ return !x; } |