Show More
Commit Description:
force log out when password change
Commit Description:
force log out when password change
References:
File last commit:
Show/Diff file:
Action:
node_modules/prelude-ls/lib/List.js
| 685 lines
| 14.6 KiB
| application/javascript
| JavascriptLexer
|
r789 | // 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; } |