@librecoder/tools
Version:

7 lines (6 loc) • 6.76 kB
JavaScript
/*!
* tools - v1.0.5
* (c) 2021 - 2022 Qt
* Released under the MIT License.
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).tools={})}(this,(function(e){"use strict";function t(e){return Object.prototype.toString.call(e).slice(8,-1)}var n=Object.freeze({__proto__:null,is:function(e){return!!e},not:function(e){return!e},isDef:function(e){return null!=e},notDef:function(e){return null==e},isTrue:function(e){return!0===e},isFalse:function(e){return!1===e},isPrimitive:function(e){return"string"==typeof e||"number"==typeof e||"symbol"==typeof e||"boolean"==typeof e},getType:t,isString:function(e){return"String"===t(e)},isNumber:function(e){return"Number"===t(e)},isBoolean:function(e){return"Boolean"===t(e)},isFunction:function(e){return"Function"===t(e)},isNull:function(e){return"Null"===t(e)},isUndefined:function(e){return"Undefined"===t(e)},isObject:function(e){return"Object"===t(e)},isArray:function(e){return Array.isArray(e)},isRegExp:function(e){return"RegExp"===t(e)},isDate:function(e){return"Date"===t(e)},isError:function(e){return"Error"===t(e)},isSymbol:function(e){return"Symbol"===t(e)},isSet:function(e){return"Set"===t(e)},isMap:function(e){return"Map"===t(e)},isPromise:function(e){return"Promise"===t(e)}});function r(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var o=Object.freeze({__proto__:null,clone:function e(n){let r;const o=t(n);if("Object"===o)r={};else{if("Array"!==o)return n;r=[]}for(const t in n)r[t]=e(n[t]);return r},hasProperty:r,arrayRemove:function(e,t){if(e.length){const n=e.indexOf(t);if(n>-1)return e.splice(n,1)}},objectRemove:function(e,t){r(e,t)&&delete e[t]},uuid:function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e=>("x"===e?16*Math.random()|0:8).toString(16)))}});function i(e){return e.replace(/^\s+|\s+$/gm,"")}var s=Object.freeze({__proto__:null,trim:i});function a(e,t){var n={"M+":e.getMonth()+1,"d+":e.getDate(),"h+":12==e.getHours()?12:e.getHours()%12,"H+":e.getHours(),"m+":e.getMinutes(),"s+":e.getSeconds(),"q+":Math.floor((e.getMonth()+3)/3),"S+":e.getMilliseconds(),"t+":e.getHours()<12?"am":"pm","T+":e.getHours()<12?"AM":"PM"};for(var r in/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(e.getFullYear()+"").substr(4-RegExp.$1.length))),n)new RegExp("("+r+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?n[r]:("00"+n[r]).substr(-RegExp.$1.length)));return t}function u(e,t){if("number"==typeof e)return new Date(e);if(!t)return new Date(Date.parse(e));var n={y:{reg:/y+/g},M:{reg:/M+/g},d:{reg:/d+/g},H:{reg:/H+/g},h:{reg:/h+/g},m:{reg:/m+/g},s:{reg:/s+/g},S:{reg:/S+/g}};for(var r in n)for(var o,i=n[r];null!=(o=i.reg.exec(t));)i.idx=o.index,i.len=o[0].length,i.val=parseInt(e.substr(i.idx,i.len));if(n.y.val=n.y.val||0,n.M.val=n.M.val||0,n.d.val=n.d.val||0,null==n.H.val||isNaN(n.H.val))if(isNaN(n.h.val)||"number"!=typeof n.h.val)n.H.val=0;else{var s=/am/i.test(e);n.H.val=s?n.h.val:n.h.val+12}return n.m.val=n.m.val||0,n.s.val=n.s.val||0,n.S.val=n.S.val||0,new Date(n.y.val,n.M.val-1,n.d.val,n.H.val,n.m.val,n.s.val,n.S.val)}var l=Object.freeze({__proto__:null,formatDate:a,parseDate:u});var c=Object.freeze({__proto__:null,isEmail:e=>/^([\w_\-])+@([\w_\-])+((\.[\w_\-]+){1,2})$/.test(e),isMobile:e=>/^1\d{10}$/.test(e),isTel:e=>/^(0\d{2,3}-\d{7,8})(-\d{1,4})?$/.test(e),isIdNo:e=>/^(^[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])$)$/.test(e),isCarNo:e=>/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/.test(e),isChinese:e=>/[u4E00-u9FA5]/.test(e),isUrl:e=>/^(?:(http|https|ftp):\/\/)?((?:[\w_\-]+\.)*[\w_\-]+)(:\d+)?([^?#]*)(\?[^/?#]*)?(#.+)?$/i.test(e),isDate:e=>/^[1-2]\d{3}-(0?\d|1[0-2])-([0-2]?\d|3[0-1])$/.test(e)});function p(e=window.location.search){const t=e.split("?");if(t[0]===e)return{};const n={},r=t[1].split("#")[0].split("&");for(let e=0;e<r.length;e++){let t=r[e].split("=");n[t[0]]=t[1]}return n}var f=Object.freeze({__proto__:null,parseQuery:p,getQuery:function(e,t=window.location.search){return p(t)[e]},asQuery:function(e){const t=[];for(const n in e){const r=e[n];r.constructor===Array?r.forEach((function(e){t.push(n+"="+e)})):t.push(n+"="+r)}return t.join("&")}});const d=()=>/(nokia|iphone|android|ipad|motorola|^mot\-|softbank|foma|docomo|kddi|up\.browser|up\.link|htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfaith|palmsource|blackberry|alcatel|amoi|ktouch|nexian|samsung|^sam\-|s[cg]h|^lge|ericsson|philips|sagem|wellcom|bunjalloo|maui|symbian|smartphone|midp|wap|phone|windows ce|iemobile|^spice|^bird|^zte\-|longcos|pantech|gionee|^sie\-|portalmmm|jig\s browser|hiptop|^ucweb|^benq|haier|^lct|opera\s*mobi|opera\*mini|320x320|240x320|176x220)/i.test(navigator.userAgent),g=()=>/microMessenger/i.test(navigator.userAgent),h=()=>/android/i.test(navigator.userAgent),m=()=>/ipad/i.test(navigator.userAgent),x=()=>/iphone/i.test(navigator.userAgent),v=()=>/Windows Phone/i.test(navigator.userAgent),b=()=>/macintosh/i.test(navigator.userAgent),y=()=>/windows/i.test(navigator.userAgent),_=()=>/linux/i.test(navigator.userAgent);var w=Object.freeze({__proto__:null,isMobile:d,isWechat:g,isAndroid:h,isIpad:m,isIphone:x,isWindowsPhone:v,isMac:b,isWindows:y,isLinux:_,isPC:()=>!d(),getAgentType:()=>{let e=[];return d()?(e.push("mobile"),g()?e.push("wechat"):h()?e.push("android"):m()?e.push("iPad"):x()?e.push("iPhone"):v()&&e.push("windowsPhone")):(e.push("pc"),g()?e.push("wechat"):b()?e.push("mac"):_()?e.push("linux"):y()&&e.push("windows")),e.join(":")}});function j(e,t,n={}){let r=e+"="+encodeURIComponent(t);if(n.expires){const e=new Date;e.setTime(e.getTime()+3600*n.expires*1e3),n.expires=e.toUTCString()}for(const e in n)r+=";"+e+"="+n[e];document.cookie=r}function A(e){let t=document.cookie+";";const n=t.indexOf(e);if(n<=-1)return null;const r=t.indexOf(";",n),o=t.slice(n+e.length+1,r);return decodeURIComponent(o)}var M=Object.freeze({__proto__:null,setCookie:j,getCookie:A,delCookie:function(e){const t=A(e);if(null===t)return!1;j(e,t,{expires:0})}});Date.format||(Date.format=a),Date.deformat||(Date.deformat=u),Date.prototype.clone||Object.defineProperty(Date.prototype,"format",{configurable:!0,enumerable:!1,writable:!1,value:function(e){return a(this,e)}}),String.prototype.trim&&Object.defineProperty(String.prototype,"trim",{configurable:!0,enumerable:!1,writable:!1,value:function(){return i(this)}}),e.cookie=M,e.date=l,e.device=w,e.regexp=c,e.string=s,e.type=n,e.url=f,e.utils=o,Object.defineProperty(e,"__esModule",{value:!0})}));