-
Notifications
You must be signed in to change notification settings - Fork 3
/
tars-utils.min.js
7 lines (7 loc) · 13.4 KB
/
tars-utils.min.js
1
2
3
4
5
6
7
/*
* tars-utils
* https://github.com/Jamie-Yang/tars-utils.git
* version 1.0.1
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).tars={})}(this,(function(e){"use strict";function t(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return Array.from({length:Math.ceil(e.length/t)},(function(n,r){return e.slice(r*t,r*t+t)}))}var n=0;function r(e){var t=Date.now(),r=Math.max(n+16,t);return setTimeout((function(){e(n=r)}),r-t)}function o(e){return(window.requestAnimationFrame||window.webkitRequestAnimationFrame||r)(e)}function i(e){(window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.clearTimeout)(e)}function a(e){return e?window.navigator.userAgent.toLowerCase():window.navigator.userAgent}function u(){return/Android/i.test(a())}function c(){return/iPhone|iPad|iPod/.test(a())}function l(){return/iPad/.test(a())}function d(){return/iPhone/.test(a())}function s(){if(!d())return!1;if("undefined"!=typeof window&&window){var e=window,t=e.devicePixelRatio,n=e.screen,r=n.width,o=n.height;return[{dpr:3,width:375,height:812},{dpr:3,width:414,height:896},{dpr:2,width:414,height:896}].some((function(e){return e.dpr===t&&e.width===r&&e.height===o}))}return!1}function f(){return/MicroMessenger/i.test(a())}var m=document.documentElement,g=document.body;function h(){return Math.max(m.scrollHeight,g.scrollHeight,m.clientHeight)}var p=document.documentElement,v=document.body;function w(){return Math.max(p.scrollWidth,v.scrollWidth,p.clientWidth)}var y=document.documentElement,x=document.body;function b(){return y.scrollTop||x.scrollTop}function P(e,t){return getComputedStyle(e)[t]}var A=document.documentElement;function S(){return A.clientHeight}var O=document.documentElement;function T(){return O.clientWidth}function E(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e.getBoundingClientRect(),r=n.top,o=n.left,i=n.bottom,a=n.right,u=window,c=u.innerHeight,l=u.innerWidth;return t?(r>0&&r<c||i>0&&i<c)&&(o>0&&o<l||a>0&&a<l):r>=0&&o>=0&&i<=c&&a<=l}function M(){function e(e,t){return e.target.tagName!==t.toUpperCase()&&e.target.tagName!==t.toLowerCase()}function t(t){e(t,"input")&&e(t,"textarea")&&e(t,"select")&&e(t,"menus")&&t.preventDefault()}document.addEventListener("touchmove",(function(e){e.preventDefault()})),document.addEventListener("touchstart",t),document.addEventListener("touchend",t)}function j(){return"#"+("00000"+(~~(Math.random()*(1<<24))).toString(16)).slice(-6)}function F(){document.querySelectorAll("*").forEach((function(e){e.style.outline="1px solid "+j}))}function R(e){if(e.focus(),e.setSelectionRange){var t=2*e.value.length;setTimeout((function(){e.setSelectionRange(t,t)}),0)}else e.value=e.value;e.scrollTop=999999}function k(e){window.requestAnimationFrame||(window.requestAnimationFrame=window.webkitRequestAnimationFrame||function(e){window.setTimeout(e,1e3/60)});var t=e.el,n=void 0===t?window:t,r=e.from,o=void 0===r?0:r,i=e.to,a=e.duration,u=void 0===a?500:a,c=e.onEnd,l=Math.abs(o-i);!function e(t,r,o){if(t!==r){var i=t+o>r?r:t+o;t>r&&(i=t-o<r?r:t-o),n===window?window.scrollTo(0,i):n.scrollTop=i,window.requestAnimationFrame((function(){return e(i,r,o)}))}else c&&c()}(o,i,Math.ceil(l/u*50))}function C(e,t,n){e.style[t]=n}function H(e){var t=Number(e);return isNaN(t)?e:t.toFixed(2).replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g,"$&,")}function q(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:" ",n=e.toString().replace(/\s/g,"");return n.replace(/(\d{4})(?=\d)/g,"$1".concat(t))}function D(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function I(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function W(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?I(Object(n),!0).forEach((function(t){D(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):I(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function N(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n={year:0,month:0,date:0,day:0,hour:0,minute:0,second:0,millisecond:0},r=W(W({},n),e),o={"Y+":r.year,"M+":r.month,"D+":r.date,"H+":r.hour,"m+":r.minute,"s+":r.second,"S+":r.millisecond,d:r.day},i=t;for(var a in o)if(new RegExp("(".concat(a,")")).test(t)){var u=void 0;u="d"===a?o[a]:("00"+o[a]).slice(-RegExp.$1.length),i=i.replace(RegExp.$1,u)}return i}function U(e,t){return N({year:e.getFullYear(),month:e.getMonth()+1,date:e.getDate(),hour:e.getHours(),minute:e.getMinutes(),second:e.getSeconds(),millisecond:e.getMilliseconds()},t)}function B(e,t){return N({day:Math.floor(e/864e5),hour:Math.floor(e%864e5/36e5),minute:Math.floor(e%36e5/6e4),second:Math.floor(e%6e4/1e3),millisecond:Math.floor(e%1e3)},t)}function z(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:" ",n=e.toString().replace(/\s/g,"");return/(\d{3})(\d{4})(\d{4})/.test(n)?"".concat(RegExp.$1).concat(t).concat(RegExp.$2).concat(t).concat(RegExp.$3):e}function L(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return 0===t.length?function(e){return e}:1===t.length?t[0]:t.reduce((function(e,t){return function(){return e(t.apply(void 0,arguments))}}))}function $(e){return Object.prototype.toString.call(e).slice(8,-1).toLowerCase()}function V(e){return"object"===$(e)}function _(e,t,n){var r,o,i,a,u,c,l=0,d=!1,s=!1,f=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function m(t){var n=r,i=o;return r=o=void 0,l=t,a=e.apply(i,n)}function g(e){return l=e,u=setTimeout(p,t),d?m(e):a}function h(e){var n=e-c;return void 0===c||n>=t||n<0||s&&e-l>=i}function p(){var e=Date.now();if(h(e))return v(e);u=setTimeout(p,function(e){var n=e-l,r=t-(e-c);return s?Math.min(r,i-n):r}(e))}function v(e){return u=void 0,f&&r?m(e):(r=o=void 0,a)}function w(){for(var e=Date.now(),n=h(e),i=arguments.length,l=new Array(i),d=0;d<i;d++)l[d]=arguments[d];if(r=l,o=this,c=e,n){if(void 0===u)return g(c);if(s)return clearTimeout(u),u=setTimeout(p,t),m(c)}return void 0===u&&(u=setTimeout(p,t)),a}return t=Number(t)||0,V(n)&&(d=!!n.leading,i=(s="maxWait"in n)?Math.max(Number(n.maxWait)||0,t):i,f="trailing"in n?!!n.trailing:f),w.cancel=function(){void 0!==u&&clearTimeout(u),l=0,r=c=o=u=void 0},w.flush=function(){return void 0===u?a:v(Date.now())},w}function Q(e,t,n){var r=!0,o=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return V(n)&&(r="leading"in n?!!n.leading:r,o="trailing"in n?!!n.trailing:o),_(e,t,{leading:r,maxWait:t,trailing:o})}function Y(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.9,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.maxWidth,o=void 0===r?750:r,i=n.mimeType;return new Promise((function(n,r){if(e instanceof File){var a=new FileReader;a.onload=function(){u(this.result)},a.readAsDataURL(e)}else"string"==typeof e&&u(e);function u(a){var u=a.match(/data:([^;,]+)/);if(Array.isArray(u)){if("image/gif"===(i||u[1]))return n(e);var c=new Image;c.src=a,c.onload=function(){var e=this.naturalWidth,r=this.naturalHeight;e>o&&(r=Math.round(o*r/e),e=o);var a=document.createElement("canvas");a.width=e,a.height=r,a.getContext("2d").drawImage(this,0,0,e,r),a.toBlob((function(e){n(e)}),i||u[1],t)}}else r(new Error("[Slug Function] Non-picture type Data URLs"))}}))}function Z(e){return"array"===$(e)}function G(e){return"boolean"===$(e)}function J(e){return null===e||!(Object.keys(e)||e).length}function K(e){return"function"===$(e)}function X(e){return"map"===$(e)}function ee(e){return"number"===$(e)}function te(e){return"set"===$(e)}function ne(e){return"string"===$(e)}function re(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return[].concat(n).reduce((function(e,t){return Object.keys(t).reduce((function(n,r){var o=t[r];return Array.isArray(o)?e[r]=re([],o):e[r]=o instanceof Object?re({},o):o,e}),{})}),e)}function oe(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return[].concat(t).reduce((function(e,t){return Object.keys(t).reduce((function(n,r){return e[r]={}.hasOwnProperty.call(e,r)?[].concat(e[r]).concat(t[r]):t[r],e}),{})}),{})}function ie(e,t){return Object.keys(e).filter((function(e){return!t.includes(e)})).reduce((function(t,n){return t[n]=e[n],t}),{})}function ae(e,t){return t.reduce((function(t,n){return n in e&&(t[n]=e[n]),t}),{})}function ue(e,t,n){var r=Math.random()*(t-e)+e;return n?Math.floor(r):r}function ce(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:32,t="ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz0123456789",n="",r=0;r<e;r++)n+=t.charAt(Math.floor(Math.random()*t.length));return n}function le(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}))}function de(e){return e.indexOf("-")<0&&e.indexOf("_")<0?e:e.replace(/[-_][^-_]/g,(function(e){return e.charAt(1).toUpperCase()}))}function se(e){return e.replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase()}function fe(e){return se(e).replace(/_/g,"-")}function me(e){var t=e.length,n=t-t/8*2;return Math.ceil(n/1024)}function ge(e){return e.replace(/<script[^>]*>(\S\s*?)<\/script>/gim,"").replace(/<[^>]+>/g,"")}function he(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function pe(e){return(e.match(/([^?=&]+)(=([^&]*))/g)||[]).reduce((function(e,t){var n=t.split("=");return e[decodeURIComponent(n[0])]=decodeURIComponent(n[1]),e}),{})}function ve(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.location.href,t=e.indexOf("#");return-1===t?"":e.slice(t)}function we(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.location.href;return pe(ve(e))}function ye(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window.location.href;return we(t)[e]}function xe(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.location.href,t=e.indexOf("#");return-1===t?e:e.slice(0,t)}function be(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.location.href,t=xe(e),n=t.indexOf("?");return-1===n?"":t.slice(n)}function Pe(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.location.href;return pe(be(e))}function Ae(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window.location.href;return Pe(t)[e]}function Se(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.location.href,t=xe(e).split("?")[0],n=Pe(e),r=ve(e);return{url:t,query:n,hash:r}}function Oe(e){if(!e)return"";var t=[];for(var n in e)({}).hasOwnProperty.call(e,n)&&t.push("".concat(encodeURIComponent(n),"=").concat(encodeURIComponent(e[n])));return t.join("&")}function Te(e){var t,n=e.url,r=e.query,o=void 0===r?{}:r,i=e.hash,a=Oe(W(W({},Pe(n=xe(n).split("?")[0])),o)),u=a?"?".concat(a):"",c=ve(n);return i=null!==(t=i)&&void 0!==t?t:c,"".concat(n).concat(u).concat(i)}function Ee(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window.location.href,n=Se(t),r=ie(n.query,e);return Te(W(W({},n),{},{query:r}))}function Me(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window.location.href,n=Se(t),r=ae(n.query,e);return Te(W(W({},n),{},{query:r}))}var je={chunk:t,requestAnimFrame:o,cancelAnimFrame:i,isAndroid:u,isIOS:c,isIPad:l,isIPhone:d,isNotchIPhone:s,isWeixin:f,ua:a,getPageHeight:h,getPageWidth:w,getPageScrollTop:b,getStyle:P,getViewHeight:S,getViewWidth:T,isElementVisible:E,lockTouch:M,outlineElements:F,putCursorAtEnd:R,scrollTo:k,setStyle:C,formatAmount:H,formatBankCard:q,formatDate:U,formatRemainTime:B,formatTel:z,compose:L,debounce:_,throttle:Q,optimizeImage:Y,getType:$,isArray:Z,isBoolean:G,isEmpty:J,isFunction:K,isMap:X,isNumber:ee,isObject:V,isSet:te,isString:ne,extend:re,merge:oe,omit:ie,pick:ae,randomA2B:ue,randomColor:j,randomString:ce,uuid:le,camelize:de,dasherize:fe,getBase64Size:me,stripTags:ge,underscored:se,xssFilter:he,getHashParam:ye,getHashParams:we,getSearchParam:Ae,getSearchParams:Pe,removeHash:xe,getHash:ve,getSearch:be,omitParams:Ee,pickParams:Me,parseQuery:pe,stringifyQuery:Oe,parseUrl:Se,makeUrl:Te};e.camelize=de,e.cancelAnimFrame=i,e.chunk=t,e.compose=L,e.dasherize=fe,e.debounce=_,e.default=je,e.extend=re,e.formatAmount=H,e.formatBankCard=q,e.formatDate=U,e.formatRemainTime=B,e.formatTel=z,e.getBase64Size=me,e.getHash=ve,e.getHashParam=ye,e.getHashParams=we,e.getPageHeight=h,e.getPageScrollTop=b,e.getPageWidth=w,e.getSearch=be,e.getSearchParam=Ae,e.getSearchParams=Pe,e.getStyle=P,e.getType=$,e.getViewHeight=S,e.getViewWidth=T,e.isAndroid=u,e.isArray=Z,e.isBoolean=G,e.isElementVisible=E,e.isEmpty=J,e.isFunction=K,e.isIOS=c,e.isIPad=l,e.isIPhone=d,e.isMap=X,e.isNotchIPhone=s,e.isNumber=ee,e.isObject=V,e.isSet=te,e.isString=ne,e.isWeixin=f,e.lockTouch=M,e.makeUrl=Te,e.merge=oe,e.omit=ie,e.omitParams=Ee,e.optimizeImage=Y,e.outlineElements=F,e.parseQuery=pe,e.parseUrl=Se,e.pick=ae,e.pickParams=Me,e.putCursorAtEnd=R,e.randomA2B=ue,e.randomColor=j,e.randomString=ce,e.removeHash=xe,e.requestAnimFrame=o,e.scrollTo=k,e.setStyle=C,e.stringifyQuery=Oe,e.stripTags=ge,e.throttle=Q,e.ua=a,e.underscored=se,e.uuid=le,e.xssFilter=he,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=tars-utils.min.js.map