1
|
+function(){function n(n,t){return n===t||n.valueOf()===t.valueOf()}function i(n,t){return n===t?0:n==null?-1:t==null?1:typeof n=="string"?n.toString().localeCompare(t.toString()):n.valueOf()-t.valueOf()}function r(){return!0}function t(n){return n}Array.prototype.select=Array.prototype.map||function(n,t){var r,u,i;for(t=t||window,r=[],u=this.length,i=0;i<u;i++)r.push(n.call(t,this[i],i,this));return r},Array.prototype.selectMany=function(n,t){return t=t||function(n,t){return t},this.aggregate(function(i,r){return i.concat(n(r).select(function(n){return t(r,n)}))},[])},Array.prototype.take=function(n){return this.slice(0,n)},Array.prototype.skip=Array.prototype.slice,Array.prototype.first=function(n,t){var r=this.length,i;if(!n)return r?this[0]:t==null?null:t;for(i=0;i<r;i++)if(n(this[i],i,this))return this[i];return t==null?null:t},Array.prototype.last=function(n,t){var i=this.length;if(!n)return i?this[i-1]:t==null?null:t;while(i-->0)if(n(this[i],i,this))return this[i];return t==null?null:t},Array.prototype.union=function(n){return this.concat(n).distinct()},Array.prototype.intersect=function(t,i){return i=i||n,this.distinct(i).where(function(n){return t.contains(n,i)})},Array.prototype.except=function(t,i){var o,u,r,f,e;for(t instanceof Array||(t=[t]),i=i||n,o=this.length,u=[],r=0;r<o;r++){for(f=t.length,e=!1;f-->0;)if(i(this[r],t[f])===!0){e=!0;break}e||u.push(this[r])}return u},Array.prototype.distinct=function(n){for(var i=[],r=this.length,t=0;t<r;t++)i.contains(this[t],n)||i.push(this[t]);return i},Array.prototype.zip=function(n,t){return this.take(Math.min(this.length,n.length)).select(function(i,r){return t(i,n[r])})},Array.prototype.indexOf=Array.prototype.indexOf||function(n,t){for(var r=this.length,i=Math.max(Math.min(t,r),0)||0;i<r;i++)if(this[i]===n)return i;return-1},Array.prototype.lastIndexOf=Array.prototype.lastIndexOf||function(n,t){for(var i=Math.max(Math.min(t||this.length,this.length),0);i-->0;)if(this[i]===n)return i;return-1},Array.prototype.remove=function(n){var t=this.indexOf(n);t!=-1&&this.splice(t,1)},Array.prototype.removeAll=function(n){for(var t,i=0;(t=this.first(n))!=null;)i++,this.remove(t);return i},Array.prototype.orderBy=function(n,r){r=r||i;var u=this.slice(0),f=function(t,i){return r(n(t),n(i))};return u.thenBy=function(n,r){return r=r||i,u.orderBy(t,function(t,i){var u=f(t,i);return u===0?r(n(t),n(i)):u})},u.thenByDescending=function(n,r){return r=r||i,u.orderBy(t,function(t,i){var u=f(t,i);return u===0?-r(n(t),n(i)):u})},u.sort(f)},Array.prototype.orderByDescending=function(n,t){return t=t||i,this.orderBy(n,function(n,i){return-t(n,i)})},Array.prototype.innerJoin=function(t,i,r,u,f){f=f||n;var e=[];return this.forEach(function(n){t.where(function(t){return f(i(n),r(t))}).forEach(function(t){e.push(u(n,t))})}),e},Array.prototype.groupJoin=function(t,i,r,u,f){return f=f||n,this.select(function(n){var u=i(n);return{outer:n,inner:t.where(function(n){return f(u,r(n))}),key:u}}).select(function(n){return n.inner.key=n.key,u(n.outer,n.inner)})},Array.prototype.groupBy=function(i,r){var e=[],s=this.length,f,o,u;for(r=r||n,i=i||t,f=0;f<s;f++)o=i(this[f]),u=e.first(function(n){return r(n.key,o)}),u||(u=[],u.key=o,e.push(u)),u.push(this[f]);return e},Array.prototype.toDictionary=function(n,t){for(var u={},r=this.length,i;r-->0;)(i=n(this[r]),i!=null&&i!="")&&(u[i]=t(this[r]));return u},Array.prototype.aggregate=Array.prototype.reduce||function(n,t){var r=this.slice(0),u=this.length,i;for(t==null&&(t=r.shift()),i=0;i<u;i++)t=n(t,r[i],i,this);return t},Array.prototype.min=function(n){n=n||t;for(var i=this.length,r=n(this[0]);i-->0;)n(this[i])<r&&(r=n(this[i]));return r},Array.prototype.max=function(n){n=n||t;for(var i=this.length,r=n(this[0]);i-->0;)n(this[i])>r&&(r=n(this[i]));return r},Array.prototype.sum=function(n){n=n||t;for(var i=this.length,r=0;i-->0;)r+=n(this[i]);return r},Array.prototype.where=Array.prototype.filter||function(n,t){var r,u,i;for(t=t||window,r=[],u=this.length,i=0;i<u;i++)n.call(t,this[i],i,this)===!0&&r.push(this[i]);return r},Array.prototype.any=function(n,t){t=t||window;var i=this.some||function(n,t){var i=this.length;if(!n)return i>0;while(i-->0)if(n.call(t,this[i],i,this)===!0)return!0;return!1};return i.apply(this,[n,t])},Array.prototype.all=function(n,t){t=t||window,n=n||r;var i=this.every||function(n,t){return this.length==this.where(n,t).length};return i.apply(this,[n,t])},Array.prototype.takeWhile=function(n){var u,i,t;for(n=n||r,u=this.length,i=[],t=0;t<u&&n(this[t],t)===!0;t++)i.push(this[t]);return i},Array.prototype.skipWhile=function(n){n=n||r;for(var i=this.length,t=0,t=0;t<i;t++)if(n(this[t],t)===!1)break;return this.skip(t)},Array.prototype.contains=function(t,i){i=i||n;for(var r=this.length;r-->0;)if(i(this[r],t)===!0)return!0;return!1},Array.prototype.forEach=Array.prototype.forEach||function(n,t){var r,i;for(t=t||window,r=this.length,i=0;i<r;i++)n.call(t,this[i],i,this)},Array.prototype.defaultIfEmpty=function(n){return this.length==0?[n==null?null:n]:this},Array.range=function(n,t){for(var i=[];t-->0;)i.push(n++);return i}}()
|