react / wstein / node_modules / browserify / node_modules / module-deps / node_modules / detective / node_modules / escodegen / node_modules / optionator / node_modules / prelude-ls / lib / List.js
80690 views// Generated by LiveScript 1.4.01var 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;2each = curry$(function(f, xs){3var i$, len$, x;4for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {5x = xs[i$];6f(x);7}8return xs;9});10map = curry$(function(f, xs){11var i$, len$, x, results$ = [];12for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {13x = xs[i$];14results$.push(f(x));15}16return results$;17});18compact = function(xs){19var i$, len$, x, results$ = [];20for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {21x = xs[i$];22if (x) {23results$.push(x);24}25}26return results$;27};28filter = curry$(function(f, xs){29var i$, len$, x, results$ = [];30for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {31x = xs[i$];32if (f(x)) {33results$.push(x);34}35}36return results$;37});38reject = curry$(function(f, xs){39var i$, len$, x, results$ = [];40for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {41x = xs[i$];42if (!f(x)) {43results$.push(x);44}45}46return results$;47});48partition = curry$(function(f, xs){49var passed, failed, i$, len$, x;50passed = [];51failed = [];52for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {53x = xs[i$];54(f(x) ? passed : failed).push(x);55}56return [passed, failed];57});58find = curry$(function(f, xs){59var i$, len$, x;60for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {61x = xs[i$];62if (f(x)) {63return x;64}65}66});67head = first = function(xs){68return xs[0];69};70tail = function(xs){71if (!xs.length) {72return;73}74return xs.slice(1);75};76last = function(xs){77return xs[xs.length - 1];78};79initial = function(xs){80if (!xs.length) {81return;82}83return xs.slice(0, -1);84};85empty = function(xs){86return !xs.length;87};88reverse = function(xs){89return xs.concat().reverse();90};91unique = function(xs){92var result, i$, len$, x;93result = [];94for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {95x = xs[i$];96if (!in$(x, result)) {97result.push(x);98}99}100return result;101};102uniqueBy = curry$(function(f, xs){103var seen, i$, len$, x, val, results$ = [];104seen = [];105for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {106x = xs[i$];107val = f(x);108if (in$(val, seen)) {109continue;110}111seen.push(val);112results$.push(x);113}114return results$;115});116fold = foldl = curry$(function(f, memo, xs){117var i$, len$, x;118for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {119x = xs[i$];120memo = f(memo, x);121}122return memo;123});124fold1 = foldl1 = curry$(function(f, xs){125return fold(f, xs[0], xs.slice(1));126});127foldr = curry$(function(f, memo, xs){128var i$, x;129for (i$ = xs.length - 1; i$ >= 0; --i$) {130x = xs[i$];131memo = f(x, memo);132}133return memo;134});135foldr1 = curry$(function(f, xs){136return foldr(f, xs[xs.length - 1], xs.slice(0, -1));137});138unfoldr = curry$(function(f, b){139var result, x, that;140result = [];141x = b;142while ((that = f(x)) != null) {143result.push(that[0]);144x = that[1];145}146return result;147});148concat = function(xss){149return [].concat.apply([], xss);150};151concatMap = curry$(function(f, xs){152var x;153return [].concat.apply([], (function(){154var i$, ref$, len$, results$ = [];155for (i$ = 0, len$ = (ref$ = xs).length; i$ < len$; ++i$) {156x = ref$[i$];157results$.push(f(x));158}159return results$;160}()));161});162flatten = function(xs){163var x;164return [].concat.apply([], (function(){165var i$, ref$, len$, results$ = [];166for (i$ = 0, len$ = (ref$ = xs).length; i$ < len$; ++i$) {167x = ref$[i$];168if (toString$.call(x).slice(8, -1) === 'Array') {169results$.push(flatten(x));170} else {171results$.push(x);172}173}174return results$;175}()));176};177difference = function(xs){178var yss, results, i$, len$, x, j$, len1$, ys;179yss = slice$.call(arguments, 1);180results = [];181outer: for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {182x = xs[i$];183for (j$ = 0, len1$ = yss.length; j$ < len1$; ++j$) {184ys = yss[j$];185if (in$(x, ys)) {186continue outer;187}188}189results.push(x);190}191return results;192};193intersection = function(xs){194var yss, results, i$, len$, x, j$, len1$, ys;195yss = slice$.call(arguments, 1);196results = [];197outer: for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {198x = xs[i$];199for (j$ = 0, len1$ = yss.length; j$ < len1$; ++j$) {200ys = yss[j$];201if (!in$(x, ys)) {202continue outer;203}204}205results.push(x);206}207return results;208};209union = function(){210var xss, results, i$, len$, xs, j$, len1$, x;211xss = slice$.call(arguments);212results = [];213for (i$ = 0, len$ = xss.length; i$ < len$; ++i$) {214xs = xss[i$];215for (j$ = 0, len1$ = xs.length; j$ < len1$; ++j$) {216x = xs[j$];217if (!in$(x, results)) {218results.push(x);219}220}221}222return results;223};224countBy = curry$(function(f, xs){225var results, i$, len$, x, key;226results = {};227for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {228x = xs[i$];229key = f(x);230if (key in results) {231results[key] += 1;232} else {233results[key] = 1;234}235}236return results;237});238groupBy = curry$(function(f, xs){239var results, i$, len$, x, key;240results = {};241for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {242x = xs[i$];243key = f(x);244if (key in results) {245results[key].push(x);246} else {247results[key] = [x];248}249}250return results;251});252andList = function(xs){253var i$, len$, x;254for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {255x = xs[i$];256if (!x) {257return false;258}259}260return true;261};262orList = function(xs){263var i$, len$, x;264for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {265x = xs[i$];266if (x) {267return true;268}269}270return false;271};272any = curry$(function(f, xs){273var i$, len$, x;274for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {275x = xs[i$];276if (f(x)) {277return true;278}279}280return false;281});282all = curry$(function(f, xs){283var i$, len$, x;284for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {285x = xs[i$];286if (!f(x)) {287return false;288}289}290return true;291});292sort = function(xs){293return xs.concat().sort(function(x, y){294if (x > y) {295return 1;296} else if (x < y) {297return -1;298} else {299return 0;300}301});302};303sortWith = curry$(function(f, xs){304return xs.concat().sort(f);305});306sortBy = curry$(function(f, xs){307return xs.concat().sort(function(x, y){308if (f(x) > f(y)) {309return 1;310} else if (f(x) < f(y)) {311return -1;312} else {313return 0;314}315});316});317sum = function(xs){318var result, i$, len$, x;319result = 0;320for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {321x = xs[i$];322result += x;323}324return result;325};326product = function(xs){327var result, i$, len$, x;328result = 1;329for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {330x = xs[i$];331result *= x;332}333return result;334};335mean = average = function(xs){336var sum, i$, len$, x;337sum = 0;338for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {339x = xs[i$];340sum += x;341}342return sum / xs.length;343};344maximum = function(xs){345var max, i$, ref$, len$, x;346max = xs[0];347for (i$ = 0, len$ = (ref$ = xs.slice(1)).length; i$ < len$; ++i$) {348x = ref$[i$];349if (x > max) {350max = x;351}352}353return max;354};355minimum = function(xs){356var min, i$, ref$, len$, x;357min = xs[0];358for (i$ = 0, len$ = (ref$ = xs.slice(1)).length; i$ < len$; ++i$) {359x = ref$[i$];360if (x < min) {361min = x;362}363}364return min;365};366maximumBy = curry$(function(f, xs){367var max, i$, ref$, len$, x;368max = xs[0];369for (i$ = 0, len$ = (ref$ = xs.slice(1)).length; i$ < len$; ++i$) {370x = ref$[i$];371if (f(x) > f(max)) {372max = x;373}374}375return max;376});377minimumBy = curry$(function(f, xs){378var min, i$, ref$, len$, x;379min = xs[0];380for (i$ = 0, len$ = (ref$ = xs.slice(1)).length; i$ < len$; ++i$) {381x = ref$[i$];382if (f(x) < f(min)) {383min = x;384}385}386return min;387});388scan = scanl = curry$(function(f, memo, xs){389var last, x;390last = memo;391return [memo].concat((function(){392var i$, ref$, len$, results$ = [];393for (i$ = 0, len$ = (ref$ = xs).length; i$ < len$; ++i$) {394x = ref$[i$];395results$.push(last = f(last, x));396}397return results$;398}()));399});400scan1 = scanl1 = curry$(function(f, xs){401if (!xs.length) {402return;403}404return scan(f, xs[0], xs.slice(1));405});406scanr = curry$(function(f, memo, xs){407xs = xs.concat().reverse();408return scan(f, memo, xs).reverse();409});410scanr1 = curry$(function(f, xs){411if (!xs.length) {412return;413}414xs = xs.concat().reverse();415return scan(f, xs[0], xs.slice(1)).reverse();416});417slice = curry$(function(x, y, xs){418return xs.slice(x, y);419});420take = curry$(function(n, xs){421if (n <= 0) {422return xs.slice(0, 0);423} else {424return xs.slice(0, n);425}426});427drop = curry$(function(n, xs){428if (n <= 0) {429return xs;430} else {431return xs.slice(n);432}433});434splitAt = curry$(function(n, xs){435return [take(n, xs), drop(n, xs)];436});437takeWhile = curry$(function(p, xs){438var len, i;439len = xs.length;440if (!len) {441return xs;442}443i = 0;444while (i < len && p(xs[i])) {445i += 1;446}447return xs.slice(0, i);448});449dropWhile = curry$(function(p, xs){450var len, i;451len = xs.length;452if (!len) {453return xs;454}455i = 0;456while (i < len && p(xs[i])) {457i += 1;458}459return xs.slice(i);460});461span = curry$(function(p, xs){462return [takeWhile(p, xs), dropWhile(p, xs)];463});464breakList = curry$(function(p, xs){465return span(compose$(p, not$), xs);466});467zip = curry$(function(xs, ys){468var result, len, i$, len$, i, x;469result = [];470len = ys.length;471for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {472i = i$;473x = xs[i$];474if (i === len) {475break;476}477result.push([x, ys[i]]);478}479return result;480});481zipWith = curry$(function(f, xs, ys){482var result, len, i$, len$, i, x;483result = [];484len = ys.length;485for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {486i = i$;487x = xs[i$];488if (i === len) {489break;490}491result.push(f(x, ys[i]));492}493return result;494});495zipAll = function(){496var xss, minLength, i$, len$, xs, ref$, i, lresult$, j$, results$ = [];497xss = slice$.call(arguments);498minLength = undefined;499for (i$ = 0, len$ = xss.length; i$ < len$; ++i$) {500xs = xss[i$];501minLength <= (ref$ = xs.length) || (minLength = ref$);502}503for (i$ = 0; i$ < minLength; ++i$) {504i = i$;505lresult$ = [];506for (j$ = 0, len$ = xss.length; j$ < len$; ++j$) {507xs = xss[j$];508lresult$.push(xs[i]);509}510results$.push(lresult$);511}512return results$;513};514zipAllWith = function(f){515var xss, minLength, i$, len$, xs, ref$, i, results$ = [];516xss = slice$.call(arguments, 1);517minLength = undefined;518for (i$ = 0, len$ = xss.length; i$ < len$; ++i$) {519xs = xss[i$];520minLength <= (ref$ = xs.length) || (minLength = ref$);521}522for (i$ = 0; i$ < minLength; ++i$) {523i = i$;524results$.push(f.apply(null, (fn$())));525}526return results$;527function fn$(){528var i$, ref$, len$, results$ = [];529for (i$ = 0, len$ = (ref$ = xss).length; i$ < len$; ++i$) {530xs = ref$[i$];531results$.push(xs[i]);532}533return results$;534}535};536at = curry$(function(n, xs){537if (n < 0) {538return xs[xs.length + n];539} else {540return xs[n];541}542});543elemIndex = curry$(function(el, xs){544var i$, len$, i, x;545for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {546i = i$;547x = xs[i$];548if (x === el) {549return i;550}551}552});553elemIndices = curry$(function(el, xs){554var i$, len$, i, x, results$ = [];555for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {556i = i$;557x = xs[i$];558if (x === el) {559results$.push(i);560}561}562return results$;563});564findIndex = curry$(function(f, xs){565var i$, len$, i, x;566for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {567i = i$;568x = xs[i$];569if (f(x)) {570return i;571}572}573});574findIndices = curry$(function(f, xs){575var i$, len$, i, x, results$ = [];576for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) {577i = i$;578x = xs[i$];579if (f(x)) {580results$.push(i);581}582}583return results$;584});585module.exports = {586each: each,587map: map,588filter: filter,589compact: compact,590reject: reject,591partition: partition,592find: find,593head: head,594first: first,595tail: tail,596last: last,597initial: initial,598empty: empty,599reverse: reverse,600difference: difference,601intersection: intersection,602union: union,603countBy: countBy,604groupBy: groupBy,605fold: fold,606fold1: fold1,607foldl: foldl,608foldl1: foldl1,609foldr: foldr,610foldr1: foldr1,611unfoldr: unfoldr,612andList: andList,613orList: orList,614any: any,615all: all,616unique: unique,617uniqueBy: uniqueBy,618sort: sort,619sortWith: sortWith,620sortBy: sortBy,621sum: sum,622product: product,623mean: mean,624average: average,625concat: concat,626concatMap: concatMap,627flatten: flatten,628maximum: maximum,629minimum: minimum,630maximumBy: maximumBy,631minimumBy: minimumBy,632scan: scan,633scan1: scan1,634scanl: scanl,635scanl1: scanl1,636scanr: scanr,637scanr1: scanr1,638slice: slice,639take: take,640drop: drop,641splitAt: splitAt,642takeWhile: takeWhile,643dropWhile: dropWhile,644span: span,645breakList: breakList,646zip: zip,647zipWith: zipWith,648zipAll: zipAll,649zipAllWith: zipAllWith,650at: at,651elemIndex: elemIndex,652elemIndices: elemIndices,653findIndex: findIndex,654findIndices: findIndices655};656function curry$(f, bound){657var context,658_curry = function(args) {659return f.length > 1 ? function(){660var params = args ? args.concat() : [];661context = bound ? context || this : this;662return params.push.apply(params, arguments) <663f.length && arguments.length ?664_curry.call(context, params) : f.apply(context, params);665} : f;666};667return _curry();668}669function in$(x, xs){670var i = -1, l = xs.length >>> 0;671while (++i < l) if (x === xs[i]) return true;672return false;673}674function compose$() {675var functions = arguments;676return function() {677var i, result;678result = functions[0].apply(this, arguments);679for (i = 1; i < functions.length; ++i) {680result = functions[i](result);681}682return result;683};684}685function not$(x){ return !x; }686687