diana
Version:
lightweight tool library
2 lines (1 loc) • 9.6 kB
JavaScript
import n from"tslib";var t=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];for(var e=[],r=0;r<n.length;r++)e=e.concat(n[r]);var o={},i=[];return e.forEach(function(n){o[typeof n+n]||(o[typeof n+n]=n,i.push(n))}),i};var e=function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];if(1===n.length){for(var r=n[0].sort(),o=[],i=0;i<r.length-1;i++)r[i]===r[i+1]&&o.push(r[i]);return o}if(n.length>1){var a=[];for(i=0;i<n.length;i++)a=a.concat(t(n[i]));for(r=a.sort(),o=[],i=0;i<r.length-1;i++)r[i]===r[i+(n.length-1)]&&o.push(r[i]);return o}};var r=function(n,t){return n.reduce(function(n,e){return e===t?n+1:n+0},0)};var o=function(n,t){var e=new Set(t);return n.filter(function(n){return!e.has(n)})};var i=function(){return"#"+("000"+(16777216*Math.random()<<0).toString(16)).slice(-6)};var a=function(n,t,e){if(n===t)return"rdNum() 边界值不合理";var r=t-n,o=Math.random();switch(e){case"left":return n+Math.floor(o*r);case"right":return 0===o&&(o=1),n+Math.ceil(o*r);case"no":return t-n<1||t-n==1?"rdNum() 边界值不合理":(0===o&&(o=1),n+Math.ceil(o*(r-1)));default:return n+Math.round(o*r)}};var u=function(n){return/^[a-z0-9]+([._\\-]*[a-z0-9])*@(\w+([-.]\w+)*\.){1,63}[a-z0-9]+$/.test(n)};var c=function(n){return/^(0|86|17951)?(13[0-9]|15[012356789]|16[0-9]|17[0-9]|18[0-9]|14[0-9]|19[0-9])[0-9]{8}$/.test(String(n))};var s=function(n,t){switch(t){case 1:return n.replace(/\s*/g,"");case 2:return n.replace(/(^\s*)|(\s*$)/g,"");case 3:return n.replace(/(^\s*)/g,"");case 4:return n.replace(/(\s*$)/g,"");default:return n.replace(/\s*/g,"")}};var l=function(n,t){switch(t){case 1:return n.replace(/^(\w)(\w+)/,function(n,t,e){return t.toUpperCase()+e.toLowerCase()});case 2:return n.replace(/^(\w)(\w+)/,function(n,t,e){return t.toLowerCase()+e.toUpperCase()});case 3:return function(n){var t="";return n.split("").forEach(function(n){/^[a-z]/.test(n)?t+=n.toUpperCase():/^[A-Z]/.test(n)?t+=n.toLowerCase():t+=n}),t}(n);default:return n.replace(/^(\w)(\w+)/,function(n,t,e){return t.toUpperCase()+e.toLowerCase()})}};var f=function(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")};var p=function(n){return n.split("").sort(function(n,t){return n.localeCompare(t)}).join("")};var d=function(n){if(n instanceof Object){var t={};for(var e in n)t[e]=n[e];return t}},v=Math.pow(2,53)-1,g=function(n){var t=null===n?void 0:n.length;return"number"==typeof t&&t>=0&&t<=v},h=function(n,t,e){var r,o;if(t=function(n,t,e){if(void 0===t)return n;switch(e){case 1:return function(e){return n.call(t,e)}}return function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return n.apply(t,e)}}(t,e),g(n))for(r=0,o=n.length;r<o;r++)t(n[r],r,n);else{var i=Object.keys(n);for(r=0,o=i.length;r<o;r++)t(n[i[r]],i[r],n)}return this},m={};h(["Arguments","Function","String","Date","RegExp","Error","Symbol","Map","WeakMap","Set","WeakSet"],function(n){m["is"+n]=function(t){return Object.prototype.toString.call(t)==="[object "+n+"]"}}),m.isNumber=function(n){return"[object Number]"===Object.prototype.toString.call(n)&&!isNaN(n)},m.isArray=function(n){return Array.isArray(n)};var b=m,w=b.isDate,y=b.isRegExp,j=b.isFunction,O=b.isArray;var M=function(n){var t="";return n.global&&(t+="g"),n.ignoreCase&&(t+="i"),n.multiline&&(t+="m"),t},S=function(n){var t=[],e=[];return function n(r){var o,i=t.indexOf(r);if(~i)return e[i];if(null==r||"object"!=typeof r&&!j(r))return r;if(w(r))return(o=new Date).setTime(r.getTime()),o;if(y(r))return o=new RegExp(r.source,M(r)),r.lastIndex&&(o.lastIndex=r.lastIndex),o;if(j(r))return new Function("return "+r)();if(O(r)){o=[],t.push(r),e.push(o);for(var a=0,u=r.length;a<u;a++)o[a]=n(r[a]);return o}if(r instanceof Object){var c=Object.getPrototypeOf(r);for(var s in o=Object.create(c),t.push(r),e.push(o),r)o[s]=n(r[s]);return o}}(n)};function x(n){return n.reduce(function(n,t){return n+t})}var C={distance:function(n,t,e,r){return Math.hypot(e-n,r-t)},gcd:function n(t,e){return e?n(e,t%e):t},max:function(n){return Math.max.apply(null,n)},mean:function(n){return x(n)/n.length},min:function(n){return Math.min.apply(null,n)},sum:x};var A=function(n,t){void 0===t&&(t=0);for(var e=Math.pow(10,t),r=(Math.round(n*e)/e).toString(),o=r.split(".")[1]?r.split(".")[1].length:0;o<t;)r.includes(".")?r+="0":r+=".0",o++;return r},k=b.isFunction,N=Object.prototype.toString;function E(n,t,e,r){return n===t?0!==n||1/n==1/t:null!=n&&null!=t&&(n!=n?t!=t:("function"==typeof n||"object"==typeof n||"object"==typeof t)&&function(n,t,e,r){void 0===e&&(e=[]);void 0===r&&(r=[]);var o=N.call(n);if(o!==N.call(t))return!1;switch(o){case"[object RegExp]":case"[object String]":return""+n==""+t;case"[object Number]":return+n!=+n?+t!=+t:0==+n?1/+n==1/t:+n==+t;case"[object Date]":case"[object Boolean]":return+n==+t;case"[object Symbol]":return Symbol.prototype.valueOf.call(n)===Symbol.prototype.valueOf.call(t)}var i="[object Array]"===o;if(!i){if("object"!=typeof n||"object"!=typeof t)return!1;var a=n.constructor,u=t.constructor;if(a!==u&&!(k(a)&&a instanceof a&&k(u)&&u instanceof u))return!1}var c=e.length;for(;c--;)if(e[c]===n)return r[c]===t;if(e.push(n),r.push(t),i){var s=n.length;if(s!==t.length)return!1;for(;s--;)if(!E(n[s],t[s],e,r))return!1}else{var l=Object.keys(n),f=void 0,p=l.length;if(Object.keys(t).length!==p)return!1;for(;p--;)if(f=l[p],!t.hasOwnProperty(f)||!E(n[f],t[f],e,r))return!1}return e.pop(),r.pop(),!0}(n,t,e,r))}var T=E;function D(n,t,e){var r;return function(){for(var o=this,i=[],a=0;a<arguments.length;a++)i[a]=arguments[a];if(r&&clearTimeout(r),e){var u=!r;r=setTimeout(function(){r=null},t),u&&n.apply(this,i)}else r=setTimeout(function(){n.apply(o,i),r=null},t)}}var I={debounce:D,Debounce:function(n,t){return function(e,r,o){o.value=D(e[r],n,t)}}};var B={uniq:t,intersection:e,countInArr:r,difference:o,rdColor:i,rdNum:a,isEmail:u,isPhoneNum:c,trim:s,changeCase:l,escapeStr:f,sortStr:p,clone:d,cloneDeep:S,sum:C.sum,mean:C.mean,max:C.max,min:C.min,distance:C.distance,gcd:C.gcd,round:A,equal:function(n,t){return T(n,t)},pairs2obj:function(n){return n.reduce(function(n,t){return n[t[0]]=t[1],n},{})},convertInObj:function(n,t){return Object.keys(n).map(function(e){t.number&&t.number.length>0&&~t.number.indexOf(e)&&(""===n[e]||void 0===n[e]?n[e]=null:n[e]=Number(n[e])),t.string&&t.string.length>0&&~t.string.indexOf(e)&&(void 0===n[e]?n[e]=null:n[e]=String(n[e])),t.boolean&&t.boolean.length>0&&~t.boolean.indexOf(e)&&(void 0===n[e]?n[e]=null:n[e]=Boolean(Number(n[e])))}),n},obj2query:function(n,t){return t?n+"?"+Object.keys(t).filter(function(n){return null!=t[n]}).map(function(n){return n+"="+encodeURIComponent(t[n])}).join("&"):"please check if the second params is Object"},query2obj:function(n){var t=n.substring(n.lastIndexOf("?")+1);if(!t)return{};for(var e={},r=0,o=decodeURIComponent(t).split("&").filter(function(n){return""!==n});r<o.length;r++){var i=o[r],a=i.match(/.*?(?==)/);a&&(e[a[0]]=i.substring(i.indexOf("=")+1))}return e},each:h,debounce:I.debounce,Debounce:I.Debounce,throttle:function(n,t,e){var r,o=0;e||(e={});var i=function(){for(var i=this,a=[],u=0;u<arguments.length;u++)a[u]=arguments[u];var c=(new Date).getTime();o||!1!==e.leading||(o=c);var s=t-(c-o);s<=0||c<o?(r&&(clearTimeout(r),r=null),o=c,n.apply(this,a)):r||!1===e.trailing||(r=setTimeout(function(){o=!1===e.leading?0:(new Date).getTime(),r=null,n.apply(i,a)},s))};return i.cancel=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];clearTimeout(r),o=0,r=null},i},curry:function n(t,e){void 0===e&&(e=t.length);for(var r=[],o=2;o<arguments.length;o++)r[o-2]=arguments[o];return e<=r.length?t.apply(void 0,r):n.bind.apply(n,[null,t,e].concat(r))},timeTaken:function(n){console.time("timeTaken");var t=n();return console.timeEnd("timeTaken"),t}},L=n.__assign({},B,b);var P=function(){var n=navigator.userAgent.toLowerCase()||"",t=navigator.platform||"",e={Windows:"Win32"===navigator.platform||"Windows"===navigator.platform,MacOSX:"Mac68K"===navigator.platform||"MacPPC"===navigator.platform||"Macintosh"===navigator.platform||"MacIntel"==navigator.platform,Unix:"X11"===navigator.platform&&!this.Windows&&!this.MacOSX,Linux:/linux/i.test(t),ios:/iphone/i.test(n)||/ipad/i.test(n)||/ipod/i.test(n),android:/android/i.test(n),weixin:/MicroMessenger/i.test(n),other:!0};return Object.keys(e).filter(function(n){return!0===e[n]})[0]},W={Android:function(){return/Android/i.test(navigator.userAgent)},BlackBerry:function(){return/BlackBerry/i.test(navigator.userAgent)},iOS:function(){return/iPhone|iPad|iPod/i.test(navigator.userAgent)},Opera:function(){return/Opera Mini/i.test(navigator.userAgent)},Windows:function(){return/IEMobile/i.test(navigator.userAgent)},any:function(){return this.Android()||this.BlackBerry()||this.iOS()||this.Opera()||this.Windows()}},U=W.any.bind(W),R=function(){return!("undefined"==typeof window||!window.document||!window.document.createElement)};var $=function(n,t){return void 0===t&&(t=!0),t?window.location.href=n:window.location.replace(n),this};var q=function(n){var t=window.onload;return"function"!=typeof window.onload?window.onload=n:window.onload=function(){t(),n()},this};var z=function(n,t){var e=t.parentNode;return t===e.lastElementChild?e.appendChild(n):e.insertBefore(n,t.nextSibling),this};var F=function(n,t){for(var e=n.className.split(" "),r=0;r<e.length;r++)if(t===e[r])return!0;return!1};var X=function(n,t){return n.classList?n.classList.add(t):F(n,t)||n.setAttribute("class",n.className+" "+t),this};export default Object.assign({},L,{getOS:P,isMobile:U,isClient:R,redirect:$,addLoadEvent:q,insertAfter:z,addClass:X,hasClass:F});