Comparing version 1.5.20 to 1.5.21
/** | ||
* xe-utils.js v1.5.20 | ||
* xe-utils.js v1.5.21 | ||
* (c) 2017-2018 Xu Liangzhan | ||
@@ -16,3 +16,3 @@ * ISC License. | ||
XEUtils.version = '1.5.20' | ||
XEUtils.version = '1.5.21' | ||
@@ -913,2 +913,12 @@ /** | ||
function isMobile () { | ||
var agents = ['Android', 'webOS', 'iPhone', 'iPad', 'iPod', 'SymbianOS', 'BlackBerry', 'Windows Phone'] | ||
for (var userAgentInfo = navigator.userAgent, i = 0; i < agents.length; i++) { | ||
if (userAgentInfo.indexOf(agents[i]) > 0) { | ||
return true | ||
} | ||
} | ||
return false | ||
} | ||
/** | ||
@@ -919,9 +929,19 @@ * 获取浏览器内核 | ||
function browse () { | ||
var result = {} | ||
if (typeof document !== 'undefined') { | ||
var $body = document.body || document.documentElement | ||
baseExports.arrayEach(['webkit', 'khtml', 'moz', 'ms', 'o'], function (core) { | ||
result['-' + core] = !!$body[core + 'MatchesSelector'] | ||
}) | ||
var result = { | ||
isNode: false, | ||
isMobile: false, | ||
isPC: false | ||
} | ||
if (typeof window === 'undefined' && typeof process !== 'undefined') { | ||
result.nodeJS = true | ||
} else { | ||
result.isMobile = isMobile() | ||
result.isPC = !result.isMobile | ||
if (typeof document !== 'undefined') { | ||
var $body = document.body || document.documentElement | ||
baseExports.arrayEach(['webkit', 'khtml', 'moz', 'ms', 'o'], function (core) { | ||
result['-' + core] = !!$body[core + 'MatchesSelector'] | ||
}) | ||
} | ||
} | ||
return result | ||
@@ -934,2 +954,5 @@ } | ||
var decode = decodeURIComponent | ||
var encode = encodeURIComponent | ||
/** | ||
@@ -949,2 +972,5 @@ * cookie操作函数 | ||
var isDoc = typeof document !== 'undefined' | ||
if (this && this.$context) { | ||
this.$context = null | ||
} | ||
if (baseExports.isArray(name)) { | ||
@@ -963,3 +989,3 @@ inserts = name | ||
if (opts.name) { | ||
values.push(encodeURIComponent(opts.name) + '=' + encodeURIComponent(baseExports.isObject(opts.value) ? JSON.stringify(opts.value) : opts.value)) | ||
values.push(encode(opts.name) + '=' + encode(baseExports.isObject(opts.value) ? JSON.stringify(opts.value) : opts.value)) | ||
if (opts.expires !== undefined) { | ||
@@ -982,3 +1008,3 @@ opts.expires = new Date(new Date().getTime() + parseFloat(opts.expires) * 86400000).toUTCString() | ||
var keyIndex = val.indexOf('=') | ||
result[decodeURIComponent(val.substring(0, keyIndex))] = decodeURIComponent(val.substring(keyIndex + 1) || '') | ||
result[decode(val.substring(0, keyIndex))] = decode(val.substring(keyIndex + 1) || '') | ||
}) | ||
@@ -1248,9 +1274,12 @@ } | ||
function getLocatOrigin () { | ||
return $locat.origin || ($locat.protocol + '//' + $locat.host) | ||
return $locat ? ($locat.origin || ($locat.protocol + '//' + $locat.host)) : '' | ||
} | ||
function getBaseURL () { | ||
var pathname = $locat.pathname | ||
var lastIndex = baseExports.lastIndexOf(pathname, '/') + 1 | ||
return getLocatOrigin() + (lastIndex === pathname.length ? pathname : pathname.substring(0, lastIndex)) | ||
if ($locat) { | ||
var pathname = $locat.pathname | ||
var lastIndex = baseExports.lastIndexOf(pathname, '/') + 1 | ||
return getLocatOrigin() + (lastIndex === pathname.length ? pathname : pathname.substring(0, lastIndex)) | ||
} | ||
return '' | ||
} | ||
@@ -1435,3 +1464,3 @@ | ||
methodExports.objectEach(methods, function (fn, name) { | ||
XEUtils[name] = methodExports.isFunction(fn) ? function () { | ||
XEUtils[name] = 'cookie'.indexOf(name) === -1 && methodExports.isFunction(fn) ? function () { | ||
var result = fn.apply(XEUtils.$context, arguments) | ||
@@ -1438,0 +1467,0 @@ XEUtils.$context = null |
/** | ||
* xe-utils.js v1.5.20 | ||
* xe-utils.js v1.5.21 | ||
* (c) 2017-2018 Xu Liangzhan | ||
@@ -7,2 +7,2 @@ * ISC License. | ||
*/ | ||
!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):n.XEUtils=t()}(this,function(){"use strict";function n(){}function t(n){var t=[];return tn.isArray(n)&&tn.arrayEach(n,function(n){t.includes(n)||t.push(n)}),t}function e(){for(var n=[],e=0,r=arguments.length;e<r;e++)n=n.concat(arguments[e]);return t(n)}function r(n,t,e){return tn.isArray(n)?n.sort(t?tn.isFunction(t)?t.bind(e||this):function(n,e){return n[t]>e[t]?1:-1}:function(n,t){return n>t?1:-1}):n}function i(n){for(var t=[],e=tn.objectValues(n),r=e.length-1;r>=0;r--){var i=r>0?ln.getRandom(0,r):0;t.push(e[i]),e.splice(i,1)}return t}function o(n,t){var e=i(n);return 1===arguments.length?e[0]:(t<e.length&&(e.length=t||0),e)}function u(n,t,e){if(n){if(tn.isArray(n))return n.some(t,e||this);for(var r in n)if(n.hasOwnProperty(r)&&t.call(e||this,n[r],r,n))return!0}return!1}function a(n,t,e){if(n){if(tn.isArray(n))return n.every(t,e||this);for(var r in n)if(n.hasOwnProperty(r)&&!t.call(e||this,n[r],r,n))return!1}return!0}function c(n,t,e){if(n){if(tn.isArray(n))return n.filter(t,e||this);var r={};return tn.each(n,function(i,o){t.call(e||this,i,o,n)&&(r[o]=i)}),r}return[]}function s(n,t,e){if(n){if(tn.isArray(n))return n.find(t,e||this);for(var r in n)if(n.hasOwnProperty(r)&&t.call(e||this,n[r],r,n))return n[r]}}function f(n,t,e){var r=[];if(n){if(tn.isArray(n))return n.map(t,e||this);tn.each(n,function(){r.push(t.apply(e||this,arguments))})}return r}function l(n){return"function"==typeof n}function h(n){return"string"==typeof n}function y(n){return"number"==typeof n}function p(n){return"object"==typeof n}function g(n){return!!n&&n.constructor===Object}function m(n){return"[object Date]"===z.call(n)}function d(n){return"undefined"!=typeof Symbol&&Symbol.isSymbol?Symbol.isSymbol(n):"symbol"==typeof n}function v(n){return function(t,e){if(t){if(h(t)||K(t))return n(t,e);for(var r in t)if(e===t[r])return r}return-1}}function b(n,t){return-1!==B(n,t)}function j(n,t,e){for(var r,i=1,o=t.length;i<o;i++)r=t[i],w(S(t[i]),function(t){n[t]=e?F(r[t],e):r[t]});return n}function S(n){var t=[];if(n){if(Object.keys)return Object.keys(n);E(n,function(n,e){t.push(e)})}return t}function M(n){if(Object.values)return n?Object.values(n):[];var t=[];return w(S(n),function(e){t.push(n[e])}),t}function D(n){if(Object.entries)return n?Object.entries(n):[];var t=[];return w(S(n),function(e){t.push([e,n[e]])}),t}function O(n){return M(n)[0]}function x(n){var t=M(n);return t[t.length-1]}function E(n,t,e){for(var r in n)n.hasOwnProperty(r)&&t.call(e||this,n[r],r,n)}function w(n,t,e){for(var r=0,i=n.length||0;r<i;r++)t.call(e||this,n[r],r,n)}function N(n,t,e){return n?K(n)?l(n.forEach)?n.forEach(t,e||this):w(n,t,e||this):E(n,t,e||this):n}function A(t){return g(t)?function(n){var t={};return N(n,function(n,e){t[e]=A(n)}),t}(t):K(t)?function(t){return n.arrayMap(t,A)}(t):t}function F(n,t){return n?t?A(n):V(g(n)?{}:[],n):n}function T(n,t,e){var r=[],i="undefined"!=typeof document;if(tn.isArray(n)?r=n:arguments.length>1?r=[tn.objectAssign({name:n,value:t},e)]:tn.isObject(n)&&(r=[n]),!(r.length>0)){var o={};return i&&document.cookie&&tn.arrayEach(document.cookie.split("; "),function(n){var t=n.indexOf("=");o[decodeURIComponent(n.substring(0,t))]=decodeURIComponent(n.substring(t+1)||"")}),1===arguments.length?o[n]:o}i&&tn.arrayEach(r,function(n){var t=tn.objectAssign({},n),e=[];t.name&&(e.push(encodeURIComponent(t.name)+"="+encodeURIComponent(tn.isObject(t.value)?JSON.stringify(t.value):t.value)),void 0!==t.expires&&(t.expires=new Date((new Date).getTime()+864e5*parseFloat(t.expires)).toUTCString()),tn.arrayEach(["expires","path","domain","secure"],function(n){void 0!==t[n]&&e.push(n+"="+t[n])})),document.cookie=e.join("; ")})}function I(n,t){if(n){if(tn.isDate(n))return n;if(!isNaN(n))return new Date(n);if(tn.isString(n)){t=t||"yyyy-MM-dd HH:mm:ss.SSS";var e=[];return tn.arrayEach(un,function(r){for(var i,o,u=0,a=r.rules,c=a.length;u<c;u++){if(i=a[u],(o=t.indexOf(i[0]))>-1){e.push(parseFloat(n.substring(o,o+i[1])||0)+(r.offset||0));break}u===c-1&&e.push(0)}}),new Date(e[0],e[1],e[2],e[3],e[4],e[5],e[6])}}return"Invalid Date"}function R(n,t,e){var r=I(n),i=t&&!isNaN(t)?t:0,o=r.getHours(),u=r.getMinutes(),a=r.getSeconds(),c=r.getMilliseconds();if("first"===e){var s=r.getFullYear(),f=r.getMonth();return(f+=i)<0?new Date(s-Math.ceil((f=Math.abs(f))/12),12-(f%12||1),1,o,u,a,c):new Date(s+Math.floor(f/12),f%12,1,o,u,a,c)}if("last"===e)return new Date(R(r,i+1,"first").getTime()-864e5);var l=r.getDate(),h=R(r,i,"first"),y=h.getMonth();for(h.setDate(l);y<h.getMonth();)h.setDate(--l);return h}function H(n){var t={},e=n.split("?")[1]||"";return e&&tn.arrayEach(e.split("&"),function(n){var e=n.split("=");t[decodeURIComponent(e[0])]=decodeURIComponent(e[1]||"")}),t}function U(){return sn.origin||sn.protocol+"//"+sn.host}function k(n){var t=""+n;0===t.indexOf("/")&&(t=U()+t);var e=t.replace(/#.*/,"").match(/(\?.*)/),r={href:t,hash:"",host:"",hostname:"",protocol:"",port:"",search:e?e[1]:""};r.path=t.replace(/^([a-z0-9.+-]*:)\/\//,function(n,t){return r.protocol=t,""}).replace(/^([a-z0-9.+-]*)(:\d+)?\//,function(n,t,e){var i=e||"";return r.port=i.replace(":",""),r.hostname=t,r.host=t+i,"/"}).replace(/(#.*)/,function(n,t){return r.hash=t,""});var i=location.hash.match(/#((.*)\?|(.*))/);return r.pathname=r.path.replace(/(\?|#.*).*/,""),r.origin=r.protocol+"//"+r.host,r.hashKey=i?i[2]:"",r.hashQuery=H(r.hash),r.searchQuery=H(r.search),r}function C(n,t){return tn.isFunction(t)?W.arraySort(W.arrayMap(n,t,this)):W.arraySort(n,t)}function q(){return C.apply(this,arguments)[0]}function P(){return C.apply(this,arguments).reverse()[0]}function J(n){var t=new RegExp("(?:"+tn.objectKeys(n).join("|")+")","g");return function(e){return String(e||"").replace(t,function(t){return n[t]})}}n.version="1.5.20";var W={arrayUniq:t,uniq:t,arrayUnion:e,union:e,arraySort:r,sort:r,arrayShuffle:i,shuffle:i,arraySample:o,sample:o,arraySome:u,some:u,arrayEvery:a,every:a,arrayFilter:c,filter:c,arrayFind:s,find:s,arrayMap:f,map:f},z=Object.prototype.toString,K=Array.isArray||function(n){return"[object Array]"===z.call(n)},Y=Number.isInteger,$=0,B=v(function(n,t){if(n.indexOf)return n.indexOf(t);for(var e=0,r=n.length;e<r;e++)if(t===n[e])return e}),L=v(function(n,t){if(n.lastIndexOf)return n.lastIndexOf(t);for(var e=n.length-1;e>=0;e--)if(t===n[e])return e;return-1}),Q=b,V=function(n){if(n){var t=arguments;if(!0!==n)return Object.assign?Object.assign.apply(Object,t):j(n,t);if(t.length>1)return n=K(n[1])?[]:{},j(n,t,!0)}return n},X=S,G=M,Z=D,_=O,nn=x,tn={isNaN:isNaN,isFinite:isFinite,isArray:K,isFloat:function(n){return null!==n&&!isNaN(n)&&!Y(n)},isInteger:Y,isFunction:l,isBoolean:function(n){return"boolean"==typeof n},isString:h,isNumber:y,isRegExp:function(n){return"[object RegExp]"===z.call(n)},isObject:p,isPlainObject:g,isDate:m,isError:function(n){return"[object Error]"===z.call(n)},isTypeError:function(n){return!!n&&n.constructor===TypeError},isEmpty:function(n){if(0===n||!y(n)){for(var t in n)return!1;return!0}return!1},isNull:function(n){return null===n},isSymbol:d,isArguments:function(n){return"[object Arguments]"===z.call(n)},isElement:function(n){return n&&h(n.nodeName)&&y(n.nodeType)},isDocument:function(n){return n&&9===n.nodeType&&"undefined"!=typeof document},isWindow:function(n){return n&&n===n.window&&"undefined"!=typeof window},isFormData:function(n){return"undefined"!=typeof FormData&&n instanceof FormData},isLeapYear:function(t){var e=(t?n.stringToDate(t):new Date).getFullYear();return e%4==0&&(e%100!=0||e%400==0)},getType:function(n){return null===n?""+n:d(n)?"symbol":m(n)?"date":K(n)?"array":typeof n},uniqueId:function(){return++$},getSize:function(n){var t=0;return h(n)||K(n)?n.length:(N(n,function(){t++}),t)},lastIndexOf:L,includes:b,contains:Q,objectAssign:V,assign:V,extend:V,stringToJson:function(n){if(p(n))return n;if(h(n))try{return JSON.parse(n)}catch(n){console.error(n)}return{}},jsonToString:function(n){if(p(n))try{return JSON.stringify(n)}catch(n){console.error(n)}return n?""+n:""},objectKeys:S,keys:X,objectValues:M,values:G,objectEntries:D,entries:Z,arrayFirst:O,first:_,arrayLast:x,last:nn,objectEach:E,arrayEach:w,each:N,groupBy:function(n,t,e){var r,i,o={};return n&&(h(t)?(i=t,t=null):t=l(t)?t.bind(e||this):i=null,N(n,function(e,u){r=t?t(e,u,n):i?e[i]:e,o[r]?o[r].push(e):o[r]=[e]})),o},objectMap:function(n,t,e){var r={};return N(n,function(i,o){r[o]=t.call(e||this,i,o,n)}),r},clone:F},en={browse:function(){var n={};if("undefined"!=typeof document){var t=document.body||document.documentElement;tn.arrayEach(["webkit","khtml","moz","ms","o"],function(e){n["-"+e]=!!t[e+"MatchesSelector"]})}return n}};tn.objectAssign(T,{setItem:function(n,t){T(n,t)},getItem:function(n){return T(n)},removeItem:function(n){T(n,null,{expires:-1})},getJSON:function(){return T()}});var rn={cookie:T},on=Date.now||function(){return(new Date).getTime()},un=[{rules:[["yyyy",4],["yyy",3],["yy",2]]},{rules:[["MM",2],["M",1]],offset:-1},{rules:[["dd",2],["d",1]]},{rules:[["HH",2],["H",1]]},{rules:[["mm",2],["m",1]]},{rules:[["ss",2],["s",1]]},{rules:[["SSS",3],["SS",2],["S",1]]}],an=[["yyyy",31536e6],["MM",2592e6],["dd",864e5],["HH",36e5],["mm",6e4],["ss",1e3],["S",0]],cn={timestamp:on,now:on,stringToDate:I,dateToString:function(n,t){if(n){if(n=I(n),tn.isDate(n)){var e=["日","一","二","三","四","五","六"],r={"q+":Math.floor((n.getMonth()+3)/3),"M+":n.getMonth()+1,"E+":n.getDay(),"d+":n.getDate(),"H+":n.getHours(),"m+":n.getMinutes(),"s+":n.getSeconds(),S:n.getMilliseconds()},i=String(t||"yyyy-MM-dd HH:mm:ss").replace(/(y+)/,function(t){return(""+n.getFullYear()).substr(4-t.length)});for(var o in r)if(r.hasOwnProperty(o)){var u=""+r[o];i=i.replace(new RegExp("("+o+")"),function(n){return"q+"===o||"E+"===o?e[u]:1===n.length?u:("00"+u).substr(u.length)})}return i}return n}return""},getWhatMonth:R,getWhatWeek:function(n,t,e){var r=Number(/^[0-7]$/.test(e)?e:0),i=I(n),o=i.getDay(),u=i.getTime()+864e5*((0===r?7:r)-(0===o?7:o));return t&&!isNaN(t)&&(u+=6048e5*t),new Date(u)},getWhatDay:function(n,t){return new Date(I(n).getTime()+(t&&!isNaN(t)?864e5*t:0))},getDaysOfMonth:function(n,t){return Math.floor((R(n,t,"last").getTime()-R(n,t,"first").getTime())/864e5)+1},getDateDiff:function(n,t,e){var r={},i=I(n).getTime(),o=t?I(t).getTime():new Date;if(i<o)for(var u,a=o-i,c=e&&e.length>0?e:an,s=0,f=c.length;s<f;s++)a>=(u=c[s])[1]&&(s===f-1?a&&(r[u[0]]=a):(r[u[0]]=Math.floor(a/u[1]),a-=r[u[0]]*u[1]));return r}},sn=null;"undefined"!=typeof location&&(sn=location);var fn={parseUrl:k,getBaseURL:function(){var n=sn.pathname,t=tn.lastIndexOf(n,"/")+1;return U()+(t===n.length?n:n.substring(0,t))},locat:function(){return sn?k(sn.href):{}}},ln={getRandom:function(n,t){return n>=t?n:(n>>=0)+Math.round(Math.random()*((t||9)-n))},arrayMin:q,min:q,arrayMax:P,max:P,commafy:function(n,t){var e=tn.objectAssign({spaceNumber:3,separator:",",fixed:0},t),r=parseFloat((""+n).replace(/,/g,"")||0).toFixed(e.fixed).split(".");return r[0].replace(new RegExp("(?=(?!(\\b))(\\d{"+e.spaceNumber+"})+$)","g"),e.separator)+(r[1]?"."+r[1]:"")}},hn={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},yn={};tn.arrayEach(tn.objectKeys(hn),function(n){yn[hn[n]]=n});var pn={escape:J(hn),unescape:J(yn)},gn={};return tn.objectAssign(gn,W,tn,en,rn,cn,fn,ln,pn),n.mixin=function(t){gn.objectEach(t,function(t,e){n[e]=gn.isFunction(t)?function(){var e=t.apply(n.$context,arguments);return n.$context=null,e}:t})},n.mixin(gn),n}); | ||
!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):n.XEUtils=t()}(this,function(){"use strict";function n(){}function t(n){var t=[];return tn.isArray(n)&&tn.arrayEach(n,function(n){t.includes(n)||t.push(n)}),t}function e(){for(var n=[],e=0,r=arguments.length;e<r;e++)n=n.concat(arguments[e]);return t(n)}function r(n,t,e){return tn.isArray(n)?n.sort(t?tn.isFunction(t)?t.bind(e||this):function(n,e){return n[t]>e[t]?1:-1}:function(n,t){return n>t?1:-1}):n}function i(n){for(var t=[],e=tn.objectValues(n),r=e.length-1;r>=0;r--){var i=r>0?yn.getRandom(0,r):0;t.push(e[i]),e.splice(i,1)}return t}function o(n,t){var e=i(n);return 1===arguments.length?e[0]:(t<e.length&&(e.length=t||0),e)}function u(n,t,e){if(n){if(tn.isArray(n))return n.some(t,e||this);for(var r in n)if(n.hasOwnProperty(r)&&t.call(e||this,n[r],r,n))return!0}return!1}function a(n,t,e){if(n){if(tn.isArray(n))return n.every(t,e||this);for(var r in n)if(n.hasOwnProperty(r)&&!t.call(e||this,n[r],r,n))return!1}return!0}function s(n,t,e){if(n){if(tn.isArray(n))return n.filter(t,e||this);var r={};return tn.each(n,function(i,o){t.call(e||this,i,o,n)&&(r[o]=i)}),r}return[]}function c(n,t,e){if(n){if(tn.isArray(n))return n.find(t,e||this);for(var r in n)if(n.hasOwnProperty(r)&&t.call(e||this,n[r],r,n))return n[r]}}function f(n,t,e){var r=[];if(n){if(tn.isArray(n))return n.map(t,e||this);tn.each(n,function(){r.push(t.apply(e||this,arguments))})}return r}function l(n){return"function"==typeof n}function h(n){return"string"==typeof n}function y(n){return"number"==typeof n}function p(n){return"object"==typeof n}function g(n){return!!n&&n.constructor===Object}function d(n){return"[object Date]"===$.call(n)}function m(n){return"undefined"!=typeof Symbol&&Symbol.isSymbol?Symbol.isSymbol(n):"symbol"==typeof n}function v(n){return function(t,e){if(t){if(h(t)||B(t))return n(t,e);for(var r in t)if(e===t[r])return r}return-1}}function b(n,t){return-1!==Y(n,t)}function S(n,t,e){for(var r,i=1,o=t.length;i<o;i++)r=t[i],E(j(t[i]),function(t){n[t]=e?F(r[t],e):r[t]});return n}function j(n){var t=[];if(n){if(Object.keys)return Object.keys(n);w(n,function(n,e){t.push(e)})}return t}function M(n){if(Object.values)return n?Object.values(n):[];var t=[];return E(j(n),function(e){t.push(n[e])}),t}function O(n){if(Object.entries)return n?Object.entries(n):[];var t=[];return E(j(n),function(e){t.push([e,n[e]])}),t}function x(n){return M(n)[0]}function D(n){var t=M(n);return t[t.length-1]}function w(n,t,e){for(var r in n)n.hasOwnProperty(r)&&t.call(e||this,n[r],r,n)}function E(n,t,e){for(var r=0,i=n.length||0;r<i;r++)t.call(e||this,n[r],r,n)}function N(n,t,e){return n?B(n)?l(n.forEach)?n.forEach(t,e||this):E(n,t,e||this):w(n,t,e||this):n}function A(t){return g(t)?function(n){var t={};return N(n,function(n,e){t[e]=A(n)}),t}(t):B(t)?function(t){return n.arrayMap(t,A)}(t):t}function F(n,t){return n?t?A(n):V(g(n)?{}:[],n):n}function T(n,t,e){var r=[],i="undefined"!=typeof document;if(this&&this.$context&&(this.$context=null),tn.isArray(n)?r=n:arguments.length>1?r=[tn.objectAssign({name:n,value:t},e)]:tn.isObject(n)&&(r=[n]),!(r.length>0)){var o={};return i&&document.cookie&&tn.arrayEach(document.cookie.split("; "),function(n){var t=n.indexOf("=");o[rn(n.substring(0,t))]=rn(n.substring(t+1)||"")}),1===arguments.length?o[n]:o}i&&tn.arrayEach(r,function(n){var t=tn.objectAssign({},n),e=[];t.name&&(e.push(on(t.name)+"="+on(tn.isObject(t.value)?JSON.stringify(t.value):t.value)),void 0!==t.expires&&(t.expires=new Date((new Date).getTime()+864e5*parseFloat(t.expires)).toUTCString()),tn.arrayEach(["expires","path","domain","secure"],function(n){void 0!==t[n]&&e.push(n+"="+t[n])})),document.cookie=e.join("; ")})}function I(n,t){if(n){if(tn.isDate(n))return n;if(!isNaN(n))return new Date(n);if(tn.isString(n)){t=t||"yyyy-MM-dd HH:mm:ss.SSS";var e=[];return tn.arrayEach(sn,function(r){for(var i,o,u=0,a=r.rules,s=a.length;u<s;u++){if(i=a[u],(o=t.indexOf(i[0]))>-1){e.push(parseFloat(n.substring(o,o+i[1])||0)+(r.offset||0));break}u===s-1&&e.push(0)}}),new Date(e[0],e[1],e[2],e[3],e[4],e[5],e[6])}}return"Invalid Date"}function k(n,t,e){var r=I(n),i=t&&!isNaN(t)?t:0,o=r.getHours(),u=r.getMinutes(),a=r.getSeconds(),s=r.getMilliseconds();if("first"===e){var c=r.getFullYear(),f=r.getMonth();return(f+=i)<0?new Date(c-Math.ceil((f=Math.abs(f))/12),12-(f%12||1),1,o,u,a,s):new Date(c+Math.floor(f/12),f%12,1,o,u,a,s)}if("last"===e)return new Date(k(r,i+1,"first").getTime()-864e5);var l=r.getDate(),h=k(r,i,"first"),y=h.getMonth();for(h.setDate(l);y<h.getMonth();)h.setDate(--l);return h}function H(n){var t={},e=n.split("?")[1]||"";return e&&tn.arrayEach(e.split("&"),function(n){var e=n.split("=");t[decodeURIComponent(e[0])]=decodeURIComponent(e[1]||"")}),t}function P(){return ln?ln.origin||ln.protocol+"//"+ln.host:""}function R(n){var t=""+n;0===t.indexOf("/")&&(t=P()+t);var e=t.replace(/#.*/,"").match(/(\?.*)/),r={href:t,hash:"",host:"",hostname:"",protocol:"",port:"",search:e?e[1]:""};r.path=t.replace(/^([a-z0-9.+-]*:)\/\//,function(n,t){return r.protocol=t,""}).replace(/^([a-z0-9.+-]*)(:\d+)?\//,function(n,t,e){var i=e||"";return r.port=i.replace(":",""),r.hostname=t,r.host=t+i,"/"}).replace(/(#.*)/,function(n,t){return r.hash=t,""});var i=location.hash.match(/#((.*)\?|(.*))/);return r.pathname=r.path.replace(/(\?|#.*).*/,""),r.origin=r.protocol+"//"+r.host,r.hashKey=i?i[2]:"",r.hashQuery=H(r.hash),r.searchQuery=H(r.search),r}function U(n,t){return tn.isFunction(t)?W.arraySort(W.arrayMap(n,t,this)):W.arraySort(n,t)}function C(){return U.apply(this,arguments)[0]}function q(){return U.apply(this,arguments).reverse()[0]}function J(n){var t=new RegExp("(?:"+tn.objectKeys(n).join("|")+")","g");return function(e){return String(e||"").replace(t,function(t){return n[t]})}}n.version="1.5.21";var W={arrayUniq:t,uniq:t,arrayUnion:e,union:e,arraySort:r,sort:r,arrayShuffle:i,shuffle:i,arraySample:o,sample:o,arraySome:u,some:u,arrayEvery:a,every:a,arrayFilter:s,filter:s,arrayFind:c,find:c,arrayMap:f,map:f},$=Object.prototype.toString,B=Array.isArray||function(n){return"[object Array]"===$.call(n)},z=Number.isInteger,K=0,Y=v(function(n,t){if(n.indexOf)return n.indexOf(t);for(var e=0,r=n.length;e<r;e++)if(t===n[e])return e}),L=v(function(n,t){if(n.lastIndexOf)return n.lastIndexOf(t);for(var e=n.length-1;e>=0;e--)if(t===n[e])return e;return-1}),Q=b,V=function(n){if(n){var t=arguments;if(!0!==n)return Object.assign?Object.assign.apply(Object,t):S(n,t);if(t.length>1)return n=B(n[1])?[]:{},S(n,t,!0)}return n},X=j,G=M,Z=O,_=x,nn=D,tn={isNaN:isNaN,isFinite:isFinite,isArray:B,isFloat:function(n){return null!==n&&!isNaN(n)&&!z(n)},isInteger:z,isFunction:l,isBoolean:function(n){return"boolean"==typeof n},isString:h,isNumber:y,isRegExp:function(n){return"[object RegExp]"===$.call(n)},isObject:p,isPlainObject:g,isDate:d,isError:function(n){return"[object Error]"===$.call(n)},isTypeError:function(n){return!!n&&n.constructor===TypeError},isEmpty:function(n){if(0===n||!y(n)){for(var t in n)return!1;return!0}return!1},isNull:function(n){return null===n},isSymbol:m,isArguments:function(n){return"[object Arguments]"===$.call(n)},isElement:function(n){return n&&h(n.nodeName)&&y(n.nodeType)},isDocument:function(n){return n&&9===n.nodeType&&"undefined"!=typeof document},isWindow:function(n){return n&&n===n.window&&"undefined"!=typeof window},isFormData:function(n){return"undefined"!=typeof FormData&&n instanceof FormData},isLeapYear:function(t){var e=(t?n.stringToDate(t):new Date).getFullYear();return e%4==0&&(e%100!=0||e%400==0)},getType:function(n){return null===n?""+n:m(n)?"symbol":d(n)?"date":B(n)?"array":typeof n},uniqueId:function(){return++K},getSize:function(n){var t=0;return h(n)||B(n)?n.length:(N(n,function(){t++}),t)},lastIndexOf:L,includes:b,contains:Q,objectAssign:V,assign:V,extend:V,stringToJson:function(n){if(p(n))return n;if(h(n))try{return JSON.parse(n)}catch(n){console.error(n)}return{}},jsonToString:function(n){if(p(n))try{return JSON.stringify(n)}catch(n){console.error(n)}return n?""+n:""},objectKeys:j,keys:X,objectValues:M,values:G,objectEntries:O,entries:Z,arrayFirst:x,first:_,arrayLast:D,last:nn,objectEach:w,arrayEach:E,each:N,groupBy:function(n,t,e){var r,i,o={};return n&&(h(t)?(i=t,t=null):t=l(t)?t.bind(e||this):i=null,N(n,function(e,u){r=t?t(e,u,n):i?e[i]:e,o[r]?o[r].push(e):o[r]=[e]})),o},objectMap:function(n,t,e){var r={};return N(n,function(i,o){r[o]=t.call(e||this,i,o,n)}),r},clone:F},en={browse:function(){var n={isNode:!1,isMobile:!1,isPC:!1};if("undefined"==typeof window&&"undefined"!=typeof process)n.nodeJS=!0;else if(n.isMobile=function(){for(var n=["Android","webOS","iPhone","iPad","iPod","SymbianOS","BlackBerry","Windows Phone"],t=navigator.userAgent,e=0;e<n.length;e++)if(t.indexOf(n[e])>0)return!0;return!1}(),n.isPC=!n.isMobile,"undefined"!=typeof document){var t=document.body||document.documentElement;tn.arrayEach(["webkit","khtml","moz","ms","o"],function(e){n["-"+e]=!!t[e+"MatchesSelector"]})}return n}},rn=decodeURIComponent,on=encodeURIComponent;tn.objectAssign(T,{setItem:function(n,t){T(n,t)},getItem:function(n){return T(n)},removeItem:function(n){T(n,null,{expires:-1})},getJSON:function(){return T()}});var un={cookie:T},an=Date.now||function(){return(new Date).getTime()},sn=[{rules:[["yyyy",4],["yyy",3],["yy",2]]},{rules:[["MM",2],["M",1]],offset:-1},{rules:[["dd",2],["d",1]]},{rules:[["HH",2],["H",1]]},{rules:[["mm",2],["m",1]]},{rules:[["ss",2],["s",1]]},{rules:[["SSS",3],["SS",2],["S",1]]}],cn=[["yyyy",31536e6],["MM",2592e6],["dd",864e5],["HH",36e5],["mm",6e4],["ss",1e3],["S",0]],fn={timestamp:an,now:an,stringToDate:I,dateToString:function(n,t){if(n){if(n=I(n),tn.isDate(n)){var e=["日","一","二","三","四","五","六"],r={"q+":Math.floor((n.getMonth()+3)/3),"M+":n.getMonth()+1,"E+":n.getDay(),"d+":n.getDate(),"H+":n.getHours(),"m+":n.getMinutes(),"s+":n.getSeconds(),S:n.getMilliseconds()},i=String(t||"yyyy-MM-dd HH:mm:ss").replace(/(y+)/,function(t){return(""+n.getFullYear()).substr(4-t.length)});for(var o in r)if(r.hasOwnProperty(o)){var u=""+r[o];i=i.replace(new RegExp("("+o+")"),function(n){return"q+"===o||"E+"===o?e[u]:1===n.length?u:("00"+u).substr(u.length)})}return i}return n}return""},getWhatMonth:k,getWhatWeek:function(n,t,e){var r=Number(/^[0-7]$/.test(e)?e:0),i=I(n),o=i.getDay(),u=i.getTime()+864e5*((0===r?7:r)-(0===o?7:o));return t&&!isNaN(t)&&(u+=6048e5*t),new Date(u)},getWhatDay:function(n,t){return new Date(I(n).getTime()+(t&&!isNaN(t)?864e5*t:0))},getDaysOfMonth:function(n,t){return Math.floor((k(n,t,"last").getTime()-k(n,t,"first").getTime())/864e5)+1},getDateDiff:function(n,t,e){var r={},i=I(n).getTime(),o=t?I(t).getTime():new Date;if(i<o)for(var u,a=o-i,s=e&&e.length>0?e:cn,c=0,f=s.length;c<f;c++)a>=(u=s[c])[1]&&(c===f-1?a&&(r[u[0]]=a):(r[u[0]]=Math.floor(a/u[1]),a-=r[u[0]]*u[1]));return r}},ln=null;"undefined"!=typeof location&&(ln=location);var hn={parseUrl:R,getBaseURL:function(){if(ln){var n=ln.pathname,t=tn.lastIndexOf(n,"/")+1;return P()+(t===n.length?n:n.substring(0,t))}return""},locat:function(){return ln?R(ln.href):{}}},yn={getRandom:function(n,t){return n>=t?n:(n>>=0)+Math.round(Math.random()*((t||9)-n))},arrayMin:C,min:C,arrayMax:q,max:q,commafy:function(n,t){var e=tn.objectAssign({spaceNumber:3,separator:",",fixed:0},t),r=parseFloat((""+n).replace(/,/g,"")||0).toFixed(e.fixed).split(".");return r[0].replace(new RegExp("(?=(?!(\\b))(\\d{"+e.spaceNumber+"})+$)","g"),e.separator)+(r[1]?"."+r[1]:"")}},pn={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},gn={};tn.arrayEach(tn.objectKeys(pn),function(n){gn[pn[n]]=n});var dn={escape:J(pn),unescape:J(gn)},mn={};return tn.objectAssign(mn,W,tn,en,un,fn,hn,yn,dn),n.mixin=function(t){mn.objectEach(t,function(t,e){n[e]=-1==="cookie".indexOf(e)&&mn.isFunction(t)?function(){var e=t.apply(n.$context,arguments);return n.$context=null,e}:t})},n.mixin(mn),n}); |
{ | ||
"name": "xe-utils", | ||
"version": "1.5.20", | ||
"version": "1.5.21", | ||
"description": "XEUtils 函数库", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -13,3 +13,3 @@ 'use strict' | ||
methodExports.objectEach(methods, function (fn, name) { | ||
XEUtils[name] = methodExports.isFunction(fn) ? function () { | ||
XEUtils[name] = 'cookie'.indexOf(name) === -1 && methodExports.isFunction(fn) ? function () { | ||
var result = fn.apply(XEUtils.$context, arguments) | ||
@@ -16,0 +16,0 @@ XEUtils.$context = null |
@@ -5,4 +5,4 @@ 'use strict' | ||
XEUtils.version = '1.5.20' | ||
XEUtils.version = '1.5.21' | ||
module.exports = XEUtils |
@@ -5,2 +5,12 @@ 'use strict' | ||
function isMobile () { | ||
var agents = ['Android', 'webOS', 'iPhone', 'iPad', 'iPod', 'SymbianOS', 'BlackBerry', 'Windows Phone'] | ||
for (var userAgentInfo = navigator.userAgent, i = 0; i < agents.length; i++) { | ||
if (userAgentInfo.indexOf(agents[i]) > 0) { | ||
return true | ||
} | ||
} | ||
return false | ||
} | ||
/** | ||
@@ -11,9 +21,19 @@ * 获取浏览器内核 | ||
function browse () { | ||
var result = {} | ||
if (typeof document !== 'undefined') { | ||
var $body = document.body || document.documentElement | ||
baseExports.arrayEach(['webkit', 'khtml', 'moz', 'ms', 'o'], function (core) { | ||
result['-' + core] = !!$body[core + 'MatchesSelector'] | ||
}) | ||
var result = { | ||
isNode: false, | ||
isMobile: false, | ||
isPC: false | ||
} | ||
if (typeof window === 'undefined' && typeof process !== 'undefined') { | ||
result.nodeJS = true | ||
} else { | ||
result.isMobile = isMobile() | ||
result.isPC = !result.isMobile | ||
if (typeof document !== 'undefined') { | ||
var $body = document.body || document.documentElement | ||
baseExports.arrayEach(['webkit', 'khtml', 'moz', 'ms', 'o'], function (core) { | ||
result['-' + core] = !!$body[core + 'MatchesSelector'] | ||
}) | ||
} | ||
} | ||
return result | ||
@@ -20,0 +40,0 @@ } |
@@ -5,2 +5,5 @@ 'use strict' | ||
var decode = decodeURIComponent | ||
var encode = encodeURIComponent | ||
/** | ||
@@ -20,2 +23,5 @@ * cookie操作函数 | ||
var isDoc = typeof document !== 'undefined' | ||
if (this && this.$context) { | ||
this.$context = null | ||
} | ||
if (baseExports.isArray(name)) { | ||
@@ -34,3 +40,3 @@ inserts = name | ||
if (opts.name) { | ||
values.push(encodeURIComponent(opts.name) + '=' + encodeURIComponent(baseExports.isObject(opts.value) ? JSON.stringify(opts.value) : opts.value)) | ||
values.push(encode(opts.name) + '=' + encode(baseExports.isObject(opts.value) ? JSON.stringify(opts.value) : opts.value)) | ||
if (opts.expires !== undefined) { | ||
@@ -53,3 +59,3 @@ opts.expires = new Date(new Date().getTime() + parseFloat(opts.expires) * 86400000).toUTCString() | ||
var keyIndex = val.indexOf('=') | ||
result[decodeURIComponent(val.substring(0, keyIndex))] = decodeURIComponent(val.substring(keyIndex + 1) || '') | ||
result[decode(val.substring(0, keyIndex))] = decode(val.substring(keyIndex + 1) || '') | ||
}) | ||
@@ -56,0 +62,0 @@ } |
@@ -24,9 +24,12 @@ 'use strict' | ||
function getLocatOrigin () { | ||
return $locat.origin || ($locat.protocol + '//' + $locat.host) | ||
return $locat ? ($locat.origin || ($locat.protocol + '//' + $locat.host)) : '' | ||
} | ||
function getBaseURL () { | ||
var pathname = $locat.pathname | ||
var lastIndex = baseExports.lastIndexOf(pathname, '/') + 1 | ||
return getLocatOrigin() + (lastIndex === pathname.length ? pathname : pathname.substring(0, lastIndex)) | ||
if ($locat) { | ||
var pathname = $locat.pathname | ||
var lastIndex = baseExports.lastIndexOf(pathname, '/') + 1 | ||
return getLocatOrigin() + (lastIndex === pathname.length ? pathname : pathname.substring(0, lastIndex)) | ||
} | ||
return '' | ||
} | ||
@@ -33,0 +36,0 @@ |
111652
2760