diff --git a/dist/lodash.compat.js b/dist/lodash.compat.js index 261e483e9..50eec4028 100644 --- a/dist/lodash.compat.js +++ b/dist/lodash.compat.js @@ -500,7 +500,7 @@ var reNative = RegExp('^' + String(toString) .replace(/[.*+?^${}()|[\]\\]/g, '\\$&') - .replace(/toString| for [^\]]+/g, '.*?') + '$' + .replace(/\b(function)\b.*?(?=\\\()| for .+?(?=\\\])|\btoString\b/g, '$1.*?') + '$' ); /** Native method shortcuts */ @@ -691,14 +691,6 @@ */ support.argsObject = arguments.constructor == Object && !(arguments instanceof Array); - /** - * Detect if the DOM is supported. - * - * @memberOf _.support - * @type boolean - */ - support.dom = !!document && typeof document == 'object' && reNative.test(clearTimeout) && reNative.test(setTimeout); - /** * Detect if `name` or `message` properties of `Error.prototype` are * enumerable by default. (IE < 9, Safari < 5.1) @@ -791,6 +783,18 @@ */ support.unindexedChars = ('x'[0] + Object('x')[0]) != 'xx'; + /** + * Detect if the DOM is supported. + * + * @memberOf _.support + * @type boolean + */ + try { + support.dom = document.createDocumentFragment().nodeType === 11; + } catch(e) { + support.dom = false; + } + /** * Detect if a DOM node's [[Class]] is resolvable (all but IE < 9) * and that the JS engine errors when attempting to coerce an object to diff --git a/dist/lodash.compat.min.js b/dist/lodash.compat.min.js index 765db0c3b..e7f6422f4 100644 --- a/dist/lodash.compat.min.js +++ b/dist/lodash.compat.min.js @@ -7,8 +7,8 @@ }}function e(n){return n.charCodeAt(0)}function u(n,t){for(var r=n.i,e=t.i,u=-1,o=r.length;++ui||typeof a=="undefined")return 1;if(ar?0:r);++e=b&&a===n,l=[];if(f){var c=o(e);c?(a=t,e=c):f=false}for(;++ua(e,c)&&l.push(c);return f&&p(e),l}function ut(n,t,r){var e=-1,u=n,o=n?n.length:0; if(t=t&&typeof r=="undefined"?t:nt(t,r,3),typeof o=="number")for(Mr.unindexedChars&&It(u)&&(u=u.split(""));++er?qr(0,o+r):r)||0,Ur(n)?a=-1r?qr(0,o+r):r)||0,Ur(n)?a=-1o&&(o=i)}}else t=null==t&&It(n)?e:v.createCallback(t,r,3),ut(n,function(n,r,e){r=t(n,r,e),r>u&&(u=r,o=n) });return o}function Bt(n,t,r,e){var u=3>arguments.length;if(t=v.createCallback(t,e,4),Ur(n)){var o=-1,a=n.length;for(u&&(r=n[++o]);++oarguments.length;return t=v.createCallback(t,e,4),$t(n,function(n,e,o){r=u?(u=false,n):t(r,n,e,o)}),r}function Wt(n){var t=-1,r=n?n.length:0,e=er(typeof r=="number"?r:0);return Dt(n,function(n){var r=ft(0,++t);e[t]=e[r],e[r]=n}),e}function zt(n,t,r){var e;if(t=v.createCallback(t,r,3),Ur(n)){r=-1; for(var u=n.length;++re?qr(0,u+e):e||0}else if(e)return e=Ut(t,r),t[e]===r?e:-1;return n(t,r,e)}function Vt(n,t,r){if(typeof t!="number"&&null!=t){var e=0,u=-1,o=n?n.length:0; for(t=v.createCallback(t,r,3);++u>>1,r(n[e])r?0:r);++t=h;m?(u&&(u=jr(u)),c=a,o=n.apply(i,e)):u||(u=Ir(y,h))}return m&&f?f=jr(f):f||t===p||(f=Ir(v,t)),r&&(m=true,o=n.apply(i,e)),!m||f||u||(e=i=null),o}}function Yt(n){return n}function Zt(n,t,r){var e=true,u=t&&xt(t);t&&(r||u.length)||(null==r&&(r=t),o=y,t=n,n=v,u=xt(t)),false===r?e=false:Et(r)&&"chain"in r&&(e=r.chain); -var o=n,a=Ot(o);Dt(u,function(r){var u=n[r]=t[r];a&&(o.prototype[r]=function(){var t=this.__chain__,r=this.__wrapped__,a=[r];if(Er.apply(a,arguments),a=u.apply(n,a),e||t){if(r===a&&Et(a))return this;a=new o(a),a.__chain__=t}return a})})}function nr(){}function tr(n){return function(t){return t[n]}}function rr(){return this.__wrapped__}r=r?et.defaults(Y.Object(),r,et.pick(Y,D)):Y;var er=r.Array,ur=r.Boolean,or=r.Date,ar=r.Function,ir=r.Math,fr=r.Number,lr=r.Object,cr=r.RegExp,pr=r.String,sr=r.TypeError,gr=[],hr=r.Error.prototype,vr=lr.prototype,yr=pr.prototype,mr=(mr=r.window)&&mr.document,dr=r._,br=vr.toString,_r=cr("^"+pr(br).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),wr=ir.ceil,jr=r.clearTimeout,xr=ir.floor,Cr=ar.prototype.toString,kr=vt(kr=lr.getPrototypeOf)&&kr,Or=vr.hasOwnProperty,Er=gr.push,Sr=vr.propertyIsEnumerable,Ir=r.setTimeout,Ar=gr.splice,Nr=gr.unshift,Rr=function(){try{var n={},t=vt(t=lr.defineProperty)&&t,r=t(n,n,n)&&t -}catch(e){}return r}(),Pr=vt(Pr=lr.create)&&Pr,Tr=vt(Tr=er.isArray)&&Tr,Dr=r.isFinite,$r=r.isNaN,Fr=vt(Fr=lr.keys)&&Fr,qr=ir.max,Br=ir.min,Lr=r.parseInt,Wr=ir.random,zr={};zr[q]=er,zr[B]=ur,zr[L]=or,zr[z]=ar,zr[M]=lr,zr[K]=fr,zr[V]=cr,zr[U]=pr;var Kr={};Kr[q]=Kr[L]=Kr[K]={constructor:true,toLocaleString:true,toString:true,valueOf:true},Kr[B]=Kr[U]={constructor:true,toString:true,valueOf:true},Kr[W]=Kr[z]=Kr[V]={constructor:true,toString:true},Kr[M]={constructor:true},function(){for(var n=$.length;n--;){var t,r=$[n]; -for(t in Kr)Or.call(Kr,t)&&!Or.call(Kr[t],r)&&(Kr[t][r]=false)}}(),y.prototype=v.prototype;var Mr=v.support={};!function(){var n=function(){this.x=1},t={0:1,length:1},e=[];n.prototype={valueOf:1,y:1};for(var u in new n)e.push(u);for(u in arguments);Mr.argsClass=br.call(arguments)==F,Mr.argsObject=arguments.constructor==lr&&!(arguments instanceof er),Mr.dom=!!mr&&typeof mr=="object"&&_r.test(jr)&&_r.test(Ir),Mr.enumErrorProps=Sr.call(hr,"message")||Sr.call(hr,"name"),Mr.enumPrototypes=Sr.call(n,"prototype"),Mr.funcDecomp=!vt(r.WinRTError)&&P.test(g),Mr.funcNames=typeof ar.name=="string",Mr.nonEnumArgs=0!=u,Mr.nonEnumShadows=!/valueOf/.test(e),Mr.ownLast="x"!=e[0],Mr.spliceObjects=(gr.splice.call(t,0,1),!t[0]),Mr.unindexedChars="xx"!="x"[0]+lr("x")[0]; -try{Mr.nodeClass=!(br.call(undefined)==M&&!({toString:0}+""))}catch(o){Mr.nodeClass=true}}(1),v.templateSettings={escape:S,evaluate:I,interpolate:A,variable:"",imports:{_:v}},Pr||(Z=function(){function n(){}return function(t){if(Et(t)){n.prototype=t;var e=new n;n.prototype=null}return e||r.Object()}}());var Vr=Rr?function(n,t){J.value=t,Rr(n,"__bindData__",J)}:nr;Mr.argsClass||(dt=function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Or.call(n,"callee")&&!Sr.call(n,"callee")||false});var Ur=Tr||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&br.call(n)==q||false -},Gr=st({a:"p",b:"[]",e:"",c:"s.push(l)",f:true}),Hr=Fr?function(n){return Et(n)?Mr.enumPrototypes&&typeof n=="function"||Mr.nonEnumArgs&&n.length&&dt(n)?Gr(n):Fr(n):[]}:Gr,Jr={"&":"&","<":"<",">":">",'"':""","'":"'"},Qr=Ct(Jr),Xr=cr("("+Hr(Qr).join("|")+")","g"),Yr=cr("["+Hr(Jr).join("")+"]","g"),Zr=st({a:"p,b,x",b:"p",e:"b=b&&typeof x=='undefined'?b:a(b,x,3)",c:"if(b(p[l],l,p)===false){return s}",f:false});Mr.dom||(kt=function(n){return n&&typeof n=="object"&&1===n.nodeType&&!ne(n)||false -}),Ot(/x/)&&(Ot=function(n){return typeof n=="function"&&br.call(n)==z});var ne=kr?function(n){if(!n||br.call(n)!=M||!Mr.argsClass&&dt(n))return false;var t=n.valueOf,r=vt(t)&&(r=kr(t))&&kr(r);return r?n==r||kr(n)==r:yt(n)}:yt,te=ct(function(n,t,r){Or.call(n,r)?n[r]++:n[r]=1}),re=ct(function(n,t,r){(Or.call(n,r)?n[r]:n[r]=[]).push(t)}),ee=ct(function(n,t,r){n[r]=t}),ue=Ft,oe=vt(oe=or.now)&&oe||function(){return(new or).getTime()},ae=8==Lr(w+"08")?Lr:function(n,t){return Lr(It(n)?n.replace(N,""):n,t||0) -};return v.after=function(n,t){if(!Ot(t))throw new sr;return function(){return 1>--n?t.apply(this,arguments):void 0}},v.assign=bt,v.at=function(n){var t=arguments,r=-1,e=ot(t,true,false,1),t=t[2]&&t[2][t[1]]===n?1:e.length,u=er(t);for(Mr.unindexedChars&&It(n)&&(n=n.split(""));++r=b&&o(e?r[e]:s)))}var l=r[0],h=-1,v=l?l.length:0,y=[];n:for(;++h(m?t(m,g):f(s,g))){for(e=u,(m||s).push(g);--e;)if(m=a[e],0>(m?t(m,g):f(r[e],g)))continue n;y.push(g) -}}for(;u--;)(m=a[u])&&p(m);return c(a),c(s),y},v.invert=Ct,v.invoke=function(n,t){var r=s(arguments,2),e=-1,u=typeof t=="function",o=n?n.length:0,a=er(typeof o=="number"?o:0);return Dt(n,function(n){a[++e]=(u?t:n[t]).apply(n,r)}),a},v.keys=Hr,v.map=Ft,v.mapValues=function(n,t,r){var e={};return t=v.createCallback(t,r,3),wt(n,function(n,r,u){e[r]=t(n,r,u)}),e},v.max=qt,v.memoize=function(n,t){if(!Ot(n))throw new sr;var r=function(){var e=r.cache,u=t?t.apply(this,arguments):d+arguments[0];return Or.call(e,u)?e[u]:e[u]=n.apply(this,arguments) -};return r.cache={},r},v.merge=function(n){var t=arguments,r=2;if(!Et(n))return n;if("number"!=typeof t[2]&&(r=t.length),3":">",'"':""","'":"'"},Qr=Ct(Jr),Xr=cr("("+Hr(Qr).join("|")+")","g"),Yr=cr("["+Hr(Jr).join("")+"]","g"),Zr=st({a:"p,b,x",b:"p",e:"b=b&&typeof x=='undefined'?b:a(b,x,3)",c:"if(b(p[l],l,p)===false){return s}",f:false}); +Mr.dom||(kt=function(n){return n&&typeof n=="object"&&1===n.nodeType&&!ne(n)||false}),Ot(/x/)&&(Ot=function(n){return typeof n=="function"&&br.call(n)==z});var ne=kr?function(n){if(!n||br.call(n)!=M||!Mr.argsClass&&dt(n))return false;var t=n.valueOf,r=vt(t)&&(r=kr(t))&&kr(r);return r?n==r||kr(n)==r:yt(n)}:yt,te=ct(function(n,t,r){Or.call(n,r)?n[r]++:n[r]=1}),re=ct(function(n,t,r){(Or.call(n,r)?n[r]:n[r]=[]).push(t)}),ee=ct(function(n,t,r){n[r]=t}),ue=Ft,oe=vt(oe=or.now)&&oe||function(){return(new or).getTime() +},ae=8==Lr(w+"08")?Lr:function(n,t){return Lr(It(n)?n.replace(N,""):n,t||0)};return v.after=function(n,t){if(!Ot(t))throw new sr;return function(){return 1>--n?t.apply(this,arguments):void 0}},v.assign=bt,v.at=function(n){var t=arguments,r=-1,e=ot(t,true,false,1),t=t[2]&&t[2][t[1]]===n?1:e.length,u=er(t);for(Mr.unindexedChars&&It(n)&&(n=n.split(""));++r=b&&o(e?r[e]:s))) +}var l=r[0],h=-1,v=l?l.length:0,y=[];n:for(;++h(m?t(m,g):f(s,g))){for(e=u,(m||s).push(g);--e;)if(m=a[e],0>(m?t(m,g):f(r[e],g)))continue n;y.push(g)}}for(;u--;)(m=a[u])&&p(m);return c(a),c(s),y},v.invert=Ct,v.invoke=function(n,t){var r=s(arguments,2),e=-1,u=typeof t=="function",o=n?n.length:0,a=er(typeof o=="number"?o:0);return Dt(n,function(n){a[++e]=(u?t:n[t]).apply(n,r)}),a},v.keys=Hr,v.map=Ft,v.mapValues=function(n,t,r){var e={};return t=v.createCallback(t,r,3),wt(n,function(n,r,u){e[r]=t(n,r,u) +}),e},v.max=qt,v.memoize=function(n,t){if(!Ot(n))throw new sr;var r=function(){var e=r.cache,u=t?t.apply(this,arguments):d+arguments[0];return Or.call(e,u)?e[u]:e[u]=n.apply(this,arguments)};return r.cache={},r},v.merge=function(n){var t=arguments,r=2;if(!Et(n))return n;if("number"!=typeof t[2]&&(r=t.length),3r?qr(0,e+r):Br(r,e-1))+1);e--;)if(n[e]===t)return e;return-1},v.mixin=Zt,v.noConflict=function(){return r._=dr,this},v.noop=nr,v.now=oe,v.parseInt=ae,v.random=function(n,t,r){var e=null==n,u=null==t;return null==r&&(typeof n=="boolean"&&u?(r=n,n=1):u||typeof t!="boolean"||(r=t,u=true)),e&&u&&(t=1),n=+n||0,u?(t=n,n=0):t=+t||0,r||n%1||t%1?(r=Wr(),Br(n+r*(t-n+parseFloat("1e-"+((r+"").length-1))),t)):ft(n,t) -},v.reduce=Bt,v.reduceRight=Lt,v.result=function(n,t){if(n){var r=n[t];return Ot(r)?n[t]():r}},v.runInContext=g,v.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:Hr(n).length},v.some=zt,v.sortedIndex=Ut,v.template=function(n,t,r){var e=v.templateSettings;n=pr(n||""),r=_t({},r,e);var u,o=_t({},r.imports,e.imports),e=Hr(o),o=At(o),i=0,f=r.interpolate||R,l="__p+='",f=cr((r.escape||R).source+"|"+f.source+"|"+(f===A?k:R).source+"|"+(r.evaluate||R).source+"|$","g");n.replace(f,function(t,r,e,o,f,c){return e||(e=o),l+=n.slice(i,c).replace(T,a),r&&(l+="'+__e("+r+")+'"),f&&(u=true,l+="';"+f+";\n__p+='"),e&&(l+="'+((__t=("+e+"))==null?'':__t)+'"),i=c+t.length,t +},v.reduce=Bt,v.reduceRight=Lt,v.result=function(n,t){if(n){var r=n[t];return Ot(r)?n[t]():r}},v.runInContext=g,v.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:Hr(n).length},v.some=zt,v.sortedIndex=Ut,v.template=function(n,t,r){var e=v.templateSettings;n=pr(n||""),r=_t({},r,e);var u,o=_t({},r.imports,e.imports),e=Hr(o),o=At(o),i=0,f=r.interpolate||R,l="__p+='",f=cr((r.escape||R).source+"|"+f.source+"|"+(f===A?k:R).source+"|"+(r.evaluate||R).source+"|$","g");n.replace(f,function(t,r,e,o,f,c){return e||(e=o),l+=n.slice(i,c).replace(P,a),r&&(l+="'+__e("+r+")+'"),f&&(u=true,l+="';"+f+";\n__p+='"),e&&(l+="'+((__t=("+e+"))==null?'':__t)+'"),i=c+t.length,t }),l+="';",f=r=r.variable,f||(r="obj",l="with("+r+"){"+l+"}"),l=(u?l.replace(j,""):l).replace(x,"$1").replace(C,"$1;"),l="function("+r+"){"+(f?"":r+"||("+r+"={});")+"var __t,__p='',__e=_.escape"+(u?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+l+"return __p}";try{var c=ar(e,"return "+l).apply(h,o)}catch(p){throw p.source=l,p}return t?c(t):(c.source=l,c)},v.unescape=function(n){return null==n?"":(n=pr(n),0>n.indexOf(";")?n:n.replace(Xr,mt))},v.uniqueId=function(n){var t=++m; -return pr(null==n?"":n)+t},v.all=Rt,v.any=zt,v.detect=Tt,v.findWhere=Tt,v.foldl=Bt,v.foldr=Lt,v.include=Nt,v.inject=Bt,Zt(function(){var n={};return wt(v,function(t,r){v.prototype[r]||(n[r]=t)}),n}(),false),v.first=Kt,v.last=function(n,t,r){var e=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=u;for(t=v.createCallback(t,r,3);o--&&t(n[o],o,n);)e++}else if(e=t,null==e||r)return n?n[u-1]:h;return s(n,qr(0,u-e))},v.sample=function(n,t,r){return n&&typeof n.length!="number"?n=At(n):Mr.unindexedChars&&It(n)&&(n=n.split("")),null==t||r?n?n[ft(0,n.length-1)]:h:(n=Wt(n),n.length=Br(qr(0,t),n.length),n) +return pr(null==n?"":n)+t},v.all=Rt,v.any=zt,v.detect=Pt,v.findWhere=Pt,v.foldl=Bt,v.foldr=Lt,v.include=Nt,v.inject=Bt,Zt(function(){var n={};return wt(v,function(t,r){v.prototype[r]||(n[r]=t)}),n}(),false),v.first=Kt,v.last=function(n,t,r){var e=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=u;for(t=v.createCallback(t,r,3);o--&&t(n[o],o,n);)e++}else if(e=t,null==e||r)return n?n[u-1]:h;return s(n,qr(0,u-e))},v.sample=function(n,t,r){return n&&typeof n.length!="number"?n=At(n):Mr.unindexedChars&&It(n)&&(n=n.split("")),null==t||r?n?n[ft(0,n.length-1)]:h:(n=Wt(n),n.length=Br(qr(0,t),n.length),n) },v.take=Kt,v.head=Kt,wt(v,function(n,t){var r="sample"!==t;v.prototype[t]||(v.prototype[t]=function(t,e){var u=this.__chain__,o=n(this.__wrapped__,t,e);return u||null!=t&&(!e||r&&typeof t=="function")?new y(o,u):o})}),v.VERSION="2.4.1",v.prototype.chain=function(){return this.__chain__=true,this},v.prototype.toString=function(){return pr(this.__wrapped__)},v.prototype.value=rr,v.prototype.valueOf=rr,ut(["join","pop","shift"],function(n){var t=gr[n];v.prototype[n]=function(){var n=this.__chain__,r=t.apply(this.__wrapped__,arguments); return n?new y(r,n):r}}),ut(["push","reverse","sort","unshift"],function(n){var t=gr[n];v.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),ut(["concat","slice","splice"],function(n){var t=gr[n];v.prototype[n]=function(){return new y(t.apply(this.__wrapped__,arguments),this.__chain__)}}),Mr.spliceObjects||ut(["pop","shift","splice"],function(n){var t=gr[n],r="splice"==n;v.prototype[n]=function(){var n=this.__chain__,e=this.__wrapped__,u=t.apply(e,arguments);return 0===e.length&&delete e[0],n||r?new y(u,n):u -}}),v}var h,v=[],y=[],m=0,d=+new Date+"",b=75,_=40,w=" \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",j=/\b__p\+='';/g,x=/\b(__p\+=)''\+/g,C=/(__e\(.*?\)|\b__t\))\+'';/g,k=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,O=/\w*$/,E=/^\s*function[ \n\r\t]+\w/,S=/<%-([\s\S]+?)%>/g,I=/<%([\s\S]+?)%>/g,A=/<%=([\s\S]+?)%>/g,N=RegExp("^["+w+"]*0+(?=.$)"),R=/($^)/,P=/\bthis\b/,T=/['\n\r\t\u2028\u2029\\]/g,D="Array Boolean Date Error Function Math Number Object RegExp String _ clearTimeout document isFinite isNaN parseInt setTimeout TypeError window WinRTError".split(" "),$="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),F="[object Arguments]",q="[object Array]",B="[object Boolean]",L="[object Date]",W="[object Error]",z="[object Function]",K="[object Number]",M="[object Object]",V="[object RegExp]",U="[object String]",G={}; +}}),v}var h,v=[],y=[],m=0,d=+new Date+"",b=75,_=40,w=" \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",j=/\b__p\+='';/g,x=/\b(__p\+=)''\+/g,C=/(__e\(.*?\)|\b__t\))\+'';/g,k=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,O=/\w*$/,E=/^\s*function[ \n\r\t]+\w/,S=/<%-([\s\S]+?)%>/g,I=/<%([\s\S]+?)%>/g,A=/<%=([\s\S]+?)%>/g,N=RegExp("^["+w+"]*0+(?=.$)"),R=/($^)/,T=/\bthis\b/,P=/['\n\r\t\u2028\u2029\\]/g,D="Array Boolean Date Error Function Math Number Object RegExp String _ clearTimeout document isFinite isNaN parseInt setTimeout TypeError window WinRTError".split(" "),$="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),F="[object Arguments]",q="[object Array]",B="[object Boolean]",L="[object Date]",W="[object Error]",z="[object Function]",K="[object Number]",M="[object Object]",V="[object RegExp]",U="[object String]",G={}; G[z]=false,G[F]=G[q]=G[B]=G[L]=G[K]=G[M]=G[V]=G[U]=true;var H={leading:false,maxWait:0,trailing:false},J={configurable:false,enumerable:false,value:null,writable:false},Q={"boolean":false,"function":true,object:true,number:false,string:false,undefined:false},X={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},Y=Q[typeof window]&&window||this,Z=Q[typeof exports]&&exports&&!exports.nodeType&&exports,nt=Q[typeof module]&&module&&!module.nodeType&&module,tt=nt&&nt.exports===Z&&Z,rt=Q[typeof global]&&global; !rt||rt.global!==rt&&rt.window!==rt||(Y=rt);var et=g();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Y._=et, define(function(){return et})):Z&&nt?tt?(nt.exports=et)._=et:Z._=et:Y._=et}).call(this); \ No newline at end of file diff --git a/dist/lodash.js b/dist/lodash.js index bdcb8df25..4afbc85ad 100644 --- a/dist/lodash.js +++ b/dist/lodash.js @@ -474,7 +474,7 @@ var reNative = RegExp('^' + String(toString) .replace(/[.*+?^${}()|[\]\\]/g, '\\$&') - .replace(/toString| for [^\]]+/g, '.*?') + '$' + .replace(/\b(function)\b.*?(?=\\\()| for .+?(?=\\\])|\btoString\b/g, '$1.*?') + '$' ); /** Native method shortcuts */ @@ -620,14 +620,6 @@ */ var support = lodash.support = {}; - /** - * Detect if the DOM is supported. - * - * @memberOf _.support - * @type boolean - */ - support.dom = !!document && typeof document == 'object' && reNative.test(clearTimeout) && reNative.test(setTimeout); - /** * Detect if functions can be decompiled by `Function#toString` * (all but PS3 and older Opera mobile browsers & avoided in Windows 8 apps). @@ -645,6 +637,18 @@ */ support.funcNames = typeof Function.name == 'string'; + /** + * Detect if the DOM is supported. + * + * @memberOf _.support + * @type boolean + */ + try { + support.dom = document.createDocumentFragment().nodeType === 11; + } catch(e) { + support.dom = false; + } + /** * By default, the template delimiters used by Lo-Dash are similar to those in * embedded Ruby (ERB). Change the following template settings to use alternative diff --git a/dist/lodash.min.js b/dist/lodash.min.js index 0aa5a8439..266c49ca2 100644 --- a/dist/lodash.min.js +++ b/dist/lodash.min.js @@ -6,48 +6,48 @@ ;(function(){function n(n,t,e){e=(e||0)-1;for(var r=n?n.length:0;++ea||typeof i=="undefined")return 1;if(ie?0:e);++r=b&&i===n,l=[]; -if(f){var p=o(r);p?(i=t,r=p):f=false}for(;++ui(r,p)&&l.push(p);return f&&c(r),l}function rt(n,t,e,r){r=(r||0)-1;for(var u=n?n.length:0,o=[];++r=b&&i===n,l=[]; +if(f){var p=o(r);p?(i=t,r=p):f=false}for(;++ui(r,p)&&l.push(p);return f&&c(r),l}function rt(n,t,e,r){r=(r||0)-1;for(var u=n?n.length:0,o=[];++r=b&&f===n,v=u||h?a():s;for(h&&(v=o(v),f=t);++if(v,y))&&((u||h)&&v.push(y),s.push(g)) +}for(f=!u,u||(u=a()),o||(o=a()),p=u.length;p--;)if(u[p]==n)return o[p]==t;var h=0,i=true;if(u.push(n),o.push(t),c){if(p=n.length,h=t.length,(i=h==p)||r)for(;h--;)if(c=p,s=t[h],r)for(;c--&&!(i=ut(n[c],s,e,r,u,o)););else if(!(i=ut(n[h],s,e,r,u,o)))break}else v(t,function(t,a,f){return we.call(f,a)?(h++,i=we.call(n,a)&&ut(n[a],t,e,r,u,o)):void 0}),i&&!r&&v(n,function(n,t,e){return we.call(e,t)?i=-1<--h:void 0});return u.pop(),o.pop(),f&&(l(u),l(o)),i}function ot(n,t,e,r,u){(ze(t)?Tt:bt)(t,function(t,o){var i,a,f=t,l=n[o]; +if(t&&((a=ze(t))||Ue(t))){for(f=r.length;f--;)if(i=r[f]==t){l=u[f];break}if(!i){var c;e&&(f=e(l,t),c=typeof f!="undefined")&&(l=f),c||(l=a?ze(l)?l:[]:Ue(l)?l:{}),r.push(t),u.push(l),c||ot(l,t,e,r,u)}}else e&&(f=e(l,t),typeof f=="undefined"&&(f=t)),typeof f!="undefined"&&(l=f);n[o]=l})}function it(n,t){return n+be($e()*(t-n+1))}function at(e,r,u){var i=-1,f=pt(),p=e?e.length:0,s=[],h=!r&&p>=b&&f===n,v=u||h?a():s;for(h&&(v=o(v),f=t);++if(v,y))&&((u||h)&&v.push(y),s.push(g)) }return h?(l(v.g),c(v)):u&&l(v),s}function ft(n){return function(t,e,r){var u={};e=d.createCallback(e,r,3),r=-1;var o=t?t.length:0;if(typeof o=="number")for(;++re?Te(0,o+e):e)||0,qe(n)?i=-1e?Te(0,o+e):e)||0,ze(n)?i=-1o&&(o=a)}}else t=null==t&&Ot(n)?r:d.createCallback(t,e,3),Tt(n,function(n,e,r){e=t(n,e,r),e>u&&(u=e,o=n)});return o}function Ft(n,t,e,r){if(!n)return e;var u=3>arguments.length;t=d.createCallback(t,r,4);var o=-1,i=n.length;if(typeof i=="number")for(u&&(e=n[++o]);++oarguments.length;return t=d.createCallback(t,r,4),At(n,function(n,r,o){e=u?(u=false,n):t(e,n,r,o) }),e}function Wt(n){var t=-1,e=n?n.length:0,r=ne(typeof e=="number"?e:0);return Tt(n,function(n){var e=it(0,++t);r[t]=r[e],r[e]=n}),r}function qt(n,t,e){var r;t=d.createCallback(t,e,3),e=-1;var u=n?n.length:0;if(typeof u=="number")for(;++er?Te(0,u+r):r||0}else if(r)return r=Lt(t,e),t[r]===e?r:-1;return n(t,e,r)}function Kt(n,t,e){if(typeof t!="number"&&null!=t){var r=0,u=-1,o=n?n.length:0;for(t=d.createCallback(t,e,3);++u>>1,e(n[r])e?0:e);++t=h;m?(i&&(i=me(i)),s=f,a=n.apply(l,o)):i||(i=ke(r,h))}return m&&c?c=me(c):c||t===v||(c=ke(u,t)),e&&(m=true,a=n.apply(l,o)),!m||c||i||(o=l=null),a}}function Jt(n){return n}function Qt(n,t,e){var r=true,u=t&&_t(t); -t&&(e||u.length)||(null==e&&(e=t),o=H,t=n,n=d,u=_t(t)),false===e?r=false:xt(e)&&"chain"in e&&(r=e.chain);var o=n,i=kt(o);Tt(u,function(e){var u=n[e]=t[e];i&&(o.prototype[e]=function(){var t=this.__chain__,e=this.__wrapped__,i=[e];if(je.apply(i,arguments),i=u.apply(n,i),r||t){if(e===i&&xt(i))return this;i=new o(i),i.__chain__=t}return i})})}function Xt(){}function Yt(n){return function(t){return t[n]}}function Zt(){return this.__wrapped__}e=e?nt.defaults(J.Object(),e,nt.pick(J,D)):J;var ne=e.Array,te=e.Boolean,ee=e.Date,re=e.Function,ue=e.Math,oe=e.Number,ie=e.Object,ae=e.RegExp,fe=e.String,le=e.TypeError,ce=[],pe=ie.prototype,se=(se=e.window)&&se.document,he=e._,ve=pe.toString,ge=ae("^"+fe(ve).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),ye=ue.ceil,me=e.clearTimeout,be=ue.floor,de=re.prototype.toString,_e=st(_e=ie.getPrototypeOf)&&_e,we=pe.hasOwnProperty,je=ce.push,ke=e.setTimeout,xe=ce.splice,Ce=ce.unshift,Oe=function(){try{var n={},t=st(t=ie.defineProperty)&&t,e=t(n,n,n)&&t -}catch(r){}return e}(),Ee=st(Ee=ie.create)&&Ee,Ne=st(Ne=ne.isArray)&&Ne,Ie=e.isFinite,Re=e.isNaN,Se=st(Se=ie.keys)&&Se,Te=ue.max,Ae=ue.min,De=e.parseInt,$e=ue.random,Fe={};Fe[F]=ne,Fe[B]=te,Fe[W]=ee,Fe[q]=re,Fe[P]=ie,Fe[z]=oe,Fe[K]=ae,Fe[L]=fe,H.prototype=d.prototype;var Be=d.support={};Be.dom=!!se&&typeof se=="object"&&ge.test(me)&&ge.test(ke),Be.funcDecomp=!st(e.WinRTError)&&T.test(s),Be.funcNames=typeof re.name=="string",d.templateSettings={escape:E,evaluate:N,interpolate:I,variable:"",imports:{_:d}},Ee||(Y=function(){function n(){}return function(t){if(xt(t)){n.prototype=t; -var r=new n;n.prototype=null}return r||e.Object()}}());var We=Oe?function(n,t){U.value=t,Oe(n,"__bindData__",U)}:Xt,qe=Ne||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&ve.call(n)==F||false},ze=Se?function(n){return xt(n)?Se(n):[]}:g,Pe={"&":"&","<":"<",">":">",'"':""","'":"'"},Ke=wt(Pe),Le=ae("("+ze(Ke).join("|")+")","g"),Me=ae("["+ze(Pe).join("")+"]","g");Be.dom||(jt=function(n){return n&&typeof n=="object"&&1===n.nodeType&&!Ve(n)||false});var Ve=_e?function(n){if(!n||ve.call(n)!=P)return false; -var t=n.valueOf,e=st(t)&&(e=_e(t))&&_e(e);return e?n==e||_e(n)==e:ht(n)}:ht,Ue=ft(function(n,t,e){we.call(n,e)?n[e]++:n[e]=1}),Ge=ft(function(n,t,e){(we.call(n,e)?n[e]:n[e]=[]).push(t)}),He=ft(function(n,t,e){n[e]=t}),Je=Dt,Qe=st(Qe=ee.now)&&Qe||function(){return(new ee).getTime()},Xe=8==De(_+"08")?De:function(n,t){return De(Ot(n)?n.replace(R,""):n,t||0)};return d.after=function(n,t){if(!kt(t))throw new le;return function(){return 1>--n?t.apply(this,arguments):void 0}},d.assign=yt,d.at=function(n){for(var t=arguments,e=-1,r=rt(t,true,false,1),t=t[2]&&t[2][t[1]]===n?1:r.length,u=ne(t);++ee?0:e);++t=h;m?(i&&(i=me(i)),s=f,a=n.apply(l,o)):i||(i=ke(r,h))}return m&&c?c=me(c):c||t===v||(c=ke(u,t)),e&&(m=true,a=n.apply(l,o)),!m||c||i||(o=l=null),a}}function Jt(n){return n}function Qt(n,t,e){var r=true,u=t&&_t(t); +t&&(e||u.length)||(null==e&&(e=t),o=H,t=n,n=d,u=_t(t)),false===e?r=false:xt(e)&&"chain"in e&&(r=e.chain);var o=n,i=kt(o);Tt(u,function(e){var u=n[e]=t[e];i&&(o.prototype[e]=function(){var t=this.__chain__,e=this.__wrapped__,i=[e];if(je.apply(i,arguments),i=u.apply(n,i),r||t){if(e===i&&xt(i))return this;i=new o(i),i.__chain__=t}return i})})}function Xt(){}function Yt(n){return function(t){return t[n]}}function Zt(){return this.__wrapped__}e=e?nt.defaults(J.Object(),e,nt.pick(J,D)):J;var ne=e.Array,te=e.Boolean,ee=e.Date,re=e.Function,ue=e.Math,oe=e.Number,ie=e.Object,ae=e.RegExp,fe=e.String,le=e.TypeError,ce=[],pe=ie.prototype,se=(se=e.window)&&se.document,he=e._,ve=pe.toString,ge=ae("^"+fe(ve).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\b(function)\b.*?(?=\\\()| for .+?(?=\\\])|\btoString\b/g,"$1.*?")+"$"),ye=ue.ceil,me=e.clearTimeout,be=ue.floor,de=re.prototype.toString,_e=st(_e=ie.getPrototypeOf)&&_e,we=pe.hasOwnProperty,je=ce.push,ke=e.setTimeout,xe=ce.splice,Ce=ce.unshift,Oe=function(){try{var n={},t=st(t=ie.defineProperty)&&t,e=t(n,n,n)&&t +}catch(r){}return e}(),Ee=st(Ee=ie.create)&&Ee,Ne=st(Ne=ne.isArray)&&Ne,Ie=e.isFinite,Re=e.isNaN,Se=st(Se=ie.keys)&&Se,Te=ue.max,Ae=ue.min,De=e.parseInt,$e=ue.random,Fe={};Fe[F]=ne,Fe[B]=te,Fe[W]=ee,Fe[q]=re,Fe[P]=ie,Fe[z]=oe,Fe[K]=ae,Fe[L]=fe,H.prototype=d.prototype;var Be=d.support={};Be.funcDecomp=!st(e.WinRTError)&&T.test(s),Be.funcNames=typeof re.name=="string";try{Be.dom=11===se.createDocumentFragment().nodeType}catch(We){Be.dom=false}d.templateSettings={escape:E,evaluate:N,interpolate:I,variable:"",imports:{_:d}},Ee||(Y=function(){function n(){}return function(t){if(xt(t)){n.prototype=t; +var r=new n;n.prototype=null}return r||e.Object()}}());var qe=Oe?function(n,t){U.value=t,Oe(n,"__bindData__",U)}:Xt,ze=Ne||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&ve.call(n)==F||false},Pe=Se?function(n){return xt(n)?Se(n):[]}:g,Ke={"&":"&","<":"<",">":">",'"':""","'":"'"},Le=wt(Ke),Me=ae("("+Pe(Le).join("|")+")","g"),Ve=ae("["+Pe(Ke).join("")+"]","g");Be.dom||(jt=function(n){return n&&typeof n=="object"&&1===n.nodeType&&!Ue(n)||false});var Ue=_e?function(n){if(!n||ve.call(n)!=P)return false; +var t=n.valueOf,e=st(t)&&(e=_e(t))&&_e(e);return e?n==e||_e(n)==e:ht(n)}:ht,Ge=ft(function(n,t,e){we.call(n,e)?n[e]++:n[e]=1}),He=ft(function(n,t,e){(we.call(n,e)?n[e]:n[e]=[]).push(t)}),Je=ft(function(n,t,e){n[e]=t}),Qe=Dt,Xe=st(Xe=ee.now)&&Xe||function(){return(new ee).getTime()},Ye=8==De(_+"08")?De:function(n,t){return De(Ot(n)?n.replace(R,""):n,t||0)};return d.after=function(n,t){if(!kt(t))throw new le;return function(){return 1>--n?t.apply(this,arguments):void 0}},d.assign=yt,d.at=function(n){for(var t=arguments,e=-1,r=rt(t,true,false,1),t=t[2]&&t[2][t[1]]===n?1:r.length,u=ne(t);++e=b&&o(r?e[r]:s)))}var p=e[0],v=-1,g=p?p.length:0,y=[];n:for(;++v(m?t(m,h):f(s,h))){for(r=u,(m||s).push(h);--r;)if(m=i[r],0>(m?t(m,h):f(e[r],h)))continue n;y.push(h)}}for(;u--;)(m=i[u])&&c(m);return l(i),l(s),y},d.invert=wt,d.invoke=function(n,t){var e=p(arguments,2),r=-1,u=typeof t=="function",o=n?n.length:0,i=ne(typeof o=="number"?o:0);return Tt(n,function(n){i[++r]=(u?t:n[t]).apply(n,e)}),i},d.keys=ze,d.map=Dt,d.mapValues=function(n,t,e){var r={}; +},d.forEach=Tt,d.forEachRight=At,d.forIn=v,d.forInRight=function(n,t,e){var r=[];v(n,function(n,t){r.push(t,n)});var u=r.length;for(t=Z(t,e,3);u--&&false!==t(r[u--],r[u],n););return n},d.forOwn=bt,d.forOwnRight=dt,d.functions=_t,d.groupBy=He,d.indexBy=Je,d.initial=function(n,t,e){var r=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=u;for(t=d.createCallback(t,e,3);o--&&t(n[o],o,n);)r++}else r=null==t||e?1:t||r;return p(n,0,Ae(Te(0,u-r),u))},d.intersection=function(){for(var e=[],r=-1,u=arguments.length,i=a(),f=pt(),p=f===n,s=a();++r=b&&o(r?e[r]:s)))}var p=e[0],v=-1,g=p?p.length:0,y=[];n:for(;++v(m?t(m,h):f(s,h))){for(r=u,(m||s).push(h);--r;)if(m=i[r],0>(m?t(m,h):f(e[r],h)))continue n;y.push(h)}}for(;u--;)(m=i[u])&&c(m);return l(i),l(s),y},d.invert=wt,d.invoke=function(n,t){var e=p(arguments,2),r=-1,u=typeof t=="function",o=n?n.length:0,i=ne(typeof o=="number"?o:0);return Tt(n,function(n){i[++r]=(u?t:n[t]).apply(n,e)}),i},d.keys=Pe,d.map=Dt,d.mapValues=function(n,t,e){var r={}; return t=d.createCallback(t,e,3),bt(n,function(n,e,u){r[e]=t(n,e,u)}),r},d.max=$t,d.memoize=function(n,t){function e(){var r=e.cache,u=t?t.apply(this,arguments):m+arguments[0];return we.call(r,u)?r[u]:r[u]=n.apply(this,arguments)}if(!kt(n))throw new le;return e.cache={},e},d.merge=function(n){var t=arguments,e=2;if(!xt(n))return n;if("number"!=typeof t[2]&&(e=t.length),3e?Te(0,r+e):Ae(e,r-1))+1);r--;)if(n[r]===t)return r;return-1},d.mixin=Qt,d.noConflict=function(){return e._=he,this},d.noop=Xt,d.now=Qe,d.parseInt=Xe,d.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=$e(),Ae(n+e*(t-n+parseFloat("1e-"+((e+"").length-1))),t)):it(n,t) -},d.reduce=Ft,d.reduceRight=Bt,d.result=function(n,t){if(n){var e=n[t];return kt(e)?n[t]():e}},d.runInContext=s,d.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:ze(n).length},d.some=qt,d.sortedIndex=Lt,d.template=function(n,t,e){var r=d.templateSettings;n=fe(n||""),e=mt({},e,r);var u,o=mt({},e.imports,r.imports),r=ze(o),o=Et(o),a=0,f=e.interpolate||S,l="__p+='",f=ae((e.escape||S).source+"|"+f.source+"|"+(f===I?x:S).source+"|"+(e.evaluate||S).source+"|$","g");n.replace(f,function(t,e,r,o,f,c){return r||(r=o),l+=n.slice(a,c).replace(A,i),e&&(l+="'+__e("+e+")+'"),f&&(u=true,l+="';"+f+";\n__p+='"),r&&(l+="'+((__t=("+r+"))==null?'':__t)+'"),a=c+t.length,t -}),l+="';",f=e=e.variable,f||(e="obj",l="with("+e+"){"+l+"}"),l=(u?l.replace(w,""):l).replace(j,"$1").replace(k,"$1;"),l="function("+e+"){"+(f?"":e+"||("+e+"={});")+"var __t,__p='',__e=_.escape"+(u?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+l+"return __p}";try{var c=re(r,"return "+l).apply(h,o)}catch(p){throw p.source=l,p}return t?c(t):(c.source=l,c)},d.unescape=function(n){return null==n?"":(n=fe(n),0>n.indexOf(";")?n:n.replace(Le,vt))},d.uniqueId=function(n){var t=++y; +return l(o),l(i),n},d.min=function(n,t,e){var u=1/0,o=u;if(typeof t!="function"&&e&&e[t]===n&&(t=null),null==t&&ze(n)){e=-1;for(var i=n.length;++ee?Te(0,r+e):Ae(e,r-1))+1);r--;)if(n[r]===t)return r;return-1},d.mixin=Qt,d.noConflict=function(){return e._=he,this},d.noop=Xt,d.now=Xe,d.parseInt=Ye,d.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=$e(),Ae(n+e*(t-n+parseFloat("1e-"+((e+"").length-1))),t)):it(n,t) +},d.reduce=Ft,d.reduceRight=Bt,d.result=function(n,t){if(n){var e=n[t];return kt(e)?n[t]():e}},d.runInContext=s,d.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:Pe(n).length},d.some=qt,d.sortedIndex=Lt,d.template=function(n,t,e){var r=d.templateSettings;n=fe(n||""),e=mt({},e,r);var u,o=mt({},e.imports,r.imports),r=Pe(o),o=Et(o),a=0,f=e.interpolate||S,l="__p+='",f=ae((e.escape||S).source+"|"+f.source+"|"+(f===I?x:S).source+"|"+(e.evaluate||S).source+"|$","g");n.replace(f,function(t,e,r,o,f,c){return r||(r=o),l+=n.slice(a,c).replace(A,i),e&&(l+="'+__e("+e+")+'"),f&&(u=true,l+="';"+f+";\n__p+='"),r&&(l+="'+((__t=("+r+"))==null?'':__t)+'"),a=c+t.length,t +}),l+="';",f=e=e.variable,f||(e="obj",l="with("+e+"){"+l+"}"),l=(u?l.replace(w,""):l).replace(j,"$1").replace(k,"$1;"),l="function("+e+"){"+(f?"":e+"||("+e+"={});")+"var __t,__p='',__e=_.escape"+(u?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+l+"return __p}";try{var c=re(r,"return "+l).apply(h,o)}catch(p){throw p.source=l,p}return t?c(t):(c.source=l,c)},d.unescape=function(n){return null==n?"":(n=fe(n),0>n.indexOf(";")?n:n.replace(Me,vt))},d.uniqueId=function(n){var t=++y; return fe(null==n?"":n)+t},d.all=It,d.any=qt,d.detect=St,d.findWhere=St,d.foldl=Ft,d.foldr=Bt,d.include=Nt,d.inject=Ft,Qt(function(){var n={};return bt(d,function(t,e){d.prototype[e]||(n[e]=t)}),n}(),false),d.first=zt,d.last=function(n,t,e){var r=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=u;for(t=d.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 p(n,Te(0,u-r))},d.sample=function(n,t,e){return n&&typeof n.length!="number"&&(n=Et(n)),null==t||e?n?n[it(0,n.length-1)]:h:(n=Wt(n),n.length=Ae(Te(0,t),n.length),n) },d.take=zt,d.head=zt,bt(d,function(n,t){var e="sample"!==t;d.prototype[t]||(d.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 H(o,u):o})}),d.VERSION="2.4.1",d.prototype.chain=function(){return this.__chain__=true,this},d.prototype.toString=function(){return fe(this.__wrapped__)},d.prototype.value=Zt,d.prototype.valueOf=Zt,Tt(["join","pop","shift"],function(n){var t=ce[n];d.prototype[n]=function(){var n=this.__chain__,e=t.apply(this.__wrapped__,arguments); return n?new H(e,n):e}}),Tt(["push","reverse","sort","unshift"],function(n){var t=ce[n];d.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),Tt(["concat","slice","splice"],function(n){var t=ce[n];d.prototype[n]=function(){return new H(t.apply(this.__wrapped__,arguments),this.__chain__)}}),d}var h,v=[],g=[],y=0,m=+new Date+"",b=75,d=40,_=" \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",w=/\b__p\+='';/g,j=/\b(__p\+=)''\+/g,k=/(__e\(.*?\)|\b__t\))\+'';/g,x=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,C=/\w*$/,O=/^\s*function[ \n\r\t]+\w/,E=/<%-([\s\S]+?)%>/g,N=/<%([\s\S]+?)%>/g,I=/<%=([\s\S]+?)%>/g,R=RegExp("^["+_+"]*0+(?=.$)"),S=/($^)/,T=/\bthis\b/,A=/['\n\r\t\u2028\u2029\\]/g,D="Array Boolean Date Function Math Number Object RegExp String _ clearTimeout document isFinite isNaN parseInt setTimeout TypeError window WinRTError".split(" "),$="[object Arguments]",F="[object Array]",B="[object Boolean]",W="[object Date]",q="[object Function]",z="[object Number]",P="[object Object]",K="[object RegExp]",L="[object String]",M={}; diff --git a/dist/lodash.underscore.js b/dist/lodash.underscore.js index 8379d07e0..6ab630500 100644 --- a/dist/lodash.underscore.js +++ b/dist/lodash.underscore.js @@ -206,7 +206,7 @@ var reNative = RegExp('^' + String(toString) .replace(/[.*+?^${}()|[\]\\]/g, '\\$&') - .replace(/toString| for [^\]]+/g, '.*?') + '$' + .replace(/\b(function)\b.*?(?=\\\()| for .+?(?=\\\])|\btoString\b/g, '$1.*?') + '$' ); /** Native method shortcuts */ diff --git a/dist/lodash.underscore.min.js b/dist/lodash.underscore.min.js index 1c753d4e3..72458fdc0 100644 --- a/dist/lodash.underscore.min.js +++ b/dist/lodash.underscore.min.js @@ -4,36 +4,36 @@ * Build: `lodash underscore exports="amd,commonjs,global,node" -o ./dist/lodash.underscore.js` */ ;(function(){function n(n,r,t){t=(t||0)-1;for(var e=n?n.length:0;++tf||typeof i=="undefined")return 1;if(it?0:t);++ee(r,i)&&o.push(i)}return o}function p(n,r,t,e){e=(e||0)-1;for(var u=n?n.length:0,o=[];++ee(r,i)&&o.push(i)}return o}function p(n,r,t,e){e=(e||0)-1;for(var u=n?n.length:0,o=[];++eu(f,l))&&(t&&f.push(l),i.push(a))}return i}function h(n){return function(r,t,e){var u={};t=Y(t,e,3),e=-1;var o=r?r.length:0;if(typeof o=="number")for(;++eu&&(u=t);else r=Y(r,t,3),I(n,function(n,t,o){t=r(n,t,o),t>e&&(e=t,u=n)});return u}function z(n,r,t,e){if(!n)return t;var u=3>arguments.length;r=Y(r,e,4);var o=-1,i=n.length;if(typeof i=="number")for(u&&(t=n[++o]);++oarguments.length; -return r=Y(r,e,4),M(n,function(n,e,o){t=u?(u=false,n):r(t,n,e,o)}),t}function P(n){var r=-1,t=n?n.length:0,e=Array(typeof t=="number"?t:0);return I(n,function(n){var t;t=++r,t=0+kr(Cr()*(t-0+1)),e[r]=e[t],e[t]=n}),e}function U(n,r,t){var e;r=Y(r,t,3),t=-1;var u=n?n.length:0;if(typeof u=="number")for(;++tu&&(u=t);else r=Y(r,t,3),D(n,function(n,t,o){t=r(n,t,o),t>e&&(e=t,u=n)});return u}function z(n,r,t,e){if(!n)return t;var u=3>arguments.length;r=Y(r,e,4);var o=-1,i=n.length;if(typeof i=="number")for(u&&(t=n[++o]);++oarguments.length; +return r=Y(r,e,4),I(n,function(n,e,o){t=u?(u=false,n):r(t,n,e,o)}),t}function P(n){var r=-1,t=n?n.length:0,e=Array(typeof t=="number"?t:0);return D(n,function(n){var t;t=++r,t=0+kr(Cr()*(t-0+1)),e[r]=e[t],e[t]=n}),e}function U(n,r,t){var e;r=Y(r,t,3),t=-1;var u=n?n.length:0;if(typeof u=="number")for(;++te?Wr(0,u+e):e||0}else if(e)return e=K(r,t),r[e]===t?e:-1;return n(r,t,e)}function J(n,r,t){if(typeof r!="number"&&null!=r){var u=0,o=-1,i=n?n.length:0;for(r=Y(r,t,3);++o>>1,t(n[e])=y;m?(u&&(u=clearTimeout(u)),c=i,o=n.apply(f,e)):u||(u=setTimeout(v,y))}return m&&a?a=clearTimeout(a):a||r===p||(a=setTimeout(h,r)),t&&(m=true,o=n.apply(f,e)),!m||a||u||(e=f=null),o}}function Y(n,r,t){var e=typeof n;if(null==n||"function"==e)return a(n,r,t);if("object"!=e)return rr(n);var u=Gr(n); -return function(r){for(var t=u.length,e=false;t--&&(e=r[u[t]]===n[u[t]]););return e}}function Z(n){return n}function nr(n){I(T(n),function(r){var t=u[r]=n[r];u.prototype[r]=function(){var n=[this.__wrapped__];return Fr.apply(n,arguments),n=t.apply(u,n),this.__chain__?new o(n,true):n}})}function rr(n){return function(r){return r[n]}}var tr,er=0,ur={},or=+new Date+"",ir=/($^)/,fr=/['\n\r\t\u2028\u2029\\]/g,ar="[object Arguments]",lr="[object Array]",cr="[object Boolean]",pr="[object Date]",sr="[object Number]",gr="[object Object]",hr="[object RegExp]",vr="[object String]",yr={"boolean":false,"function":true,object:true,number:false,string:false,undefined:false},mr={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},_r=yr[typeof window]&&window||this,dr=yr[typeof exports]&&exports&&!exports.nodeType&&exports,br=yr[typeof module]&&module&&!module.nodeType&&module,wr=br&&br.exports===dr&&dr,jr=yr[typeof global]&&global; -!jr||jr.global!==jr&&jr.window!==jr||(_r=jr);var xr=[],Tr=Object.prototype,Er=_r._,Ar=Tr.toString,Or=RegExp("^"+(Ar+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Sr=Math.ceil,kr=Math.floor,Nr=Function.prototype.toString,Rr=Tr.hasOwnProperty,Fr=xr.push,Br=Tr.propertyIsEnumerable,qr=_(qr=Object.create)&&qr,Dr=_(Dr=Array.isArray)&&Dr,Ir=_r.isFinite,Mr=_r.isNaN,$r=_($r=Object.keys)&&$r,Wr=Math.max,zr=Math.min,Cr=Math.random;o.prototype=u.prototype;var Pr={};!function(){var n={0:1,length:1}; -Pr.spliceObjects=(xr.splice.call(n,0,1),!n[0])}(1),u.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},qr||(f=function(){function n(){}return function(r){if(S(r)){n.prototype=r;var t=new n;n.prototype=null}return t||_r.Object()}}()),b(arguments)||(b=function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Rr.call(n,"callee")&&!Br.call(n,"callee")||false});var Ur=Dr||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Ar.call(n)==lr||false -},Vr=function(n){var r=[];if(!n||!yr[typeof n])return r;for(var t in n)Rr.call(n,t)&&r.push(t);return r},Gr=$r?function(n){return S(n)?$r(n):[]}:Vr,Hr={"&":"&","<":"<",">":">",'"':""","'":"'"},Jr=E(Hr),Kr=RegExp("("+Gr(Jr).join("|")+")","g"),Lr=RegExp("["+Gr(Hr).join("")+"]","g"),Qr=function(n,r){if(!n||!yr[typeof n])return n;for(var t in n)if(r(n[t],t,n)===ur)break;return n};O(/x/)&&(O=function(n){return typeof n=="function"&&"[object Function]"==Ar.call(n)});var Xr=h(function(n,r,t){Rr.call(n,t)?n[t]++:n[t]=1 -}),Yr=h(function(n,r,t){(Rr.call(n,t)?n[t]:n[t]=[]).push(r)}),Zr=h(function(n,r,t){n[t]=r}),nt=$,rt=_(rt=Date.now)&&rt||function(){return(new Date).getTime()};u.after=function(n,r){if(!O(r))throw new TypeError;return function(){return 1>--n?r.apply(this,arguments):void 0}},u.bind=Q,u.bindAll=function(n){for(var r=1/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},$r||(f=function(){function n(){}return function(r){if(S(r)){n.prototype=r;var t=new n;n.prototype=null}return t||_r.Object()}}()),d(arguments)||(d=function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Rr.call(n,"callee")&&!Br.call(n,"callee")||false});var Ur=qr||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Ar.call(n)==lr||false +},Vr=function(n){var r=[];if(!n||!yr[typeof n])return r;for(var t in n)Rr.call(n,t)&&r.push(t);return r},Gr=Mr?function(n){return S(n)?Mr(n):[]}:Vr,Hr={"&":"&","<":"<",">":">",'"':""","'":"'"},Jr=E(Hr),Kr=RegExp("("+Gr(Jr).join("|")+")","g"),Lr=RegExp("["+Gr(Hr).join("")+"]","g"),Qr=function(n,r){if(!n||!yr[typeof n])return n;for(var t in n)if(r(n[t],t,n)===ur)break;return n};O(/x/)&&(O=function(n){return typeof n=="function"&&"[object Function]"==Ar.call(n)});var Xr=h(function(n,r,t){Rr.call(n,t)?n[t]++:n[t]=1 +}),Yr=h(function(n,r,t){(Rr.call(n,t)?n[t]:n[t]=[]).push(r)}),Zr=h(function(n,r,t){n[t]=r}),nt=M,rt=_(rt=Date.now)&&rt||function(){return(new Date).getTime()};u.after=function(n,r){if(!O(r))throw new TypeError;return function(){return 1>--n?r.apply(this,arguments):void 0}},u.bind=Q,u.bindAll=function(n){for(var r=1i(a,e)){for(r=t;--r;)if(0>i(n[r],e))continue n; -a.push(e)}return a},u.invert=E,u.invoke=function(n,r){var t=e(arguments,2),u=-1,o=typeof r=="function",i=n?n.length:0,f=Array(typeof i=="number"?i:0);return I(n,function(n){f[++u]=(o?r:n[r]).apply(n,t)}),f},u.keys=Gr,u.map=$,u.max=W,u.memoize=function(n,r){var t={};return function(){var e=r?r.apply(this,arguments):or+arguments[0];return Rr.call(t,e)?t[e]:t[e]=n.apply(this,arguments)}},u.min=function(n,r,t){var e=1/0,u=e;typeof r!="function"&&t&&t[r]===n&&(r=null);var o=-1,i=n?n.length:0;if(null==r&&typeof i=="number")for(;++or?0:r);++ni(a,e)){for(r=t;--r;)if(0>i(n[r],e))continue n; +a.push(e)}return a},u.invert=E,u.invoke=function(n,r){var t=e(arguments,2),u=-1,o=typeof r=="function",i=n?n.length:0,f=Array(typeof i=="number"?i:0);return D(n,function(n){f[++u]=(o?r:n[r]).apply(n,t)}),f},u.keys=Gr,u.map=M,u.max=W,u.memoize=function(n,r){var t={};return function(){var e=r?r.apply(this,arguments):or+arguments[0];return Rr.call(t,e)?t[e]:t[e]=n.apply(this,arguments)}},u.min=function(n,r,t){var e=1/0,u=e;typeof r!="function"&&t&&t[r]===n&&(r=null);var o=-1,i=n?n.length:0;if(null==r&&typeof i=="number")for(;++or?0:r);++nt?Wr(0,e+t):zr(t,e-1))+1);e--;)if(n[e]===r)return e;return-1},u.mixin=nr,u.noConflict=function(){return _r._=Er,this},u.random=function(n,r){return null==n&&null==r&&(r=1),n=+n||0,null==r?(r=n,n=0):r=+r||0,n+kr(Cr()*(r-n+1)) },u.reduce=z,u.reduceRight=C,u.result=function(n,r){if(n){var t=n[r];return O(t)?n[r]():t}},u.size=function(n){var r=n?n.length:0;return typeof r=="number"?r:Gr(n).length},u.some=U,u.sortedIndex=K,u.template=function(n,r,e){var o=u,i=o.templateSettings;n=(n||"")+"",e=j({},e,i);var f=0,a="__p+='",i=e.variable;n.replace(RegExp((e.escape||ir).source+"|"+(e.interpolate||ir).source+"|"+(e.evaluate||ir).source+"|$","g"),function(r,e,u,o,i){return a+=n.slice(f,i).replace(fr,t),e&&(a+="'+_.escape("+e+")+'"),o&&(a+="';"+o+";\n__p+='"),u&&(a+="'+((__t=("+u+"))==null?'':__t)+'"),f=i+r.length,r -}),a+="';",i||(i="obj",a="with("+i+"||{}){"+a+"}"),a="function("+i+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+a+"return __p}";try{var l=Function("_","return "+a)(o)}catch(c){throw c.source=a,c}return r?l(r):(l.source=a,l)},u.unescape=function(n){return null==n?"":(n+="",0>n.indexOf(";")?n:n.replace(Kr,d))},u.uniqueId=function(n){var r=++er+"";return n?n+r:r},u.all=B,u.any=U,u.detect=D,u.findWhere=function(n,r){return V(n,r,true)},u.foldl=z,u.foldr=C,u.include=F,u.inject=z,u.first=G,u.last=function(n,r,t){var u=0,o=n?n.length:0; -if(typeof r!="number"&&null!=r){var i=o;for(r=Y(r,t,3);i--&&r(n[i],i,n);)u++}else if(u=r,null==u||t)return n?n[o-1]:tr;return e(n,Wr(0,o-u))},u.sample=function(n,r,t){return n&&typeof n.length!="number"&&(n=R(n)),null==r||t?n?n[0+kr(Cr()*(n.length-1-0+1))]:tr:(n=P(n),n.length=zr(Wr(0,r),n.length),n)},u.take=G,u.head=G,nr(w({},u)),u.VERSION="2.4.1",u.prototype.chain=function(){return this.__chain__=true,this},u.prototype.value=function(){return this.__wrapped__},I("pop push reverse shift sort splice unshift".split(" "),function(n){var r=xr[n]; -u.prototype[n]=function(){var n=this.__wrapped__;return r.apply(n,arguments),Pr.spliceObjects||0!==n.length||delete n[0],this}}),I(["concat","join","slice"],function(n){var r=xr[n];u.prototype[n]=function(){var n=r.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new o(n),n.__chain__=true),n}}),typeof define=="function"&&typeof define.amd=="object"&&define.amd?(_r._=u, define(function(){return u})):dr&&br?wr?(br.exports=u)._=u:dr._=u:_r._=u}).call(this); \ No newline at end of file +}),a+="';",i||(i="obj",a="with("+i+"||{}){"+a+"}"),a="function("+i+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+a+"return __p}";try{var l=Function("_","return "+a)(o)}catch(c){throw c.source=a,c}return r?l(r):(l.source=a,l)},u.unescape=function(n){return null==n?"":(n+="",0>n.indexOf(";")?n:n.replace(Kr,b))},u.uniqueId=function(n){var r=++er+"";return n?n+r:r},u.all=B,u.any=U,u.detect=q,u.findWhere=function(n,r){return V(n,r,true)},u.foldl=z,u.foldr=C,u.include=F,u.inject=z,u.first=G,u.last=function(n,r,t){var u=0,o=n?n.length:0; +if(typeof r!="number"&&null!=r){var i=o;for(r=Y(r,t,3);i--&&r(n[i],i,n);)u++}else if(u=r,null==u||t)return n?n[o-1]:tr;return e(n,Wr(0,o-u))},u.sample=function(n,r,t){return n&&typeof n.length!="number"&&(n=R(n)),null==r||t?n?n[0+kr(Cr()*(n.length-1-0+1))]:tr:(n=P(n),n.length=zr(Wr(0,r),n.length),n)},u.take=G,u.head=G,nr(w({},u)),u.VERSION="2.4.1",u.prototype.chain=function(){return this.__chain__=true,this},u.prototype.value=function(){return this.__wrapped__},D("pop push reverse shift sort splice unshift".split(" "),function(n){var r=xr[n]; +u.prototype[n]=function(){var n=this.__wrapped__;return r.apply(n,arguments),Pr.spliceObjects||0!==n.length||delete n[0],this}}),D(["concat","join","slice"],function(n){var r=xr[n];u.prototype[n]=function(){var n=r.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new o(n),n.__chain__=true),n}}),typeof define=="function"&&typeof define.amd=="object"&&define.amd?(_r._=u, define(function(){return u})):br&&dr?wr?(dr.exports=u)._=u:br._=u:_r._=u}).call(this); \ No newline at end of file diff --git a/lodash.js b/lodash.js index d3d943f09..ee331c7fb 100644 --- a/lodash.js +++ b/lodash.js @@ -690,14 +690,6 @@ */ support.argsObject = arguments.constructor == Object && !(arguments instanceof Array); - /** - * Detect if the DOM is supported. - * - * @memberOf _.support - * @type boolean - */ - support.dom = !!document && typeof document == 'object' && reNative.test(clearTimeout) && reNative.test(setTimeout); - /** * Detect if `name` or `message` properties of `Error.prototype` are * enumerable by default. (IE < 9, Safari < 5.1) @@ -790,6 +782,18 @@ */ support.unindexedChars = ('x'[0] + Object('x')[0]) != 'xx'; + /** + * Detect if the DOM is supported. + * + * @memberOf _.support + * @type boolean + */ + try { + support.dom = document.createDocumentFragment().nodeType === 11; + } catch(e) { + support.dom = false; + } + /** * Detect if a DOM node's [[Class]] is resolvable (all but IE < 9) * and that the JS engine errors when attempting to coerce an object to diff --git a/test/index.html b/test/index.html index f4d206629..22f7c7784 100644 --- a/test/index.html +++ b/test/index.html @@ -46,19 +46,8 @@ window.WinRTError = Error; - window.clearTimeout = (function(fn) { - window._clearTimeout = fn; - return function(id) { - return fn(id); - }; - }(clearTimeout)); - - window.setTimeout = (function(fn) { - window._setTimeout = fn; - return function(func, wait) { - return fn(func, wait); - }; - }(setTimeout)); + document._createDocumentFragment = document.createDocumentFragment; + document.createDocumentFragment = function() {}; } function removeBizarroMethods() { @@ -99,11 +88,8 @@ } window.WinRTError = undefined; - window.clearTimeout = _clearTimeout; - window._clearTimeout = undefined; - - window.setTimeout = _setTimeout; - window._setTimeout = undefined; + document.createDocumentFragment = document._createDocumentFragment; + document._createDocumentFragment = undefined; delete Array._isArray; delete Date._now; diff --git a/test/test.js b/test/test.js index 955fca5ae..3c83f36cb 100644 --- a/test/test.js +++ b/test/test.js @@ -231,15 +231,13 @@ global.WinRTError = Error; // fake dom - var window = global.window = {}; - window.document = {}; - window.window = window; - - var _clearTimeout = global.clearTimeout; - global.clearTimeout = Number; - - var _setTimeout = global.setTimeout; - global.setTimeout = Number; + global.window = { + 'document': { + 'createDocumentFragment': function() { + return { 'nodeType': 11 }; + } + } + }; // add extensions Function.prototype._method = function() {}; @@ -278,9 +276,6 @@ Object.getPrototypeOf = _getPrototypeOf; Object.keys = _keys; - global.clearTimeout = _clearTimeout; - global.setTimeout = _setTimeout; - delete global.window; delete global.WinRTError; delete Function.prototype._method;