lodash-rails 2.3.0 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/lodash/rails/version.rb +1 -1
- data/vendor/assets/javascripts/lodash.compat.js +373 -187
- data/vendor/assets/javascripts/lodash.compat.min.js +54 -52
- data/vendor/assets/javascripts/lodash.js +374 -199
- data/vendor/assets/javascripts/lodash.min.js +49 -49
- data/vendor/assets/javascripts/lodash.underscore.js +203 -134
- data/vendor/assets/javascripts/lodash.underscore.min.js +34 -34
- metadata +2 -2
@@ -1,58 +1,60 @@
|
|
1
1
|
/**
|
2
2
|
* @license
|
3
|
-
* Lo-Dash 2.
|
3
|
+
* Lo-Dash 2.4.0 (Custom Build) lodash.com/license | Underscore.js 1.5.2 underscorejs.org/LICENSE
|
4
4
|
* Build: `lodash -o ./dist/lodash.compat.js`
|
5
5
|
*/
|
6
6
|
;(function(){function n(n,t,e){e=(e||0)-1;for(var r=n?n.length:0;++e<r;)if(n[e]===t)return e;return-1}function t(t,e){var r=typeof e;if(t=t.l,"boolean"==r||null==e)return t[e]?0:-1;"number"!=r&&"string"!=r&&(r="object");var u="number"==r?e:b+e;return t=(t=t[r])&&t[u],"object"==r?t&&-1<n(t,e)?0:-1:t?0:-1}function e(n){var t=this.l,e=typeof n;if("boolean"==e||null==n)t[n]=true;else{"number"!=e&&"string"!=e&&(e="object");var r="number"==e?n:b+n,t=t[e]||(t[e]={});"object"==e?(t[r]||(t[r]=[])).push(n):t[r]=true
|
7
|
-
}}function r(n){return n.charCodeAt(0)}function u(n,t){var e=n.m,r=t.m;if(
|
8
|
-
}function f(n){return typeof n.toString!="function"&&typeof(n+"")=="string"}function c(n){n.length=0,v.length<w&&v.push(n)}function p(n){var t=n.l;t&&p(t),n.k=n.l=n.m=n.object=n.number=n.string=n.o=null,y.length<w&&y.push(n)}function s(n,t,e){t||(t=0),typeof e=="undefined"&&(e=n?n.length:0);var r=-1;e=e-t||0;for(var u=Array(0>e?0:e);++r<e;)u[r]=n[t+r];
|
9
|
-
}function w(n){function t(){if(r){var n=r.slice();
|
10
|
-
}if(a=
|
11
|
-
|
12
|
-
}var e=n[0],r=n[1],u=n[2],o=n[3],a=n[4],i=n[5],l=1&r,f=2&r,c=4&r,p=8&r,g=e;return
|
13
|
-
}function
|
14
|
-
if(l!=G||!
|
15
|
-
}return
|
16
|
-
n[o]=f})}function
|
17
|
-
});return u}}function
|
18
|
-
t=Q.a,Q.d=/^[^,]+/.exec(t)[0],n=
|
19
|
-
else if(r+="for(n in t){",e.j&&u.push("m.call(t, n)"),u.length&&(r+="if("+u.join("&&")+"){"),r+=e.g+";",u.length&&(r+="}"),r+="}",
|
20
|
-
}function
|
21
|
-
for(t=tt(t,e,3);u--&&(e=r[u],false!==t(n[e],e,n)););return n}function
|
22
|
-
return u}function
|
23
|
-
t(o,e,n)&&r.push(o)}}else
|
24
|
-
else qe.unindexedChars&&
|
25
|
-
});return o}function
|
26
|
-
for(var u=n.length;++e<u&&!(r=t(n[e],e,n)););}else
|
27
|
-
for(t=v.createCallback(t,e,3);++u<o&&t(n[u],u,n);)r++}else r=null==t||e?1:
|
28
|
-
return r}function
|
29
|
-
},y=function(){l&&
|
30
|
-
t||(e=y,t=n,n=v),
|
31
|
-
}
|
32
|
-
for(t in
|
33
|
-
try{
|
34
|
-
});var
|
35
|
-
|
36
|
-
};return v.after=function(n,t){if(!
|
37
|
-
},v.chain=function(n){return n=new y(n),n.__chain__=true,n},v.compact=function(n){for(var t=-1,e=n?n.length:0,r=[];++t<e;){var u=n[t];u&&r.push(u)}return r},v.compose=function(){for(var n=arguments,t=n.length;t--;)if(!
|
38
|
-
|
39
|
-
},v.
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
}},v.
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
}
|
49
|
-
},v.
|
50
|
-
|
51
|
-
|
52
|
-
}
|
53
|
-
},v.
|
54
|
-
},
|
55
|
-
|
56
|
-
}
|
57
|
-
|
7
|
+
}}function r(n){return n.charCodeAt(0)}function u(n,t){for(var e=n.m,r=t.m,u=-1,o=e.length;++u<o;){var a=e[u],i=r[u];if(a!==i){if(a>i||typeof a=="undefined")return 1;if(a<i||typeof i=="undefined")return-1}}return n.n-t.n}function o(n){var t=-1,r=n.length,u=n[0],o=n[r/2|0],a=n[r-1];if(u&&typeof u=="object"&&o&&typeof o=="object"&&a&&typeof a=="object")return false;for(u=l(),u["false"]=u["null"]=u["true"]=u.undefined=false,o=l(),o.k=n,o.l=u,o.push=e;++t<r;)o.push(n[t]);return o}function a(n){return"\\"+Y[n]
|
8
|
+
}function i(){return v.pop()||[]}function l(){return y.pop()||{k:null,l:null,m:null,"false":false,n:0,"null":false,number:null,object:null,push:null,string:null,"true":false,undefined:false,o:null}}function f(n){return typeof n.toString!="function"&&typeof(n+"")=="string"}function c(n){n.length=0,v.length<w&&v.push(n)}function p(n){var t=n.l;t&&p(t),n.k=n.l=n.m=n.object=n.number=n.string=n.o=null,y.length<w&&y.push(n)}function s(n,t,e){t||(t=0),typeof e=="undefined"&&(e=n?n.length:0);var r=-1;e=e-t||0;for(var u=Array(0>e?0:e);++r<e;)u[r]=n[t+r];
|
9
|
+
return u}function g(e){function v(n){return n&&typeof n=="object"&&!Le(n)&&_e.call(n,"__wrapped__")?n:new y(n)}function y(n,t){this.__chain__=!!t,this.__wrapped__=n}function w(n){function t(){if(r){var n=r.slice();we.apply(n,arguments)}if(this instanceof t){var o=nt(e.prototype),n=e.apply(o,n||arguments);return jt(n)?n:o}return e.apply(u,n||arguments)}var e=n[0],r=n[2],u=n[4];return $e(t,n),t}function Y(n,t,e,r,u){if(e){var o=e(n);if(typeof o!="undefined")return o}if(!jt(n))return n;var a=ge.call(n);
|
10
|
+
if(!V[a]||!Te.nodeClass&&f(n))return n;var l=Re[a];switch(a){case L:case z:return new l(+n);case W:case M:return new l(n);case J:return o=l(n.source,S.exec(n)),o.lastIndex=n.lastIndex,o}if(a=Le(n),t){var p=!r;r||(r=i()),u||(u=i());for(var g=r.length;g--;)if(r[g]==n)return u[g];o=a?l(n.length):{}}else o=a?s(n):Qe({},n);return a&&(_e.call(n,"index")&&(o.index=n.index),_e.call(n,"input")&&(o.input=n.input)),t?(r.push(n),u.push(o),(a?Ue:Ze)(n,function(n,a){o[a]=Y(n,t,e,r,u)}),p&&(c(r),c(u)),o):o}function nt(n){return jt(n)?Ee(n):{}
|
11
|
+
}function tt(n,t,e){if(typeof n!="function")return Vt;if(typeof t=="undefined"||!("prototype"in n))return n;var r=n.__bindData__;if(typeof r=="undefined"&&(Te.funcNames&&(r=!n.name),r=r||!Te.funcDecomp,!r)){var u=de.call(n);Te.funcNames||(r=!A.test(u)),r||(r=B.test(u),$e(n,r))}if(false===r||true!==r&&1&r[1])return n;switch(e){case 1:return function(e){return n.call(t,e)};case 2:return function(e,r){return n.call(t,e,r)};case 3:return function(e,r,u){return n.call(t,e,r,u)};case 4:return function(e,r,u,o){return n.call(t,e,r,u,o)
|
12
|
+
}}return Jt(n,t)}function et(n){function t(){var n=l?a:this;if(u){var h=u.slice();we.apply(h,arguments)}return(o||c)&&(h||(h=s(arguments)),o&&we.apply(h,o),c&&h.length<i)?(r|=16,et([e,p?r:-4&r,h,null,a,i])):(h||(h=arguments),f&&(e=n[g]),this instanceof t?(n=nt(e.prototype),h=e.apply(n,h),jt(h)?h:n):e.apply(n,h))}var e=n[0],r=n[1],u=n[2],o=n[3],a=n[4],i=n[5],l=1&r,f=2&r,c=4&r,p=8&r,g=e;return $e(t,n),t}function rt(e,r){var u=-1,a=ht(),i=e?e.length:0,l=i>=_&&a===n,f=[];if(l){var c=o(r);c?(a=t,r=c):l=false
|
13
|
+
}for(;++u<i;)c=e[u],0>a(r,c)&&f.push(c);return l&&p(r),f}function ot(n,t,e,r){r=(r||0)-1;for(var u=n?n.length:0,o=[];++r<u;){var a=n[r];if(a&&typeof a=="object"&&typeof a.length=="number"&&(Le(a)||mt(a))){t||(a=ot(a,t,e));var i=-1,l=a.length,f=o.length;for(o.length+=l;++i<l;)o[f++]=a[i]}else e||o.push(a)}return o}function at(n,t,e,r,u,o){if(e){var a=e(n,t);if(typeof a!="undefined")return!!a}if(n===t)return 0!==n||1/n==1/t;if(n===n&&!(n&&X[typeof n]||t&&X[typeof t]))return false;if(null==n||null==t)return n===t;
|
14
|
+
var l=ge.call(n),p=ge.call(t);if(l==T&&(l=G),p==T&&(p=G),l!=p)return false;switch(l){case L:case z:return+n==+t;case W:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case J:case M:return n==ae(t)}if(p=l==$,!p){var s=_e.call(n,"__wrapped__"),g=_e.call(t,"__wrapped__");if(s||g)return at(s?n.__wrapped__:n,g?t.__wrapped__:t,e,r,u,o);if(l!=G||!Te.nodeClass&&(f(n)||f(t)))return false;if(l=!Te.argsObject&&mt(n)?ue:n.constructor,s=!Te.argsObject&&mt(t)?ue:t.constructor,l!=s&&!(wt(l)&&l instanceof l&&wt(s)&&s instanceof s)&&"constructor"in n&&"constructor"in t)return false
|
15
|
+
}for(s=!u,u||(u=i()),o||(o=i()),l=u.length;l--;)if(u[l]==n)return o[l]==t;var h=0,a=true;if(u.push(n),o.push(t),p){if(l=n.length,h=t.length,a=h==n.length,!a&&!r)return a;for(;h--;)if(p=l,s=t[h],r)for(;p--&&!(a=at(n[p],s,e,r,u,o)););else if(!(a=at(n[h],s,e,r,u,o)))break;return a}return Ye(t,function(t,i,l){return _e.call(l,i)?(h++,a=_e.call(n,i)&&at(n[i],t,e,r,u,o)):void 0}),a&&!r&&Ye(n,function(n,t,e){return _e.call(e,t)?a=-1<--h:void 0}),s&&(c(u),c(o)),a}function it(n,t,e,r,u){(Le(t)?It:Ze)(t,function(t,o){var a,i,l=t,f=n[o];
|
16
|
+
if(t&&((i=Le(t))||nr(t))){for(l=r.length;l--;)if(a=r[l]==t){f=u[l];break}if(!a){var c;e&&(l=e(f,t),c=typeof l!="undefined")&&(f=l),c||(f=i?Le(f)?f:[]:nr(f)?f:{}),r.push(t),u.push(f),c||it(f,t,e,r,u)}}else e&&(l=e(f,t),typeof l=="undefined"&&(l=t)),typeof l!="undefined"&&(f=l);n[o]=f})}function lt(n,t){return n+me(Pe()*(t-n+1))}function ft(e,r,u){var a=-1,l=ht(),f=e?e.length:0,s=[],g=!r&&f>=_&&l===n,h=u||g?i():s;if(g){var v=o(h);v?(l=t,h=v):(g=false,h=u?h:(c(h),s))}for(;++a<f;){var v=e[a],y=u?u(v,a,e):v;
|
17
|
+
(r?!a||h[h.length-1]!==y:0>l(h,y))&&((u||g)&&h.push(y),s.push(v))}return g?(c(h.k),p(h)):u&&c(h),s}function ct(n){return function(t,e,r){var u={};if(e=v.createCallback(e,r,3),Le(t)){r=-1;for(var o=t.length;++r<o;){var a=t[r];n(u,a,e(a,r,t),t)}}else Ue(t,function(t,r,o){n(u,t,e(t,r,o),o)});return u}}function pt(n,t,e,r,u,o){var a=1&t,i=4&t,l=16&t,f=32&t;if(!(2&t||wt(n)))throw new ie;l&&!e.length&&(t&=-17,l=e=false),f&&!r.length&&(t&=-33,f=r=false);var c=n&&n.__bindData__;return c&&true!==c?(c=c.slice(),!a||1&c[1]||(c[4]=u),!a&&1&c[1]&&(t|=8),!i||4&c[1]||(c[5]=o),l&&we.apply(c[2]||(c[2]=[]),e),f&&we.apply(c[3]||(c[3]=[]),r),c[1]|=t,pt.apply(null,c)):(1==t||17===t?w:et)([n,t,e,r,u,o])
|
18
|
+
}function st(){Q.h=F,Q.b=Q.c=Q.g=Q.i="",Q.e="t",Q.j=true;for(var n,t=0;n=arguments[t];t++)for(var e in n)Q[e]=n[e];t=Q.a,Q.d=/^[^,]+/.exec(t)[0],n=te,t="return function("+t+"){",e=Q;var r="var n,t="+e.d+",E="+e.e+";if(!t)return E;"+e.i+";";e.b?(r+="var u=t.length;n=-1;if("+e.b+"){",Te.unindexedChars&&(r+="if(s(t)){t=t.split('')}"),r+="while(++n<u){"+e.g+";}}else{"):Te.nonEnumArgs&&(r+="var u=t.length;n=-1;if(u&&p(t)){while(++n<u){n+='';"+e.g+";}}else{"),Te.enumPrototypes&&(r+="var G=typeof t=='function';"),Te.enumErrorProps&&(r+="var F=t===k||t instanceof Error;");
|
19
|
+
var u=[];if(Te.enumPrototypes&&u.push('!(G&&n=="prototype")'),Te.enumErrorProps&&u.push('!(F&&(n=="message"||n=="name"))'),e.j&&e.f)r+="var C=-1,D=B[typeof t]&&v(t),u=D?D.length:0;while(++C<u){n=D[C];",u.length&&(r+="if("+u.join("&&")+"){"),r+=e.g+";",u.length&&(r+="}"),r+="}";else if(r+="for(n in t){",e.j&&u.push("m.call(t, n)"),u.length&&(r+="if("+u.join("&&")+"){"),r+=e.g+";",u.length&&(r+="}"),r+="}",Te.nonEnumShadows){for(r+="if(t!==A){var i=t.constructor,r=t===(i&&i.prototype),f=t===J?I:t===k?j:L.call(t),x=y[f];",k=0;7>k;k++)r+="n='"+e.h[k]+"';if((!(r&&x[n])&&m.call(t,n))",e.j||(r+="||(!x[n]&&t[n]!==A[n])"),r+="){"+e.g+"}";
|
20
|
+
r+="}"}return(e.b||Te.nonEnumArgs)&&(r+="}"),r+=e.c+";return E",n("d,j,k,m,o,p,q,s,v,A,B,y,I,J,L",t+r+"}")(tt,q,fe,_e,d,mt,Le,Ct,Q.f,ce,X,Fe,M,pe,ge)}function gt(n){return Je[n]}function ht(){var t=(t=v.indexOf)===Lt?n:t;return t}function vt(n){var t,e;return!n||ge.call(n)!=G||(t=n.constructor,wt(t)&&!(t instanceof t))||!Te.argsClass&&mt(n)||!Te.nodeClass&&f(n)?false:Te.ownLast?(Ye(n,function(n,t,r){return e=_e.call(r,t),false}),false!==e):(Ye(n,function(n,t){e=t}),typeof e=="undefined"||_e.call(n,e))}function yt(n){return Me[n]
|
21
|
+
}function mt(n){return n&&typeof n=="object"&&typeof n.length=="number"&&ge.call(n)==T||false}function dt(n,t,e){var r=qe(n),u=r.length;for(t=tt(t,e,3);u--&&(e=r[u],false!==t(n[e],e,n)););return n}function bt(n){var t=[];return Ye(n,function(n,e){wt(n)&&t.push(e)}),t.sort()}function _t(n){for(var t=-1,e=qe(n),r=e.length,u={};++t<r;){var o=e[t];u[n[o]]=o}return u}function wt(n){return typeof n=="function"}function jt(n){return!(!n||!X[typeof n])}function xt(n){return typeof n=="number"||n&&typeof n=="object"&&ge.call(n)==W||false
|
22
|
+
}function Ct(n){return typeof n=="string"||n&&typeof n=="object"&&ge.call(n)==M||false}function kt(n){for(var t=-1,e=qe(n),r=e.length,u=Yt(r);++t<r;)u[t]=n[e[t]];return u}function Et(n,t,e){var r=-1,u=ht(),o=n?n.length:0,a=false;return e=(0>e?De(0,o+e):e)||0,Le(n)?a=-1<u(n,t,e):typeof o=="number"?a=-1<(Ct(n)?n.indexOf(t,e):u(n,t,e)):Ue(n,function(n){return++r<e?void 0:!(a=n===t)}),a}function Ot(n,t,e){var r=true;if(t=v.createCallback(t,e,3),Le(n)){e=-1;for(var u=n.length;++e<u&&(r=!!t(n[e],e,n)););}else Ue(n,function(n,e,u){return r=!!t(n,e,u)
|
23
|
+
});return r}function St(n,t,e){var r=[];if(t=v.createCallback(t,e,3),Le(n)){e=-1;for(var u=n.length;++e<u;){var o=n[e];t(o,e,n)&&r.push(o)}}else Ue(n,function(n,e,u){t(n,e,u)&&r.push(n)});return r}function At(n,t,e){if(t=v.createCallback(t,e,3),!Le(n)){var r;return Ue(n,function(n,e,u){return t(n,e,u)?(r=n,false):void 0}),r}e=-1;for(var u=n.length;++e<u;){var o=n[e];if(t(o,e,n))return o}}function It(n,t,e){if(t&&typeof e=="undefined"&&Le(n)){e=-1;for(var r=n.length;++e<r&&false!==t(n[e],e,n););}else Ue(n,t,e);
|
24
|
+
return n}function Dt(n,t,e){var r=n,u=n?n.length:0;if(t=t&&typeof e=="undefined"?t:tt(t,e,3),Le(n))for(;u--&&false!==t(n[u],u,n););else{if(typeof u!="number")var o=qe(n),u=o.length;else Te.unindexedChars&&Ct(n)&&(r=n.split(""));Ue(n,function(n,e,a){return e=o?o[--u]:--u,t(r[e],e,a)})}return n}function Nt(n,t,e){var r=-1,u=n?n.length:0,o=Yt(typeof u=="number"?u:0);if(t=v.createCallback(t,e,3),Le(n))for(;++r<u;)o[r]=t(n[r],r,n);else Ue(n,function(n,e,u){o[++r]=t(n,e,u)});return o}function Bt(n,t,e){var u=-1/0,o=u;
|
25
|
+
if(typeof t!="function"&&e&&e[t]===n&&(t=null),null==t&&Le(n)){e=-1;for(var a=n.length;++e<a;){var i=n[e];i>o&&(o=i)}}else t=null==t&&Ct(n)?r:v.createCallback(t,e,3),Ue(n,function(n,e,r){e=t(n,e,r),e>u&&(u=e,o=n)});return o}function Pt(n,t,e,r){var u=3>arguments.length;if(t=v.createCallback(t,r,4),Le(n)){var o=-1,a=n.length;for(u&&(e=n[++o]);++o<a;)e=t(e,n[o],o,n)}else Ue(n,function(n,r,o){e=u?(u=false,n):t(e,n,r,o)});return e}function Rt(n,t,e,r){var u=3>arguments.length;return t=v.createCallback(t,r,4),Dt(n,function(n,r,o){e=u?(u=false,n):t(e,n,r,o)
|
26
|
+
}),e}function Ft(n){var t=-1,e=n?n.length:0,r=Yt(typeof e=="number"?e:0);return It(n,function(n){var e=lt(0,++t);r[t]=r[e],r[e]=n}),r}function Tt(n,t,e){var r;if(t=v.createCallback(t,e,3),Le(n)){e=-1;for(var u=n.length;++e<u&&!(r=t(n[e],e,n)););}else Ue(n,function(n,e,u){return!(r=t(n,e,u))});return!!r}function $t(n,t,e){var r=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=-1;for(t=v.createCallback(t,e,3);++o<u&&t(n[o],o,n);)r++}else if(r=t,null==r||e)return n?n[0]:h;return s(n,0,Ne(De(0,r),u))
|
27
|
+
}function Lt(t,e,r){if(typeof r=="number"){var u=t?t.length:0;r=0>r?De(0,u+r):r||0}else if(r)return r=qt(t,e),t[r]===e?r:-1;return n(t,e,r)}function zt(n,t,e){if(typeof t!="number"&&null!=t){var r=0,u=-1,o=n?n.length:0;for(t=v.createCallback(t,e,3);++u<o&&t(n[u],u,n);)r++}else r=null==t||e?1:De(0,t);return s(n,r)}function qt(n,t,e,r){var u=0,o=n?n.length:u;for(e=e?v.createCallback(e,r,1):Vt,t=e(t);u<o;)r=u+o>>>1,e(n[r])<t?u=r+1:o=r;return u}function Kt(n,t,e,r){return typeof t!="boolean"&&null!=t&&(r=e,e=typeof t!="function"&&r&&r[t]===n?null:t,t=false),null!=e&&(e=v.createCallback(e,r,3)),ft(n,t,e)
|
28
|
+
}function Wt(){for(var n=1<arguments.length?arguments:arguments[0],t=-1,e=n?Bt(ur(n,"length")):0,r=Yt(0>e?0:e);++t<e;)r[t]=ur(n,t);return r}function Gt(n,t){var e=-1,r=n?n.length:0,u={};for(t||!r||Le(n[0])||(t=[]);++e<r;){var o=n[e];t?u[o]=t[e]:o&&(u[o[0]]=o[1])}return u}function Jt(n,t){return 2<arguments.length?pt(n,17,s(arguments,2),null,t):pt(n,1,null,null,t)}function Mt(n,t,e){var r,u,o,a,i,l,f,c=0,p=false,s=true;if(!wt(n))throw new ie;if(t=De(0,t)||0,true===e)var g=true,s=false;else jt(e)&&(g=e.leading,p="maxWait"in e&&(De(t,e.maxWait)||0),s="trailing"in e?e.trailing:s);
|
29
|
+
var v=function(){var e=t-(or()-a);0<e?l=xe(v,e):(u&&ye(u),e=f,u=l=f=h,e&&(c=or(),o=n.apply(i,r),l||u||(r=i=null)))},y=function(){l&&ye(l),u=l=f=h,(s||p!==t)&&(c=or(),o=n.apply(i,r),l||u||(r=i=null))};return function(){if(r=arguments,a=or(),i=this,f=s&&(l||!g),false===p)var e=g&&!l;else{u||g||(c=a);var h=p-(a-c),m=0>=h;m?(u&&(u=ye(u)),c=a,o=n.apply(i,r)):u||(u=xe(y,h))}return m&&l?l=ye(l):l||t===p||(l=xe(v,t)),e&&(m=true,o=n.apply(i,r)),!m||l||u||(r=i=null),o}}function Vt(n){return n}function Ht(n,t,e){var r=true,u=t&&bt(t);
|
30
|
+
t&&(e||u.length)||(null==e&&(e=t),o=y,t=n,n=v,u=bt(t)),false===e?r=false:jt(e)&&"chain"in e&&(r=e.chain);var o=n,a=wt(o);It(u,function(e){var u=n[e]=t[e];a&&(o.prototype[e]=function(){var t=this.__chain__,e=this.__wrapped__,a=[e];if(we.apply(a,arguments),a=u.apply(n,a),r||t){if(e===a&&jt(a))return this;a=new o(a),a.__chain__=t}return a})})}function Ut(){}function Qt(n){return function(t){return t[n]}}function Xt(){return this.__wrapped__}e=e?ut.defaults(Z.Object(),e,ut.pick(Z,R)):Z;var Yt=e.Array,Zt=e.Boolean,ne=e.Date,te=e.Function,ee=e.Math,re=e.Number,ue=e.Object,oe=e.RegExp,ae=e.String,ie=e.TypeError,le=[],fe=e.Error.prototype,ce=ue.prototype,pe=ae.prototype,se=e._,ge=ce.toString,he=oe("^"+ae(ge).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),ve=ee.ceil,ye=e.clearTimeout,me=ee.floor,de=te.prototype.toString,be=he.test(be=ue.getPrototypeOf)&&be,_e=ce.hasOwnProperty,we=le.push,je=ce.propertyIsEnumerable,xe=e.setTimeout,Ce=le.splice,ke=function(){try{var n={},t=he.test(t=ue.defineProperty)&&t,e=t(n,n,n)&&t
|
31
|
+
}catch(r){}return e}(),Ee=he.test(Ee=ue.create)&&Ee,Oe=he.test(Oe=Yt.isArray)&&Oe,Se=e.isFinite,Ae=e.isNaN,Ie=he.test(Ie=ue.keys)&&Ie,De=ee.max,Ne=ee.min,Be=e.parseInt,Pe=ee.random,Re={};Re[$]=Yt,Re[L]=Zt,Re[z]=ne,Re[K]=te,Re[G]=ue,Re[W]=re,Re[J]=oe,Re[M]=ae;var Fe={};Fe[$]=Fe[z]=Fe[W]={constructor:true,toLocaleString:true,toString:true,valueOf:true},Fe[L]=Fe[M]={constructor:true,toString:true,valueOf:true},Fe[q]=Fe[K]=Fe[J]={constructor:true,toString:true},Fe[G]={constructor:true},function(){for(var n=F.length;n--;){var t,e=F[n];
|
32
|
+
for(t in Fe)_e.call(Fe,t)&&!_e.call(Fe[t],e)&&(Fe[t][e]=false)}}(),y.prototype=v.prototype;var Te=v.support={};!function(){var n=function(){this.x=1},t={0:1,length:1},r=[];n.prototype={valueOf:1,y:1};for(var u in new n)r.push(u);for(u in arguments);Te.argsClass=ge.call(arguments)==T,Te.argsObject=arguments.constructor==ue&&!(arguments instanceof Yt),Te.enumErrorProps=je.call(fe,"message")||je.call(fe,"name"),Te.enumPrototypes=je.call(n,"prototype"),Te.funcDecomp=!he.test(e.WinRTError)&&B.test(g),Te.funcNames=typeof te.name=="string",Te.nonEnumArgs=0!=u,Te.nonEnumShadows=!/valueOf/.test(r),Te.ownLast="x"!=r[0],Te.spliceObjects=(le.splice.call(t,0,1),!t[0]),Te.unindexedChars="xx"!="x"[0]+ue("x")[0];
|
33
|
+
try{Te.nodeClass=!(ge.call(document)==G&&!({toString:0}+""))}catch(o){Te.nodeClass=true}}(1),v.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:I,variable:"",imports:{_:v}},Ee||(nt=function(){function n(){}return function(t){if(jt(t)){n.prototype=t;var r=new n;n.prototype=null}return r||e.Object()}}());var $e=ke?function(n,t){U.value=t,ke(n,"__bindData__",U)}:Ut;Te.argsClass||(mt=function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&_e.call(n,"callee")&&!je.call(n,"callee")||false
|
34
|
+
});var Le=Oe||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&ge.call(n)==$||false},ze=st({a:"z",e:"[]",i:"if(!(B[typeof z]))return E",g:"E.push(n)"}),qe=Ie?function(n){return jt(n)?Te.enumPrototypes&&typeof n=="function"||Te.nonEnumArgs&&n.length&&mt(n)?ze(n):Ie(n):[]}:ze,Ke={a:"g,e,K",i:"e=e&&typeof K=='undefined'?e:d(e,K,3)",b:"typeof u=='number'",v:qe,g:"if(e(t[n],n,g)===false)return E"},We={a:"z,H,l",i:"var a=arguments,b=0,c=typeof l=='number'?2:a.length;while(++b<c){t=a[b];if(t&&B[typeof t]){",v:qe,g:"if(typeof E[n]=='undefined')E[n]=t[n]",c:"}}"},Ge={i:"if(!B[typeof t])return E;"+Ke.i,b:false},Je={"&":"&","<":"<",">":">",'"':""","'":"'"},Me=_t(Je),Ve=oe("("+qe(Me).join("|")+")","g"),He=oe("["+qe(Je).join("")+"]","g"),Ue=st(Ke),Qe=st(We,{i:We.i.replace(";",";if(c>3&&typeof a[c-2]=='function'){var e=d(a[--c-1],a[c--],2)}else if(c>2&&typeof a[c-1]=='function'){e=a[--c]}"),g:"E[n]=e?e(E[n],t[n]):t[n]"}),Xe=st(We),Ye=st(Ke,Ge,{j:false}),Ze=st(Ke,Ge);
|
35
|
+
wt(/x/)&&(wt=function(n){return typeof n=="function"&&ge.call(n)==K});var nr=be?function(n){if(!n||ge.call(n)!=G||!Te.argsClass&&mt(n))return false;var t=n.valueOf,e=typeof t=="function"&&(e=be(t))&&be(e);return e?n==e||be(n)==e:vt(n)}:vt,tr=ct(function(n,t,e){_e.call(n,e)?n[e]++:n[e]=1}),er=ct(function(n,t,e){(_e.call(n,e)?n[e]:n[e]=[]).push(t)}),rr=ct(function(n,t,e){n[e]=t}),ur=Nt,or=he.test(or=ne.now)&&or||function(){return(new ne).getTime()},ar=8==Be(j+"08")?Be:function(n,t){return Be(Ct(n)?n.replace(D,""):n,t||0)
|
36
|
+
};return v.after=function(n,t){if(!wt(t))throw new ie;return function(){return 1>--n?t.apply(this,arguments):void 0}},v.assign=Qe,v.at=function(n){var t=arguments,e=-1,r=ot(t,true,false,1),t=t[2]&&t[2][t[1]]===n?1:r.length,u=Yt(t);for(Te.unindexedChars&&Ct(n)&&(n=n.split(""));++e<t;)u[e]=n[r[e]];return u},v.bind=Jt,v.bindAll=function(n){for(var t=1<arguments.length?ot(arguments,true,false,1):bt(n),e=-1,r=t.length;++e<r;){var u=t[e];n[u]=pt(n[u],1,null,null,n)}return n},v.bindKey=function(n,t){return 2<arguments.length?pt(t,19,s(arguments,2),null,n):pt(t,3,null,null,n)
|
37
|
+
},v.chain=function(n){return n=new y(n),n.__chain__=true,n},v.compact=function(n){for(var t=-1,e=n?n.length:0,r=[];++t<e;){var u=n[t];u&&r.push(u)}return r},v.compose=function(){for(var n=arguments,t=n.length;t--;)if(!wt(n[t]))throw new ie;return function(){for(var t=arguments,e=n.length;e--;)t=[n[e].apply(this,t)];return t[0]}},v.constant=function(n){return function(){return n}},v.countBy=tr,v.create=function(n,t){var e=nt(n);return t?Qe(e,t):e},v.createCallback=function(n,t,e){var r=typeof n;if(null==n||"function"==r)return tt(n,t,e);
|
38
|
+
if("object"!=r)return Qt(n);var u=qe(n),o=u[0],a=n[o];return 1!=u.length||a!==a||jt(a)?function(t){for(var e=u.length,r=false;e--&&(r=at(t[u[e]],n[u[e]],null,true)););return r}:function(n){return n=n[o],a===n&&(0!==a||1/a==1/n)}},v.curry=function(n,t){return t=typeof t=="number"?t:+t||n.length,pt(n,4,null,null,null,t)},v.debounce=Mt,v.defaults=Xe,v.defer=function(n){if(!wt(n))throw new ie;var t=s(arguments,1);return xe(function(){n.apply(h,t)},1)},v.delay=function(n,t){if(!wt(n))throw new ie;var e=s(arguments,2);
|
39
|
+
return xe(function(){n.apply(h,e)},t)},v.difference=function(n){return rt(n,ot(arguments,true,true,1))},v.filter=St,v.flatten=function(n,t,e,r){return typeof t!="boolean"&&null!=t&&(r=e,e=typeof t!="function"&&r&&r[t]===n?null:t,t=false),null!=e&&(n=Nt(n,e,r)),ot(n,t)},v.forEach=It,v.forEachRight=Dt,v.forIn=Ye,v.forInRight=function(n,t,e){var r=[];Ye(n,function(n,t){r.push(t,n)});var u=r.length;for(t=tt(t,e,3);u--&&false!==t(r[u--],r[u],n););return n},v.forOwn=Ze,v.forOwnRight=dt,v.functions=bt,v.groupBy=er,v.indexBy=rr,v.initial=function(n,t,e){var r=0,u=n?n.length:0;
|
40
|
+
if(typeof t!="number"&&null!=t){var o=u;for(t=v.createCallback(t,e,3);o--&&t(n[o],o,n);)r++}else r=null==t||e?1:t||r;return s(n,0,Ne(De(0,u-r),u))},v.intersection=function(){for(var e=[],r=-1,u=arguments.length,a=i(),l=ht(),f=l===n,s=i();++r<u;){var g=arguments[r];(Le(g)||mt(g))&&(e.push(g),a.push(f&&g.length>=_&&o(r?e[r]:s)))}var f=e[0],h=-1,v=f?f.length:0,y=[];n:for(;++h<v;){var m=a[0],g=f[h];if(0>(m?t(m,g):l(s,g))){for(r=u,(m||s).push(g);--r;)if(m=a[r],0>(m?t(m,g):l(e[r],g)))continue n;y.push(g)
|
41
|
+
}}for(;u--;)(m=a[u])&&p(m);return c(a),c(s),y},v.invert=_t,v.invoke=function(n,t){var e=s(arguments,2),r=-1,u=typeof t=="function",o=n?n.length:0,a=Yt(typeof o=="number"?o:0);return It(n,function(n){a[++r]=(u?t:n[t]).apply(n,e)}),a},v.keys=qe,v.map=Nt,v.mapValues=function(n,t,e){var r={};return t=v.createCallback(t,e,3),Ze(n,function(n,e,u){r[e]=t(n,e,u)}),r},v.max=Bt,v.memoize=function(n,t){if(!wt(n))throw new ie;var e=function(){var r=e.cache,u=t?t.apply(this,arguments):b+arguments[0];return _e.call(r,u)?r[u]:r[u]=n.apply(this,arguments)
|
42
|
+
};return e.cache={},e},v.merge=function(n){var t=arguments,e=2;if(!jt(n))return n;if("number"!=typeof t[2]&&(e=t.length),3<e&&"function"==typeof t[e-2])var r=tt(t[--e-1],t[e--],2);else 2<e&&"function"==typeof t[e-1]&&(r=t[--e]);for(var t=s(arguments,1,e),u=-1,o=i(),a=i();++u<e;)it(n,t[u],r,o,a);return c(o),c(a),n},v.min=function(n,t,e){var u=1/0,o=u;if(typeof t!="function"&&e&&e[t]===n&&(t=null),null==t&&Le(n)){e=-1;for(var a=n.length;++e<a;){var i=n[e];i<o&&(o=i)}}else t=null==t&&Ct(n)?r:v.createCallback(t,e,3),Ue(n,function(n,e,r){e=t(n,e,r),e<u&&(u=e,o=n)
|
43
|
+
});return o},v.omit=function(n,t,e){var r={};if(typeof t!="function"){var u=[];Ye(n,function(n,t){u.push(t)});for(var u=rt(u,ot(arguments,true,false,1)),o=-1,a=u.length;++o<a;){var i=u[o];r[i]=n[i]}}else t=v.createCallback(t,e,3),Ye(n,function(n,e,u){t(n,e,u)||(r[e]=n)});return r},v.once=function(n){var t,e;if(!wt(n))throw new ie;return function(){return t?e:(t=true,e=n.apply(this,arguments),n=null,e)}},v.pairs=function(n){for(var t=-1,e=qe(n),r=e.length,u=Yt(r);++t<r;){var o=e[t];u[t]=[o,n[o]]}return u
|
44
|
+
},v.partial=function(n){return pt(n,16,s(arguments,1))},v.partialRight=function(n){return pt(n,32,null,s(arguments,1))},v.pick=function(n,t,e){var r={};if(typeof t!="function")for(var u=-1,o=ot(arguments,true,false,1),a=jt(n)?o.length:0;++u<a;){var i=o[u];i in n&&(r[i]=n[i])}else t=v.createCallback(t,e,3),Ye(n,function(n,e,u){t(n,e,u)&&(r[e]=n)});return r},v.pluck=ur,v.property=Qt,v.pull=function(n){for(var t=arguments,e=0,r=t.length,u=n?n.length:0;++e<r;)for(var o=-1,a=t[e];++o<u;)n[o]===a&&(Ce.call(n,o--,1),u--);
|
45
|
+
return n},v.range=function(n,t,e){n=+n||0,e=typeof e=="number"?e:+e||1,null==t&&(t=n,n=0);var r=-1;t=De(0,ve((t-n)/(e||1)));for(var u=Yt(t);++r<t;)u[r]=n,n+=e;return u},v.reject=function(n,t,e){return t=v.createCallback(t,e,3),St(n,function(n,e,r){return!t(n,e,r)})},v.remove=function(n,t,e){var r=-1,u=n?n.length:0,o=[];for(t=v.createCallback(t,e,3);++r<u;)e=n[r],t(e,r,n)&&(o.push(e),Ce.call(n,r--,1),u--);return o},v.rest=zt,v.shuffle=Ft,v.sortBy=function(n,t,e){var r=-1,o=Le(t),a=n?n.length:0,f=Yt(typeof a=="number"?a:0);
|
46
|
+
for(o||(t=v.createCallback(t,e,3)),It(n,function(n,e,u){var a=f[++r]=l();o?a.m=Nt(t,function(t){return n[t]}):(a.m=i())[0]=t(n,e,u),a.n=r,a.o=n}),a=f.length,f.sort(u);a--;)n=f[a],f[a]=n.o,o||c(n.m),p(n);return f},v.tap=function(n,t){return t(n),n},v.throttle=function(n,t,e){var r=true,u=true;if(!wt(n))throw new ie;return false===e?r=false:jt(e)&&(r="leading"in e?e.leading:r,u="trailing"in e?e.trailing:u),H.leading=r,H.maxWait=t,H.trailing=u,Mt(n,t,H)},v.times=function(n,t,e){n=-1<(n=+n)?n:0;var r=-1,u=Yt(n);
|
47
|
+
for(t=tt(t,e,1);++r<n;)u[r]=t(r);return u},v.toArray=function(n){return n&&typeof n.length=="number"?Te.unindexedChars&&Ct(n)?n.split(""):s(n):kt(n)},v.transform=function(n,t,e,r){var u=Le(n);if(null==e)if(u)e=[];else{var o=n&&n.constructor;e=nt(o&&o.prototype)}return t&&(t=v.createCallback(t,r,4),(u?Ue:Ze)(n,function(n,r,u){return t(e,n,r,u)})),e},v.union=function(){return ft(ot(arguments,true,true))},v.uniq=Kt,v.values=kt,v.where=St,v.without=function(n){return rt(n,s(arguments,1))},v.wrap=function(n,t){return pt(t,16,[n])
|
48
|
+
},v.xor=function(){for(var n=-1,t=arguments.length;++n<t;){var e=arguments[n];if(Le(e)||mt(e))var r=r?ft(rt(r,e).concat(rt(e,r))):e}return r||[]},v.zip=Wt,v.zipObject=Gt,v.collect=Nt,v.drop=zt,v.each=It,v.eachRight=Dt,v.extend=Qe,v.methods=bt,v.object=Gt,v.select=St,v.tail=zt,v.unique=Kt,v.unzip=Wt,Ht(v),v.clone=function(n,t,e,r){return typeof t!="boolean"&&null!=t&&(r=e,e=t,t=false),Y(n,t,typeof e=="function"&&tt(e,r,1))},v.cloneDeep=function(n,t,e){return Y(n,true,typeof t=="function"&&tt(t,e,1))},v.contains=Et,v.escape=function(n){return null==n?"":ae(n).replace(He,gt)
|
49
|
+
},v.every=Ot,v.find=At,v.findIndex=function(n,t,e){var r=-1,u=n?n.length:0;for(t=v.createCallback(t,e,3);++r<u;)if(t(n[r],r,n))return r;return-1},v.findKey=function(n,t,e){var r;return t=v.createCallback(t,e,3),Ze(n,function(n,e,u){return t(n,e,u)?(r=e,false):void 0}),r},v.findLast=function(n,t,e){var r;return t=v.createCallback(t,e,3),Dt(n,function(n,e,u){return t(n,e,u)?(r=n,false):void 0}),r},v.findLastIndex=function(n,t,e){var r=n?n.length:0;for(t=v.createCallback(t,e,3);r--;)if(t(n[r],r,n))return r;
|
50
|
+
return-1},v.findLastKey=function(n,t,e){var r;return t=v.createCallback(t,e,3),dt(n,function(n,e,u){return t(n,e,u)?(r=e,false):void 0}),r},v.has=function(n,t){return n?_e.call(n,t):false},v.identity=Vt,v.indexOf=Lt,v.isArguments=mt,v.isArray=Le,v.isBoolean=function(n){return true===n||false===n||n&&typeof n=="object"&&ge.call(n)==L||false},v.isDate=function(n){return n&&typeof n=="object"&&ge.call(n)==z||false},v.isElement=function(n){return n&&1===n.nodeType||false},v.isEmpty=function(n){var t=true;if(!n)return t;var e=ge.call(n),r=n.length;
|
51
|
+
return e==$||e==M||(Te.argsClass?e==T:mt(n))||e==G&&typeof r=="number"&&wt(n.splice)?!r:(Ze(n,function(){return t=false}),t)},v.isEqual=function(n,t,e,r){return at(n,t,typeof e=="function"&&tt(e,r,2))},v.isFinite=function(n){return Se(n)&&!Ae(parseFloat(n))},v.isFunction=wt,v.isNaN=function(n){return xt(n)&&n!=+n},v.isNull=function(n){return null===n},v.isNumber=xt,v.isObject=jt,v.isPlainObject=nr,v.isRegExp=function(n){return n&&X[typeof n]&&ge.call(n)==J||false},v.isString=Ct,v.isUndefined=function(n){return typeof n=="undefined"
|
52
|
+
},v.lastIndexOf=function(n,t,e){var r=n?n.length:0;for(typeof e=="number"&&(r=(0>e?De(0,r+e):Ne(e,r-1))+1);r--;)if(n[r]===t)return r;return-1},v.mixin=Ht,v.noConflict=function(){return e._=se,this},v.noop=Ut,v.now=or,v.parseInt=ar,v.random=function(n,t,e){var r=null==n,u=null==t;return null==e&&(typeof n=="boolean"&&u?(e=n,n=1):u||typeof t!="boolean"||(e=t,u=true)),r&&u&&(t=1),n=+n||0,u?(t=n,n=0):t=+t||0,e||n%1||t%1?(e=Pe(),Ne(n+e*(t-n+parseFloat("1e-"+((e+"").length-1))),t)):lt(n,t)},v.reduce=Pt,v.reduceRight=Rt,v.result=function(n,t){if(n){var e=n[t];
|
53
|
+
return wt(e)?n[t]():e}},v.runInContext=g,v.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:qe(n).length},v.some=Tt,v.sortedIndex=qt,v.template=function(n,t,e){var r=v.templateSettings;n=ae(n||""),e=Xe({},e,r);var u,o=Xe({},e.imports,r.imports),r=qe(o),o=kt(o),i=0,l=e.interpolate||N,f="__p+='",l=oe((e.escape||N).source+"|"+l.source+"|"+(l===I?O:N).source+"|"+(e.evaluate||N).source+"|$","g");n.replace(l,function(t,e,r,o,l,c){return r||(r=o),f+=n.slice(i,c).replace(P,a),e&&(f+="'+__e("+e+")+'"),l&&(u=true,f+="';"+l+";\n__p+='"),r&&(f+="'+((__t=("+r+"))==null?'':__t)+'"),i=c+t.length,t
|
54
|
+
}),f+="';",l=e=e.variable,l||(e="obj",f="with("+e+"){"+f+"}"),f=(u?f.replace(x,""):f).replace(C,"$1").replace(E,"$1;"),f="function("+e+"){"+(l?"":e+"||("+e+"={});")+"var __t,__p='',__e=_.escape"+(u?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+f+"return __p}";try{var c=te(r,"return "+f).apply(h,o)}catch(p){throw p.source=f,p}return t?c(t):(c.source=f,c)},v.unescape=function(n){return null==n?"":ae(n).replace(Ve,yt)},v.uniqueId=function(n){var t=++m;return ae(null==n?"":n)+t
|
55
|
+
},v.all=Ot,v.any=Tt,v.detect=At,v.findWhere=At,v.foldl=Pt,v.foldr=Rt,v.include=Et,v.inject=Pt,Ht(function(){var n={};return Ze(v,function(t,e){v.prototype[e]||(n[e]=t)}),n}(),false),v.first=$t,v.last=function(n,t,e){var r=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=u;for(t=v.createCallback(t,e,3);o--&&t(n[o],o,n);)r++}else if(r=t,null==r||e)return n?n[u-1]:h;return s(n,De(0,u-r))},v.sample=function(n,t,e){return n&&typeof n.length!="number"?n=kt(n):Te.unindexedChars&&Ct(n)&&(n=n.split("")),null==t||e?n?n[lt(0,n.length-1)]:h:(n=Ft(n),n.length=Ne(De(0,t),n.length),n)
|
56
|
+
},v.take=$t,v.head=$t,Ze(v,function(n,t){var e="sample"!==t;v.prototype[t]||(v.prototype[t]=function(t,r){var u=this.__chain__,o=n(this.__wrapped__,t,r);return u||null!=t&&(!r||e&&typeof t=="function")?new y(o,u):o})}),v.VERSION="2.4.0",v.prototype.chain=function(){return this.__chain__=true,this},v.prototype.toString=function(){return ae(this.__wrapped__)},v.prototype.value=Xt,v.prototype.valueOf=Xt,Ue(["join","pop","shift"],function(n){var t=le[n];v.prototype[n]=function(){var n=this.__chain__,e=t.apply(this.__wrapped__,arguments);
|
57
|
+
return n?new y(e,n):e}}),Ue(["push","reverse","sort","unshift"],function(n){var t=le[n];v.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),Ue(["concat","slice","splice"],function(n){var t=le[n];v.prototype[n]=function(){return new y(t.apply(this.__wrapped__,arguments),this.__chain__)}}),Te.spliceObjects||Ue(["pop","shift","splice"],function(n){var t=le[n],e="splice"==n;v.prototype[n]=function(){var n=this.__chain__,r=this.__wrapped__,u=t.apply(r,arguments);return 0===r.length&&delete r[0],n||e?new y(u,n):u
|
58
|
+
}}),v}var h,v=[],y=[],m=0,d={},b=+new Date+"",_=75,w=40,j=" \t\x0B\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000",x=/\b__p\+='';/g,C=/\b(__p\+=)''\+/g,E=/(__e\(.*?\)|\b__t\))\+'';/g,O=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,S=/\w*$/,A=/^\s*function[ \n\r\t]+\w/,I=/<%=([\s\S]+?)%>/g,D=RegExp("^["+j+"]*0+(?=.$)"),N=/($^)/,B=/\bthis\b/,P=/['\n\r\t\u2028\u2029\\]/g,R="Array Boolean Date Error Function Math Number Object RegExp String _ attachEvent clearTimeout isFinite isNaN parseInt setTimeout".split(" "),F="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),T="[object Arguments]",$="[object Array]",L="[object Boolean]",z="[object Date]",q="[object Error]",K="[object Function]",W="[object Number]",G="[object Object]",J="[object RegExp]",M="[object String]",V={};
|
59
|
+
V[K]=false,V[T]=V[$]=V[L]=V[z]=V[W]=V[G]=V[J]=V[M]=true;var H={leading:false,maxWait:0,trailing:false},U={configurable:false,enumerable:false,value:null,writable:false},Q={a:"",b:null,c:"",d:"",e:"",v:null,g:"",h:null,support:null,i:"",j:false},X={"boolean":false,"function":true,object:true,number:false,string:false,undefined:false},Y={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},Z=X[typeof window]&&window||this,nt=X[typeof exports]&&exports&&!exports.nodeType&&exports,tt=X[typeof module]&&module&&!module.nodeType&&module,et=tt&&tt.exports===nt&&nt,rt=X[typeof global]&&global;
|
58
60
|
!rt||rt.global!==rt&&rt.window!==rt||(Z=rt);var ut=g();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Z._=ut, define(function(){return ut})):nt&&tt?et?(tt.exports=ut)._=ut:nt._=ut:Z._=ut}).call(this);
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/**
|
2
2
|
* @license
|
3
|
-
* Lo-Dash 2.
|
3
|
+
* Lo-Dash 2.4.0 (Custom Build) <http://lodash.com/>
|
4
4
|
* Build: `lodash modern -o ./dist/lodash.js`
|
5
5
|
* Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
|
6
6
|
* Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
|
@@ -47,7 +47,7 @@
|
|
47
47
|
|
48
48
|
/**
|
49
49
|
* Used to match ES6 template delimiters
|
50
|
-
* http://people.mozilla.org/~jorendorff/es6-draft.html#sec-
|
50
|
+
* http://people.mozilla.org/~jorendorff/es6-draft.html#sec-literals-string-literals
|
51
51
|
*/
|
52
52
|
var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g;
|
53
53
|
|
@@ -76,7 +76,7 @@
|
|
76
76
|
var contextProps = [
|
77
77
|
'Array', 'Boolean', 'Date', 'Function', 'Math', 'Number', 'Object',
|
78
78
|
'RegExp', 'String', '_', 'attachEvent', 'clearTimeout', 'isFinite', 'isNaN',
|
79
|
-
'parseInt', '
|
79
|
+
'parseInt', 'setTimeout'
|
80
80
|
];
|
81
81
|
|
82
82
|
/** Used to make template sourceURLs easier to identify */
|
@@ -256,22 +256,29 @@
|
|
256
256
|
*/
|
257
257
|
function compareAscending(a, b) {
|
258
258
|
var ac = a.criteria,
|
259
|
-
bc = b.criteria
|
259
|
+
bc = b.criteria,
|
260
|
+
index = -1,
|
261
|
+
length = ac.length;
|
260
262
|
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
263
|
+
while (++index < length) {
|
264
|
+
var value = ac[index],
|
265
|
+
other = bc[index];
|
266
|
+
|
267
|
+
if (value !== other) {
|
268
|
+
if (value > other || typeof value == 'undefined') {
|
269
|
+
return 1;
|
270
|
+
}
|
271
|
+
if (value < other || typeof other == 'undefined') {
|
272
|
+
return -1;
|
273
|
+
}
|
269
274
|
}
|
270
275
|
}
|
271
|
-
//
|
272
|
-
//
|
273
|
-
//
|
274
|
-
//
|
276
|
+
// Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications
|
277
|
+
// that causes it, under certain circumstances, to return the same value for
|
278
|
+
// `a` and `b`. See https://github.com/jashkenas/underscore/pull/1247
|
279
|
+
//
|
280
|
+
// This also ensures a stable sort in V8 and other engines.
|
281
|
+
// See http://code.google.com/p/v8/issues/detail?id=90
|
275
282
|
return a.index - b.index;
|
276
283
|
}
|
277
284
|
|
@@ -472,15 +479,10 @@
|
|
472
479
|
fnToString = Function.prototype.toString,
|
473
480
|
getPrototypeOf = reNative.test(getPrototypeOf = Object.getPrototypeOf) && getPrototypeOf,
|
474
481
|
hasOwnProperty = objectProto.hasOwnProperty,
|
475
|
-
now = reNative.test(now = Date.now) && now || function() { return +new Date; },
|
476
482
|
push = arrayRef.push,
|
477
483
|
setTimeout = context.setTimeout,
|
478
484
|
splice = arrayRef.splice;
|
479
485
|
|
480
|
-
/** Used to detect `setImmediate` in Node.js */
|
481
|
-
var setImmediate = typeof (setImmediate = freeGlobal && moduleExports && freeGlobal.setImmediate) == 'function' &&
|
482
|
-
!reNative.test(setImmediate) && setImmediate;
|
483
|
-
|
484
486
|
/** Used to set meta data on functions */
|
485
487
|
var defineProperty = (function() {
|
486
488
|
// IE 8 only accepts DOM elements
|
@@ -2144,22 +2146,22 @@
|
|
2144
2146
|
}
|
2145
2147
|
|
2146
2148
|
/**
|
2147
|
-
* Checks if the specified
|
2149
|
+
* Checks if the specified property name exists as a direct property of `object`,
|
2148
2150
|
* instead of an inherited property.
|
2149
2151
|
*
|
2150
2152
|
* @static
|
2151
2153
|
* @memberOf _
|
2152
2154
|
* @category Objects
|
2153
|
-
* @param {Object} object The object to
|
2154
|
-
* @param {string}
|
2155
|
+
* @param {Object} object The object to inspect.
|
2156
|
+
* @param {string} key The name of the property to check.
|
2155
2157
|
* @returns {boolean} Returns `true` if key is a direct property, else `false`.
|
2156
2158
|
* @example
|
2157
2159
|
*
|
2158
2160
|
* _.has({ 'a': 1, 'b': 2, 'c': 3 }, 'b');
|
2159
2161
|
* // => true
|
2160
2162
|
*/
|
2161
|
-
function has(object,
|
2162
|
-
return object ? hasOwnProperty.call(object,
|
2163
|
+
function has(object, key) {
|
2164
|
+
return object ? hasOwnProperty.call(object, key) : false;
|
2163
2165
|
}
|
2164
2166
|
|
2165
2167
|
/**
|
@@ -2172,7 +2174,7 @@
|
|
2172
2174
|
* @returns {Object} Returns the created inverted object.
|
2173
2175
|
* @example
|
2174
2176
|
*
|
2175
|
-
*
|
2177
|
+
* _.invert({ 'first': 'fred', 'second': 'barney' });
|
2176
2178
|
* // => { 'fred': 'first', 'barney': 'second' }
|
2177
2179
|
*/
|
2178
2180
|
function invert(object) {
|
@@ -2557,6 +2559,52 @@
|
|
2557
2559
|
return typeof value == 'undefined';
|
2558
2560
|
}
|
2559
2561
|
|
2562
|
+
/**
|
2563
|
+
* Creates an object with the same keys as `object` and values generated by
|
2564
|
+
* running each own enumerable property of `object` through the callback.
|
2565
|
+
* The callback is bound to `thisArg` and invoked with three arguments;
|
2566
|
+
* (value, key, object).
|
2567
|
+
*
|
2568
|
+
* If a property name is provided for `callback` the created "_.pluck" style
|
2569
|
+
* callback will return the property value of the given element.
|
2570
|
+
*
|
2571
|
+
* If an object is provided for `callback` the created "_.where" style callback
|
2572
|
+
* will return `true` for elements that have the properties of the given object,
|
2573
|
+
* else `false`.
|
2574
|
+
*
|
2575
|
+
* @static
|
2576
|
+
* @memberOf _
|
2577
|
+
* @category Objects
|
2578
|
+
* @param {Object} object The object to iterate over.
|
2579
|
+
* @param {Function|Object|string} [callback=identity] The function called
|
2580
|
+
* per iteration. If a property name or object is provided it will be used
|
2581
|
+
* to create a "_.pluck" or "_.where" style callback, respectively.
|
2582
|
+
* @param {*} [thisArg] The `this` binding of `callback`.
|
2583
|
+
* @returns {Array} Returns a new object with values of the results of each `callback` execution.
|
2584
|
+
* @example
|
2585
|
+
*
|
2586
|
+
* _.mapValues({ 'a': 1, 'b': 2, 'c': 3} , function(num) { return num * 3; });
|
2587
|
+
* // => { 'a': 3, 'b': 6, 'c': 9 }
|
2588
|
+
*
|
2589
|
+
* var characters = {
|
2590
|
+
* 'fred': { 'name': 'fred', 'age': 40 },
|
2591
|
+
* 'pebbles': { 'name': 'pebbles', 'age': 1 }
|
2592
|
+
* };
|
2593
|
+
*
|
2594
|
+
* // using "_.pluck" callback shorthand
|
2595
|
+
* _.mapValues(characters, 'age');
|
2596
|
+
* // => { 'fred': 40, 'pebbles': 1 }
|
2597
|
+
*/
|
2598
|
+
function mapValues(object, callback, thisArg) {
|
2599
|
+
var result = {};
|
2600
|
+
callback = lodash.createCallback(callback, thisArg, 3);
|
2601
|
+
|
2602
|
+
forOwn(object, function(value, key, object) {
|
2603
|
+
result[key] = callback(value, key, object);
|
2604
|
+
});
|
2605
|
+
return result;
|
2606
|
+
}
|
2607
|
+
|
2560
2608
|
/**
|
2561
2609
|
* Recursively merges own enumerable properties of the source object(s), that
|
2562
2610
|
* don't resolve to `undefined` into the destination object. Subsequent sources
|
@@ -2615,7 +2663,6 @@
|
|
2615
2663
|
if (!isObject(object)) {
|
2616
2664
|
return object;
|
2617
2665
|
}
|
2618
|
-
|
2619
2666
|
// allows working with `_.reduce` and `_.reduceRight` without using
|
2620
2667
|
// their `index` and `collection` arguments
|
2621
2668
|
if (typeof args[2] != 'number') {
|
@@ -2772,11 +2819,11 @@
|
|
2772
2819
|
|
2773
2820
|
/**
|
2774
2821
|
* An alternative to `_.reduce` this method transforms `object` to a new
|
2775
|
-
* `accumulator` object which is the result of running each of its
|
2776
|
-
* through a callback, with each callback execution
|
2777
|
-
* the `accumulator` object. The callback is bound to
|
2778
|
-
* with four arguments; (accumulator, value, key, object).
|
2779
|
-
* iteration early by explicitly returning `false`.
|
2822
|
+
* `accumulator` object which is the result of running each of its own
|
2823
|
+
* enumerable properties through a callback, with each callback execution
|
2824
|
+
* potentially mutating the `accumulator` object. The callback is bound to
|
2825
|
+
* `thisArg` and invoked with four arguments; (accumulator, value, key, object).
|
2826
|
+
* Callbacks may exit iteration early by explicitly returning `false`.
|
2780
2827
|
*
|
2781
2828
|
* @static
|
2782
2829
|
* @memberOf _
|
@@ -3608,7 +3655,7 @@
|
|
3608
3655
|
* @type Function
|
3609
3656
|
* @category Collections
|
3610
3657
|
* @param {Array|Object|string} collection The collection to iterate over.
|
3611
|
-
* @param {string} property The property to pluck.
|
3658
|
+
* @param {string} property The name of the property to pluck.
|
3612
3659
|
* @returns {Array} Returns a new array of property values.
|
3613
3660
|
* @example
|
3614
3661
|
*
|
@@ -3620,18 +3667,7 @@
|
|
3620
3667
|
* _.pluck(characters, 'name');
|
3621
3668
|
* // => ['barney', 'fred']
|
3622
3669
|
*/
|
3623
|
-
|
3624
|
-
var index = -1,
|
3625
|
-
length = collection ? collection.length : 0;
|
3626
|
-
|
3627
|
-
if (typeof length == 'number') {
|
3628
|
-
var result = Array(length);
|
3629
|
-
while (++index < length) {
|
3630
|
-
result[index] = collection[index][property];
|
3631
|
-
}
|
3632
|
-
}
|
3633
|
-
return result || map(collection, property);
|
3634
|
-
}
|
3670
|
+
var pluck = map;
|
3635
3671
|
|
3636
3672
|
/**
|
3637
3673
|
* Reduces a collection to a value which is the accumulated result of running
|
@@ -3839,7 +3875,7 @@
|
|
3839
3875
|
* // => 3
|
3840
3876
|
*
|
3841
3877
|
* _.size('pebbles');
|
3842
|
-
* // =>
|
3878
|
+
* // => 7
|
3843
3879
|
*/
|
3844
3880
|
function size(collection) {
|
3845
3881
|
var length = collection ? collection.length : 0;
|
@@ -3919,6 +3955,9 @@
|
|
3919
3955
|
* If a property name is provided for `callback` the created "_.pluck" style
|
3920
3956
|
* callback will return the property value of the given element.
|
3921
3957
|
*
|
3958
|
+
* If an array of property names is provided for `callback` the collection
|
3959
|
+
* will be sorted by each property value.
|
3960
|
+
*
|
3922
3961
|
* If an object is provided for `callback` the created "_.where" style callback
|
3923
3962
|
* will return `true` for elements that have the properties of the given object,
|
3924
3963
|
* else `false`.
|
@@ -3927,7 +3966,7 @@
|
|
3927
3966
|
* @memberOf _
|
3928
3967
|
* @category Collections
|
3929
3968
|
* @param {Array|Object|string} collection The collection to iterate over.
|
3930
|
-
* @param {Function|Object|string} [callback=identity] The function called
|
3969
|
+
* @param {Array|Function|Object|string} [callback=identity] The function called
|
3931
3970
|
* per iteration. If a property name or object is provided it will be used
|
3932
3971
|
* to create a "_.pluck" or "_.where" style callback, respectively.
|
3933
3972
|
* @param {*} [thisArg] The `this` binding of `callback`.
|
@@ -3940,19 +3979,37 @@
|
|
3940
3979
|
* _.sortBy([1, 2, 3], function(num) { return this.sin(num); }, Math);
|
3941
3980
|
* // => [3, 1, 2]
|
3942
3981
|
*
|
3982
|
+
* var characters = [
|
3983
|
+
* { 'name': 'barney', 'age': 36 },
|
3984
|
+
* { 'name': 'fred', 'age': 40 },
|
3985
|
+
* { 'name': 'barney', 'age': 26 },
|
3986
|
+
* { 'name': 'fred', 'age': 30 }
|
3987
|
+
* ];
|
3988
|
+
*
|
3943
3989
|
* // using "_.pluck" callback shorthand
|
3944
|
-
* _.sortBy(
|
3945
|
-
* // => ['
|
3990
|
+
* _.map(_.sortBy(characters, 'age'), _.values);
|
3991
|
+
* // => [['barney', 26], ['fred', 30], ['barney', 36], ['fred', 40]]
|
3992
|
+
*
|
3993
|
+
* // sorting by multiple properties
|
3994
|
+
* _.map(_.sortBy(characters, ['name', 'age']), _.values);
|
3995
|
+
* // = > [['barney', 26], ['barney', 36], ['fred', 30], ['fred', 40]]
|
3946
3996
|
*/
|
3947
3997
|
function sortBy(collection, callback, thisArg) {
|
3948
3998
|
var index = -1,
|
3999
|
+
isArr = isArray(callback),
|
3949
4000
|
length = collection ? collection.length : 0,
|
3950
4001
|
result = Array(typeof length == 'number' ? length : 0);
|
3951
4002
|
|
3952
|
-
|
4003
|
+
if (!isArr) {
|
4004
|
+
callback = lodash.createCallback(callback, thisArg, 3);
|
4005
|
+
}
|
3953
4006
|
forEach(collection, function(value, key, collection) {
|
3954
4007
|
var object = result[++index] = getObject();
|
3955
|
-
|
4008
|
+
if (isArr) {
|
4009
|
+
object.criteria = map(callback, function(key) { return value[key]; });
|
4010
|
+
} else {
|
4011
|
+
(object.criteria = getArray())[0] = callback(value, key, collection);
|
4012
|
+
}
|
3956
4013
|
object.index = index;
|
3957
4014
|
object.value = value;
|
3958
4015
|
});
|
@@ -3962,6 +4019,9 @@
|
|
3962
4019
|
while (length--) {
|
3963
4020
|
var object = result[length];
|
3964
4021
|
result[length] = object.value;
|
4022
|
+
if (!isArr) {
|
4023
|
+
releaseArray(object.criteria);
|
4024
|
+
}
|
3965
4025
|
releaseObject(object);
|
3966
4026
|
}
|
3967
4027
|
return result;
|
@@ -3997,7 +4057,7 @@
|
|
3997
4057
|
* @type Function
|
3998
4058
|
* @category Collections
|
3999
4059
|
* @param {Array|Object|string} collection The collection to iterate over.
|
4000
|
-
* @param {Object}
|
4060
|
+
* @param {Object} props The object of property values to filter by.
|
4001
4061
|
* @returns {Array} Returns a new array of elements that have the given properties.
|
4002
4062
|
* @example
|
4003
4063
|
*
|
@@ -4402,29 +4462,34 @@
|
|
4402
4462
|
* @memberOf _
|
4403
4463
|
* @category Arrays
|
4404
4464
|
* @param {...Array} [array] The arrays to inspect.
|
4405
|
-
* @returns {Array} Returns an array of
|
4465
|
+
* @returns {Array} Returns an array of shared values.
|
4406
4466
|
* @example
|
4407
4467
|
*
|
4408
|
-
* _.intersection([1, 2, 3], [
|
4468
|
+
* _.intersection([1, 2, 3], [5, 2, 1, 4], [2, 1]);
|
4409
4469
|
* // => [1, 2]
|
4410
4470
|
*/
|
4411
|
-
function intersection(
|
4412
|
-
var args =
|
4413
|
-
argsLength = args.length,
|
4471
|
+
function intersection() {
|
4472
|
+
var args = [],
|
4414
4473
|
argsIndex = -1,
|
4474
|
+
argsLength = arguments.length,
|
4415
4475
|
caches = getArray(),
|
4416
|
-
index = -1,
|
4417
4476
|
indexOf = getIndexOf(),
|
4418
|
-
|
4419
|
-
result = [],
|
4477
|
+
trustIndexOf = indexOf === baseIndexOf,
|
4420
4478
|
seen = getArray();
|
4421
4479
|
|
4422
4480
|
while (++argsIndex < argsLength) {
|
4423
|
-
var value =
|
4424
|
-
|
4425
|
-
(value
|
4426
|
-
|
4481
|
+
var value = arguments[argsIndex];
|
4482
|
+
if (isArray(value) || isArguments(value)) {
|
4483
|
+
args.push(value);
|
4484
|
+
caches.push(trustIndexOf && value.length >= largeArraySize &&
|
4485
|
+
createCache(argsIndex ? args[argsIndex] : seen));
|
4486
|
+
}
|
4427
4487
|
}
|
4488
|
+
var array = args[0],
|
4489
|
+
index = -1,
|
4490
|
+
length = array ? array.length : 0,
|
4491
|
+
result = [];
|
4492
|
+
|
4428
4493
|
outer:
|
4429
4494
|
while (++index < length) {
|
4430
4495
|
var cache = caches[0];
|
@@ -4841,13 +4906,13 @@
|
|
4841
4906
|
* @memberOf _
|
4842
4907
|
* @category Arrays
|
4843
4908
|
* @param {...Array} [array] The arrays to inspect.
|
4844
|
-
* @returns {Array} Returns an array of
|
4909
|
+
* @returns {Array} Returns an array of combined values.
|
4845
4910
|
* @example
|
4846
4911
|
*
|
4847
|
-
* _.union([1, 2, 3], [
|
4848
|
-
* // => [1, 2, 3,
|
4912
|
+
* _.union([1, 2, 3], [5, 2, 1, 4], [2, 1]);
|
4913
|
+
* // => [1, 2, 3, 5, 4]
|
4849
4914
|
*/
|
4850
|
-
function union(
|
4915
|
+
function union() {
|
4851
4916
|
return baseUniq(baseFlatten(arguments, true, true));
|
4852
4917
|
}
|
4853
4918
|
|
@@ -4927,6 +4992,38 @@
|
|
4927
4992
|
return baseDifference(array, slice(arguments, 1));
|
4928
4993
|
}
|
4929
4994
|
|
4995
|
+
/**
|
4996
|
+
* Creates an array that is the smymetric difference of the provided arrays.
|
4997
|
+
* See http://en.wikipedia.org/wiki/Symmetric_difference.
|
4998
|
+
*
|
4999
|
+
* @static
|
5000
|
+
* @memberOf _
|
5001
|
+
* @category Arrays
|
5002
|
+
* @param {...Array} [array] The arrays to inspect.
|
5003
|
+
* @returns {Array} Returns an array of values.
|
5004
|
+
* @example
|
5005
|
+
*
|
5006
|
+
* _.xor([1, 2, 3], [5, 2, 1, 4]);
|
5007
|
+
* // => [3, 5, 4]
|
5008
|
+
*
|
5009
|
+
* _.xor([1, 2, 5], [2, 3, 5], [3, 4, 5]);
|
5010
|
+
* // => [1, 4, 5]
|
5011
|
+
*/
|
5012
|
+
function xor() {
|
5013
|
+
var index = -1,
|
5014
|
+
length = arguments.length;
|
5015
|
+
|
5016
|
+
while (++index < length) {
|
5017
|
+
var array = arguments[index];
|
5018
|
+
if (isArray(array) || isArguments(array)) {
|
5019
|
+
var result = result
|
5020
|
+
? baseUniq(baseDifference(result, array).concat(baseDifference(array, result)))
|
5021
|
+
: array;
|
5022
|
+
}
|
5023
|
+
}
|
5024
|
+
return result || [];
|
5025
|
+
}
|
5026
|
+
|
4930
5027
|
/**
|
4931
5028
|
* Creates an array of grouped elements, the first of which contains the first
|
4932
5029
|
* elements of the given arrays, the second of which contains the second
|
@@ -4978,6 +5075,9 @@
|
|
4978
5075
|
length = keys ? keys.length : 0,
|
4979
5076
|
result = {};
|
4980
5077
|
|
5078
|
+
if (!values && length && !isArray(keys[0])) {
|
5079
|
+
values = [];
|
5080
|
+
}
|
4981
5081
|
while (++index < length) {
|
4982
5082
|
var key = keys[index];
|
4983
5083
|
if (values) {
|
@@ -5070,8 +5170,8 @@
|
|
5070
5170
|
* @example
|
5071
5171
|
*
|
5072
5172
|
* var view = {
|
5073
|
-
*
|
5074
|
-
*
|
5173
|
+
* 'label': 'docs',
|
5174
|
+
* 'onClick': function() { console.log('clicked ' + this.label); }
|
5075
5175
|
* };
|
5076
5176
|
*
|
5077
5177
|
* _.bindAll(view);
|
@@ -5180,74 +5280,6 @@
|
|
5180
5280
|
};
|
5181
5281
|
}
|
5182
5282
|
|
5183
|
-
/**
|
5184
|
-
* Produces a callback bound to an optional `thisArg`. If `func` is a property
|
5185
|
-
* name the created callback will return the property value for a given element.
|
5186
|
-
* If `func` is an object the created callback will return `true` for elements
|
5187
|
-
* that contain the equivalent object properties, otherwise it will return `false`.
|
5188
|
-
*
|
5189
|
-
* @static
|
5190
|
-
* @memberOf _
|
5191
|
-
* @category Functions
|
5192
|
-
* @param {*} [func=identity] The value to convert to a callback.
|
5193
|
-
* @param {*} [thisArg] The `this` binding of the created callback.
|
5194
|
-
* @param {number} [argCount] The number of arguments the callback accepts.
|
5195
|
-
* @returns {Function} Returns a callback function.
|
5196
|
-
* @example
|
5197
|
-
*
|
5198
|
-
* var characters = [
|
5199
|
-
* { 'name': 'barney', 'age': 36 },
|
5200
|
-
* { 'name': 'fred', 'age': 40 }
|
5201
|
-
* ];
|
5202
|
-
*
|
5203
|
-
* // wrap to create custom callback shorthands
|
5204
|
-
* _.createCallback = _.wrap(_.createCallback, function(func, callback, thisArg) {
|
5205
|
-
* var match = /^(.+?)__([gl]t)(.+)$/.exec(callback);
|
5206
|
-
* return !match ? func(callback, thisArg) : function(object) {
|
5207
|
-
* return match[2] == 'gt' ? object[match[1]] > match[3] : object[match[1]] < match[3];
|
5208
|
-
* };
|
5209
|
-
* });
|
5210
|
-
*
|
5211
|
-
* _.filter(characters, 'age__gt38');
|
5212
|
-
* // => [{ 'name': 'fred', 'age': 40 }]
|
5213
|
-
*/
|
5214
|
-
function createCallback(func, thisArg, argCount) {
|
5215
|
-
var type = typeof func;
|
5216
|
-
if (func == null || type == 'function') {
|
5217
|
-
return baseCreateCallback(func, thisArg, argCount);
|
5218
|
-
}
|
5219
|
-
// handle "_.pluck" style callback shorthands
|
5220
|
-
if (type != 'object') {
|
5221
|
-
return function(object) {
|
5222
|
-
return object[func];
|
5223
|
-
};
|
5224
|
-
}
|
5225
|
-
var props = keys(func),
|
5226
|
-
key = props[0],
|
5227
|
-
a = func[key];
|
5228
|
-
|
5229
|
-
// handle "_.where" style callback shorthands
|
5230
|
-
if (props.length == 1 && a === a && !isObject(a)) {
|
5231
|
-
// fast path the common case of providing an object with a single
|
5232
|
-
// property containing a primitive value
|
5233
|
-
return function(object) {
|
5234
|
-
var b = object[key];
|
5235
|
-
return a === b && (a !== 0 || (1 / a == 1 / b));
|
5236
|
-
};
|
5237
|
-
}
|
5238
|
-
return function(object) {
|
5239
|
-
var length = props.length,
|
5240
|
-
result = false;
|
5241
|
-
|
5242
|
-
while (length--) {
|
5243
|
-
if (!(result = baseIsEqual(object[props[length]], func[props[length]], null, true))) {
|
5244
|
-
break;
|
5245
|
-
}
|
5246
|
-
}
|
5247
|
-
return result;
|
5248
|
-
};
|
5249
|
-
}
|
5250
|
-
|
5251
5283
|
/**
|
5252
5284
|
* Creates a function which accepts one or more arguments of `func` that when
|
5253
5285
|
* invoked either executes `func` returning its result, if all `func` arguments
|
@@ -5433,8 +5465,8 @@
|
|
5433
5465
|
* @returns {number} Returns the timer id.
|
5434
5466
|
* @example
|
5435
5467
|
*
|
5436
|
-
* _.defer(function() { console.log(
|
5437
|
-
* //
|
5468
|
+
* _.defer(function(text) { console.log(text); }, 'deferred');
|
5469
|
+
* // logs 'deferred' after one or more milliseconds
|
5438
5470
|
*/
|
5439
5471
|
function defer(func) {
|
5440
5472
|
if (!isFunction(func)) {
|
@@ -5443,15 +5475,6 @@
|
|
5443
5475
|
var args = slice(arguments, 1);
|
5444
5476
|
return setTimeout(function() { func.apply(undefined, args); }, 1);
|
5445
5477
|
}
|
5446
|
-
// use `setImmediate` if available in Node.js
|
5447
|
-
if (setImmediate) {
|
5448
|
-
defer = function(func) {
|
5449
|
-
if (!isFunction(func)) {
|
5450
|
-
throw new TypeError;
|
5451
|
-
}
|
5452
|
-
return setImmediate.apply(context, arguments);
|
5453
|
-
};
|
5454
|
-
}
|
5455
5478
|
|
5456
5479
|
/**
|
5457
5480
|
* Executes the `func` function after `wait` milliseconds. Additional arguments
|
@@ -5466,9 +5489,8 @@
|
|
5466
5489
|
* @returns {number} Returns the timer id.
|
5467
5490
|
* @example
|
5468
5491
|
*
|
5469
|
-
*
|
5470
|
-
*
|
5471
|
-
* // => 'logged later' (Appears after one second.)
|
5492
|
+
* _.delay(function(text) { console.log(text); }, 1000, 'later');
|
5493
|
+
* // => logs 'later' after one second
|
5472
5494
|
*/
|
5473
5495
|
function delay(func, wait) {
|
5474
5496
|
if (!isFunction(func)) {
|
@@ -5699,6 +5721,93 @@
|
|
5699
5721
|
|
5700
5722
|
/*--------------------------------------------------------------------------*/
|
5701
5723
|
|
5724
|
+
/**
|
5725
|
+
* Creates a function that returns `value`.
|
5726
|
+
*
|
5727
|
+
* @static
|
5728
|
+
* @memberOf _
|
5729
|
+
* @category Utilities
|
5730
|
+
* @param {*} value The value to return from the new function.
|
5731
|
+
* @returns {Function} Returns the new function.
|
5732
|
+
* @example
|
5733
|
+
*
|
5734
|
+
* var object = { 'name': 'fred' };
|
5735
|
+
* var getter = _.constant(object);
|
5736
|
+
* getter() === object;
|
5737
|
+
* // => true
|
5738
|
+
*/
|
5739
|
+
function constant(value) {
|
5740
|
+
return function() {
|
5741
|
+
return value;
|
5742
|
+
};
|
5743
|
+
}
|
5744
|
+
|
5745
|
+
/**
|
5746
|
+
* Produces a callback bound to an optional `thisArg`. If `func` is a property
|
5747
|
+
* name the created callback will return the property value for a given element.
|
5748
|
+
* If `func` is an object the created callback will return `true` for elements
|
5749
|
+
* that contain the equivalent object properties, otherwise it will return `false`.
|
5750
|
+
*
|
5751
|
+
* @static
|
5752
|
+
* @memberOf _
|
5753
|
+
* @category Utilities
|
5754
|
+
* @param {*} [func=identity] The value to convert to a callback.
|
5755
|
+
* @param {*} [thisArg] The `this` binding of the created callback.
|
5756
|
+
* @param {number} [argCount] The number of arguments the callback accepts.
|
5757
|
+
* @returns {Function} Returns a callback function.
|
5758
|
+
* @example
|
5759
|
+
*
|
5760
|
+
* var characters = [
|
5761
|
+
* { 'name': 'barney', 'age': 36 },
|
5762
|
+
* { 'name': 'fred', 'age': 40 }
|
5763
|
+
* ];
|
5764
|
+
*
|
5765
|
+
* // wrap to create custom callback shorthands
|
5766
|
+
* _.createCallback = _.wrap(_.createCallback, function(func, callback, thisArg) {
|
5767
|
+
* var match = /^(.+?)__([gl]t)(.+)$/.exec(callback);
|
5768
|
+
* return !match ? func(callback, thisArg) : function(object) {
|
5769
|
+
* return match[2] == 'gt' ? object[match[1]] > match[3] : object[match[1]] < match[3];
|
5770
|
+
* };
|
5771
|
+
* });
|
5772
|
+
*
|
5773
|
+
* _.filter(characters, 'age__gt38');
|
5774
|
+
* // => [{ 'name': 'fred', 'age': 40 }]
|
5775
|
+
*/
|
5776
|
+
function createCallback(func, thisArg, argCount) {
|
5777
|
+
var type = typeof func;
|
5778
|
+
if (func == null || type == 'function') {
|
5779
|
+
return baseCreateCallback(func, thisArg, argCount);
|
5780
|
+
}
|
5781
|
+
// handle "_.pluck" style callback shorthands
|
5782
|
+
if (type != 'object') {
|
5783
|
+
return property(func);
|
5784
|
+
}
|
5785
|
+
var props = keys(func),
|
5786
|
+
key = props[0],
|
5787
|
+
a = func[key];
|
5788
|
+
|
5789
|
+
// handle "_.where" style callback shorthands
|
5790
|
+
if (props.length == 1 && a === a && !isObject(a)) {
|
5791
|
+
// fast path the common case of providing an object with a single
|
5792
|
+
// property containing a primitive value
|
5793
|
+
return function(object) {
|
5794
|
+
var b = object[key];
|
5795
|
+
return a === b && (a !== 0 || (1 / a == 1 / b));
|
5796
|
+
};
|
5797
|
+
}
|
5798
|
+
return function(object) {
|
5799
|
+
var length = props.length,
|
5800
|
+
result = false;
|
5801
|
+
|
5802
|
+
while (length--) {
|
5803
|
+
if (!(result = baseIsEqual(object[props[length]], func[props[length]], null, true))) {
|
5804
|
+
break;
|
5805
|
+
}
|
5806
|
+
}
|
5807
|
+
return result;
|
5808
|
+
};
|
5809
|
+
}
|
5810
|
+
|
5702
5811
|
/**
|
5703
5812
|
* Converts the characters `&`, `<`, `>`, `"`, and `'` in `string` to their
|
5704
5813
|
* corresponding HTML entities.
|
@@ -5736,51 +5845,71 @@
|
|
5736
5845
|
}
|
5737
5846
|
|
5738
5847
|
/**
|
5739
|
-
* Adds function properties of a source object to the
|
5740
|
-
*
|
5848
|
+
* Adds function properties of a source object to the destination object.
|
5849
|
+
* If `object` is a function methods will be added to its prototype as well.
|
5741
5850
|
*
|
5742
5851
|
* @static
|
5743
5852
|
* @memberOf _
|
5744
5853
|
* @category Utilities
|
5745
|
-
* @param {Object} object
|
5746
|
-
* @param {Object}
|
5854
|
+
* @param {Function|Object} [object=lodash] object The destination object.
|
5855
|
+
* @param {Object} source The object of functions to add.
|
5856
|
+
* @param {Object} [options] The options object.
|
5857
|
+
* @param {boolean} [options.chain=true] Specify whether the functions added are chainable.
|
5747
5858
|
* @example
|
5748
5859
|
*
|
5749
|
-
*
|
5750
|
-
*
|
5751
|
-
*
|
5752
|
-
* }
|
5753
|
-
* });
|
5860
|
+
* function capitalize(string) {
|
5861
|
+
* return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();
|
5862
|
+
* }
|
5754
5863
|
*
|
5864
|
+
* _.mixin({ 'capitalize': capitalize });
|
5755
5865
|
* _.capitalize('fred');
|
5756
5866
|
* // => 'Fred'
|
5757
5867
|
*
|
5868
|
+
* _('fred').capitalize().value();
|
5869
|
+
* // => 'Fred'
|
5870
|
+
*
|
5871
|
+
* _.mixin({ 'capitalize': capitalize }, { 'chain': false });
|
5758
5872
|
* _('fred').capitalize();
|
5759
5873
|
* // => 'Fred'
|
5760
5874
|
*/
|
5761
|
-
function mixin(object, source) {
|
5762
|
-
var
|
5763
|
-
|
5875
|
+
function mixin(object, source, options) {
|
5876
|
+
var chain = true,
|
5877
|
+
methodNames = source && functions(source);
|
5764
5878
|
|
5765
|
-
if (!source) {
|
5879
|
+
if (!source || (!options && !methodNames.length)) {
|
5880
|
+
if (options == null) {
|
5881
|
+
options = source;
|
5882
|
+
}
|
5766
5883
|
ctor = lodashWrapper;
|
5767
5884
|
source = object;
|
5768
5885
|
object = lodash;
|
5886
|
+
methodNames = functions(source);
|
5769
5887
|
}
|
5770
|
-
|
5888
|
+
if (options === false) {
|
5889
|
+
chain = false;
|
5890
|
+
} else if (isObject(options) && 'chain' in options) {
|
5891
|
+
chain = options.chain;
|
5892
|
+
}
|
5893
|
+
var ctor = object,
|
5894
|
+
isFunc = isFunction(ctor);
|
5895
|
+
|
5896
|
+
forEach(methodNames, function(methodName) {
|
5771
5897
|
var func = object[methodName] = source[methodName];
|
5772
5898
|
if (isFunc) {
|
5773
5899
|
ctor.prototype[methodName] = function() {
|
5774
|
-
var
|
5900
|
+
var chainAll = this.__chain__,
|
5901
|
+
value = this.__wrapped__,
|
5775
5902
|
args = [value];
|
5776
5903
|
|
5777
5904
|
push.apply(args, arguments);
|
5778
5905
|
var result = func.apply(object, args);
|
5779
|
-
if (
|
5780
|
-
|
5906
|
+
if (chain || chainAll) {
|
5907
|
+
if (value === result && isObject(result)) {
|
5908
|
+
return this;
|
5909
|
+
}
|
5910
|
+
result = new ctor(result);
|
5911
|
+
result.__chain__ = chainAll;
|
5781
5912
|
}
|
5782
|
-
result = new ctor(result);
|
5783
|
-
result.__chain__ = this.__chain__;
|
5784
5913
|
return result;
|
5785
5914
|
};
|
5786
5915
|
}
|
@@ -5820,6 +5949,23 @@
|
|
5820
5949
|
// no operation performed
|
5821
5950
|
}
|
5822
5951
|
|
5952
|
+
/**
|
5953
|
+
* Gets the number of milliseconds that have elapsed since the Unix epoch
|
5954
|
+
* (1 January 1970 00:00:00 UTC).
|
5955
|
+
*
|
5956
|
+
* @static
|
5957
|
+
* @memberOf _
|
5958
|
+
* @category Utilities
|
5959
|
+
* @example
|
5960
|
+
*
|
5961
|
+
* var stamp = _.now();
|
5962
|
+
* _.defer(function() { console.log(_.now() - stamp); });
|
5963
|
+
* // => logs the number of milliseconds it took for the deferred function to be called
|
5964
|
+
*/
|
5965
|
+
var now = reNative.test(now = Date.now) && now || function() {
|
5966
|
+
return new Date().getTime();
|
5967
|
+
};
|
5968
|
+
|
5823
5969
|
/**
|
5824
5970
|
* Converts the given value into an integer of the specified radix.
|
5825
5971
|
* If `radix` is `undefined` or `0` a `radix` of `10` is used unless the
|
@@ -5844,6 +5990,36 @@
|
|
5844
5990
|
return nativeParseInt(isString(value) ? value.replace(reLeadingSpacesAndZeros, '') : value, radix || 0);
|
5845
5991
|
};
|
5846
5992
|
|
5993
|
+
/**
|
5994
|
+
* Creates a "_.pluck" style function, which returns the `key` value of a
|
5995
|
+
* given object.
|
5996
|
+
*
|
5997
|
+
* @static
|
5998
|
+
* @memberOf _
|
5999
|
+
* @category Utilities
|
6000
|
+
* @param {string} key The name of the property to retrieve.
|
6001
|
+
* @returns {Function} Returns the new function.
|
6002
|
+
* @example
|
6003
|
+
*
|
6004
|
+
* var characters = [
|
6005
|
+
* { 'name': 'fred', 'age': 40 },
|
6006
|
+
* { 'name': 'barney', 'age': 36 }
|
6007
|
+
* ];
|
6008
|
+
*
|
6009
|
+
* var getName = _.property('name');
|
6010
|
+
*
|
6011
|
+
* _.map(characters, getName);
|
6012
|
+
* // => ['barney', 'fred']
|
6013
|
+
*
|
6014
|
+
* _.sortBy(characters, getName);
|
6015
|
+
* // => [{ 'name': 'barney', 'age': 36 }, { 'name': 'fred', 'age': 40 }]
|
6016
|
+
*/
|
6017
|
+
function property(key) {
|
6018
|
+
return function(object) {
|
6019
|
+
return object[key];
|
6020
|
+
};
|
6021
|
+
}
|
6022
|
+
|
5847
6023
|
/**
|
5848
6024
|
* Produces a random number between `min` and `max` (inclusive). If only one
|
5849
6025
|
* argument is provided a number between `0` and the given number will be
|
@@ -5903,7 +6079,7 @@
|
|
5903
6079
|
}
|
5904
6080
|
|
5905
6081
|
/**
|
5906
|
-
* Resolves the value of
|
6082
|
+
* Resolves the value of property `key` on `object`. If `key` is a function
|
5907
6083
|
* it will be invoked with the `this` binding of `object` and its result returned,
|
5908
6084
|
* else the property value is returned. If `object` is falsey then `undefined`
|
5909
6085
|
* is returned.
|
@@ -5912,7 +6088,7 @@
|
|
5912
6088
|
* @memberOf _
|
5913
6089
|
* @category Utilities
|
5914
6090
|
* @param {Object} object The object to inspect.
|
5915
|
-
* @param {string}
|
6091
|
+
* @param {string} key The name of the property to resolve.
|
5916
6092
|
* @returns {*} Returns the resolved value.
|
5917
6093
|
* @example
|
5918
6094
|
*
|
@@ -5929,10 +6105,10 @@
|
|
5929
6105
|
* _.result(object, 'stuff');
|
5930
6106
|
* // => 'nonsense'
|
5931
6107
|
*/
|
5932
|
-
function result(object,
|
6108
|
+
function result(object, key) {
|
5933
6109
|
if (object) {
|
5934
|
-
var value = object[
|
5935
|
-
return isFunction(value) ? object[
|
6110
|
+
var value = object[key];
|
6111
|
+
return isFunction(value) ? object[key]() : value;
|
5936
6112
|
}
|
5937
6113
|
}
|
5938
6114
|
|
@@ -5996,8 +6172,8 @@
|
|
5996
6172
|
* // => 'hello mustache!'
|
5997
6173
|
*
|
5998
6174
|
* // using the `imports` option to import jQuery
|
5999
|
-
* var list = '<%
|
6000
|
-
* _.template(list, { 'people': ['fred', 'barney'] }, { 'imports': { '
|
6175
|
+
* var list = '<% jq.each(people, function(name) { %><li><%- name %></li><% }); %>';
|
6176
|
+
* _.template(list, { 'people': ['fred', 'barney'] }, { 'imports': { 'jq': jQuery } });
|
6001
6177
|
* // => '<li>fred</li><li>barney</li>'
|
6002
6178
|
*
|
6003
6179
|
* // using the `sourceURL` option to specify a custom sourceURL for the template
|
@@ -6276,7 +6452,7 @@
|
|
6276
6452
|
* _(characters).chain()
|
6277
6453
|
* .first()
|
6278
6454
|
* .pick('age')
|
6279
|
-
* .value()
|
6455
|
+
* .value();
|
6280
6456
|
* // => { 'age': 36 }
|
6281
6457
|
*/
|
6282
6458
|
function wrapperChain() {
|
@@ -6329,6 +6505,7 @@
|
|
6329
6505
|
lodash.chain = chain;
|
6330
6506
|
lodash.compact = compact;
|
6331
6507
|
lodash.compose = compose;
|
6508
|
+
lodash.constant = constant;
|
6332
6509
|
lodash.countBy = countBy;
|
6333
6510
|
lodash.create = create;
|
6334
6511
|
lodash.createCallback = createCallback;
|
@@ -6355,6 +6532,7 @@
|
|
6355
6532
|
lodash.invoke = invoke;
|
6356
6533
|
lodash.keys = keys;
|
6357
6534
|
lodash.map = map;
|
6535
|
+
lodash.mapValues = mapValues;
|
6358
6536
|
lodash.max = max;
|
6359
6537
|
lodash.memoize = memoize;
|
6360
6538
|
lodash.merge = merge;
|
@@ -6366,6 +6544,7 @@
|
|
6366
6544
|
lodash.partialRight = partialRight;
|
6367
6545
|
lodash.pick = pick;
|
6368
6546
|
lodash.pluck = pluck;
|
6547
|
+
lodash.property = property;
|
6369
6548
|
lodash.pull = pull;
|
6370
6549
|
lodash.range = range;
|
6371
6550
|
lodash.reject = reject;
|
@@ -6384,6 +6563,7 @@
|
|
6384
6563
|
lodash.where = where;
|
6385
6564
|
lodash.without = without;
|
6386
6565
|
lodash.wrap = wrap;
|
6566
|
+
lodash.xor = xor;
|
6387
6567
|
lodash.zip = zip;
|
6388
6568
|
lodash.zipObject = zipObject;
|
6389
6569
|
|
@@ -6441,6 +6621,7 @@
|
|
6441
6621
|
lodash.mixin = mixin;
|
6442
6622
|
lodash.noConflict = noConflict;
|
6443
6623
|
lodash.noop = noop;
|
6624
|
+
lodash.now = now;
|
6444
6625
|
lodash.parseInt = parseInt;
|
6445
6626
|
lodash.random = random;
|
6446
6627
|
lodash.reduce = reduce;
|
@@ -6464,20 +6645,15 @@
|
|
6464
6645
|
lodash.include = contains;
|
6465
6646
|
lodash.inject = reduce;
|
6466
6647
|
|
6467
|
-
|
6468
|
-
|
6469
|
-
|
6470
|
-
|
6471
|
-
|
6472
|
-
|
6473
|
-
|
6474
|
-
|
6475
|
-
|
6476
|
-
? new lodashWrapper(result, chainAll)
|
6477
|
-
: result;
|
6478
|
-
};
|
6479
|
-
}
|
6480
|
-
});
|
6648
|
+
mixin(function() {
|
6649
|
+
var source = {}
|
6650
|
+
forOwn(lodash, function(func, methodName) {
|
6651
|
+
if (!lodash.prototype[methodName]) {
|
6652
|
+
source[methodName] = func;
|
6653
|
+
}
|
6654
|
+
});
|
6655
|
+
return source;
|
6656
|
+
}(), false);
|
6481
6657
|
|
6482
6658
|
/*--------------------------------------------------------------------------*/
|
6483
6659
|
|
@@ -6513,7 +6689,7 @@
|
|
6513
6689
|
* @memberOf _
|
6514
6690
|
* @type string
|
6515
6691
|
*/
|
6516
|
-
lodash.VERSION = '2.
|
6692
|
+
lodash.VERSION = '2.4.0';
|
6517
6693
|
|
6518
6694
|
// add "Chaining" functions to the wrapper
|
6519
6695
|
lodash.prototype.chain = wrapperChain;
|
@@ -6534,7 +6710,7 @@
|
|
6534
6710
|
};
|
6535
6711
|
});
|
6536
6712
|
|
6537
|
-
// add `Array` functions that return the wrapped value
|
6713
|
+
// add `Array` functions that return the existing wrapped value
|
6538
6714
|
forEach(['push', 'reverse', 'sort', 'unshift'], function(methodName) {
|
6539
6715
|
var func = arrayRef[methodName];
|
6540
6716
|
lodash.prototype[methodName] = function() {
|
@@ -6562,9 +6738,8 @@
|
|
6562
6738
|
// some AMD build optimizers like r.js check for condition patterns like the following:
|
6563
6739
|
if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {
|
6564
6740
|
// Expose Lo-Dash to the global object even when an AMD loader is present in
|
6565
|
-
// case Lo-Dash
|
6566
|
-
//
|
6567
|
-
// module by its `noConflict()` method.
|
6741
|
+
// case Lo-Dash is loaded with a RequireJS shim config.
|
6742
|
+
// See http://requirejs.org/docs/api.html#config-shim
|
6568
6743
|
root._ = _;
|
6569
6744
|
|
6570
6745
|
// define as an anonymous module so, through path mapping, it can be
|