2025-06-27 10:04:22 +08:00

1 line
8.2 KiB
JavaScript

var Dinqyjs=function(){"use strict";var n=null,t=void 0,r=!0,i=!1,u="apply",e=Array,o=e.prototype,f=Math.ceil,s="clone",c="concat",a="length",h="indexOf",_="isArray",l="lastIndexOf",v=parseInt,m="pop",g="push",p=Math.random,d="reverse",y="slice",q="sort",A="splice",x=function(n){return function(t){return n===t}},O=function(n,t){var r=n/2;return v(t>0?f(r):r)},R=function(n,t){o[n]||(o[n]=function(n,r){return M(this,x(n),t,r)})},w=function(n){return"number"==typeof n||"boolean"==typeof n},j=function(n){return V(n._[c]())},D={ARRAY_PREALLOCATION:64e3},I=function(n,t){var r,i={};w(t)&&(t={right:t});for(r in t)i[r]=t[r];w(n)&&(n={left:n});for(r in n)i[r]=n[r];return i},k=function(n,t){return n>t?1:t>n?-1:0},b=function(n,t,r){var i,u,e,o,f=$(r),s=0,c=[];for(n=K(V(n).distinct(r)),t=K(t),o=t[a];s<n[a];){for(u=n[s++],i=0;o>i&&(e=t[i],!(f&&r(u,e)||!f&&u===e));)i++;i===o&&c[g](u)}return V(c)},C=function(n,t){var r,i;for(i in n)r=n[i],$(r)||t(r,i)},L=function(n){throw new Error(n)},E="Array contains no matching elements",J="Array does not contain exactly one matching element",M=function(n,t,r,i,u){var e,o=n[a];if(r=r||1,!$(t))return o>0?r>0?0:o-1:-1;for(B(i)&&(i=r>0?0:o-1),(B(u)||u>o)&&(u=o);u>0;){if(e=n[i],t(e))return i;i+=r,u--}return-1},T=function(t,r,i){for(var u,e,o=$(i),f=0,s=r[a],c=s>0?r[0]:n;s>f;f++)u=r[f],e=o?i(u):u,(t?c>=e:e>=c)&&(c=u);return c},$=function(n){return"function"==typeof n},B=function(n){return n===t},N=function(n,t){return{inner:n,outer:t}},P=function(n,t,r,i){for(var u=0;u<n[a]&&r(n[u],u)!=i;u++)t(n[u],u)},S=function(n,t){return.25*(n*t+n)},W=function(n,t){return n*t},Y=function(n,t,r,i){for(var u,e,o=0,f=[],s=$(r),c=$(i);o<n[a];)u=n[o++],e=t(u),s&&(u=r(u)),(f[e]=e in f?f[e]:[])[g](u);return c&&Q(f,i),f},U=function(n,r,i){var u,e,o,s,a,h,_,l,m=$(i),g=n.count();return 1>g?t:(u=K(n)[c](),F(u,i),e=S(r,g),o=v(e),s=v(f(e)),_=u[o-1],l=u[s-1],a=m?i(_):_,h=m?i(l):l,s>o?a:(a+h)/2)},z=function(){return p()-.5},F=function(n,t){return B(t)||t[a]<1?void n[q](k):(t=$(t)?[t]:o.slice.call(t),void n[q](G(t)))},G=function(n){return function(t,r){for(var i,u,e,o,f=0,s=0,c=n[a];c>f&&0===s;)o=n[f++],$(o)&&(e=0,c>f&&"string"==typeof n[f]&&0===n[f][h]("des")&&(e=1),i=o(t),u=o(r),u>i?s=e?1:-1:i>u&&(s=e?-1:1));return s}},H=function(t,r,i){for(var u,e,o=n,f=t[a]-1,s=$(i);f>=0;)u=t[f--],e=s?i(u):u,o=o===n?e:r(o,e);return o},K=function(n){return n._||n},Q=function(n,t){var r,i;for(r in n)i=n[r],n[r]=t(i,r);return n},V=function(n){return n._?n:new Dinqyjs.Collection(n)};return R(h,1),R(l,-1),o.map||(o.map=function(n){var r=this[a],i=new e(r>D.ARRAY_PREALLOCATION?0:r),u=0;if(!$(n))return t;for(;r>u;)i[u]=n(this[u++]);return i}),e[_]||(e[_]=function(n){return n.constructor===e}),{Collection:function(){function t(n){this._=n||[]}return t.associative=function(n){for(var t in n)if(!$(n[t]))return 0===+n[a];return i},t.configure=function(n,t){return D[n]=arguments[a]<2?D[n]:t},t.transpose=function(){for(var n,t,r,i=arguments,u=[],e=0,o=arguments[a];o>e;e++){for(t=K(i[e]),r=t[a];u[a]<r;)u[g]([]);for(n=0;r>n;)u[n][g](t[n++])}return V(u)},t.prototype={all:function(n){for(var t=r,u=0;t&&u<this._[a];)t&=n(this._[u++]);return t?r:i},any:function(n){return M(this._,n)>=0},ascending:function(){return F(this._,arguments),this},atRandom:function(){return this._[Math.floor(p()*this._[a])]},average:function(n){var t=this._[a];return t?this.sum(n)/t:0},clear:function(){this._[A](0,this._[a])},clearWhere:function(n){for(var t=this._,r=t[a]-1;r>=0;r--)n(t[r])&&t[A](r,1);return this},clone:function(){return j(this)},concat:function(){return V(o[c][u](this._,arguments))},contains:function(n){return this._[h](n)>-1},count:function(n){var t=0,r=this._,i=r[a],u=i;if(!B(n))for(u=0;i>t;)r[t++]===n&&u++;return u},crossJoin:function(n,t){var r,i,u=this._,e=u[a],o=n.length,f=[];for(B(t)&&(t=I),n=K(n),r=0;e>r;r++)for(i=0;o>i;i++)f.push(t(u[r],n[i]));return V(f)},descending:function(){return F(this._,arguments),this[d]()},difference:function(n,t){var r=this._;return n=K(n),b(r,n,t).union(b(n,r,t))},distinct:function(n){var t,r,i,u,e,o=$(n),f=[],s=this._;for(i=0,e=s[a];e>i;i++)if(t=s[i],-1==f[h](t))for(u=0;e>u;u++)if(r=s[u],o&&n(t,r)||!o&&t===r){f[g](t);break}return V(f)},doUntil:function(n,t){P(this._,n,t,1)},doWhile:function(n,t){P(this._,n,t,0)},each:function(n){var r=0,i=this._,u=i[a];if(u!==+u||t.associative(this._))C(i,n);else for(;u>r;)n(i[r],r++)},element:function(n,t){return this._[n]=arguments[a]>1?t:this._[n]},equalTo:function(n,t){n=K(n);var u,e,o=this._,f=o[a],s=f-1,c=$(t);if(f!=n[a])return i;for(;s>=0;)if(u=o[s],e=n[s--],c?!t(u,e):u!==e)return i;return r},findIndex:function(n,t,r){return $(n)?M(this._,n,1,t,r):-1},findLastIndex:function(n,t,r){return $(n)?M(this._,n,-1,t,r):-1},first:function(n){var t=M(this._,n);return t>=0?this._[t]:void L(E)},flatten:function(){for(var n,r=0,i=V([]),o=this._;r<o[a];)n=o[r++],t.prototype[g][u](i,e[_](n)?n:[n]);return i},groupBy:function(n,t,r){var i,u=Y(this._,n,t,r),e=this._;e[A](0,e[a]);for(i in u)e[i]=u[i];return this},indexOf:function(){return o[h][u](this._,arguments)},innerJoin:function(n,t,r){var i,u,o,f=[],c=this._,h=0;if(n=K(n),!e[_](n))return this[s]();for($(r)||(r=N);h<c[a];)for(i=c[h++],o=0;o<n[a];)u=n[o++],t(i,u)&&f[g](r(i,u));return V(f)},insert:function(n,t){this._[A](n,0,t)},insertRange:function(n,t){o[A][u](this._,[n,0][c](arguments[a]<3?K(t):o.slice.call(arguments,1)))},interquartileRange:function(n){return this.upperquartile(n)-this.lowerquartile(n)},intersect:function(n,t){for(var r,i,u,e=$(t),o=[],f=0,s=K(this.distinct(t)),c=K(V(n).distinct(t));f<s[a];)for(r=s[f++],u=0;u<c[a];)if(i=c[u++],e&&t(r,i)||!e&&r===i){o[g](r);break}return V(o)},join:function(){return o.join[u](this._,arguments)},keys:function(){var n,t=[],r=this._;for(n in r)$(r[n])||t[g](n);return t},last:function(n){var t=this._,r=M(t,n,-1);return r>=0?t[r]:void L(E)},lastIndexOf:function(){return o[l][u](this._,arguments)},lowerquartile:function(n){return U(this,1,n)},map:function(n){var t=void 0;if($(n)){var r=[];this.each(function(t){r[g](n(t))}),t=V(r)}return t},max:function(n){return T(0,this._,n)},median:function(){var n,t,r;return r=this[s](),F(K(r),arguments),n=r.middle(),t=r.middle(1),t>n?(n+t)/2:n},middle:function(n){return this._[O(this._[a]-1,n)]},min:function(n){return T(1,this._,n)},mode:function(n){var t,r,i,u,e=0,o=[],f=0;for(i=K(($(n)?this.map(n):this[s]()).ascending());f<i[a];)u=i[f++],r=u===t?r+1:0,r===e?o[g](u):r>e&&(o=[u],e++),t=u;return o},multiply:function(n){return this._[a]>0?H(this._,W,n):0},none:function(n){return!this.any(n)},orderBy:function(){F(this._,arguments)},outerJoin:function(t,r,i){var u,o,f,c,h=[],l=0,v=$(r);if(t=K(t),!e[_](t))return this[s]();for($(i)||(i=N);l<this._[a];){for(u=this._[l++],f=1,c=0;c<t[a];)o=t[c++],(v&&r(u,o)||!v&&u===o)&&(f=0,h[g](i(u,o)));f&&h[g](i(u,n))}return V(h)},pack:function(){for(var t,r=this._,i=r[a]-1;i>=0;i--)t=r[i],(B(t)||t===n)&&r[A](i,1);return this},partition:function(n,t,r){return V(Y(this._,n,t,r))},pop:function(){return o[m][u](this._,arguments)},push:function(){return o[g][u](this._,arguments)},pushRepeatedly:function(n,t){for(var r=0;t>r;r++)this[g](n);return this},range:function(n,t){return V(this._[y](n,t))},raw:function(){return this._},remove:function(n){var t,r;for(arguments.length>1?n=o.slice.call(arguments):e[_](n)||(n=[n]),r=0;r<n.length;r++)t=this._.indexOf(n[r]),t>-1&&this.removeAt(t)},removeAt:function(n){this._[A](n,1)},removeRange:function(n,t){this._[A](n,t)},reverse:function(){return V(o[d][u](this._,arguments))},shift:function(){return o.shift[u](this._,arguments)},shuffle:function(){return this._[q](z),this},single:function(n){var t=K(this);return $(n)&&(t=K(V(this).where(n))),1!=t[a]&&L(J),t[0]},skip:function(n){return V(this._[y](n))},sort:function(){return o[q][u](this._,arguments),this},sum:function(n){return this._[a]>0?H(this._,function(n,t){return n+t},n):0},take:function(n){return V(this._[y](0,n))},toString:function(){return o.toString[u](this._)},union:function(n){var t=this[s]();return o[g][u](K(t),K(n)),t},unshift:function(){return o.unshift[u](this._,arguments)},upperquartile:function(n){return U(this,3,n)},valueOf:function(){return o.valueOf[u](this._,arguments)},where:function(n){for(var t,r=[],i=0,u=this._;i<u[a];)t=u[i++],n(t)&&r[g](t);return V(r)}},t}()}}(),$Dq=function(n){return new Dinqyjs.Collection(n)};"object"==typeof exports&&exports&&(exports.Dinqyjs=Dinqyjs,exports.$Dq=$Dq);