From 2508e713240f51cae2a7daadfd23477383b4a6b9 Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Tue, 9 Jul 2013 09:04:44 -0700 Subject: [PATCH] Avoid maintaining the html escape/unescape regexes independently of the entity maps. Former-commit-id: 847e58befee7641bc39af37bde12fc99da9edb28 --- dist/lodash.compat.js | 8 ++-- dist/lodash.compat.min.js | 88 +++++++++++++++++------------------ dist/lodash.js | 8 ++-- dist/lodash.min.js | 80 +++++++++++++++---------------- dist/lodash.underscore.js | 8 ++-- dist/lodash.underscore.min.js | 60 ++++++++++++------------ doc/README.md | 46 +++++++++--------- lodash.js | 8 ++-- 8 files changed, 153 insertions(+), 153 deletions(-) diff --git a/dist/lodash.compat.js b/dist/lodash.compat.js index 39550a421..cc8d7a408 100644 --- a/dist/lodash.compat.js +++ b/dist/lodash.compat.js @@ -51,10 +51,6 @@ reEmptyStringMiddle = /\b(__p \+=) '' \+/g, reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g; - /** Used to match HTML entities and HTML characters */ - var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g, - reUnescapedHtml = /[&<>"']/g; - /** * Used to match ES6 template delimiters * http://people.mozilla.org/~jorendorff/es6-draft.html#sec-7.8.6 @@ -1392,6 +1388,10 @@ /** Used to convert HTML entities to characters */ var htmlUnescapes = invert(htmlEscapes); + /** Used to match HTML entities and HTML characters */ + var reEscapedHtml = RegExp('(' + keys(htmlUnescapes).join('|') + ')', 'g'), + reUnescapedHtml = RegExp('[' + keys(htmlEscapes).join('') + ']', 'g'); + /*--------------------------------------------------------------------------*/ /** diff --git a/dist/lodash.compat.min.js b/dist/lodash.compat.min.js index d227512ad..728adb1b5 100644 --- a/dist/lodash.compat.min.js +++ b/dist/lodash.compat.min.js @@ -4,48 +4,48 @@ * Build: `lodash -o ./dist/lodash.compat.js` * Underscore.js 1.4.4 underscorejs.org/LICENSE */ -;!function(n){function t(n,t,r){r=(r||0)-1;for(var e=n.length;++rt||typeof n=="undefined")return 1;if(nr?0:r);++e=E&&i===t,v=u||p?l():f;if(p){var h=o(v);h?(i=r,v=h):(p=b,v=u?v:(s(v),f))}for(;++ai(v,m))&&((u||p)&&v.push(m),f.push(h))}return p?(s(v.b),g(v)):u&&s(v),f}function et(n,t,r,e){function u(){var e=arguments,c=o?this:t;return a||(n=t[i]),r.length&&(e=e.length?(e=Br.call(e),l?e.concat(r):r.concat(e)):r),this instanceof u?(c=it(n.prototype),e=n.apply(c,e),bt(e)?e:c):n.apply(c,e) -}var a=dt(n),o=!r,i=t;if(o){var l=e;r=t}else if(!a){if(!e)throw new rr;t=n}return u}function at(){var n=c(),t=x.o;n.g=G,n.b=n.c=n.f=n.h="",n.e="r",n.i=y,n.j=!!t;for(var r,e=0;r=arguments[e];e++)for(var u in r)n[u]=r[u];e=n.a,n.d=/^[^,]+/.exec(e)[0],r=Qt,e="return function("+e+"){",u="var m,r="+n.d+",C="+n.e+";if(!r)return C;"+n.h+";",n.b?(u+="var s=r.length;m=-1;if("+n.b+"){",$r.unindexedChars&&(u+="if(q(r)){r=r.split('')}"),u+="while(++mk;k++)u+="m='"+n.g[k]+"';if((!(p&&v[m])&&l.call(r,m))",n.i||(u+="||(!v[m]&&r[m]!==y[m])"),u+="){"+n.f+"}"; -u+="}"}return(n.b||$r.nonEnumArgs)&&(u+="}"),u+=n.c+";return C",r=r("i,j,l,indicatorObject,n,o,q,t,u,y,z,w,G,H,J",e+u+"}"),g(n),r(U,ur,hr,w,gt,Tr,Ct,t,_,ar,tt,Fr,Z,or,_r)}function it(n){return bt(n)?jr(n):{}}function lt(n){return Hr[n]}function ct(){var n=(n=_.indexOf)===$t?t:n;return n}function ft(n){return function(t,r,e,u){return typeof r!="boolean"&&r!=d&&(u=e,e=u&&u[r]===t?m:r,r=b),e!=d&&(e=_.createCallback(e,u)),n(t,r,e,u)}}function pt(n){var t,r;return!n||_r.call(n)!=X||(t=n.constructor,dt(t)&&!(t instanceof t))||!$r.argsClass&>(n)||!$r.nodeClass&&f(n)?b:$r.ownLast?(Ur(n,function(n,t,e){return r=hr.call(e,t),b -}),r!==false):(Ur(n,function(n,t){r=t}),r===m||hr.call(n,r))}function st(n){return Jr[n]}function gt(n){return n&&typeof n=="object"?_r.call(n)==H:b}function vt(n,t,r,e,u,a){var o=n;if(typeof t!="boolean"&&t!=d&&(e=r,r=t,t=b),typeof r=="function"){if(r=typeof e=="undefined"?r:_.createCallback(r,e,1),o=r(o),typeof o!="undefined")return o;o=n}if(e=bt(o)){var i=_r.call(o);if(!nt[i]||!$r.nodeClass&&f(o))return o;var c=Tr(o)}if(!e||!t)return e?c?v(o):Kr({},o):o;switch(e=zr[i],i){case K:case M:return new e(+o); -case Q:case Z:return new e(o);case Y:return e(o.source,$.exec(o))}i=!u,u||(u=l()),a||(a=l());for(var p=u.length;p--;)if(u[p]==n)return a[p];return o=c?e(o.length):{},c&&(hr.call(n,"index")&&(o.index=n.index),hr.call(n,"input")&&(o.input=n.input)),u.push(n),a.push(o),(c?Gr:Vr)(n,function(n,e){o[e]=vt(n,t,r,m,u,a)}),i&&(s(u),s(a)),o}function ht(n){var t=[];return Ur(n,function(n,r){dt(n)&&t.push(r)}),t.sort()}function mt(n){for(var t=-1,r=Lr(n),e=r.length,u={};++tr?Er(0,a+r):r)||0,a&&typeof a=="number"?o=-1<(Ct(n)?n.indexOf(t,r):u(n,t,r)):Gr(n,function(n){return++ea&&(a=i)}}else t=!t&&Ct(n)?u:_.createCallback(t,r),Gr(n,function(n,r,u){r=t(n,r,u),r>e&&(e=r,a=n)});return a}function Bt(n,t,r,e){var u=3>arguments.length;if(t=_.createCallback(t,e,4),Tr(n)){var a=-1,o=n.length;for(u&&(r=n[++a]);++aarguments.length;if(typeof a!="number")var i=Lr(n),a=i.length;else $r.unindexedChars&&Ct(n)&&(u=n.split(""));return t=_.createCallback(t,e,4),St(n,function(n,e,l){e=i?i[--a]:--a,r=o?(o=b,u[e]):t(r,u[e],e,l) -}),r}function Pt(n,t,r){var e;if(t=_.createCallback(t,r),Tr(n)){r=-1;for(var u=n.length;++r=E&&u===t;if(c){var f=o(i);f?(u=r,i=f):c=b}for(;++eu(i,f)&&l.push(f);return c&&g(i),l}function Ft(n,t,r){if(n){var e=0,u=n.length;if(typeof t!="number"&&t!=d){var a=-1;for(t=_.createCallback(t,r);++ae?Er(0,u+e):e||0}else if(e)return e=Dt(n,r),n[e]===r?e:-1;return n?t(n,r,e):-1}function qt(n,t,r){if(typeof t!="number"&&t!=d){var e=0,u=-1,a=n?n.length:0;for(t=_.createCallback(t,r);++u>>1,r(n[e])r?0:r);++tc&&(i=n.apply(l,o));else{var r=new Vt;!s&&!h&&(f=r);var e=p-(r-f);0/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:q,variable:"",imports:{_:_}};var qr={a:"x,F,k",h:"var a=arguments,b=0,c=typeof k=='number'?2:a.length;while(++b":">",'"':""","'":"'"},Jr=mt(Hr),Kr=at(qr,{h:qr.h.replace(";",";if(c>3&&typeof a[c-2]=='function'){var d=u.createCallback(a[--c-1],a[c--],2)}else if(c>2&&typeof a[c-1]=='function'){d=a[--c]}"),f:"C[m]=d?d(C[m],r[m]):r[m]"}),Mr=at(qr),Ur=at(Dr,Rr,{i:b}),Vr=at(Dr,Rr); -dt(/x/)&&(dt=function(n){return typeof n=="function"&&_r.call(n)==V});var Qr=vr?function(n){if(!n||_r.call(n)!=X||!$r.argsClass&>(n))return b;var t=n.valueOf,r=typeof t=="function"&&(r=vr(t))&&vr(r);return r?n==r||vr(n)==r:pt(n)}:pt,Xr=At,Yr=ft(S),Zr=ft(rt);Pr&&ut&&typeof dr=="function"&&(Gt=Wt(dr,e));var ne=8==Ar(A+"08")?Ar:function(n,t){return Ar(Ct(n)?n.replace(D,""):n,t||0)};return _.after=function(n,t){return function(){return 1>--n?t.apply(this,arguments):void 0}},_.assign=Kr,_.at=function(n){var t=-1,r=pr.apply(er,Br.call(arguments,1)),e=r.length,u=Mt(e); -for($r.unindexedChars&&Ct(n)&&(n=n.split(""));++t=E&&o(a?e[a]:h)}n:for(;++c(y?r(y,m):f(h,m))){for(a=u,(y||h).push(m);--a;)if(y=i[a],0>(y?r(y,m):f(e[a],m)))continue n;v.push(m)}}for(;u--;)(y=i[u])&&g(y);return s(i),s(h),v},_.invert=mt,_.invoke=function(n,t){var r=Br.call(arguments,2),e=-1,u=typeof t=="function",a=n?n.length:0,o=Mt(typeof a=="number"?a:0); -return St(n,function(n){o[++e]=(u?t:n[t]).apply(n,r)}),o},_.keys=Lr,_.map=At,_.max=It,_.memoize=function(n,t){function r(){var e=r.cache,u=O+(t?t.apply(this,arguments):arguments[0]);return hr.call(e,u)?e[u]:e[u]=n.apply(this,arguments)}return r.cache={},r},_.merge=jt,_.min=function(n,t,r){var e=1/0,a=e;if(!t&&Tr(n)){r=-1;for(var o=n.length;++re(o,r))&&(a[r]=n)}),a},_.once=function(n){var t,r;return function(){return t?r:(t=y,r=n.apply(this,arguments),n=d,r)}},_.pairs=function(n){for(var t=-1,r=Lr(n),e=r.length,u=Mt(e);++tr?Er(0,e+r):Sr(r,e-1))+1);e--;)if(n[e]===t)return e;return-1},_.mixin=Jt,_.noConflict=function(){return e._=ir,this},_.parseInt=ne,_.random=function(n,t){n==d&&t==d&&(t=1),n=+n||0,t==d?(t=n,n=0):t=+t||0;var r=Ir();return n%1||t%1?n+Sr(r*(t-n+parseFloat("1e-"+((r+"").length-1))),t):n+sr(r*(t-n+1))},_.reduce=Bt,_.reduceRight=Nt,_.result=function(n,t){var r=n?n[t]:m; -return dt(r)?n[t]():r},_.runInContext=h,_.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:Lr(n).length},_.some=Pt,_.sortedIndex=Dt,_.template=function(n,t,r){var e=_.templateSettings;n||(n=""),r=Mr({},r,e);var u,a=Mr({},r.imports,e.imports),e=Lr(a),a=wt(a),o=0,l=r.interpolate||R,c="__p+='",l=nr((r.escape||R).source+"|"+l.source+"|"+(l===q?F:R).source+"|"+(r.evaluate||R).source+"|$","g");n.replace(l,function(t,r,e,a,l,f){return e||(e=a),c+=n.slice(o,f).replace(W,i),r&&(c+="'+__e("+r+")+'"),l&&(u=y,c+="';"+l+";__p+='"),e&&(c+="'+((__t=("+e+"))==null?'':__t)+'"),o=f+t.length,t -}),c+="';\n",l=r=r.variable,l||(r="obj",c="with("+r+"){"+c+"}"),c=(u?c.replace(I,""):c).replace(B,"$1").replace(N,"$1;"),c="function("+r+"){"+(l?"":r+"||("+r+"={});")+"var __t,__p='',__e=_.escape"+(u?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+c+"return __p}";try{var f=Qt(e,"return "+c).apply(m,a)}catch(p){throw p.source=c,p}return t?f(t):(f.source=c,f)},_.unescape=function(n){return n==d?"":tr(n).replace(P,st)},_.uniqueId=function(n){var t=++j;return tr(n==d?"":n)+t -},_.all=xt,_.any=Pt,_.detect=Et,_.findWhere=Et,_.foldl=Bt,_.foldr=Nt,_.include=kt,_.inject=Bt,Vr(_,function(n,t){_.prototype[t]||(_.prototype[t]=function(){var t=[this.__wrapped__];return mr.apply(t,arguments),n.apply(_,t)})}),_.first=Ft,_.last=function(n,t,r){if(n){var e=0,u=n.length;if(typeof t!="number"&&t!=d){var a=u;for(t=_.createCallback(t,r);a--&&t(n[a],a,n);)e++}else if(e=t,e==d||r)return n[u-1];return v(n,Er(0,u-e))}},_.take=Ft,_.head=Ft,Vr(_,function(n,t){_.prototype[t]||(_.prototype[t]=function(t,r){var e=n(this.__wrapped__,t,r); -return t==d||r&&typeof t!="function"?e:new C(e)})}),_.VERSION="1.3.1",_.prototype.toString=function(){return tr(this.__wrapped__)},_.prototype.value=Kt,_.prototype.valueOf=Kt,Gr(["join","pop","shift"],function(n){var t=er[n];_.prototype[n]=function(){return t.apply(this.__wrapped__,arguments)}}),Gr(["push","reverse","sort","unshift"],function(n){var t=er[n];_.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),Gr(["concat","slice","splice"],function(n){var t=er[n];_.prototype[n]=function(){return new C(t.apply(this.__wrapped__,arguments)) -}}),$r.spliceObjects||Gr(["pop","shift","splice"],function(n){var t=er[n],r="splice"==n;_.prototype[n]=function(){var n=this.__wrapped__,e=t.apply(n,arguments);return 0===n.length&&delete n[0],r?new C(e):e}}),_}var m,y=!0,d=null,b=!1,_=[],C=[],j=0,w={},x={},O=+new Date+"",E=75,S=40,A=" \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",I=/\b__p\+='';/g,B=/\b(__p\+=)''\+/g,N=/(__e\(.*?\)|\b__t\))\+'';/g,P=/&(?:amp|lt|gt|quot|#39);/g,z=/[&<>"']/g,F=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,$=/\w*$/,q=/<%=([\s\S]+?)%>/g,D=RegExp("^["+A+"]*0+(?=.$)"),R=/($^)/,T=(T=/\bthis\b/)&&T.test(h)&&T,W=/['\n\r\t\u2028\u2029\\]/g,L="Array Boolean Date Error Function Math Number Object RegExp String _ attachEvent clearTimeout isFinite isNaN parseInt setImmediate setTimeout".split(" "),G="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),H="[object Arguments]",J="[object Array]",K="[object Boolean]",M="[object Date]",U="[object Error]",V="[object Function]",Q="[object Number]",X="[object Object]",Y="[object RegExp]",Z="[object String]",nt={}; -nt[V]=b,nt[H]=nt[J]=nt[K]=nt[M]=nt[Q]=nt[X]=nt[Y]=nt[Z]=y;var tt={"boolean":b,"function":y,object:y,number:b,string:b,undefined:b},rt={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},et=tt[typeof exports]&&exports,ut=tt[typeof module]&&module&&module.exports==et&&module,at=tt[typeof global]&&global;!at||at.global!==at&&at.window!==at||(n=at);var ot=h();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(n._=ot, define(function(){return ot})):et&&!et.nodeType?ut?(ut.exports=ot)._=ot:et._=ot:n._=ot +;!function(n){function t(n,t,r){r=(r||0)-1;for(var e=n.length;++rt||typeof n=="undefined")return 1;if(nr?0:r);++e=E&&i===t,v=u||p?l():f;if(p){var h=o(v);h?(i=r,v=h):(p=b,v=u?v:(s(v),f))}for(;++ai(v,y))&&((u||p)&&v.push(y),f.push(h))}return p?(s(v.b),g(v)):u&&s(v),f}function tt(n,t,r,e){function u(){var e=arguments,c=o?this:t;return a||(n=t[i]),r.length&&(e=e.length?(e=Ar.call(e),l?e.concat(r):r.concat(e)):r),this instanceof u?(c=at(n.prototype),e=n.apply(c,e),mt(e)?e:c):n.apply(c,e) +}var a=yt(n),o=!r,i=t;if(o){var l=e;r=t}else if(!a){if(!e)throw new nr;t=n}return u}function et(){var n=c(),t=x.o;n.g=W,n.b=n.c=n.f=n.h="",n.e="r",n.i=m,n.j=!!t;for(var r,e=0;r=arguments[e];e++)for(var u in r)n[u]=r[u];e=n.a,n.d=/^[^,]+/.exec(e)[0],r=Ut,e="return function("+e+"){",u="var m,r="+n.d+",C="+n.e+";if(!r)return C;"+n.h+";",n.b?(u+="var s=r.length;m=-1;if("+n.b+"){",zr.unindexedChars&&(u+="if(q(r)){r=r.split('')}"),u+="while(++mk;k++)u+="m='"+n.g[k]+"';if((!(p&&v[m])&&l.call(r,m))",n.i||(u+="||(!v[m]&&r[m]!==y[m])"),u+="){"+n.f+"}"; +u+="}"}return(n.b||zr.nonEnumArgs)&&(u+="}"),u+=n.c+";return C",r=r("i,j,l,indicatorObject,n,o,q,t,u,y,z,w,G,H,J",e+u+"}"),g(n),r(K,rr,gr,w,pt,Rr,bt,t,_,er,Z,Pr,X,ur,dr)}function at(n){return mt(n)?_r(n):{}}function ot(n){return Lr[n]}function it(){var n=(n=_.indexOf)===zt?t:n;return n}function lt(n){return function(t,r,e,u){return typeof r!="boolean"&&r!=d&&(u=e,e=u&&u[r]===t?y:r,r=b),e!=d&&(e=_.createCallback(e,u)),n(t,r,e,u)}}function ct(n){var t,r;return!n||dr.call(n)!=V||(t=n.constructor,yt(t)&&!(t instanceof t))||!zr.argsClass&&pt(n)||!zr.nodeClass&&f(n)?b:zr.ownLast?(Ur(n,function(n,t,e){return r=gr.call(e,t),b +}),r!==false):(Ur(n,function(n,t){r=t}),r===y||gr.call(n,r))}function ft(n){return Gr[n]}function pt(n){return n&&typeof n=="object"?dr.call(n)==L:b}function st(n,t,r,e,u,a){var o=n;if(typeof t!="boolean"&&t!=d&&(e=r,r=t,t=b),typeof r=="function"){if(r=typeof e=="undefined"?r:_.createCallback(r,e,1),o=r(o),typeof o!="undefined")return o;o=n}if(e=mt(o)){var i=dr.call(o);if(!Y[i]||!zr.nodeClass&&f(o))return o;var c=Rr(o)}if(!e||!t)return e?c?v(o):Kr({},o):o;switch(e=Nr[i],i){case H:case J:return new e(+o); +case U:case X:return new e(o);case Q:return e(o.source,z.exec(o))}i=!u,u||(u=l()),a||(a=l());for(var p=u.length;p--;)if(u[p]==n)return a[p];return o=c?e(o.length):{},c&&(gr.call(n,"index")&&(o.index=n.index),gr.call(n,"input")&&(o.input=n.input)),u.push(n),a.push(o),(c?Wr:Vr)(n,function(n,e){o[e]=st(n,t,r,y,u,a)}),i&&(s(u),s(a)),o}function gt(n){var t=[];return Ur(n,function(n,r){yt(n)&&t.push(r)}),t.sort()}function vt(n){for(var t=-1,r=Tr(n),e=r.length,u={};++tr?xr(0,a+r):r)||0,a&&typeof a=="number"?o=-1<(bt(n)?n.indexOf(t,r):u(n,t,r)):Wr(n,function(n){return++ea&&(a=i)}}else t=!t&&bt(n)?u:_.createCallback(t,r),Wr(n,function(n,r,u){r=t(n,r,u),r>e&&(e=r,a=n)});return a}function At(n,t,r,e){var u=3>arguments.length;if(t=_.createCallback(t,e,4),Rr(n)){var a=-1,o=n.length;for(u&&(r=n[++a]);++aarguments.length;if(typeof a!="number")var i=Tr(n),a=i.length;else zr.unindexedChars&&bt(n)&&(u=n.split(""));return t=_.createCallback(t,e,4),Ot(n,function(n,e,l){e=i?i[--a]:--a,r=o?(o=b,u[e]):t(r,u[e],e,l) +}),r}function Bt(n,t,r){var e;if(t=_.createCallback(t,r),Rr(n)){r=-1;for(var u=n.length;++r=E&&u===t;if(c){var f=o(i);f?(u=r,i=f):c=b}for(;++eu(i,f)&&l.push(f);return c&&g(i),l}function Pt(n,t,r){if(n){var e=0,u=n.length;if(typeof t!="number"&&t!=d){var a=-1;for(t=_.createCallback(t,r);++ae?xr(0,u+e):e||0}else if(e)return e=$t(n,r),n[e]===r?e:-1;return n?t(n,r,e):-1}function Ft(n,t,r){if(typeof t!="number"&&t!=d){var e=0,u=-1,a=n?n.length:0;for(t=_.createCallback(t,r);++u>>1,r(n[e])r?0:r);++tc&&(i=n.apply(l,o));else{var r=new Mt;!s&&!h&&(f=r);var e=p-(r-f);0/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:F,variable:"",imports:{_:_}};var Fr={a:"x,F,k",h:"var a=arguments,b=0,c=typeof k=='number'?2:a.length;while(++b":">",'"':""","'":"'"},Gr=vt(Lr),Hr=Yt("("+Tr(Gr).join("|")+")","g"),Jr=Yt("["+Tr(Lr).join("")+"]","g"),Kr=et(Fr,{h:Fr.h.replace(";",";if(c>3&&typeof a[c-2]=='function'){var d=u.createCallback(a[--c-1],a[c--],2)}else if(c>2&&typeof a[c-1]=='function'){d=a[--c]}"),f:"C[m]=d?d(C[m],r[m]):r[m]"}),Mr=et(Fr),Ur=et($r,Dr,{i:b}),Vr=et($r,Dr); +yt(/x/)&&(yt=function(n){return typeof n=="function"&&dr.call(n)==M});var Qr=sr?function(n){if(!n||dr.call(n)!=V||!zr.argsClass&&pt(n))return b;var t=n.valueOf,r=typeof t=="function"&&(r=sr(t))&&sr(r);return r?n==r||sr(n)==r:ct(n)}:ct,Xr=Et,Yr=lt(S),Zr=lt(nt);Br&&rt&&typeof yr=="function"&&(Wt=qt(yr,e));var ne=8==Er(A+"08")?Er:function(n,t){return Er(bt(n)?n.replace($,""):n,t||0)};return _.after=function(n,t){return function(){return 1>--n?t.apply(this,arguments):void 0}},_.assign=Kr,_.at=function(n){var t=-1,r=cr.apply(tr,Ar.call(arguments,1)),e=r.length,u=Jt(e); +for(zr.unindexedChars&&bt(n)&&(n=n.split(""));++t=E&&o(a?e[a]:h)}n:for(;++c(m?r(m,y):f(h,y))){for(a=u,(m||h).push(y);--a;)if(m=i[a],0>(m?r(m,y):f(e[a],y)))continue n;v.push(y)}}for(;u--;)(m=i[u])&&g(m);return s(i),s(h),v},_.invert=vt,_.invoke=function(n,t){var r=Ar.call(arguments,2),e=-1,u=typeof t=="function",a=n?n.length:0,o=Jt(typeof a=="number"?a:0); +return Ot(n,function(n){o[++e]=(u?t:n[t]).apply(n,r)}),o},_.keys=Tr,_.map=Et,_.max=St,_.memoize=function(n,t){function r(){var e=r.cache,u=O+(t?t.apply(this,arguments):arguments[0]);return gr.call(e,u)?e[u]:e[u]=n.apply(this,arguments)}return r.cache={},r},_.merge=_t,_.min=function(n,t,r){var e=1/0,a=e;if(!t&&Rr(n)){r=-1;for(var o=n.length;++re(o,r))&&(a[r]=n)}),a},_.once=function(n){var t,r;return function(){return t?r:(t=m,r=n.apply(this,arguments),n=d,r)}},_.pairs=function(n){for(var t=-1,r=Tr(n),e=r.length,u=Jt(e);++tr?xr(0,e+r):Or(r,e-1))+1);e--;)if(n[e]===t)return e;return-1},_.mixin=Gt,_.noConflict=function(){return e._=ar,this},_.parseInt=ne,_.random=function(n,t){n==d&&t==d&&(t=1),n=+n||0,t==d?(t=n,n=0):t=+t||0;var r=Sr();return n%1||t%1?n+Or(r*(t-n+parseFloat("1e-"+((r+"").length-1))),t):n+fr(r*(t-n+1))},_.reduce=At,_.reduceRight=It,_.result=function(n,t){var r=n?n[t]:y; +return yt(r)?n[t]():r},_.runInContext=h,_.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:Tr(n).length},_.some=Bt,_.sortedIndex=$t,_.template=function(n,t,r){var e=_.templateSettings;n||(n=""),r=Mr({},r,e);var u,a=Mr({},r.imports,e.imports),e=Tr(a),a=jt(a),o=0,l=r.interpolate||D,c="__p+='",l=Yt((r.escape||D).source+"|"+l.source+"|"+(l===F?P:D).source+"|"+(r.evaluate||D).source+"|$","g");n.replace(l,function(t,r,e,a,l,f){return e||(e=a),c+=n.slice(o,f).replace(q,i),r&&(c+="'+__e("+r+")+'"),l&&(u=m,c+="';"+l+";__p+='"),e&&(c+="'+((__t=("+e+"))==null?'':__t)+'"),o=f+t.length,t +}),c+="';\n",l=r=r.variable,l||(r="obj",c="with("+r+"){"+c+"}"),c=(u?c.replace(I,""):c).replace(B,"$1").replace(N,"$1;"),c="function("+r+"){"+(l?"":r+"||("+r+"={});")+"var __t,__p='',__e=_.escape"+(u?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+c+"return __p}";try{var f=Ut(e,"return "+c).apply(y,a)}catch(p){throw p.source=c,p}return t?f(t):(f.source=c,f)},_.unescape=function(n){return n==d?"":Zt(n).replace(Hr,ft)},_.uniqueId=function(n){var t=++C;return Zt(n==d?"":n)+t +},_.all=wt,_.any=Bt,_.detect=xt,_.findWhere=xt,_.foldl=At,_.foldr=It,_.include=Ct,_.inject=At,Vr(_,function(n,t){_.prototype[t]||(_.prototype[t]=function(){var t=[this.__wrapped__];return vr.apply(t,arguments),n.apply(_,t)})}),_.first=Pt,_.last=function(n,t,r){if(n){var e=0,u=n.length;if(typeof t!="number"&&t!=d){var a=u;for(t=_.createCallback(t,r);a--&&t(n[a],a,n);)e++}else if(e=t,e==d||r)return n[u-1];return v(n,xr(0,u-e))}},_.take=Pt,_.head=Pt,Vr(_,function(n,t){_.prototype[t]||(_.prototype[t]=function(t,r){var e=n(this.__wrapped__,t,r); +return t==d||r&&typeof t!="function"?e:new j(e)})}),_.VERSION="1.3.1",_.prototype.toString=function(){return Zt(this.__wrapped__)},_.prototype.value=Ht,_.prototype.valueOf=Ht,Wr(["join","pop","shift"],function(n){var t=tr[n];_.prototype[n]=function(){return t.apply(this.__wrapped__,arguments)}}),Wr(["push","reverse","sort","unshift"],function(n){var t=tr[n];_.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),Wr(["concat","slice","splice"],function(n){var t=tr[n];_.prototype[n]=function(){return new j(t.apply(this.__wrapped__,arguments)) +}}),zr.spliceObjects||Wr(["pop","shift","splice"],function(n){var t=tr[n],r="splice"==n;_.prototype[n]=function(){var n=this.__wrapped__,e=t.apply(n,arguments);return 0===n.length&&delete n[0],r?new j(e):e}}),_}var y,m=!0,d=null,b=!1,_=[],j=[],C=0,w={},x={},O=+new Date+"",E=75,S=40,A=" \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",I=/\b__p\+='';/g,B=/\b(__p\+=)''\+/g,N=/(__e\(.*?\)|\b__t\))\+'';/g,P=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,z=/\w*$/,F=/<%=([\s\S]+?)%>/g,$=RegExp("^["+A+"]*0+(?=.$)"),D=/($^)/,R=(R=/\bthis\b/)&&R.test(h)&&R,q=/['\n\r\t\u2028\u2029\\]/g,T="Array Boolean Date Error Function Math Number Object RegExp String _ attachEvent clearTimeout isFinite isNaN parseInt setImmediate setTimeout".split(" "),W="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),L="[object Arguments]",G="[object Array]",H="[object Boolean]",J="[object Date]",K="[object Error]",M="[object Function]",U="[object Number]",V="[object Object]",Q="[object RegExp]",X="[object String]",Y={}; +Y[M]=b,Y[L]=Y[G]=Y[H]=Y[J]=Y[U]=Y[V]=Y[Q]=Y[X]=m;var Z={"boolean":b,"function":m,object:m,number:b,string:b,undefined:b},nt={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},tt=Z[typeof exports]&&exports,rt=Z[typeof module]&&module&&module.exports==tt&&module,et=Z[typeof global]&&global;!et||et.global!==et&&et.window!==et||(n=et);var ut=h();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(n._=ut, define(function(){return ut})):tt&&!tt.nodeType?rt?(rt.exports=ut)._=ut:tt._=ut:n._=ut }(this); \ No newline at end of file diff --git a/dist/lodash.js b/dist/lodash.js index 2c0be0368..d6d054d17 100644 --- a/dist/lodash.js +++ b/dist/lodash.js @@ -51,10 +51,6 @@ reEmptyStringMiddle = /\b(__p \+=) '' \+/g, reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g; - /** Used to match HTML entities and HTML characters */ - var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g, - reUnescapedHtml = /[&<>"']/g; - /** * Used to match ES6 template delimiters * http://people.mozilla.org/~jorendorff/es6-draft.html#sec-7.8.6 @@ -998,6 +994,10 @@ /** Used to convert HTML entities to characters */ var htmlUnescapes = invert(htmlEscapes); + /** Used to match HTML entities and HTML characters */ + var reEscapedHtml = RegExp('(' + keys(htmlUnescapes).join('|') + ')', 'g'), + reUnescapedHtml = RegExp('[' + keys(htmlEscapes).join('') + ']', 'g'); + /*--------------------------------------------------------------------------*/ /** diff --git a/dist/lodash.min.js b/dist/lodash.min.js index 8b74406a7..2f37b0f6b 100644 --- a/dist/lodash.min.js +++ b/dist/lodash.min.js @@ -5,44 +5,44 @@ * Underscore.js 1.4.4 underscorejs.org/LICENSE */ ;!function(n){function t(n,t,e){e=(e||0)-1;for(var r=n.length;++et||typeof n=="undefined")return 1;if(ne?0:e);++r=C&&i===t,g=u||v?f():s;if(v){var y=o(g);y?(i=e,g=y):(v=b,g=u?g:(l(g),s))}for(;++ai(g,h))&&((u||v)&&g.push(h),s.push(y))}return v?(l(g.b),p(g)):u&&l(g),s}function ot(n,t,e,r){function u(){var r=arguments,c=o?this:t; -return a||(n=t[i]),e.length&&(r=r.length?(r=Se.call(r),f?r.concat(e):e.concat(r)):e),this instanceof u?(c=mt(n.prototype)?de(n.prototype):{},r=n.apply(c,r),mt(r)?r:c):n.apply(c,r)}var a=bt(n),o=!e,i=t;if(o){var f=r;e=t}else if(!a){if(!r)throw new ee;t=n}return u}function it(n){return Be[n]}function ft(){var n=(n=et.indexOf)===Tt?t:n;return n}function ct(n){return function(t,e,r,u){return typeof e!="boolean"&&e!=h&&(u=r,r=u&&u[e]===t?g:e,e=b),r!=h&&(r=et.createCallback(r,u)),n(t,e,r,u)}}function lt(n){var t,e; -return n&&be.call(n)==G&&(t=n.constructor,!bt(t)||t instanceof t)?(x(n,function(n,t){e=t}),e===g||ve.call(n,e)):b}function pt(n){return Fe[n]}function st(n){return n&&typeof n=="object"?be.call(n)==W:b}function vt(n,t,e,r,u,a){var o=n;if(typeof t!="boolean"&&t!=h&&(r=e,e=t,t=b),typeof e=="function"){if(e=typeof r=="undefined"?e:et.createCallback(e,r,1),o=e(o),typeof o!="undefined")return o;o=n}if(r=mt(o)){var i=be.call(o);if(!L[i])return o;var c=Ne(o)}if(!r||!t)return r?c?s(o):Y({},o):o;switch(r=Ae[i],i){case K:case M:return new r(+o); -case V:case J:return new r(o);case H:return r(o.source,B.exec(o))}i=!u,u||(u=f()),a||(a=f());for(var p=u.length;p--;)if(u[p]==n)return a[p];return o=c?r(o.length):{},c&&(ve.call(n,"index")&&(o.index=n.index),ve.call(n,"input")&&(o.input=n.input)),u.push(n),a.push(o),(c?Et:d)(n,function(n,r){o[r]=vt(n,t,e,g,u,a)}),i&&(l(u),l(a)),o}function gt(n){var t=[];return x(n,function(n,e){bt(n)&&t.push(e)}),t.sort()}function yt(n){for(var t=-1,e=$e(n),r=e.length,u={};++te?Ce(0,a+e):e)||0,a&&typeof a=="number"?o=-1<(_t(n)?n.indexOf(t,e):u(n,t,e)):d(n,function(n){return++ra&&(a=i) -}}else t=!t&&_t(n)?u:et.createCallback(t,e),Et(n,function(n,e,u){e=t(n,e,u),e>r&&(r=e,a=n)});return a}function It(n,t){var e=-1,r=n?n.length:0;if(typeof r=="number")for(var u=Ht(r);++earguments.length;t=et.createCallback(t,r,4);var a=-1,o=n.length;if(typeof o=="number")for(u&&(e=n[++a]);++aarguments.length; -if(typeof u!="number")var o=$e(n),u=o.length;return t=et.createCallback(t,r,4),Et(n,function(r,i,f){i=o?o[--u]:--u,e=a?(a=b,n[i]):t(e,n[i],i,f)}),e}function Bt(n,t,e){var r;t=et.createCallback(t,e),e=-1;var u=n?n.length:0;if(typeof u=="number")for(;++e=C&&u===t;if(c){var l=o(i);l?(u=e,i=l):c=b}for(;++ru(i,l)&&f.push(l); -return c&&p(i),f}function Rt(n,t,e){if(n){var r=0,u=n.length;if(typeof t!="number"&&t!=h){var a=-1;for(t=et.createCallback(t,e);++ar?Ce(0,u+r):r||0}else if(r)return r=Dt(n,e),n[r]===e?r:-1;return n?t(n,e,r):-1}function qt(n,t,e){if(typeof t!="number"&&t!=h){var r=0,u=-1,a=n?n.length:0;for(t=et.createCallback(t,e);++u>>1,e(n[r])e?0:e);++tc&&(i=n.apply(f,o));else{var e=new Lt;!s&&!m&&(l=e);var r=p-(e-l);0/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:F,variable:"",imports:{_:et}};var Ne=_e,$e=j.o=we?function(n){return mt(n)?we(n):[]}:nt,Be={"&":"&","<":"<",">":">",'"':""","'":"'"},Fe=yt(Be),Jt=ct(ut),Yt=ct(at);return Xt&&Z&&typeof ye=="function"&&(Mt=Pt(ye,r)),ye=8==Oe(O+"08")?Oe:function(n,t){return Oe(_t(n)?n.replace(R,""):n,t||0) -},et.after=function(n,t){return function(){return 1>--n?t.apply(this,arguments):void 0}},et.assign=Y,et.at=function(n){for(var t=-1,e=ce.apply(re,Se.call(arguments,1)),r=e.length,u=Ht(r);++t=C&&o(a?r[a]:y)}n:for(;++c(b?e(b,h):s(y,h))){for(a=u,(b||y).push(h);--a;)if(b=i[a],0>(b?e(b,h):s(r[a],h)))continue n; -g.push(h)}}for(;u--;)(b=i[u])&&p(b);return l(i),l(y),g},et.invert=yt,et.invoke=function(n,t){var e=Se.call(arguments,2),r=-1,u=typeof t=="function",a=n?n.length:0,o=Ht(typeof a=="number"?a:0);return Et(n,function(n){o[++r]=(u?t:n[t]).apply(n,e)}),o},et.keys=$e,et.map=St,et.max=At,et.memoize=function(n,t){function e(){var r=e.cache,u=w+(t?t.apply(this,arguments):arguments[0]);return ve.call(r,u)?r[u]:r[u]=n.apply(this,arguments)}return e.cache={},e},et.merge=kt,et.min=function(n,t,e){var r=1/0,a=r; -if(!t&&Ne(n)){e=-1;for(var o=n.length;++er(o,e))&&(a[e]=n)}),a},et.once=function(n){var t,e;return function(){return t?e:(t=y,e=n.apply(this,arguments),n=h,e)}},et.pairs=function(n){for(var t=-1,e=$e(n),r=e.length,u=Ht(r);++te?Ce(0,r+e):xe(e,r-1))+1);r--;)if(n[r]===t)return r;return-1},et.mixin=Vt,et.noConflict=function(){return r._=ae,this},et.parseInt=ye,et.random=function(n,t){n==h&&t==h&&(t=1),n=+n||0,t==h?(t=n,n=0):t=+t||0;var e=Ee();return n%1||t%1?n+xe(e*(t-n+parseFloat("1e-"+((e+"").length-1))),t):n+le(e*(t-n+1))},et.reduce=Nt,et.reduceRight=$t,et.result=function(n,t){var e=n?n[t]:g; -return bt(e)?n[t]():e},et.runInContext=v,et.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:$e(n).length},et.some=Bt,et.sortedIndex=Dt,et.template=function(n,t,e){var r=et.templateSettings;n||(n=""),e=X({},e,r);var u,a=X({},e.imports,r.imports),r=$e(a),a=jt(a),o=0,f=e.interpolate||T,c="__p+='",f=ne((e.escape||T).source+"|"+f.source+"|"+(f===F?$:T).source+"|"+(e.evaluate||T).source+"|$","g");n.replace(f,function(t,e,r,a,f,l){return r||(r=a),c+=n.slice(o,l).replace(D,i),e&&(c+="'+__e("+e+")+'"),f&&(u=y,c+="';"+f+";__p+='"),r&&(c+="'+((__t=("+r+"))==null?'':__t)+'"),o=l+t.length,t -}),c+="';\n",f=e=e.variable,f||(e="obj",c="with("+e+"){"+c+"}"),c=(u?c.replace(E,""):c).replace(S,"$1").replace(A,"$1;"),c="function("+e+"){"+(f?"":e+"||("+e+"={});")+"var __t,__p='',__e=_.escape"+(u?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+c+"return __p}";try{var l=Qt(r,"return "+c).apply(g,a)}catch(p){throw p.source=c,p}return t?l(t):(l.source=c,l)},et.unescape=function(n){return n==h?"":te(n).replace(I,pt)},et.uniqueId=function(n){var t=++_;return te(n==h?"":n)+t -},et.all=Ct,et.any=Bt,et.detect=Ot,et.findWhere=Ot,et.foldl=Nt,et.foldr=$t,et.include=wt,et.inject=Nt,d(et,function(n,t){et.prototype[t]||(et.prototype[t]=function(){var t=[this.__wrapped__];return ge.apply(t,arguments),n.apply(et,t)})}),et.first=Rt,et.last=function(n,t,e){if(n){var r=0,u=n.length;if(typeof t!="number"&&t!=h){var a=u;for(t=et.createCallback(t,e);a--&&t(n[a],a,n);)r++}else if(r=t,r==h||e)return n[u-1];return s(n,Ce(0,u-r))}},et.take=Rt,et.head=Rt,d(et,function(n,t){et.prototype[t]||(et.prototype[t]=function(t,e){var r=n(this.__wrapped__,t,e); -return t==h||e&&typeof t!="function"?r:new rt(r)})}),et.VERSION="1.3.1",et.prototype.toString=function(){return te(this.__wrapped__)},et.prototype.value=Gt,et.prototype.valueOf=Gt,Et(["join","pop","shift"],function(n){var t=re[n];et.prototype[n]=function(){return t.apply(this.__wrapped__,arguments)}}),Et(["push","reverse","sort","unshift"],function(n){var t=re[n];et.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),Et(["concat","slice","splice"],function(n){var t=re[n];et.prototype[n]=function(){return new rt(t.apply(this.__wrapped__,arguments)) -}}),et}var g,y=!0,h=null,b=!1,m=[],d=[],_=0,k={},j={},w=+new Date+"",C=75,x=40,O=" \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",E=/\b__p\+='';/g,S=/\b(__p\+=)''\+/g,A=/(__e\(.*?\)|\b__t\))\+'';/g,I=/&(?:amp|lt|gt|quot|#39);/g,N=/[&<>"']/g,$=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,B=/\w*$/,F=/<%=([\s\S]+?)%>/g,R=RegExp("^["+O+"]*0+(?=.$)"),T=/($^)/,q=(q=/\bthis\b/)&&q.test(v)&&q,D=/['\n\r\t\u2028\u2029\\]/g,z="Array Boolean Date Function Math Number Object RegExp String _ attachEvent clearTimeout isFinite isNaN parseInt setImmediate setTimeout".split(" "),W="[object Arguments]",P="[object Array]",K="[object Boolean]",M="[object Date]",U="[object Function]",V="[object Number]",G="[object Object]",H="[object RegExp]",J="[object String]",L={}; -L[U]=b,L[W]=L[P]=L[K]=L[M]=L[V]=L[G]=L[H]=L[J]=y;var Q={"boolean":b,"function":y,object:y,number:b,string:b,undefined:b},X={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},Y=Q[typeof exports]&&exports,Z=Q[typeof module]&&module&&module.exports==Y&&module,nt=Q[typeof global]&&global;!nt||nt.global!==nt&&nt.window!==nt||(n=nt);var tt=v();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(n._=tt, define(function(){return tt})):Y&&!Y.nodeType?Z?(Z.exports=tt)._=tt:Y._=tt:n._=tt +}function a(n,t){var e=n.m,r=t.m;if(n=n.l,t=t.l,n!==t){if(n>t||typeof n=="undefined")return 1;if(ne?0:e);++r=C&&i===t,g=u||v?f():s;if(v){var y=o(g);y?(i=e,g=y):(v=b,g=u?g:(l(g),s))}for(;++ai(g,h))&&((u||v)&&g.push(h),s.push(y))}return v?(l(g.b),p(g)):u&&l(g),s}function ut(n,t,e,r){function u(){var r=arguments,c=o?this:t; +return a||(n=t[i]),e.length&&(r=r.length?(r=Oe.call(r),f?r.concat(e):e.concat(r)):e),this instanceof u?(c=ht(n.prototype)?be(n.prototype):{},r=n.apply(c,r),ht(r)?r:c):n.apply(c,r)}var a=yt(n),o=!e,i=t;if(o){var f=r;e=t}else if(!a){if(!r)throw new ne;t=n}return u}function at(n){return Be[n]}function ot(){var n=(n=nt.indexOf)===Ft?t:n;return n}function it(n){return function(t,e,r,u){return typeof e!="boolean"&&e!=h&&(u=r,r=u&&u[e]===t?g:e,e=b),r!=h&&(r=nt.createCallback(r,u)),n(t,e,r,u)}}function ft(n){var t,e; +return n&&ye.call(n)==U&&(t=n.constructor,!yt(t)||t instanceof t)?(x(n,function(n,t){e=t}),e===g||pe.call(n,e)):b}function ct(n){return Fe[n]}function lt(n){return n&&typeof n=="object"?ye.call(n)==q:b}function pt(n,t,e,r,u,a){var o=n;if(typeof t!="boolean"&&t!=h&&(r=e,e=t,t=b),typeof e=="function"){if(e=typeof r=="undefined"?e:nt.createCallback(e,r,1),o=e(o),typeof o!="undefined")return o;o=n}if(r=ht(o)){var i=ye.call(o);if(!H[i])return o;var c=Ne(o)}if(!r||!t)return r?c?s(o):Q({},o):o;switch(r=Ae[i],i){case W:case P:return new r(+o); +case M:case G:return new r(o);case V:return r(o.source,N.exec(o))}i=!u,u||(u=f()),a||(a=f());for(var p=u.length;p--;)if(u[p]==n)return a[p];return o=c?r(o.length):{},c&&(pe.call(n,"index")&&(o.index=n.index),pe.call(n,"input")&&(o.input=n.input)),u.push(n),a.push(o),(c?xt:d)(n,function(n,r){o[r]=pt(n,t,e,g,u,a)}),i&&(l(u),l(a)),o}function st(n){var t=[];return x(n,function(n,e){yt(n)&&t.push(e)}),t.sort()}function vt(n){for(var t=-1,e=$e(n),r=e.length,u={};++te?je(0,a+e):e)||0,a&&typeof a=="number"?o=-1<(mt(n)?n.indexOf(t,e):u(n,t,e)):d(n,function(n){return++ra&&(a=i) +}}else t=!t&&mt(n)?u:nt.createCallback(t,e),xt(n,function(n,e,u){e=t(n,e,u),e>r&&(r=e,a=n)});return a}function St(n,t){var e=-1,r=n?n.length:0;if(typeof r=="number")for(var u=Vt(r);++earguments.length;t=nt.createCallback(t,r,4);var a=-1,o=n.length;if(typeof o=="number")for(u&&(e=n[++a]);++aarguments.length; +if(typeof u!="number")var o=$e(n),u=o.length;return t=nt.createCallback(t,r,4),xt(n,function(r,i,f){i=o?o[--u]:--u,e=a?(a=b,n[i]):t(e,n[i],i,f)}),e}function Nt(n,t,e){var r;t=nt.createCallback(t,e),e=-1;var u=n?n.length:0;if(typeof u=="number")for(;++e=C&&u===t;if(c){var l=o(i);l?(u=e,i=l):c=b}for(;++ru(i,l)&&f.push(l); +return c&&p(i),f}function Bt(n,t,e){if(n){var r=0,u=n.length;if(typeof t!="number"&&t!=h){var a=-1;for(t=nt.createCallback(t,e);++ar?je(0,u+r):r||0}else if(r)return r=Tt(n,e),n[r]===e?r:-1;return n?t(n,e,r):-1}function Rt(n,t,e){if(typeof t!="number"&&t!=h){var r=0,u=-1,a=n?n.length:0;for(t=nt.createCallback(t,e);++u>>1,e(n[r])e?0:e);++tc&&(i=n.apply(f,o));else{var e=new Ht;!s&&!m&&(l=e);var r=p-(e-l);0/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:$,variable:"",imports:{_:nt}};var Ne=me,$e=j.o=ke?function(n){return ht(n)?ke(n):[]}:Y,Be={"&":"&","<":"<",">":">",'"':""","'":"'"},Fe=vt(Be),Re=Yt("("+$e(Fe).join("|")+")","g"),Te=Yt("["+$e(Be).join("")+"]","g"),De=it(et),qe=it(rt);Se&&X&&typeof ve=="function"&&(Pt=zt(ve,r)); +var ze=8==Ce(O+"08")?Ce:function(n,t){return Ce(mt(n)?n.replace(B,""):n,t||0)};return nt.after=function(n,t){return function(){return 1>--n?t.apply(this,arguments):void 0}},nt.assign=Q,nt.at=function(n){for(var t=-1,e=ie.apply(te,Oe.call(arguments,1)),r=e.length,u=Vt(r);++t=C&&o(a?r[a]:y)}n:for(;++c(b?e(b,h):s(y,h))){for(a=u,(b||y).push(h);--a;)if(b=i[a],0>(b?e(b,h):s(r[a],h)))continue n;g.push(h)}}for(;u--;)(b=i[u])&&p(b);return l(i),l(y),g},nt.invert=vt,nt.invoke=function(n,t){var e=Oe.call(arguments,2),r=-1,u=typeof t=="function",a=n?n.length:0,o=Vt(typeof a=="number"?a:0);return xt(n,function(n){o[++r]=(u?t:n[t]).apply(n,e)}),o},nt.keys=$e,nt.map=Ot,nt.max=Et,nt.memoize=function(n,t){function e(){var r=e.cache,u=w+(t?t.apply(this,arguments):arguments[0]);return pe.call(r,u)?r[u]:r[u]=n.apply(this,arguments) +}return e.cache={},e},nt.merge=dt,nt.min=function(n,t,e){var r=1/0,a=r;if(!t&&Ne(n)){e=-1;for(var o=n.length;++er(o,e))&&(a[e]=n)}),a},nt.once=function(n){var t,e;return function(){return t?e:(t=y,e=n.apply(this,arguments),n=h,e) +}},nt.pairs=function(n){for(var t=-1,e=$e(n),r=e.length,u=Vt(r);++te?je(0,r+e):we(e,r-1))+1);r--;)if(n[r]===t)return r;return-1},nt.mixin=Mt,nt.noConflict=function(){return r._=re,this},nt.parseInt=ze,nt.random=function(n,t){n==h&&t==h&&(t=1),n=+n||0,t==h?(t=n,n=0):t=+t||0;var e=xe();return n%1||t%1?n+we(e*(t-n+parseFloat("1e-"+((e+"").length-1))),t):n+fe(e*(t-n+1))},nt.reduce=At,nt.reduceRight=It,nt.result=function(n,t){var e=n?n[t]:g; +return yt(e)?n[t]():e},nt.runInContext=v,nt.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:$e(n).length},nt.some=Nt,nt.sortedIndex=Tt,nt.template=function(n,t,e){var r=nt.templateSettings;n||(n=""),e=L({},e,r);var u,a=L({},e.imports,r.imports),r=$e(a),a=_t(a),o=0,f=e.interpolate||F,c="__p+='",f=Yt((e.escape||F).source+"|"+f.source+"|"+(f===$?I:F).source+"|"+(e.evaluate||F).source+"|$","g");n.replace(f,function(t,e,r,a,f,l){return r||(r=a),c+=n.slice(o,l).replace(T,i),e&&(c+="'+__e("+e+")+'"),f&&(u=y,c+="';"+f+";__p+='"),r&&(c+="'+((__t=("+r+"))==null?'':__t)+'"),o=l+t.length,t +}),c+="';\n",f=e=e.variable,f||(e="obj",c="with("+e+"){"+c+"}"),c=(u?c.replace(E,""):c).replace(S,"$1").replace(A,"$1;"),c="function("+e+"){"+(f?"":e+"||("+e+"={});")+"var __t,__p='',__e=_.escape"+(u?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+c+"return __p}";try{var l=Jt(r,"return "+c).apply(g,a)}catch(p){throw p.source=c,p}return t?l(t):(l.source=c,l)},nt.unescape=function(n){return n==h?"":Zt(n).replace(Re,ct)},nt.uniqueId=function(n){var t=++_;return Zt(n==h?"":n)+t +},nt.all=jt,nt.any=Nt,nt.detect=Ct,nt.findWhere=Ct,nt.foldl=At,nt.foldr=It,nt.include=kt,nt.inject=At,d(nt,function(n,t){nt.prototype[t]||(nt.prototype[t]=function(){var t=[this.__wrapped__];return se.apply(t,arguments),n.apply(nt,t)})}),nt.first=Bt,nt.last=function(n,t,e){if(n){var r=0,u=n.length;if(typeof t!="number"&&t!=h){var a=u;for(t=nt.createCallback(t,e);a--&&t(n[a],a,n);)r++}else if(r=t,r==h||e)return n[u-1];return s(n,je(0,u-r))}},nt.take=Bt,nt.head=Bt,d(nt,function(n,t){nt.prototype[t]||(nt.prototype[t]=function(t,e){var r=n(this.__wrapped__,t,e); +return t==h||e&&typeof t!="function"?r:new tt(r)})}),nt.VERSION="1.3.1",nt.prototype.toString=function(){return Zt(this.__wrapped__)},nt.prototype.value=Ut,nt.prototype.valueOf=Ut,xt(["join","pop","shift"],function(n){var t=te[n];nt.prototype[n]=function(){return t.apply(this.__wrapped__,arguments)}}),xt(["push","reverse","sort","unshift"],function(n){var t=te[n];nt.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),xt(["concat","slice","splice"],function(n){var t=te[n];nt.prototype[n]=function(){return new tt(t.apply(this.__wrapped__,arguments)) +}}),nt}var g,y=!0,h=null,b=!1,m=[],d=[],_=0,k={},j={},w=+new Date+"",C=75,x=40,O=" \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",E=/\b__p\+='';/g,S=/\b(__p\+=)''\+/g,A=/(__e\(.*?\)|\b__t\))\+'';/g,I=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,N=/\w*$/,$=/<%=([\s\S]+?)%>/g,B=RegExp("^["+O+"]*0+(?=.$)"),F=/($^)/,R=(R=/\bthis\b/)&&R.test(v)&&R,T=/['\n\r\t\u2028\u2029\\]/g,D="Array Boolean Date Function Math Number Object RegExp String _ attachEvent clearTimeout isFinite isNaN parseInt setImmediate setTimeout".split(" "),q="[object Arguments]",z="[object Array]",W="[object Boolean]",P="[object Date]",K="[object Function]",M="[object Number]",U="[object Object]",V="[object RegExp]",G="[object String]",H={}; +H[K]=b,H[q]=H[z]=H[W]=H[P]=H[M]=H[U]=H[V]=H[G]=y;var J={"boolean":b,"function":y,object:y,number:b,string:b,undefined:b},L={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},Q=J[typeof exports]&&exports,X=J[typeof module]&&module&&module.exports==Q&&module,Y=J[typeof global]&&global;!Y||Y.global!==Y&&Y.window!==Y||(n=Y);var Z=v();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(n._=Z, define(function(){return Z})):Q&&!Q.nodeType?X?(X.exports=Z)._=Z:Q._=Z:n._=Z }(this); \ No newline at end of file diff --git a/dist/lodash.underscore.js b/dist/lodash.underscore.js index fac2636f7..3d5bd6923 100644 --- a/dist/lodash.underscore.js +++ b/dist/lodash.underscore.js @@ -24,10 +24,6 @@ /** Used to prefix keys to avoid issues with `__proto__` and properties on `Object.prototype` */ var keyPrefix = +new Date + ''; - /** Used to match HTML entities and HTML characters */ - var reEscapedHtml = /&(?:amp|lt|gt|quot|#x27|#x2F);/g, - reUnescapedHtml = /[&<>"'\/]/g; - /** Used to match "interpolate" template delimiters */ var reInterpolate = /<%=([\s\S]+?)%>/g; @@ -589,6 +585,10 @@ /** Used to convert HTML entities to characters */ var htmlUnescapes = invert(htmlEscapes); + /** Used to match HTML entities and HTML characters */ + var reEscapedHtml = RegExp('(' + keys(htmlUnescapes).join('|') + ')', 'g'), + reUnescapedHtml = RegExp('[' + keys(htmlEscapes).join('') + ']', 'g'); + /*--------------------------------------------------------------------------*/ /** diff --git a/dist/lodash.underscore.min.js b/dist/lodash.underscore.min.js index 600dbde9f..f2970d202 100644 --- a/dist/lodash.underscore.min.js +++ b/dist/lodash.underscore.min.js @@ -4,34 +4,34 @@ * Build: `lodash underscore exports="amd,commonjs,global,node" -o ./dist/lodash.underscore.js` * Underscore.js 1.4.4 underscorejs.org/LICENSE */ -;!function(n){function t(n,t,r){r=(r||0)-1;for(var e=n.length;++rt||typeof n=="undefined")return 1;if(nt||typeof n=="undefined")return 1;if(ne&&(e=r,u=n)}); -else for(;++iu&&(u=r);return u}function B(n,t){var r=-1,e=n?n.length:0;if(typeof e=="number")for(var u=Array(e);++rarguments.length;t=G(t,e,4);var i=-1,o=n.length;if(typeof o=="number")for(u&&(r=n[++i]);++iarguments.length;if(typeof u!="number")var o=$t(n),u=o.length;return t=G(t,e,4),F(n,function(e,a,f){a=o?o[--u]:--u,r=i?(i=!1,n[a]):t(r,n[a],a,f) -}),r}function D(n,t,r){var e;t=G(t,r),r=-1;var u=n?n.length:0;if(typeof u=="number")for(;++rr(u,o)&&i.push(o)}return i}function $(n,t,r){if(n){var e=0,u=n.length;if(typeof t!="number"&&null!=t){var i=-1;for(t=G(t,r);++ie?Nt(0,u+e):e||0}else if(e)return e=C(n,r),n[e]===r?e:-1;return n?t(n,r,e):-1}function W(n,t,r){if(typeof t!="number"&&null!=t){var e=0,u=-1,i=n?n.length:0;for(t=G(t,r);++u>>1,r(n[e])i(f,l))&&(r&&f.push(l),a.push(e))}return a}function U(){for(var n=-1,t=N(B(arguments,"length")),r=Array(0>t?0:t);++nl&&(a=n.apply(f,o));else{var r=new Date;!s&&!h&&(c=r);var e=p-(r-c);0"'\/]/g,nt=/($^)/,tt=/['\n\r\t\u2028\u2029\\]/g,rt="[object Arguments]",et="[object Array]",ut="[object Boolean]",it="[object Date]",ot="[object Number]",at="[object Object]",ft="[object RegExp]",lt="[object String]",ct={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},pt={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},st=ct[typeof exports]&&exports,vt=ct[typeof module]&&module&&module.exports==st&&module,gt=ct[typeof global]&&global; -!gt||gt.global!==gt&>.window!==gt||(n=gt);var ht=[],gt=Object.prototype,yt=n._,mt=RegExp("^"+(gt.valueOf+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),_t=Math.ceil,dt=ht.concat,bt=Math.floor,jt=gt.hasOwnProperty,wt=ht.push,xt=gt.toString,At=mt.test(At=xt.bind)&&At,Ot=mt.test(Ot=Object.create)&&Ot,Et=mt.test(Et=Array.isArray)&&Et,Tt=n.isFinite,Ft=n.isNaN,St=mt.test(St=Object.keys)&&St,Nt=Math.max,Bt=Math.min,kt=Math.random,qt=ht.slice,gt=mt.test(n.attachEvent),Dt=At&&!/\n|true/.test(At+gt); -o.prototype=i.prototype;var Rt={};!function(){var n={0:1,length:1};Rt.fastBind=At&&!Dt,Rt.spliceObjects=(ht.splice.call(n,0,1),!n[0])}(1),i.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},Ot||(f=function(n){if(b(n)){u.prototype=n;var t=new u;u.prototype=null}return t||{}}),s(arguments)||(s=function(n){return n&&typeof n=="object"?jt.call(n,"callee"):!1});var Mt=Et||function(n){return n&&typeof n=="object"?xt.call(n)==et:!1},Et=function(n){var t,r=[]; -if(!n||!ct[typeof n])return r;for(t in n)jt.call(n,t)&&r.push(t);return r},$t={}.o=St?function(n){return b(n)?St(n):[]}:Et,zt={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"},It=y(zt),Wt=function(n,t){var r;if(!n||!ct[typeof n])return n;for(r in n)if(t(n[r],r,n)===Q)break;return n},Ct=function(n,t){var r;if(!n||!ct[typeof n])return n;for(r in n)if(jt.call(n,r)&&t(n[r],r,n)===Q)break;return n};d(/x/)&&(d=function(n){return typeof n=="function"&&"[object Function]"==xt.call(n) -}),i.after=function(n,t){return function(){return 1>--n?t.apply(this,arguments):void 0}},i.bind=V,i.bindAll=function(n){for(var t=1u(o,a)){for(var f=r;--f;)if(0>u(t[f],a))continue n;o.push(a)}}return o},i.invert=y,i.invoke=function(n,t){var r=qt.call(arguments,2),e=-1,u=typeof t=="function",i=n?n.length:0,o=Array(typeof i=="number"?i:0);return F(n,function(n){o[++e]=(u?t:n[t]).apply(n,r) -}),o},i.keys=$t,i.map=S,i.max=N,i.memoize=function(n,t){var r={};return function(){var e=X+(t?t.apply(this,arguments):arguments[0]);return jt.call(r,e)?r[e]:r[e]=n.apply(this,arguments)}},i.min=function(n,t,r){var e=1/0,u=e,i=-1,o=n?n.length:0;if(t||typeof o!="number")t=G(t,r),F(n,function(n,r,i){r=t(n,r,i),rt(r,u)&&(e[u]=n)}),e},i.once=function(n){var t,r; -return function(){return t?r:(t=!0,r=n.apply(this,arguments),n=null,r)}},i.pairs=function(n){for(var t=-1,r=$t(n),e=r.length,u=Array(e);++tr?Nt(0,e+r):Bt(r,e-1))+1);e--;)if(n[e]===t)return e;return-1},i.mixin=K,i.noConflict=function(){return n._=yt,this},i.random=function(n,t){null==n&&null==t&&(t=1),n=+n||0,null==t?(t=n,n=0):t=+t||0;var r=kt();return n%1||t%1?n+Bt(r*(t-n+parseFloat("1e-"+((r+"").length-1))),t):n+bt(r*(t-n+1))},i.reduce=k,i.reduceRight=q,i.result=function(n,t){var r=n?n[t]:void 0; -return d(r)?n[t]():r},i.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:$t(n).length},i.some=D,i.sortedIndex=C,i.template=function(n,t,r){var u=i.templateSettings;n||(n=""),r=g({},r,u);var o=0,a="__p+='",u=r.variable;n.replace(RegExp((r.escape||nt).source+"|"+(r.interpolate||nt).source+"|"+(r.evaluate||nt).source+"|$","g"),function(t,r,u,i,f){return a+=n.slice(o,f).replace(tt,e),r&&(a+="'+_['escape']("+r+")+'"),i&&(a+="';"+i+";__p+='"),u&&(a+="'+((__t=("+u+"))==null?'':__t)+'"),o=f+t.length,t -}),a+="';\n",u||(u="obj",a="with("+u+"||{}){"+a+"}"),a="function("+u+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+a+"return __p}";try{var f=Function("_","return "+a)(i)}catch(l){throw l.source=a,l}return t?f(t):(f.source=a,f)},i.unescape=function(n){return null==n?"":(n+"").replace(Y,p)},i.uniqueId=function(n){var t=++L+"";return n?n+t:t},i.all=O,i.any=D,i.detect=T,i.findWhere=function(n,t){return R(n,t,!0)},i.foldl=k,i.foldr=q,i.include=A,i.inject=k,i.first=$,i.last=function(n,t,r){if(n){var e=0,u=n.length; -if(typeof t!="number"&&null!=t){var i=u;for(t=G(t,r);i--&&t(n[i],i,n);)e++}else if(e=t,null==e||r)return n[u-1];return qt.call(n,Nt(0,u-e))}},i.take=$,i.head=$,i.VERSION="1.3.1",K(i),i.prototype.chain=function(){return this.__chain__=!0,this},i.prototype.value=function(){return this.__wrapped__},F("pop push reverse shift sort splice unshift".split(" "),function(n){var t=ht[n];i.prototype[n]=function(){var n=this.__wrapped__;return t.apply(n,arguments),!Rt.spliceObjects&&0===n.length&&delete n[0],this -}}),F(["concat","join","slice"],function(n){var t=ht[n];i.prototype[n]=function(){var n=t.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new o(n),n.__chain__=!0),n}}),typeof define=="function"&&typeof define.amd=="object"&&define.amd?(n._=i, define(function(){return i})):st&&!st.nodeType?vt?(vt.exports=i)._=i:st._=i:n._=i}(this); \ No newline at end of file +}),u}for(;++re&&(e=r,u=n)}); +else for(;++iu&&(u=r);return u}function R(n,t){var r=-1,e=n?n.length:0;if(typeof e=="number")for(var u=Array(e);++rarguments.length;t=G(t,e,4);var i=-1,o=n.length;if(typeof o=="number")for(u&&(r=n[++i]);++iarguments.length;if(typeof u!="number")var o=qt(n),u=o.length;return t=G(t,e,4),S(n,function(e,a,f){a=o?o[--u]:--u,r=i?(i=!1,n[a]):t(r,n[a],a,f) +}),r}function D(n,t,r){var e;t=G(t,r),r=-1;var u=n?n.length:0;if(typeof u=="number")for(;++rr(u,o)&&i.push(o)}return i}function $(n,t,r){if(n){var e=0,u=n.length;if(typeof t!="number"&&null!=t){var i=-1;for(t=G(t,r);++ie?St(0,u+e):e||0}else if(e)return e=C(n,r),n[e]===r?e:-1;return n?t(n,r,e):-1}function W(n,t,r){if(typeof t!="number"&&null!=t){var e=0,u=-1,i=n?n.length:0;for(t=G(t,r);++u>>1,r(n[e])i(f,l))&&(r&&f.push(l),a.push(e))}return a}function U(){for(var n=-1,t=N(R(arguments,"length")),r=Array(0>t?0:t);++nl&&(a=n.apply(f,o));else{var r=new Date;!s&&!h&&(c=r);var e=p-(r-c);0/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},xt||(f=function(n){if(b(n)){u.prototype=n;var t=new u;u.prototype=null}return t||{}}),s(arguments)||(s=function(n){return n&&typeof n=="object"?dt.call(n,"callee"):!1});var Dt=At||function(n){return n&&typeof n=="object"?jt.call(n)==tt:!1},At=function(n){var t,r=[]; +if(!n||!ft[typeof n])return r;for(t in n)dt.call(n,t)&&r.push(t);return r},qt={}.o=Tt?function(n){return b(n)?Tt(n):[]}:At,Mt={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"},$t=y(Mt),zt=RegExp("("+qt($t).join("|")+")","g"),It=RegExp("["+qt(Mt).join("")+"]","g"),Wt=function(n,t){var r;if(!n||!ft[typeof n])return n;for(r in n)if(t(n[r],r,n)===Q)break;return n},Ct=function(n,t){var r;if(!n||!ft[typeof n])return n;for(r in n)if(dt.call(n,r)&&t(n[r],r,n)===Q)break;return n}; +d(/x/)&&(d=function(n){return typeof n=="function"&&"[object Function]"==jt.call(n)}),i.after=function(n,t){return function(){return 1>--n?t.apply(this,arguments):void 0}},i.bind=V,i.bindAll=function(n){for(var t=1u(o,a)){for(var f=r;--f;)if(0>u(t[f],a))continue n;o.push(a)}}return o},i.invert=y,i.invoke=function(n,t){var r=Rt.call(arguments,2),e=-1,u=typeof t=="function",i=n?n.length:0,o=Array(typeof i=="number"?i:0); +return S(n,function(n){o[++e]=(u?t:n[t]).apply(n,r)}),o},i.keys=qt,i.map=F,i.max=N,i.memoize=function(n,t){var r={};return function(){var e=X+(t?t.apply(this,arguments):arguments[0]);return dt.call(r,e)?r[e]:r[e]=n.apply(this,arguments)}},i.min=function(n,t,r){var e=1/0,u=e,i=-1,o=n?n.length:0;if(t||typeof o!="number")t=G(t,r),S(n,function(n,r,i){r=t(n,r,i),rt(r,u)&&(e[u]=n) +}),e},i.once=function(n){var t,r;return function(){return t?r:(t=!0,r=n.apply(this,arguments),n=null,r)}},i.pairs=function(n){for(var t=-1,r=qt(n),e=r.length,u=Array(e);++tr?St(0,e+r):Ft(r,e-1))+1);e--;)if(n[e]===t)return e;return-1},i.mixin=K,i.noConflict=function(){return n._=gt,this},i.random=function(n,t){null==n&&null==t&&(t=1),n=+n||0,null==t?(t=n,n=0):t=+t||0;var r=Nt();return n%1||t%1?n+Ft(r*(t-n+parseFloat("1e-"+((r+"").length-1))),t):n+_t(r*(t-n+1))},i.reduce=B,i.reduceRight=k,i.result=function(n,t){var r=n?n[t]:void 0; +return d(r)?n[t]():r},i.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:qt(n).length},i.some=D,i.sortedIndex=C,i.template=function(n,t,r){var u=i.templateSettings;n||(n=""),r=g({},r,u);var o=0,a="__p+='",u=r.variable;n.replace(RegExp((r.escape||Y).source+"|"+(r.interpolate||Y).source+"|"+(r.evaluate||Y).source+"|$","g"),function(t,r,u,i,f){return a+=n.slice(o,f).replace(Z,e),r&&(a+="'+_['escape']("+r+")+'"),i&&(a+="';"+i+";__p+='"),u&&(a+="'+((__t=("+u+"))==null?'':__t)+'"),o=f+t.length,t +}),a+="';\n",u||(u="obj",a="with("+u+"||{}){"+a+"}"),a="function("+u+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+a+"return __p}";try{var f=Function("_","return "+a)(i)}catch(l){throw l.source=a,l}return t?f(t):(f.source=a,f)},i.unescape=function(n){return null==n?"":(n+"").replace(zt,p)},i.uniqueId=function(n){var t=++L+"";return n?n+t:t},i.all=O,i.any=D,i.detect=T,i.findWhere=function(n,t){return q(n,t,!0)},i.foldl=B,i.foldr=k,i.include=A,i.inject=B,i.first=$,i.last=function(n,t,r){if(n){var e=0,u=n.length; +if(typeof t!="number"&&null!=t){var i=u;for(t=G(t,r);i--&&t(n[i],i,n);)e++}else if(e=t,null==e||r)return n[u-1];return Rt.call(n,St(0,u-e))}},i.take=$,i.head=$,i.VERSION="1.3.1",K(i),i.prototype.chain=function(){return this.__chain__=!0,this},i.prototype.value=function(){return this.__wrapped__},S("pop push reverse shift sort splice unshift".split(" "),function(n){var t=vt[n];i.prototype[n]=function(){var n=this.__wrapped__;return t.apply(n,arguments),!kt.spliceObjects&&0===n.length&&delete n[0],this +}}),S(["concat","join","slice"],function(n){var t=vt[n];i.prototype[n]=function(){var n=t.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new o(n),n.__chain__=!0),n}}),typeof define=="function"&&typeof define.amd=="object"&&define.amd?(n._=i, define(function(){return i})):ct&&!ct.nodeType?pt?(pt.exports=i)._=i:ct._=i:n._=i}(this); \ No newline at end of file diff --git a/doc/README.md b/doc/README.md index 4fdccdd2f..a48727c52 100644 --- a/doc/README.md +++ b/doc/README.md @@ -902,7 +902,7 @@ _.zipObject(['moe', 'larry'], [30, 40]); ### `_(value)` -# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L616 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L612 "View in source") [Ⓣ][1] Creates a `lodash` object, which wraps the given `value`, to enable method chaining. @@ -2666,7 +2666,7 @@ _.invert({ 'first': 'moe', 'second': 'larry' }); ### `_.isArguments(value)` -# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1309 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1305 "View in source") [Ⓣ][1] Checks if `value` is an `arguments` object. @@ -2693,7 +2693,7 @@ _.isArguments([1, 2, 3]); ### `_.isArray(value)` -# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1335 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1331 "View in source") [Ⓣ][1] Checks if `value` is an array. @@ -3152,7 +3152,7 @@ _.isUndefined(void 0); ### `_.keys(object)` -# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1368 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1364 "View in source") [Ⓣ][1] Creates an array composed of the own enumerable property names of `object`. @@ -3575,7 +3575,7 @@ _.result(object, 'stuff'); ### `_.runInContext([context=window])` -# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L449 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L445 "View in source") [Ⓣ][1] Create a new `lodash` function using the given `context` object. @@ -3765,7 +3765,7 @@ _.uniqueId(); ### `_.templateSettings.imports._` -# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L825 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L821 "View in source") [Ⓣ][1] A reference to the `lodash` function. @@ -3796,7 +3796,7 @@ A reference to the `lodash` function. ### `_.support` -# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L643 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L639 "View in source") [Ⓣ][1] *(Object)*: An object used to flag environments features. @@ -3808,7 +3808,7 @@ A reference to the `lodash` function. ### `_.support.argsClass` -# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L668 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L664 "View in source") [Ⓣ][1] *(Boolean)*: Detect if an `arguments` object's [[Class]] is resolvable *(all but Firefox < `4`, IE < `9`)*. @@ -3820,7 +3820,7 @@ A reference to the `lodash` function. ### `_.support.argsObject` -# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L660 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L656 "View in source") [Ⓣ][1] *(Boolean)*: Detect if `arguments` objects are `Object` objects *(all but Narwhal and Opera < `10.5`)*. @@ -3832,7 +3832,7 @@ A reference to the `lodash` function. ### `_.support.enumErrorProps` -# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L677 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L673 "View in source") [Ⓣ][1] *(Boolean)*: Detect if `name` or `message` properties of `Error.prototype` are enumerable by default. *(IE < `9`, Safari < `5.1`)* @@ -3844,7 +3844,7 @@ A reference to the `lodash` function. ### `_.support.enumPrototypes` -# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L690 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L686 "View in source") [Ⓣ][1] *(Boolean)*: Detect if `prototype` properties are enumerable by default. @@ -3858,7 +3858,7 @@ Firefox < `3.6`, Opera > `9.50` - Opera < `11.60`, and Safari < `5.1` *(if the p ### `_.support.fastBind` -# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L698 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L694 "View in source") [Ⓣ][1] *(Boolean)*: Detect if `Function#bind` exists and is inferred to be fast *(all but V8)*. @@ -3870,7 +3870,7 @@ Firefox < `3.6`, Opera > `9.50` - Opera < `11.60`, and Safari < `5.1` *(if the p ### `_.support.nonEnumArgs` -# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L715 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L711 "View in source") [Ⓣ][1] *(Boolean)*: Detect if `arguments` object indexes are non-enumerable *(Firefox < `4`, IE < `9`, PhantomJS, Safari < `5.1`)*. @@ -3882,7 +3882,7 @@ Firefox < `3.6`, Opera > `9.50` - Opera < `11.60`, and Safari < `5.1` *(if the p ### `_.support.nonEnumShadows` -# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L726 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L722 "View in source") [Ⓣ][1] *(Boolean)*: Detect if properties shadowing those on `Object.prototype` are non-enumerable. @@ -3896,7 +3896,7 @@ In IE < `9` an objects own properties, shadowing non-enumerable ones, are made n ### `_.support.ownLast` -# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L706 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L702 "View in source") [Ⓣ][1] *(Boolean)*: Detect if own properties are iterated after inherited properties *(all but IE < `9`)*. @@ -3908,7 +3908,7 @@ In IE < `9` an objects own properties, shadowing non-enumerable ones, are made n ### `_.support.spliceObjects` -# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L740 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L736 "View in source") [Ⓣ][1] *(Boolean)*: Detect if `Array#shift` and `Array#splice` augment array-like objects correctly. @@ -3922,7 +3922,7 @@ Firefox < `10`, IE compatibility mode, and IE < `9` have buggy Array `shift()` a ### `_.support.unindexedChars` -# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L751 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L747 "View in source") [Ⓣ][1] *(Boolean)*: Detect lack of support for accessing string characters by index. @@ -3936,7 +3936,7 @@ IE < `8` can't access characters by index and IE `8` can only access characters ### `_.templateSettings` -# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L777 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L773 "View in source") [Ⓣ][1] *(Object)*: 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 delimiters. @@ -3948,7 +3948,7 @@ IE < `8` can't access characters by index and IE `8` can only access characters ### `_.templateSettings.escape` -# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L785 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L781 "View in source") [Ⓣ][1] *(RegExp)*: Used to detect `data` property values to be HTML-escaped. @@ -3960,7 +3960,7 @@ IE < `8` can't access characters by index and IE `8` can only access characters ### `_.templateSettings.evaluate` -# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L793 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L789 "View in source") [Ⓣ][1] *(RegExp)*: Used to detect code to be evaluated. @@ -3972,7 +3972,7 @@ IE < `8` can't access characters by index and IE `8` can only access characters ### `_.templateSettings.interpolate` -# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L801 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L797 "View in source") [Ⓣ][1] *(RegExp)*: Used to detect `data` property values to inject. @@ -3984,7 +3984,7 @@ IE < `8` can't access characters by index and IE `8` can only access characters ### `_.templateSettings.variable` -# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L809 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L805 "View in source") [Ⓣ][1] *(String)*: Used to reference the data object in the template text. @@ -3996,7 +3996,7 @@ IE < `8` can't access characters by index and IE `8` can only access characters ### `_.templateSettings.imports` -# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L817 "View in source") [Ⓣ][1] +# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L813 "View in source") [Ⓣ][1] *(Object)*: Used to import variables into the compiled template. diff --git a/lodash.js b/lodash.js index e12454bc2..013f5724a 100644 --- a/lodash.js +++ b/lodash.js @@ -50,10 +50,6 @@ reEmptyStringMiddle = /\b(__p \+=) '' \+/g, reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g; - /** Used to match HTML entities and HTML characters */ - var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g, - reUnescapedHtml = /[&<>"']/g; - /** * Used to match ES6 template delimiters * http://people.mozilla.org/~jorendorff/es6-draft.html#sec-7.8.6 @@ -1411,6 +1407,10 @@ /** Used to convert HTML entities to characters */ var htmlUnescapes = invert(htmlEscapes); + /** Used to match HTML entities and HTML characters */ + var reEscapedHtml = RegExp('(' + keys(htmlUnescapes).join('|') + ')', 'g'), + reUnescapedHtml = RegExp('[' + keys(htmlEscapes).join('') + ']', 'g'); + /*--------------------------------------------------------------------------*/ /**