eligendiodit
Version:
A powerful javascript functions library!
7 lines • 16.6 kB
JavaScript
/**
* @license
* Funclib v4.0.2 <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 Ie="4.0.2";var e,Ne=e,_e=typeof global=="object"&&global&&global.Object===Object&&global,Pe=typeof self=="object"&&self&&self.Object===Object&&self,n=typeof exports=="object"&&exports&&!exports.nodeType&&exports,t=n&&typeof module=="object"&&module&&!module.nodeType&&module,Ze=_e||Pe||Function("return this")(),Xe=Ze.fn;var We=["&","<",">"," ","'",'"'],Je=["&","<",">"," ","'","""];var Le="__@fnMatch__",Be="@next";var He={cnChar:/[\u4e00-\u9fa5]/,dbChar:/[^x00-xff]/,email:/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/,mobPhone:/(\+?0?86\-?)?1[3456789]\d{9}/,telPhone:/((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_:/(\/([^?#]*))?(\?([^#]*))?(#(.*))?/};He["ipUrl"]=new RegExp("http(s)?://"+He.ip.source+"(:"+He.port.source+")?"+He.url_.source);He["domainUrl"]=new RegExp("http(s)?://"+He.domain.source+"(:"+He.port.source+")?"+He.url_.source);He["url"]=new RegExp("http(s)?://("+He.ip.source+"|"+He.domain.source+")(:"+He.port.source+")?"+He.url_.source);var Qe={},Ye={};var Ke={},r="fullscreenchange",Ve=[r,"webkit"+r,"moz"+r,"MS"+r];var Ge=function(){function i(i){if(!b(i))Ce("fun");var u=i.length-1;return function(){var e=Math.max(arguments.length-u,0);var n=Array(e),t=-1;while(++t<e)n[t]=arguments[u+t];var r=Array(u+1);for(t=0;t<u;t++)r[t]=arguments[t];r[u]=n;switch(r.length){case 0:return i.call(this);case 1:return i.call(this,r[0]);case 2:return i.call(this,r[0],r[1]);case 3:return i.call(this,r[0],r[1],r[2])}return i.apply(this,r)}}var l=i(function(n,e,t){if(!e)return false;t=p(e).concat(t);return t.some(function(e){switch(e){case"str":return a(n);case"num":return c(n);case"bol":return g(n);case"fun":return b(n);case"nul":return r(n);case"udf":return w(n);case"err":return u(n);case"dat":return f(n);case"reg":return o(n);case"arr":return s(n);case"obj":return x(n);default:return typeof n===e}})});var y=i(function(e,n,t){return l.apply(void 0,[e,n].concat(t))&&e});function a(e){return typeof e=="string"}function c(e,n){var t=typeof e=="number";return n?t:t&&isFinite(e)}function g(e){return typeof e=="boolean"}function b(e){return typeof e=="function"}function r(e){return e===null}function w(e){return e===Ne}function u(e){return e instanceof Error}function f(e){return e instanceof Date}function o(e){return e instanceof RegExp}function s(e){return e instanceof Array}function x(n){return!!n&&typeof n=="object"&&[_e,Pe].indexOf(n)==-1&&[s,b,u,f,o].every(function(e){return!e(n)})}function d(e,n){var t=[],r=0,i=-1;while(++i<e){if(w(n)){t.push(r++)}else if(b(n)){t.push(n.length>0?n(i):n())}else{t.push(n)}}return t}function e(t,r){var i=[];if(c(t)){function e(e){if(r>=0){for(var n=0;n<r;n++)i.push(e?n+t:n)}else if(r<0){for(var n=0;n>r;n--)i.push(e?n+t:n)}}if(w(r)){r=t,t=Ne;e(false)}else if(c(r)){e(true)}}return i}function p(e){return s(e)?e:[e]}function v(n,t){for(var r=0;r<n.length;r++){if(x(t)){if(z(t).every(function(e){return n[r][e]===t[e]}))return r}else if(b(t)){if(t(n[r]))return r}}return n.indexOf(t)}function n(e,n){var t=v(e,n);return t>-1?e[t]:Ne}function t(e,n){return je(e,n,true)}function h(e,n){return je(e,n,false)}function m(e,n){return v(e,n)>-1}function S(e,t){var r=[];M(e,function(e){var n=l(e,"arr","obj")&&F(e)===0;if(e&&!n||!t&&e===0)r.push(e)});return r}function E(e,n){var t=[];M(e,function(e){if(s(e)){t.push.apply(t,n?E(e,true):e)}else{t.push(e)}});return t}function C(e,n){var t=[];if(y(n,"str")){M(e,function(e){t.push(R(e,n))})}return t}function j(e,n,t){if(w(t))t=true;if(g(n))t=n,n=Ne;n=y(n,"str");var r=e.slice(),i=-1;while(++i<r.length-1){for(var u=i+1;u<r.length;u++){var f;if(n){var o=R(r[i],n),a=R(r[u],n);f=t?N(o,a):o===a}else{f=t?N(r[i],r[u]):r[i]===r[u]}if(f)r.splice(u--,1)}}return r}function M(e,n){if(!e)return e;if(!b(n))Ce("fun");var t=e.length;if(t&&t>=0&&t<Math.pow(2,53)-1){for(var r=0;r<t;r++)n(e[r],r)}else{var i=z(e),r=-1;while(++r<i.length)n(e[i[r]],i[r])}return e}function T(e,i,u){return e.slice().sort(function(e,n){var t=R(e,i),r=R(n,i);if(t!==0&&!t){return u?1:-1}else if(r!==0&&!r){return u?-1:1}else if(t===r){return 0}else{return t>r?u?-1:1:u?1:-1}})}function F(e){if(x(e)){return z(e).length}else if(l(e,"str","arr","fun")||R(e,"length","num")){return e.length}else return-1}var O=i(function(e,n,t){var r=e&&e.hasOwnProperty(n);return t.length?r&&l(e[n],t):r});var R=i(function(e,n,t){if(!e||!a(n))return Ne;var r=Te(n),i=r.shift();if(!i){return t.length?y.apply(void 0,[e].concat(t)):e}if(r.length){if(!y(e[i],"object","fun"))return Ne;return R.apply(void 0,[e[i],r.join("/")].concat(t))}else{return t.length?y.apply(void 0,[e[i]].concat(t)):e[i]}});function U(e,n,t){function f(e,n,t,r){if(!n||!a(t))return e;var i=Te(t),u=i.shift();if(!u)return e;if(i.length){if(!y(n[u],"object","fun"))return e;return f(e,n[u],i.join("/"),r)}else{n[u]=r;return e}}return f(e,e,n,t)}function z(e){return Object.keys(e)}var A=i(function(e,n,t){return Me({},e,n,t)});var D=i(function(e,n,t){return Me({},e,n,t,true,true)});var k=i(function(e,n,t,r){return Me(e,n,t,r,true)});function q(e,t){if(!b(t))Ce("fun");return M(e,function(e,n){t(n,e)})}function $(e){var n;if(s(e)){n=[];for(var t=0;t<e.length;t++){n.push($(e[t]))}}else if(x(e)){n={};for(var r in e){if(O(e,r))n[r]=$(e[r])}}else{n=e}return n}function I(e){return F(e)===0}function N(e,n,t){if(typeof e!==typeof n)return false;if(s(e)&&s(n)){if(e.length!==n.length)return false;for(var r=0;r<e.length;r++){if(!N(e[r],n[r],t))return false}return true}else if(x(e)&&x(n)){if(F(e)!==F(n))return false;var i=z(e);if(t&&!N(i,z(n)))return false;for(var r=0;r<i.length;r++){if(!O(n,i[r])||!N(e[i[r]],n[i[r]],t))return false}return true}else return e===n}function _(e,n,t){if(!c(e))return Math.random();if(g(n))t=n,n=Ne;var r,i;if(!c(n)||e===n){r=Math.random()*e;return t?r:Math.floor(r)}else{var u=e>n;if(u)i=e,e=n,n=i;r=Math.random()*(n-e)+e;return t?r:u?Math.ceil(r):Math.floor(r)}}function P(e){if(w(e))e=12;var n="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",t="",r=-1;while(++r<e)t+=n[_(n.length)];return t}function Z(){return"#"+("00000"+(_(16777216)<<0).toString(16)).slice(-6)}function X(e,n,t){return Fe(e,n,t,"interval")}function W(e,n,t){return Fe(e,n,t,"timeout")}function J(e){return setTimeout(e)}function L(e){return Re(e).getTime()}function B(e){var n=Re(e);if(!n.getTime())return NaN;var t=Oe(n);return Date.UTC(t["y+"],t["M+"]-1,t["d+"],t["h+"],t["m+"],t["s+"],t["S"])}function H(e,n){return B(e)-(!+n?0:+n)}function Q(e,n){return Ue(e,n,false)}function Y(e,n){return Ue(e,n,true)}function K(e,n,t){var r=Re(n);if(!r.getTime())return"";var i=r.getUTCMilliseconds(),u=L(Y("yyyy/MM/dd hh:mm:ss",n))+i+(!+t?0:+t);return Q(e,u)}function V(e,n,t){if(!x(n))Ce("obj");if(w(t))t=true;var r=Le;if(O(n,e)){r=e}else if(O(n,"default")){r="default"}var i=n[r];if(i===Be){var u=z(n),f=u.indexOf(r)-1;while(++f<u.length)if(n[u[f]]!==Be){i=n[u[f]];break}}if(t&&b(i)){return F(i)?i(e):i()}else{return i===Be?Ne:i}}function G(e){return l(e,"arr","obj")?JSON.stringify(e,null,2):String(e)}function ee(t){M(We,function(e,n){t=t.replace(new RegExp(e,"g"),Je[n])});return t}function ne(t){M(Je,function(e,n){t=t.replace(new RegExp(e,"g"),We[n])});return t}function te(e){return y(e,"str")?e[0].toUpperCase()+e.substr(1):e}function re(e,n){if(w(n))n=2;var t=String(e.toFixed(n)).split("."),r=t[0],i=t.length>1?t[1]:"",u,f,o,a;f=Math.floor(r.length/3);o=r.length%3;u=r.substr(0,o);for(a=0;a<f;a++){u+=a===0&&!u?r.substr(o,3):","+r.substr(o,3);o+=3}return i?u+"."+i:u}function ie(e,n,t,r){var i=String(e),u=/[^\u4e00-\u9fa5]/gm,f=/[\u4e00-\u9fa5]/gm;if(a(t))r=t,t=Ne;if(!a(r))r="*";var o=i.substr(n,t).replace(u,r).replace(f,r+r);return i.substr(0,n)+o+(w(t)?"":i.substr(n+t))}function ue(e,n){var t,r="",i=0,u=-1;while(++u<e.length){if(i>=n)break;t=e.substr(u,1);r+=t;i+=se(t,"dbChar")?2:1}return r+"..."}function fe(e){if(!m(e,"?"))return{};var n=e.substring(e.lastIndexOf("?")+1);if(n==="")return{};var t=n.split("&"),r={},i=-1;while(++i<t.length){var u=t[i].split("="),f=decodeURIComponent;r[f(u[0])]=f(u[1]||"")}return r}function oe(e){if(!l(e,"obj","arr"))return"";e=JSON.parse(JSON.stringify(e));var r=[];q(e,function(e,n){var t=encodeURIComponent;r.push(t(e)+"="+t(n))});return"?"+r.join("&")}function ae(e,n){if(e&&a(e)){o(n)?He[e]=n:Ce("reg")}else if(x(e)){q(e,function(e,n){o(n)?He[e]=n:Ce("reg")})}}function ce(e,n){if(!e)return;if(w(n))n=true;if(m(["all","list"],e))return z(He);if(!O(He,e))return Ne;var t=He[e];return n?new RegExp("^("+t.source.replace(/^(\^|\$)$/gm,"")+")$"):t}var le=i(function(e,n,t){if(!e||!n)return false;return ze(e,[n].concat(t),true)});var se=i(function(e,n,t){if(!e||!n)return null;return ze(e,[n].concat(t),false)});function pe(e,n,t){var r=true,i=true;if(!b(e))Ce("fun");if(x(t)){r=O(t,"leading")?!!t.leading:r;i=O(t,"trailing")?!!t.trailing:i}return ve(e,n,{leading:r,maxWait:n,trailing:i})}function ve(r,i,e){if(!b(r))Ce("fun");var u,f,o,a,c,l,s=0,t=false,p=false,n=true;i=+i||0;if(y(e,"bol")){t=true,n=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"))n=!!e.trailing}function v(e){var n=u,t=f;u=f=Ne;s=e;a=r.apply(t,n);return a}function h(e){var n=e-l;return w(l)||n>=i||n<0||p&&e-s>=o}function g(){var e=Date.now();if(h(e))return d(e);var n=i-(e-l),t=p?Math.min(n,o-(e-s)):n;c=W(t,g)}function d(e){c=Ne;if(n&&u)return v(e);u=f=Ne;return a}function m(){var e=Date.now(),n=h(e);u=arguments,f=this,l=e;if(n){if(w(c)){s=l;c=W(i,g);return t?v(l):a}if(p){c=W(i,g);return v(l)}}if(w(c))c=W(i,g);return a}m.cancel=function(){if(!w(c))clearTimeout(c);s=0;u=l=f=c=Ne};m.flush=function(){return w(c)?a:d(Date.now())};return m}function he(e){console.log(G(e))}function ge(e,n,t){var r;function i(e){return O(e,"isFmt","bol")?e.isFmt:true}function u(e){return R(e,"title","str")||"funclib("+Ie+")"}if(y(n,"str")){if(g(t)){r=t,t={}}else{r=i(t)}}else if(g(n)){r=n,n=u(t)}else if(x(n)){t=n,r=i(t),n=u(t)}else{r=true;n="funclib("+Ie+")"}e=G(e);var f=O(t,"isShowTime")?!!t.isShowTime:true,o=f?"["+Q("hh:mm:ss",new Date)+"] ":"";n=n.replace(/\n/gm,"");var a=(o+n+"[] ").length;if(!r){n="( "+n+" )"}n=o+n;var c=R(t,"/width");if(!c||c<30||c>100){c=66}if(a>c){n=ue(n,c-3)}else if(r){n=d((c-a)/2," ").join("")+n}var l=O(t,"isSplit","bol")?t.isSplit:true;if(!r){var s=n+":\n"+e;console.log(l?"\n"+s+"\n":s)}else{var p="",v="";for(var h=0;h<c;h++){p+="-",v+="="}var s=v+"\n"+n+"\n"+p+"\n"+e+"\n"+v;console.log(l?"\n"+s+"\n":s)}}function de(e,n){if(typeof e==="string")e=document.querySelector(e);if(e&&e.tagName){var t=e.requestFullScreen||e.webkitRequestFullScreen||e.mozRequestFullScreen||e.msRequestFullScreen;t?t.call(e):Ae();if(b(n)){var r=X(100,function(){if(ye())clearInterval(r),J(n)})}}}function me(e){var n=document.cancelFullScreen||document.webkitCancelFullScreen||document.mozCancelFullScreen||document.exitFullScreen;n?n.call(document):Ae();if(b(e)){var t=X(100,function(){if(!ye())clearInterval(t),J(e)})}}function ye(){return!!(document.fullscreenElement||document.msFullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement)}function be(e){if(b(e)){var n=Date.now();Ke[n]=e;M(Ve,function(e){document.addEventListener(e,Ke[n])});return{remove:function(){we(n)}}}}be.removeAll=function(){q(Ke,function(e){we(e)})};function we(n){M(Ve,function(e){document.removeEventListener(e,Ke[n])});delete Ke[n]}function xe(e){if(w(e))e="";var n=document.createElement("textarea");n.style.position="fixed";n.style.left="200%";document.body.appendChild(n);n.value=e;n.select();document.execCommand("Copy");document.body.removeChild(n)}function Se(e){var t={value:e};t.val=function(){return t.value};M(z(De),function(n){if(n==="match"){t[n]=function(){qe[n].call(arguments)}}else{t[n]=i(function(e){if(!w(t.value))e=[t.value].concat(e);return Se(b(Ge[n])?Ge[n].apply(void 0,e):Ge[n])})}});return t}function Ee(){if(Ze.fn===this)Ze.fn=Xe;return this}function Ce(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 je(e,t,n){var r=[],i=[];M(e,function(n){if(x(t)){z(t).every(function(e){return t[e]===n[e]})?r.push(n):i.push(n)}else if(b(t)){t(n)?r.push(n):i.push(n)}});return n?r:i}function Me(r,e,i,n,t,u){if(!x(e))return r;n=E(n);var f=x(i);var o=z(e);function a(n,t,e){M(e,function(e){if(O(t,e)){n[e]=t[e]}else if(f&&O(i,"default")){n[e]=i.default}})}if(l(i,"str","arr","obj")){var c=f?n:p(i).concat(n);if(u)c=o.filter(function(e){return!m(c,e)});a(r,e,c)}else if(b(i)){q(e,function(e,n){var t=i(e,n);if(t&&!u||!t&&u)r[e]=n})}else if(t){a(r,e,o)}return r}function Te(e){return m(e,".")?S(e.split(".")):S(e.split("/"))}function Fe(e,n,t,r){var i,u,f;if(r==="interval"){i=Qe,u=setInterval,f=clearInterval}else if(r==="timeout"){i=Ye,u=setTimeout,f=clearTimeout}var o=y(e,"str");function a(){return f(i[e])}if(o){if(w(n)){return{id:i[e],stop:a,clear:a}}if(m([null,false],n)){a();return i[e]=null}if(b(n)){t=n,n=0}}if(c(e)&&b(n)){t=n,n=e,e=Ne}if(b(e)){t=e,n=0,e=Ne}if(b(t)&&c(n)&&n>=0){if(w(e))return u(t,n);if(o){a();return i[e]=u(t,n)}}}function Oe(e,n){return n?{"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 Re(e){if(f(e))return e;e=String(e);return new Date(e.match(/^[0-9]*$/)?+e:e)}function Ue(r,e,n){var t=Re(e);if(!t.getTime())return"";var i=Oe(t,n);q(i,function(e){if(new RegExp("("+e+")").test(r)){if(e==="y+"){r=r.replace(RegExp.$1,(i["y+"]+"").substr(4-RegExp.$1.length))}else{var n=i[e],t=RegExp.$1.length===1?n:("00"+n).substr((n+"").length);r=r.replace(RegExp.$1,t)}}});return r}function ze(e,n,t){var r=true,i=false,u=null;if(n.length&&l(n[n.length-1],"bol")){r=n.pop()}for(var f=0;f<n.length;f++){var o=ce(n[f],r);if(o){t?i=o.test(e):u=e.match(o);if(i||u)break}}return t?i:u}function Ae(){if(window.ActiveXObject){var e=new window.ActiveXObject("WScript.Shell");if(e)e.SendKeys("{F11}")}}function De(e){return Se(e)}De.typeOf=l;De.typeVal=y;De.isStr=a;De.isNum=c;De.isBol=g;De.isFun=b;De.isNul=r;De.isUdf=w;De.isErr=u;De.isDat=f;De.isReg=o;De.isArr=s;De.isObj=x;De.array=d;De.range=e;De.toArr=p;De.indexOf=v;De.find=n;De.filter=t;De.reject=h;De.contains=m;De.drop=S;De.flatten=E;De.pluck=C;De.uniq=j;De.forEach=M;De.each=M;De.sortBy=T;De.len=F;De.has=O;De.get=R;De.set=U;De.keys=z;De.pick=A;De.omit=D;De.extend=k;De.forIn=q;De.deepCopy=$;De.isEmpty=I;De.isDeepEqual=N;De.random=_;De.gid=P;De.gcolor=Z;De.interval=X;De.timeout=W;De.defer=J;De.time=L;De.timestamp=L;De.asUtcTime=B;De.asXyzTime=H;De.fmtDate=Q;De.fmtUtcDate=Y;De.fmtXyzDate=K;De.match=V;De.pretty=G;De.escape=ee;De.unescape=ne;De.capitalize=te;De.fmtCurrency=re;De.maskString=ie;De.cutString=ue;De.parseQueryStr=fe;De.stringifyQueryStr=oe;De.setPattern=ae;De.getPattern=ce;De.testPattern=le;De.matchPattern=se;De.rest=i;De.throttle=pe;De.debounce=ve;var ke=Array.prototype,qe=String.prototype,$e=["pop","push","concat","join","reverse","shift","slice","split","sort","substr","substring","splice","splice","unshift","every","some","map","reduce","trim","toLowerCase","toUpperCase","replace","search"];M($e,function(r){De[r]=i(function(e){var n,t=e.shift();if(s(t)&&O(ke,r))n=ke;if(a(t)&&O(qe,r))n=qe;if(n)return n[r].apply(t,e);Ce("arg")})});De.print=he;De.log=ge;De.fullScreen=de;De.exitFullScreen=me;De.isFullScreen=ye;De.fullScreenChange=be;De.copyText=xe;De.chain=Se;De.noConflict=Ee;De.version=Ie;return De}();if(typeof define=="function"&&typeof define.amd=="object"&&define.amd){Ze.fn=Ge;define(function(){return Ge})}else if(t){(t.exports=Ge).fn=Ge;t.fn=Ge}else{Ze.fn=Ge}}).call(this);