UNPKG

funclib

Version:

A powerful javascript functions library!

7 lines 16.2 kB
/** * @license * Funclib v6.0.6 <https://www.funclib.net> * GitHub Repository <https://github.com/CN-Tower/funclib.js> * Released under MIT license <https://github.com/CN-Tower/funclib.js/blob/master/LICENSE> */ ;(function(){var Ae="6.0.6";var e,De=e,$e=function(){},ke=typeof global=="object"&&global&&global.Object===Object&&global,Fe=typeof self=="object"&&self&&self.Object===Object&&self,r=typeof exports=="object"&&exports&&!exports.nodeType&&exports,t=r&&typeof module=="object"&&module&&!module.nodeType&&module,_e=ke||Fe||Function("return this")(),Ie=_e.fn;var Ne=["&","<",">"," ","'",'"'],Ze=["&amp;","&lt;","&gt;","&nbsp;","&#39;","&quot;"];var Pe="__@fnMatch__",qe="@next";var Je={cnChar:/[\u4e00-\u9fa5]/,dbChar:/[^x00-xff]/,email:/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/,phone:/(\+?0?86\-?)?1[3456789]\d{9}/,telephone:/((\d{3,4})|\d{3,4}-)?\d{7,8}/,idCard:/(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)/,uuid:/[0-9a-zA-Z]{8}-([0-9a-zA-Z]{4}-){3}[0-9a-zA-Z]{12}/,base64Code:/([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?/,domain:/([0-9a-z_!~*'()-]+\.)*([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\.[a-z]{2,6}/,port:/([1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])/,ip:/((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)/,url_:/(\/([^?#]*))?(\?([^#]*))?(#(.*))?/};Je["ipUrl"]=new RegExp("http(s)?://"+Je.ip.source+"(:"+Je.port.source+")?"+Je.url_.source);Je["domainUrl"]=new RegExp("http(s)?://"+Je.domain.source+"(:"+Je.port.source+")?"+Je.url_.source);Je["url"]=new RegExp("http(s)?://("+Je.ip.source+"|"+Je.domain.source+")(:"+Je.port.source+")?"+Je.url_.source);var We={},Xe={};var Be="0123456789",He="abcdefghijklmnopqrstuvwxyz",Qe="ABCDEFGHIJKLMNOPQRSTUVWXYZ",Ye="~!@#$%^&*_";var Le=function(){function i(i){if(!b(i))be("fun");var u=i.length-1;return function(){var e=Math.max(arguments.length-u,0);var r=Array(e),t=-1;while(++t<e)r[t]=arguments[u+t];var n=Array(u+1);for(t=0;t<u;t++)n[t]=arguments[t];n[u]=r;switch(n.length){case 0:return i.call(this);case 1:return i.call(this,n[0]);case 2:return i.call(this,n[0],n[1]);case 3:return i.call(this,n[0],n[1],n[2])}return i.apply(this,n)}}var c=i(function(r,e,t){if(!e)return false;t=h(e).concat(t);return t.some(function(e){switch(e){case"str":return a(r);case"num":return s(r);case"bol":return v(r);case"fun":return b(r);case"nul":return p(r);case"udf":return w(r);case"err":return n(r);case"dat":return u(r);case"reg":return f(r);case"arr":return o(r);case"obj":return x(r);default:return typeof r===e}})});var y=i(function(e,r,t){return c.apply(void 0,[e,r].concat(t))&&e});function a(e){return typeof e=="string"}function s(e,r){var t=typeof e=="number";return r?t:t&&isFinite(e)}function v(e){return typeof e=="boolean"}function b(e){return typeof e=="function"}function p(e){return e===null}function w(e){return e===De}function n(e){return e instanceof Error}function u(e){return e instanceof Date}function f(e){return e instanceof RegExp}function o(e){return e instanceof Array}function x(r){return!!r&&typeof r=="object"&&[ke,Fe].indexOf(r)==-1&&[o,b,n,u,f].every(function(e){return!e(r)})}function d(e,r){var t=[],n=0,i=-1;while(++i<e){if(w(r)){t.push(n++)}else if(b(r)){t.push(r.length>0?r(i):r())}else{t.push(r)}}return t}function e(t,n){var i=[];if(s(t)){function e(e){if(n>=0){for(var r=0;r<n;r++)i.push(e?r+t:r)}else if(n<0){for(var r=0;r>n;r--)i.push(e?r+t:r)}}if(w(n)){n=t,t=De;e(false)}else if(s(n)){e(true)}}return i}function h(e){return o(e)?e:[e]}function l(r,t){for(var n=0;n<r.length;n++){if(x(t)){if(A(t).every(function(e){return r[n][e]===t[e]}))return n}else if(b(t)){if(t(r[n]))return n}}return r.indexOf(t)}function r(e,r){var t=l(e,r);return t>-1?e[t]:De}function t(e,r){return we(e,r,true)}function g(e,r){return we(e,r,false)}function m(e,r){return l(e,r)>-1}function T(e,t){var n=[];E(e,function(e){var r=c(e,"arr","obj")&&U(e)===0;if(e&&!r||!t&&e===0){n.push(e)}});return n}function j(e,r){var t=[];E(e,function(e){if(o(e)){t.push.apply(t,r?j(e,true):e)}else{t.push(e)}});return t}function C(e,r){var t=[];if(y(r,"str")){E(e,function(e){t.push(R(e,r))})}return t}function M(e,r,t){if(w(t))t=true;if(v(r))t=r,r=De;r=y(r,"str");var n=e.slice(),i=-1;while(++i<n.length-1){for(var u=i+1;u<n.length;u++){var f;if(r){var o=R(n[i],r),a=R(n[u],r);f=t?N(o,a):o===a}else{f=t?N(n[i],n[u]):n[i]===n[u]}if(f)n.splice(u--,1)}}return n}function E(e,r){if(!e)return e;if(!b(r))be("fun");var t=e.length;if(t&&t>=0&&t<Math.pow(2,53)-1){for(var n=0;n<t;n++)r(e[n],n)}else{var i=A(e),n=-1;while(++n<i.length)r(e[i[n]],i[n])}return e}function S(e,i,u){return e.slice().sort(function(e,r){var t=R(e,i),n=R(r,i);if(t!==0&&!t){return u?1:-1}else if(n!==0&&!n){return u?-1:1}else if(t===n){return 0}else{return t>n?u?-1:1:u?1:-1}})}function U(e){if(x(e)){return A(e).length}else if(c(e,"str","arr","fun")||e&&e.length){return e.length}else return-1}var O=i(function(e,r,t){var n=e&&e.hasOwnProperty(r);return t.length?n&&c(e[r],t):n});var R=i(function(e,r,t){if(!e||!a(r))return De;var n=Te(r),i=n.shift();if(!i){return t.length?y.apply(void 0,[e].concat(t)):e}if(n.length){if(!y(e[i],"object","fun"))return De;return R.apply(void 0,[e[i],n.join("/")].concat(t))}else{return t.length?y.apply(void 0,[e[i]].concat(t)):e[i]}});function z(e,r,t){function f(e,r,t,n){if(!r||!a(t))return e;var i=Te(t),u=i.shift();if(!u)return e;if(i.length){if(!y(r[u],"object","fun"))return e;return f(e,r[u],i.join("/"),n)}else{r[u]=n;return e}}return f(e,e,r,t)}function A(e){return Object.keys(e)}var D=i(function(e,r,t){return xe({},e,r,t)});var $=i(function(e,r,t){return xe({},e,r,t,true,true)});var k=i(function(e,r,t,n){return xe(e,r,t,n,true)});function F(e,t){if(!b(t))be("fun");return E(e,function(e,r){t(r,e)})}function _(e){var i=[];function u(e){var r=e;if(o(e)){r=[];for(var t=0;t<e.length;t++){r.push(u(e[t]))}}else if(x(e)){if(i.indexOf(e)>-1){r=e.constructor&&e.constructor.name}else{i.push(e);r={};for(var n in e){if(O(e,n))r[n]=u(e[n])}}}return r}return u(e)}function I(e){return U(e)===0}function N(e,r,t){if(typeof e!==typeof r){return false}if(o(e)&&o(r)){if(e.length!==r.length){return false}for(var n=0;n<e.length;n++){if(!N(e[n],r[n]),t){return false}}return true}else if(x(e)&&x(r)){if(U(e)!==U(r)){return false}var i=A(e);if(t&&!N(i,A(r))){return false}for(var n=0;n<i.length;n++){if(!O(r,i[n])||!N(e[i[n]],r[i[n]],t)){return false}}return true}else{return e===r}}function Z(e,r,t){if(!s(e))return Math.random();if(v(r))t=r,r=De;if(t!==false)t=true;var n,i;if(!s(r)||e===r){n=Math.random()*e;return t?Math.floor(n):n}else{var u=e>r;if(u)i=e,e=r,r=i;n=Math.random()*(r-e)+e;return t?u?Math.ceil(n):Math.floor(n):n}}function P(e,r){if(w(e))e=12;if(!r||!a(r)){r=Be+Qe}else{if(r.match(/^\[.*\]$/)){var t="";if(r==="[pwd]"){t=Qe+He+Be+Ye}else{if(r.match(/0-9/))t+=Be;if(r.match(/a-z/))t+=He;if(r.match(/A-Z/))t+=Qe}if(t)r=t}}var n="",i=-1;while(++i<e)n+=r[Z(r.length)];return n}function q(){return"#"+("00000"+(Z(16777216)<<0).toString(16)).slice(-6)}function J(e,r,t,n){return je(e,r,t,n,"interval")}function W(e,r,t,n){return je(e,r,t,n,"timeout")}function X(e){return setTimeout(e)}function B(e){return Me(e).getTime()}function H(e){var r=Me(e);if(!r.getTime())return NaN;var t=Ce(r);return Date.UTC(t["y+"],t["M+"]-1,t["d+"],t["h+"],t["m+"],t["s+"],t["S"])}function Q(e,r){return H(e)-(!+r?0:+r)}function Y(e,r){return Ee(e,r,false)}function L(e,r){return Ee(e,r,true)}function V(e,r,t){var n=Me(r);if(!n.getTime())return"";var i=n.getUTCMilliseconds(),u=B(L("yyyy/MM/dd hh:mm:ss",r))+i+(!+t?0:+t);return Y(e,u)}function G(e,r,t){if(!x(r))be("obj");if(w(t))t=true;var n=Pe;if(O(r,e)){n=e}else if(O(r,"default")){n="default"}var i=r[n];if(i===qe){var u=A(r),f=u.indexOf(n)-1;while(++f<u.length)if(r[u[f]]!==qe){i=r[u[f]];break}}if(t&&b(i)){return U(i)?i(e):i()}else{return i===qe?De:i}}function K(e){return c(e,"arr","obj")?JSON.stringify(e,null,2):String(e)}function ee(t){E(Ne,function(e,r){t=t.replace(new RegExp(e,"g"),Ze[r])});return t}function re(t){E(Ze,function(e,r){t=t.replace(new RegExp(e,"g"),Ne[r])});return t}function te(e){return y(e,"str")?e[0].toUpperCase()+e.substr(1):e}function ne(e,r){if(w(r))r=2;var t=String(e.toFixed(r)).split("."),n=t[0],i=t.length>1?t[1]:"",u,f,o,a;f=Math.floor(n.length/3);o=n.length%3;u=n.substr(0,o);for(a=0;a<f;a++){u+=a===0&&(u==="-"||!u)?n.substr(o,3):","+n.substr(o,3);o+=3}return i?u+"."+i:u}function ie(e,r,t,n){var i=String(e),u=/[^\u4e00-\u9fa5]/gm,f=/[\u4e00-\u9fa5]/gm;if(a(t))n=t,t=De;if(!a(n))n="*";var o=i.substr(r,t).replace(u,n).replace(f,n+n);return i.substr(0,r)+o+(w(t)?"":i.substr(r+t))}function ue(e,r){var t,n="",i=0,u=-1;while(++u<e.length){if(i>=r)break;t=e.substr(u,1);n+=t;i+=se(t,"dbChar")?2:1}return n+"..."}function fe(e){if(!m(e,"?"))return{};var r=e.substring(e.lastIndexOf("?")+1);if(r==="")return{};var t=r.split("&"),n={},i=-1;while(++i<t.length){var u=t[i].split("="),f=decodeURIComponent;n[f(u[0])]=f(u[1]||"")}return n}function oe(e){if(!c(e,"obj","arr"))return"";e=JSON.parse(JSON.stringify(e));if(!U(e))return"";var n=[];F(e,function(e,r){var t=encodeURIComponent;n.push(t(e)+"="+t(r))});return"?"+n.join("&")}function ae(e,r){if(e&&a(e)){f(r)?Je[e]=r:be("reg")}else if(x(e)){F(e,function(e,r){f(r)?Je[e]=r:be("reg")})}}function le(e,r){if(!e)return;if(w(r))r=true;if(m(["all","list"],e))return A(Je);if(!O(Je,e))return De;var t=Je[e];return r?new RegExp("^("+t.source.replace(/^(\^|\$)$/gm,"")+")$"):t}var ce=i(function(e,r,t){if(!e||!r)return false;return Se(e,[r].concat(t),true)});var se=i(function(e,r,t){if(!e||!r)return null;return Se(e,[r].concat(t),false)});function pe(e,r,t){var n=true,i=true;if(!b(e))be("fun");if(x(t)){n=O(t,"leading")?!!t.leading:n;i=O(t,"trailing")?!!t.trailing:i}return he(e,r,{leading:n,maxWait:r,trailing:i})}function he(n,i,e){if(!b(n))be("fun");var u,f,o,a,l,c,s=0,t=false,p=false,r=true;i=+i||0;if(y(e,"bol")){t=true,r=false}else if(x(e)){t=!!e.leading;p="maxWait"in e;if(p)o=Math.max(+e.maxWait||0,i);if(O(e,"trailing"))r=!!e.trailing}function h(e){var r=u,t=f;u=f=De;s=e;a=n.apply(t,r);return a}function g(e){var r=e-c;return w(c)||r>=i||r<0||p&&e-s>=o}function v(){var e=Date.now();if(g(e))return d(e);var r=i-(e-c),t=p?Math.min(r,o-(e-s)):r;l=W(t,v)}function d(e){l=De;if(r&&u)return h(e);u=f=De;return a}function m(){var e=Date.now(),r=g(e);u=arguments,f=this,c=e;if(r){if(w(l)){s=c;l=W(i,v);return t?h(c):a}if(p){l=W(i,v);return h(c)}}if(w(l))l=W(i,v);return a}m.cancel=function(){if(!w(l))clearTimeout(l);s=0;u=c=f=l=De};m.flush=function(){return w(l)?a:d(Date.now())};return m}function ge(e){console.log(K(e))}function ve(r,e,t){var n;function i(e){return O(e,"isFmt","bol")?e.isFmt:true}function u(e){return R(e,"title","str")||"funclib("+Ae+")"}if(y(e,"str")){if(v(t)){n=t,t={}}else{n=i(t)}}else if(v(e)){n=e,e=u(t)}else if(x(e)){t=e,n=i(t),e=u(t)}else{n=true;e="funclib("+Ae+")"}var f=O(t,"isShowTime")?!!t.isShowTime:true,o=f?"["+Y("hh:mm:ss",new Date)+"] ":"";e=e.replace(/\n/gm,"");var a=(o+e+"[] ").length;if(!n){e="( "+e+" )"}e=o+e;var l=R(t,"/width");if(!l||l<30||l>100){l=66}if(a>l){e=ue(e,l-3)}else if(n){e=d((l-a)/2," ").join("")+e}var c=R(t,"breakPre","bol");var s=R(t,"breakEnd","bol");if(!n){if(c)console.log("");console.log(e+":");try{console.log(K(r))}catch(e){console.log(r)}if(s)console.log("")}else{var p="",h="";for(var g=0;g<l;g++)p+="=",h+="-";if(c)console.log("");console.log(p+"\n"+e+"\n"+h);try{console.log(K(r))}catch(e){console.log(r)}console.log(p);if(s)console.log("")}}function de(e){if(w(e))e="";var r=document.createElement("textarea");r.style.position="fixed";r.style.left="200%";document.body.appendChild(r);r.value=e;r.select();document.execCommand("Copy");document.body.removeChild(r)}function me(e){var t={value:e};t.val=function(){return t.value};E(A(Ue),function(r){if(r==="match"){t[r]=function(){Re[r].call(arguments)}}else{t[r]=i(function(e){if(!w(t.value)){e=[t.value].concat(e)}return me(b(Le[r])?Le[r].apply(void 0,e):Le[r])})}});return t}function ye(){if(_e.fn===this)_e.fn=Ie;return this}function be(e){switch(e){case"arg":throw new TypeError("Arguments type error!");case"obj":throw new TypeError("Expect an Object param!");case"fun":throw new TypeError("Expect a Function param!");case"reg":throw new TypeError("Expect a RegExp pattern!")}}function we(e,t,r){var n=[],i=[];E(e,function(r){if(x(t)){A(t).every(function(e){return t[e]===r[e]})?n.push(r):i.push(r)}else if(b(t)){t(r)?n.push(r):i.push(r)}});return r?n:i}function xe(n,e,i,r,t,u){if(!x(e))return n;r=j(r);var f=x(i),o=A(e);function a(r,t,e){E(e,function(e){if(O(t,e)){r[e]=t[e]}else if(f&&O(i,"default")){r[e]=i.default}})}if(c(i,"str","arr","obj")){var l=f?r:h(i).concat(r);if(u){l=o.filter(function(e){return!m(l,e)})}a(n,e,l)}else if(b(i)){F(e,function(e,r){var t=i(e,r);if(t&&!u||!t&&u){n[e]=r}})}else if(t){a(n,e,o)}return n}function Te(e){return m(e,".")?T(e.split(".")):T(e.split("/"))}function je(e,r,t,n,i){var u,f,o,a;if(i==="interval"){u=We,f=setInterval,o=clearInterval}else if(i==="timeout"){u=Xe,f=setTimeout,o=clearTimeout}if(w(e)||p(e)){return{id:null,stop:$e,clear:$e}}else if(y(e,"str")){if(w(r)){return{id:u[e],stop:l,clear:l}}else if(m([null,false],r)){l();return u[e]=null}else if(b(r)){a=r,r=y(t,"num")||0,t=a}}else if(s(e)&&b(r)){if(v(t))n=t;t=r,r=e,e=De}else if(b(e)){a=e;if(s(r)){e=y(t,"str")||De}else if(y(r,"str")){e=r,r=y(t,"num")||0}else{e=De,r=0}t=a}if(b(t)&&s(r)){if(n)t();if(r<0)r=0;if(!e)return f(t,r);if(y(e,"str")){l();return u[e]=f(t,r)}}function l(){return o(u[e])}}function Ce(e,r){return r?{"y+":e.getUTCFullYear(),"M+":e.getUTCMonth()+1,"d+":e.getUTCDate(),"h+":e.getUTCHours(),"m+":e.getUTCMinutes(),"s+":e.getUTCSeconds(),S:e.getUTCMilliseconds(),"q+":Math.floor((e.getUTCMonth()+3)/3)}:{"y+":e.getFullYear(),"M+":e.getMonth()+1,"d+":e.getDate(),"h+":e.getHours(),"m+":e.getMinutes(),"s+":e.getSeconds(),S:e.getMilliseconds(),"q+":Math.floor((e.getMonth()+3)/3)}}function Me(e){if(u(e))return e;e=String(e);return new Date(e.match(/^\-?[0-9]*$/)?+e:e)}function Ee(n,e,r){var t=Me(e),i=t.getTime();if(!i&&i!==0){return""}var u=Ce(t,r);F(u,function(e){if(new RegExp("("+e+")").test(n)){if(e==="y+"){n=n.replace(RegExp.$1,(u["y+"]+"").substr(4-RegExp.$1.length))}else{var r=u[e],t=RegExp.$1.length===1?r:("00"+r).substr((r+"").length);n=n.replace(RegExp.$1,t)}}});return n}function Se(e,r,t){var n=true,i=false,u=null;if(r.length&&c(r[r.length-1],"bol")){n=r.pop()}for(var f=0;f<r.length;f++){var o=le(r[f],n);if(o){t?i=o.test(e):u=e.match(o);if(i||u)break}}return t?i:u}function Ue(e){return me(e)}Ue.typeOf=c;Ue.typeVal=y;Ue.isStr=a;Ue.isNum=s;Ue.isBol=v;Ue.isFun=b;Ue.isNul=p;Ue.isUdf=w;Ue.isErr=n;Ue.isDat=u;Ue.isReg=f;Ue.isArr=o;Ue.isObj=x;Ue.array=d;Ue.range=e;Ue.toArr=h;Ue.indexOf=l;Ue.find=r;Ue.filter=t;Ue.reject=g;Ue.contains=m;Ue.drop=T;Ue.flatten=j;Ue.pluck=C;Ue.uniq=M;Ue.forEach=E;Ue.each=E;Ue.sortBy=S;Ue.len=U;Ue.has=O;Ue.get=R;Ue.set=z;Ue.keys=A;Ue.pick=D;Ue.omit=$;Ue.extend=k;Ue.forIn=F;Ue.deepCopy=_;Ue.isEmpty=I;Ue.isDeepEqual=N;Ue.random=Z;Ue.randomId=P;Ue.randomColor=q;Ue.interval=J;Ue.timeout=W;Ue.defer=X;Ue.time=B;Ue.timestamp=B;Ue.asUtcTime=H;Ue.asXyzTime=Q;Ue.fmtDate=Y;Ue.fmtUtcDate=L;Ue.fmtXyzDate=V;Ue.match=G;Ue.pretty=K;Ue.escape=ee;Ue.unescape=re;Ue.capitalize=te;Ue.fmtCurrency=ne;Ue.maskString=ie;Ue.cutString=ue;Ue.parseQueryStr=fe;Ue.stringifyQueryStr=oe;Ue.setPattern=ae;Ue.getPattern=le;Ue.testPattern=ce;Ue.matchPattern=se;Ue.rest=i;Ue.throttle=pe;Ue.debounce=he;var Oe=Array.prototype,Re=String.prototype,ze=["pop","push","concat","join","reverse","shift","slice","split","sort","substr","substring","splice","splice","unshift","every","some","map","reduce","trim","toLowerCase","toUpperCase","replace","search"];E(ze,function(n){Ue[n]=i(function(e){var r,t=e.shift();if(o(t)&&O(Oe,n))r=Oe;if(a(t)&&O(Re,n))r=Re;if(r)return r[n].apply(t,e);be("arg")})});Ue.print=ge;Ue.log=ve;Ue.copyText=de;Ue.chain=me;Ue.noConflict=ye;Ue.version=Ae;return Ue}();if(typeof define=="function"&&typeof define.amd=="object"&&define.amd){_e.fn=Le;define(function(){return Le})}else if(t){(t.exports=Le).fn=Le;t.fn=Le}else{_e.fn=Le}}).call(this);