Comparing version 1.3.1 to 1.4.0
/*! | ||
* xe-utils.js v1.3.1 | ||
* xe-utils.js v1.4.0 | ||
* (c) 2017-2018 Xu Liangzhan | ||
@@ -291,3 +291,3 @@ * ISC License. | ||
*/ | ||
function size (obj) { | ||
function getSize (obj) { | ||
var len = 0 | ||
@@ -375,7 +375,7 @@ if (isString(obj) || isArray(obj)) { | ||
*/ | ||
var assign = Object.assign || function (target) { | ||
var objectAssign = Object.assign || function (target) { | ||
if (target) { | ||
for (var source, index = 1, len = arguments.length; index < len; index++) { | ||
source = arguments[index] | ||
keys(arguments[index]).forEach(function (key) { | ||
arrayEach(objectKeys(arguments[index]), function (key) { | ||
target[key] = source[key] | ||
@@ -387,3 +387,3 @@ }) | ||
} | ||
var extend = assign | ||
var extend = objectAssign | ||
@@ -432,3 +432,3 @@ /** | ||
*/ | ||
function keys (obj) { | ||
function objectKeys (obj) { | ||
var result = [] | ||
@@ -439,3 +439,3 @@ if (obj) { | ||
} | ||
eachObj(obj, function (val, key) { | ||
objectEach(obj, function (val, key) { | ||
result.push(key) | ||
@@ -453,3 +453,3 @@ }) | ||
*/ | ||
function values (obj) { | ||
function objectValues (obj) { | ||
if (Object.values) { | ||
@@ -459,3 +459,3 @@ return obj ? Object.values(obj) : [] | ||
var result = [] | ||
keys(obj).forEach(function (key) { | ||
arrayEach(objectKeys(obj), function (key) { | ||
result.push(obj[key]) | ||
@@ -472,3 +472,3 @@ }) | ||
*/ | ||
function entries (obj) { | ||
function objectEntries (obj) { | ||
if (Object.entries) { | ||
@@ -478,3 +478,3 @@ return obj ? Object.entries(obj) : [] | ||
var result = [] | ||
keys(obj).forEach(function (key) { | ||
arrayEach(objectKeys(obj), function (key) { | ||
result.push([key, obj[key]]) | ||
@@ -491,4 +491,4 @@ }) | ||
*/ | ||
function first (obj) { | ||
return values(obj)[0] | ||
function arrayFirst (obj) { | ||
return objectValues(obj)[0] | ||
} | ||
@@ -502,8 +502,8 @@ | ||
*/ | ||
function last (obj) { | ||
var list = values(obj) | ||
function arrayLast (obj) { | ||
var list = objectValues(obj) | ||
return list[list.length - 1] | ||
} | ||
function eachObj (obj, iteratee, context) { | ||
function objectEach (obj, iteratee, context) { | ||
for (var key in obj) { | ||
@@ -516,2 +516,8 @@ if (obj.hasOwnProperty(key)) { | ||
function arrayEach (obj, iteratee, context) { | ||
for (var index = 0, len = obj.length || 0; index < len; index++) { | ||
iteratee.call(context, obj[index], index, obj) | ||
} | ||
} | ||
/** | ||
@@ -528,5 +534,8 @@ * 迭代器 | ||
if (isArray(obj)) { | ||
return obj.forEach(iteratee, context) | ||
if (isFunction(obj.forEach)) { | ||
return obj.forEach(iteratee, context) | ||
} | ||
return arrayEach(obj, iteratee, context) | ||
} | ||
eachObj(obj, iteratee, context) | ||
return objectEach(obj, iteratee, context) | ||
} | ||
@@ -576,3 +585,3 @@ return obj | ||
*/ | ||
function mapObject (obj, iteratee, context) { | ||
function objectMap (obj, iteratee, context) { | ||
var result = {} | ||
@@ -594,3 +603,3 @@ each(obj, function (val, index) { | ||
function cloneArr (arr) { | ||
return arr.map(function (val, index) { | ||
return arrayMap(arr, function (val, index) { | ||
return deepClone(val) | ||
@@ -612,3 +621,3 @@ }) | ||
function clone (obj, deep) { | ||
return deep ? deepClone(obj) : assign(isPlainObject(obj) ? {} : [], obj) | ||
return deep ? deepClone(obj) : objectAssign(isPlainObject(obj) ? {} : [], obj) | ||
} | ||
@@ -622,6 +631,6 @@ | ||
*/ | ||
function uniq (array) { | ||
function arrayUniq (array) { | ||
var result = [] | ||
if (isArray(array)) { | ||
array.forEach(function (value) { | ||
arrayEach(array, function (value) { | ||
if (!result.includes(value)) { | ||
@@ -641,3 +650,3 @@ result.push(value) | ||
*/ | ||
function union () { | ||
function arrayUnion () { | ||
var result = [] | ||
@@ -647,3 +656,3 @@ for (var index = 0, len = arguments.length; index < len; index++) { | ||
} | ||
return uniq(result) | ||
return arrayUniq(result) | ||
} | ||
@@ -658,3 +667,3 @@ | ||
*/ | ||
function sort (arr, iteratee, context) { | ||
function arraySort (arr, iteratee, context) { | ||
if (isArray(arr)) { | ||
@@ -676,6 +685,6 @@ return arr.sort(iteratee ? isFunction(iteratee) ? iteratee.bind(context || this) : function (v1, v2) { | ||
*/ | ||
function shuffle (array) { | ||
function arrayShuffle (array) { | ||
var result = [] | ||
for (var list = values(array), len = list.length - 1; len >= 0; len--) { | ||
var index = len > 0 ? random(0, len) : 0 | ||
for (var list = objectValues(array), len = list.length - 1; len >= 0; len--) { | ||
var index = len > 0 ? getRandom(0, len) : 0 | ||
result.push(list[index]) | ||
@@ -694,4 +703,4 @@ list.splice(index, 1) | ||
*/ | ||
function sample (array, number) { | ||
var result = shuffle(array) | ||
function arraySample (array, number) { | ||
var result = arrayShuffle(array) | ||
if (arguments.length === 1) { | ||
@@ -714,3 +723,3 @@ return result[0] | ||
*/ | ||
function some (obj, iteratee, context) { | ||
function arraySome (obj, iteratee, context) { | ||
if (obj) { | ||
@@ -740,3 +749,3 @@ if (isArray(obj)) { | ||
*/ | ||
function every (obj, iteratee, context) { | ||
function arrayEvery (obj, iteratee, context) { | ||
if (obj) { | ||
@@ -766,3 +775,3 @@ if (isArray(obj)) { | ||
*/ | ||
function filter (obj, iteratee, context) { | ||
function arrayFilter (obj, iteratee, context) { | ||
if (obj) { | ||
@@ -792,3 +801,3 @@ if (isArray(obj)) { | ||
*/ | ||
function find (obj, iteratee, context) { | ||
function arrayFind (obj, iteratee, context) { | ||
if (obj) { | ||
@@ -817,3 +826,3 @@ if (isArray(obj)) { | ||
*/ | ||
function map (obj, iteratee, context) { | ||
function arrayMap (obj, iteratee, context) { | ||
var result = [] | ||
@@ -825,3 +834,3 @@ if (obj) { | ||
each(obj, function () { | ||
result.push(iteratee.call(context, arguments)) | ||
result.push(iteratee.apply(context, arguments)) | ||
}) | ||
@@ -838,3 +847,3 @@ } | ||
*/ | ||
var now = Date.now || function () { | ||
var dateNow = Date.now || function () { | ||
return new Date().getTime() | ||
@@ -860,21 +869,21 @@ } | ||
format = format || 'yyyy-MM-dd HH:mm:ss.SSS' | ||
var dates = []; | ||
[{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]]}].forEach(function (item) { | ||
for (var arr, sIndex, index = 0, rules = item.rules, len = rules.length; index < len; index++) { | ||
arr = rules[index] | ||
sIndex = format.indexOf(arr[0]) | ||
if (sIndex > -1) { | ||
dates.push(parseFloat(str.substring(sIndex, sIndex + arr[1]) || 0) + (item.offset || 0)) | ||
break | ||
} else if (index === len - 1) { | ||
dates.push(0) | ||
var dates = [] | ||
arrayEach([{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]]}], function (item) { | ||
for (var arr, sIndex, index = 0, rules = item.rules, len = rules.length; index < len; index++) { | ||
arr = rules[index] | ||
sIndex = format.indexOf(arr[0]) | ||
if (sIndex > -1) { | ||
dates.push(parseFloat(str.substring(sIndex, sIndex + arr[1]) || 0) + (item.offset || 0)) | ||
break | ||
} else if (index === len - 1) { | ||
dates.push(0) | ||
} | ||
} | ||
} | ||
}) | ||
}) | ||
return new Date(dates[0], dates[1], dates[2], dates[3], dates[4], dates[5], dates[6]) | ||
@@ -911,3 +920,3 @@ } | ||
} | ||
keys(resDate).forEach(function (key) { | ||
arrayEach(objectKeys(resDate), function (key) { | ||
if (new RegExp('(' + key + ')').test(result)) { | ||
@@ -1043,11 +1052,11 @@ var val = '' + resDate[key] | ||
var unescapeMap = {} | ||
keys(escapeMap).forEach(function (key) { | ||
arrayEach(objectKeys(escapeMap), function (key) { | ||
unescapeMap[escapeMap[key]] = key | ||
}) | ||
function formatEscaper (map) { | ||
var replaceRegexp = new RegExp('(?:' + keys(map).join('|') + ')', 'g') | ||
function formatEscaper (dataMap) { | ||
var replaceRegexp = new RegExp('(?:' + objectKeys(dataMap).join('|') + ')', 'g') | ||
return function (str) { | ||
return String(str || '').replace(replaceRegexp, function (match) { | ||
return map[match] | ||
return dataMap[match] | ||
}) | ||
@@ -1080,3 +1089,3 @@ } | ||
*/ | ||
function random (min, max) { | ||
function getRandom (min, max) { | ||
return min >= max ? min : ((min = min >> 0) + Math.round(Math.random() * ((max || 9) - min))) | ||
@@ -1086,3 +1095,3 @@ } | ||
function sortData (arr, iteratee) { | ||
return (isFunction(iteratee) ? sort(map(arr, iteratee, this)) : sort(arr, iteratee)) | ||
return (isFunction(iteratee) ? arraySort(arrayMap(arr, iteratee, this)) : arraySort(arr, iteratee)) | ||
} | ||
@@ -1097,3 +1106,3 @@ | ||
*/ | ||
function min () { | ||
function arrayMin () { | ||
return sortData.apply(this, arguments)[0] | ||
@@ -1109,3 +1118,3 @@ } | ||
*/ | ||
function max () { | ||
function arrayMax () { | ||
return sortData.apply(this, arguments).reverse()[0] | ||
@@ -1118,6 +1127,6 @@ } | ||
*/ | ||
var $body = document.body || document.documentElement | ||
function browse () { | ||
var result = {}; | ||
['webkit', 'khtml', 'moz', 'ms', 'o'].forEach(function (core) { | ||
var result = {} | ||
var $body = document.body || document.documentElement | ||
arrayEach(['webkit', 'khtml', 'moz', 'ms', 'o'], function (core) { | ||
result['-' + core] = !!$body[core + 'MatchesSelector'] | ||
@@ -1144,3 +1153,3 @@ }) | ||
} else if (arguments.length > 1) { | ||
inserts = [assign({name: name, value: value}, options)] | ||
inserts = [objectAssign({name: name, value: value}, options)] | ||
} else if (isObject(name)) { | ||
@@ -1150,4 +1159,4 @@ inserts = [name] | ||
if (inserts.length > 0) { | ||
inserts.forEach(function (obj) { | ||
var opts = assign({}, obj) | ||
arrayEach(inserts, function (obj) { | ||
var opts = objectAssign({}, obj) | ||
var values = [] | ||
@@ -1157,5 +1166,5 @@ if (opts.name) { | ||
if (opts.expires !== undefined) { | ||
opts.expires = new Date(Date.now() + parseFloat(opts.expires) * 86400000).toUTCString() | ||
opts.expires = new Date(dateNow() + parseFloat(opts.expires) * 86400000).toUTCString() | ||
} | ||
['expires', 'path', 'domain', 'secure'].forEach(function (key) { | ||
arrayEach(['expires', 'path', 'domain', 'secure'], function (key) { | ||
if (opts[key] !== undefined) { | ||
@@ -1171,3 +1180,3 @@ values.push(key + '=' + opts[key]) | ||
if (document.cookie) { | ||
document.cookie.split('; ').forEach(function (val) { | ||
arrayEach(document.cookie.split('; '), function (val) { | ||
var items = val.split('=') | ||
@@ -1181,3 +1190,3 @@ result[decodeURIComponent(items[0])] = decodeURIComponent(items[1] || '') | ||
Object.assign(cookie, { | ||
objectAssign(cookie, { | ||
setItem: function (name, key) { | ||
@@ -1207,3 +1216,3 @@ cookie(name, key) | ||
if (params) { | ||
params.split('&').forEach(function (param) { | ||
arrayEach(params.split('&'), function (param) { | ||
var items = param.split('=') | ||
@@ -1217,5 +1226,5 @@ result[decodeURIComponent(items[0])] = decodeURIComponent(items[1] || '') | ||
/** | ||
* 获取地址栏信息 | ||
* 获取地址栏信息 | ||
* @return Object | ||
*/ | ||
*/ | ||
function locat () { | ||
@@ -1243,7 +1252,7 @@ return { | ||
function mixin (methods) { | ||
return Object.assign(XEUtils, methods) | ||
return objectAssign(XEUtils, methods) | ||
} | ||
mixin({ | ||
isNaN: isNaN, isFinite: isFinite, isArray: isArray, isFloat: isFloat, isInteger: isInteger, isFunction: isFunction, isBoolean: isBoolean, isString: isString, isNumber: isNumber, isRegExp: isRegExp, isObject: isObject, isPlainObject: isPlainObject, isDate: isDate, isError: isError, isTypeError: isTypeError, isEmpty: isEmpty, isNull: isNull, isSymbol: isSymbol, isArguments: isArguments, isElement: isElement, isDocument: isDocument, isWindow: isWindow, isFormData: isFormData, isLeapYear: isLeapYear, getType: getType, uniqueId: uniqueId, size: size, indexOf: indexOf, lastIndexOf: lastIndexOf, includes: includes, contains: contains, assign: assign, extend: extend, stringToJson: stringToJson, jsonToString: jsonToString, keys: keys, values: values, entries: entries, first: first, last: last, each: each, groupBy: groupBy, mapObject: mapObject, clone: clone, uniq: uniq, union: union, sort: sort, shuffle: shuffle, sample: sample, some: some, every: every, filter: filter, find: find, map: map, now: now, stringToDate: stringToDate, dateToString: dateToString, getWhatMonth: getWhatMonth, getWhatWeek: getWhatWeek, getWhatDay: getWhatDay, getDaysOfMonth: getDaysOfMonth, getDateDiff: getDateDiff, escape: escape, unescape: unescape, random: random, min: min, max: max | ||
isNaN: isNaN, isFinite: isFinite, isArray: isArray, isFloat: isFloat, isInteger: isInteger, isFunction: isFunction, isBoolean: isBoolean, isString: isString, isNumber: isNumber, isRegExp: isRegExp, isObject: isObject, isPlainObject: isPlainObject, isDate: isDate, isError: isError, isTypeError: isTypeError, isEmpty: isEmpty, isNull: isNull, isSymbol: isSymbol, isArguments: isArguments, isElement: isElement, isDocument: isDocument, isWindow: isWindow, isFormData: isFormData, isLeapYear: isLeapYear, getType: getType, uniqueId: uniqueId, getSize: getSize, indexOf: indexOf, lastIndexOf: lastIndexOf, includes: includes, contains: contains, objectAssign: objectAssign, extend: extend, stringToJson: stringToJson, jsonToString: jsonToString, objectKeys: objectKeys, objectValues: objectValues, objectEntries: objectEntries, arrayFirst: arrayFirst, arrayLast: arrayLast, objectEach: objectEach, arrayEach: arrayEach, each: each, groupBy: groupBy, objectMap: objectMap, clone: clone, arrayUniq: arrayUniq, arrayUnion: arrayUnion, arraySort: arraySort, arrayShuffle: arrayShuffle, arraySample: arraySample, arraySome: arraySome, arrayEvery: arrayEvery, arrayFilter: arrayFilter, arrayFind: arrayFind, arrayMap: arrayMap, dateNow: dateNow, stringToDate: stringToDate, dateToString: dateToString, getWhatMonth: getWhatMonth, getWhatWeek: getWhatWeek, getWhatDay: getWhatDay, getDaysOfMonth: getDaysOfMonth, getDateDiff: getDateDiff, escape: escape, unescape: unescape, getRandom: getRandom, arrayMin: arrayMin, arrayMax: arrayMax | ||
}) | ||
@@ -1254,4 +1263,5 @@ mixin({ | ||
XEUtils.mixin = mixin | ||
XEUtils.version = '1.4.0' | ||
return XEUtils | ||
})) |
/*! | ||
* xe-utils.js v1.3.1 | ||
* xe-utils.js v1.4.0 | ||
* (c) 2017-2018 Xu Liangzhan | ||
* ISC License. | ||
*/ | ||
(function(b,a){typeof exports==="object"&&typeof module!=="undefined"?module.exports=a():typeof define==="function"&&define.amd?define(a):(b.XEUtils=a())}(this,function(){var Q=window.isNaN;var at=window.isFinite;var b=Array.isArray||function(aJ){return Object.prototype.toString.call(aJ)==="[object Array]"};function f(aJ){return aJ!==null&&!Q(aJ)&&!P(aJ)}var P=Number.isInteger;function an(aJ){return typeof aJ==="function"}function aq(aJ){return typeof aJ==="boolean"}function ax(aJ){return typeof aJ==="string"}function J(aJ){return typeof aJ==="number"}function ai(aJ){return aJ?aJ.constructor===RegExp:false}function B(aJ){return typeof aJ==="object"}function y(aJ){return aJ?aJ.constructor===Object:false}function g(aJ){return aJ?aJ.constructor===Date:false}function c(aJ){return aJ?aJ.constructor===Error:false}function ad(aJ){return aJ?aJ.constructor===TypeError:false}function j(aK){if(aK===0||!J(aK)){for(var aJ in aK){return false}return true}return false}function aG(aJ){return aJ===null}function ar(aJ){return typeof Symbol!=="undefined"&&Symbol.isSymbol?Symbol.isSymbol(aJ):(typeof aJ==="symbol")}function d(aJ){return String(aJ)==="[object Arguments]"}function Y(aJ){return aJ&&ax(aJ.nodeName)&&J(aJ.nodeType)}function aw(aJ){return aJ&&aJ.nodeType===9}function H(aJ){return aJ&&aJ===aJ.window}function aE(aJ){return typeof FormData!=="undefined"&&aJ instanceof FormData}function ac(aK){var aJ=aK?u(aK):new Date();var aL=aJ.getFullYear();return(aL%4===0)&&(aL%100!==0||aL%400===0)}function s(aJ){if(aJ===null){return""+aJ}if(ar(aJ)){return"symbol"}if(g(aJ)){return"date"}if(b(aJ)){return"array"}return typeof aJ}var A=0;function S(){return ++A}function E(aK){var aJ=0;if(ax(aK)||b(aK)){return aK.length}aH(aK,function(){aJ++});return aJ}function ah(aJ){return function(aL,aM){if(aL){if(ax(aL)||b(aL)){return aJ(aL,aM)}for(var aK in aL){if(aM===aL[aK]){return aK}}}return -1}}var k=ah(function(aL,aM){if(aL.indexOf){return aL.indexOf(aM)}for(var aK=0,aJ=aL.length;aK<aJ;aK++){if(aM===aL[aK]){return aK}}});var al=ah(function(aK,aL){if(aK.lastIndexOf){return aK.lastIndexOf(aL)}for(var aJ=aK.length-1;aJ>=0;aJ--){if(aL===aK[aJ]){return aJ}}return -1});function C(aJ,aK){return k(aJ,aK)!==-1}var M=C;var ap=Object.assign||function(aM){if(aM){for(var aL,aK=1,aJ=arguments.length;aK<aJ;aK++){aL=arguments[aK];F(arguments[aK]).forEach(function(aN){aM[aN]=aL[aN]})}}return aM};var R=ap;function U(aK){if(B(aK)){return aK}else{if(ax(aK)){try{return JSON.parse(aK)}catch(aJ){console.error(aJ)}}}return{}}function ak(aK){if(B(aK)){try{return JSON.stringify(aK)}catch(aJ){console.error(aJ)}}return aK?""+aK:""}function F(aK){var aJ=[];if(aK){if(Object.keys){return Object.keys(aK)}m(aK,function(aM,aL){aJ.push(aL)})}return aJ}function v(aK){if(Object.values){return aK?Object.values(aK):[]}var aJ=[];F(aK).forEach(function(aL){aJ.push(aK[aL])});return aJ}function az(aK){if(Object.entries){return aK?Object.entries(aK):[]}var aJ=[];F(aK).forEach(function(aL){aJ.push([aL,aK[aL]])});return aJ}function ab(aJ){return v(aJ)[0]}function N(aK){var aJ=v(aK);return aJ[aJ.length-1]}function m(aL,aM,aK){for(var aJ in aL){if(aL.hasOwnProperty(aJ)){aM.call(aK,aL[aJ],aJ,aL)}}}function aH(aK,aL,aJ){if(aK){if(b(aK)){return aK.forEach(aL,aJ)}m(aK,aL,aJ)}return aK}function T(aN,aO,aM){var aL,aK;var aJ={};if(aN){if(ax(aO)){aK=aO;aO=null}else{if(an(aO)){aO=aO.bind(aM)}else{aO=aK=null}}aH(aN,function(aQ,aP){aL=aO?aO(aQ,aP,aN):(aK?aQ[aK]:aQ);if(aJ[aL]){aJ[aL].push(aQ)}else{aJ[aL]=[aQ]}})}return aJ}function l(aL,aM,aK){var aJ={};aH(aL,function(aO,aN){aJ[aN]=aM.call(aK,aO,aN,aL)});return aJ}function q(aK){var aJ={};aH(aK,function(aM,aL){aJ[aL]=ae(aM)});return aJ}function a(aJ){return aJ.map(function(aL,aK){return ae(aL)})}function ae(aJ){return y(aJ)?q(aJ):b(aJ)?a(aJ):aJ}function w(aK,aJ){return aJ?ae(aK):ap(y(aK)?{}:[],aK)}function aF(aK){var aJ=[];if(b(aK)){aK.forEach(function(aL){if(!aJ.includes(aL)){aJ.push(aL)}})}return aJ}function aA(){var aK=[];for(var aL=0,aJ=arguments.length;aL<aJ;aL++){aK=aK.concat(arguments[aL])}return aF(aK)}function G(aJ,aL,aK){if(b(aJ)){return aJ.sort(aL?an(aL)?aL.bind(aK||this):function(aN,aM){return aN[aL]>aM[aL]?1:-1}:function(aN,aM){return aN>aM?1:-1})}return aJ}function i(aN){var aK=[];for(var aM=v(aN),aJ=aM.length-1;aJ>=0;aJ--){var aL=aJ>0?Z(0,aJ):0;aK.push(aM[aL]);aM.splice(aL,1)}return aK}function aB(aL,aK){var aJ=i(aL);if(arguments.length===1){return aJ[0]}if(aK<aJ.length){aJ.length=aK||0}return aJ}function x(aL,aM,aK){if(aL){if(b(aL)){return aL.some(aM,aK)}else{for(var aJ in aL){if(aL.hasOwnProperty(aJ)){if(aM.call(aK,aL[aJ],aJ,aL)){return true}}}}}return false}function ag(aL,aM,aK){if(aL){if(b(aL)){return aL.every(aM,aK)}else{for(var aJ in aL){if(aL.hasOwnProperty(aJ)){if(!aM.call(aK,aL[aJ],aJ,aL)){return false}}}}}return true}function z(aL,aM,aK){if(aL){if(b(aL)){return aL.filter(aM,aK)}else{var aJ={};aH(aL,function(aO,aN){if(aM.call(aK,aO,aN,aL)){aJ[aN]=aO}});return aJ | ||
}}return[]}function aI(aL,aM,aK){if(aL){if(b(aL)){return aL.find(aM,aK)}else{for(var aJ in aL){if(aL.hasOwnProperty(aJ)){if(aM.call(aK,aL[aJ],aJ,aL)){return aL[aJ]}}}}}}function r(aL,aM,aK){var aJ=[];if(aL){if(b(aL)){return aL.map(aM,aK)}else{aH(aL,function(){aJ.push(aM.call(aK,arguments))})}}return aJ}var au=Date.now||function(){return new Date().getTime()};function u(aL,aK){if(aL){if(g(aL)){return aL}if(!Q(aL)){return new Date(aL)}if(ax(aL)){aK=aK||"yyyy-MM-dd HH:mm:ss.SSS";var aJ=[];[{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]]}].forEach(function(aQ){for(var aN,aP,aO=0,aR=aQ.rules,aM=aR.length;aO<aM;aO++){aN=aR[aO];aP=aK.indexOf(aN[0]);if(aP>-1){aJ.push(parseFloat(aL.substring(aP,aP+aN[1])||0)+(aQ.offset||0));break}else{if(aO===aM-1){aJ.push(0)}}}});return new Date(aJ[0],aJ[1],aJ[2],aJ[3],aJ[4],aJ[5],aJ[6])}}return"Invalid Date"}function aa(aL,aN){aL=u(aL);if(g(aL)){var aK=aN||"yyyy-MM-dd HH:mm:ss";var aM=["日","一","二","三","四","五","六"];var aJ={"q+":Math.floor((aL.getMonth()+3)/3),"M+":aL.getMonth()+1,"E+":aL.getDay(),"d+":aL.getDate(),"H+":aL.getHours(),"m+":aL.getMinutes(),"s+":aL.getSeconds(),"S":aL.getMilliseconds()};if(/(y+)/.test(aK)){aK=aK.replace(RegExp.$1,(""+aL.getFullYear()).substr(4-RegExp.$1.length))}F(aJ).forEach(function(aO){if(new RegExp("("+aO+")").test(aK)){var aP=""+aJ[aO];aK=aK.replace(RegExp.$1,(aO==="q+"||aO==="E+")?aM[aP]:(RegExp.$1.length===1?aP:("00"+aP).substr(aP.length)))}});return aK}return aL}function O(aL,aQ,aP){var aK=u(aL);var aM=aQ&&!Q(aQ)?aQ:0;var aR=aK.getHours();var aW=aK.getMinutes();var aS=aK.getSeconds();var aJ=aK.getMilliseconds();if(aP==="first"){var aU=aK.getFullYear();var aN=aK.getMonth();if((aN+=aM)<0){return new Date(aU-Math.ceil((aN=Math.abs(aN))/12),12-(aN%12||1),1,aR,aW,aS,aJ)}return new Date(aU+Math.floor(aN/12),aN%12,1,aR,aW,aS,aJ)}else{if(aP==="last"){return new Date(O(aK,aM+1,"first").getTime()-86400000)}}var aT=aK.getDate();var aV=O(aK,aM,"first");var aO=aV.getMonth();aV.setDate(aT);while(aO<aV.getMonth()){aV.setDate(--aT)}return aV}function aD(aK,aL,aP){var aN=Number(/^[0-7]$/.test(aP)?aP:0);var aJ=u(aK);var aM=aJ.getDay();var aO=aJ.getTime();var aQ=aO+((aN===0?7:aN)-(aM===0?7:aM))*86400000;if(aL&&!Q(aL)){aQ+=aL*604800000}return new Date(aQ)}function ao(aK,aJ){return new Date(u(aK).getTime()+(aJ&&!Q(aJ)?aJ*86400000:0))}function p(aJ,aK){return Math.floor((O(aJ,aK,"last").getTime()-O(aJ,aK,"first").getTime())/86400000)+1}function D(aK,aL,aQ){var aT={};var aJ=u(aK).getTime();var aM=aL?u(aL).getTime():new Date();if(aJ<aM){var aS;var aR=aM-aJ;var aP=aQ&&aQ.length>0?aQ:[["yyyy",31536000000],["MM",2592000000],["dd",86400000],["HH",3600000],["mm",60000],["ss",1000],["S",0]];for(var aO=0,aN=aP.length;aO<aN;aO++){aS=aP[aO];if(aR>=aS[1]){if(aO===aN-1){if(aR){aT[aS[0]]=aR}}else{aT[aS[0]]=Math.floor(aR/aS[1]);aR-=aT[aS[0]]*aS[1]}}}}return aT}var t={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"};var W={};F(t).forEach(function(aJ){W[t[aJ]]=aJ});function e(aK){var aJ=new RegExp("(?:"+F(aK).join("|")+")","g");return function(aL){return String(aL||"").replace(aJ,function(aM){return aK[aM]})}}var av=e(t);var ay=e(W);function Z(aK,aJ){return aK>=aJ?aK:((aK=aK>>0)+Math.round(Math.random()*((aJ||9)-aK)))}function o(aJ,aK){return(an(aK)?G(r(aJ,aK,this)):G(aJ,aK))}function aC(){return o.apply(this,arguments)[0]}function n(){return o.apply(this,arguments).reverse()[0]}var I=document.body||document.documentElement;function aj(){var aJ={};["webkit","khtml","moz","ms","o"].forEach(function(aK){aJ["-"+aK]=!!I[aK+"MatchesSelector"]});return aJ}function L(aL,aN,aK){var aM=[];if(b(aL)){aM=aL}else{if(arguments.length>1){aM=[ap({name:aL,value:aN},aK)]}else{if(B(aL)){aM=[aL]}}}if(aM.length>0){aM.forEach(function(aQ){var aP=ap({},aQ);var aO=[];if(aP.name){aO.push(encodeURIComponent(aP.name)+"="+encodeURIComponent(JSON.stringify(aP.value)));if(aP.expires!==undefined){aP.expires=new Date(Date.now()+parseFloat(aP.expires)*86400000).toUTCString()}["expires","path","domain","secure"].forEach(function(aR){if(aP[aR]!==undefined){aO.push(aR+"="+aP[aR])}})}document.cookie=aO.join("; ")})}else{var aJ={};if(document.cookie){document.cookie.split("; ").forEach(function(aP){var aO=aP.split("=");aJ[decodeURIComponent(aO[0])]=decodeURIComponent(aO[1]||"")})}return arguments.length===1?aJ[aL]:aJ}}Object.assign(L,{setItem:function(aJ,aK){L(aJ,aK)},getItem:function(aJ){return L(aJ)},removeItem:function(aJ){L(aJ,null,{expires:-1})},getJSON:function(){return L()}});var af=location;function K(){return(af.hash.split("#")[1]||"").split("?")[0]||""}function X(aK){var aJ={};var aL=aK.split("?")[1]||"";if(aL){aL.split("&").forEach(function(aN){var aM=aN.split("=");aJ[decodeURIComponent(aM[0])]=decodeURIComponent(aM[1]||"")})}return aJ}function h(){return{port:af.port,href:af.href,host:af.host,hostname:af.hostname,protocol:af.protocol,origin:af.origin,hash:K(),query:X(af.hash),params:X(af.search)} | ||
}function V(){}function am(aJ){return Object.assign(V,aJ)}am({isNaN:Q,isFinite:at,isArray:b,isFloat:f,isInteger:P,isFunction:an,isBoolean:aq,isString:ax,isNumber:J,isRegExp:ai,isObject:B,isPlainObject:y,isDate:g,isError:c,isTypeError:ad,isEmpty:j,isNull:aG,isSymbol:ar,isArguments:d,isElement:Y,isDocument:aw,isWindow:H,isFormData:aE,isLeapYear:ac,getType:s,uniqueId:S,size:E,indexOf:k,lastIndexOf:al,includes:C,contains:M,assign:ap,extend:R,stringToJson:U,jsonToString:ak,keys:F,values:v,entries:az,first:ab,last:N,each:aH,groupBy:T,mapObject:l,clone:w,uniq:aF,union:aA,sort:G,shuffle:i,sample:aB,some:x,every:ag,filter:z,find:aI,map:r,now:au,stringToDate:u,dateToString:aa,getWhatMonth:O,getWhatWeek:aD,getWhatDay:ao,getDaysOfMonth:p,getDateDiff:D,escape:av,unescape:ay,random:Z,min:aC,max:n});am({browse:aj,cookie:L,locat:h});V.mixin=am;return V})); | ||
(function(b,a){typeof exports==="object"&&typeof module!=="undefined"?module.exports=a():typeof define==="function"&&define.amd?define(a):(b.XEUtils=a())}(this,function(){var Q=window.isNaN;var ax=window.isFinite;var b=Array.isArray||function(aJ){return Object.prototype.toString.call(aJ)==="[object Array]"};function f(aJ){return aJ!==null&&!Q(aJ)&&!P(aJ)}var P=Number.isInteger;function ar(aJ){return typeof aJ==="function"}function av(aJ){return typeof aJ==="boolean"}function aA(aJ){return typeof aJ==="string"}function I(aJ){return typeof aJ==="number"}function ag(aJ){return aJ?aJ.constructor===RegExp:false}function C(aJ){return typeof aJ==="object"}function A(aJ){return aJ?aJ.constructor===Object:false}function g(aJ){return aJ?aJ.constructor===Date:false}function c(aJ){return aJ?aJ.constructor===Error:false}function ac(aJ){return aJ?aJ.constructor===TypeError:false}function k(aK){if(aK===0||!I(aK)){for(var aJ in aK){return false}return true}return false}function aE(aJ){return aJ===null}function aw(aJ){return typeof Symbol!=="undefined"&&Symbol.isSymbol?Symbol.isSymbol(aJ):(typeof aJ==="symbol")}function d(aJ){return String(aJ)==="[object Arguments]"}function Z(aJ){return aJ&&aA(aJ.nodeName)&&I(aJ.nodeType)}function az(aJ){return aJ&&aJ.nodeType===9}function G(aJ){return aJ&&aJ===aJ.window}function aD(aJ){return typeof FormData!=="undefined"&&aJ instanceof FormData}function ab(aK){var aJ=aK?x(aK):new Date();var aL=aJ.getFullYear();return(aL%4===0)&&(aL%100!==0||aL%400===0)}function u(aJ){if(aJ===null){return""+aJ}if(aw(aJ)){return"symbol"}if(g(aJ)){return"date"}if(b(aJ)){return"array"}return typeof aJ}var B=0;function S(){return ++B}function j(aK){var aJ=0;if(aA(aK)||b(aK)){return aK.length}aF(aK,function(){aJ++});return aJ}function af(aJ){return function(aL,aM){if(aL){if(aA(aL)||b(aL)){return aJ(aL,aM)}for(var aK in aL){if(aM===aL[aK]){return aK}}}return -1}}var l=af(function(aL,aM){if(aL.indexOf){return aL.indexOf(aM)}for(var aK=0,aJ=aL.length;aK<aJ;aK++){if(aM===aL[aK]){return aK}}});var an=af(function(aK,aL){if(aK.lastIndexOf){return aK.lastIndexOf(aL)}for(var aJ=aK.length-1;aJ>=0;aJ--){if(aL===aK[aJ]){return aJ}}return -1});function D(aJ,aK){return l(aJ,aK)!==-1}var M=D;var aI=Object.assign||function(aM){if(aM){for(var aL,aK=1,aJ=arguments.length;aK<aJ;aK++){aL=arguments[aK];aj(t(arguments[aK]),function(aN){aM[aN]=aL[aN]})}}return aM};var R=aI;function V(aK){if(C(aK)){return aK}else{if(aA(aK)){try{return JSON.parse(aK)}catch(aJ){console.error(aJ)}}}return{}}function am(aK){if(C(aK)){try{return JSON.stringify(aK)}catch(aJ){console.error(aJ)}}return aK?""+aK:""}function t(aK){var aJ=[];if(aK){if(Object.keys){return Object.keys(aK)}ao(aK,function(aM,aL){aJ.push(aL)})}return aJ}function H(aK){if(Object.values){return aK?Object.values(aK):[]}var aJ=[];aj(t(aK),function(aL){aJ.push(aK[aL])});return aJ}function at(aK){if(Object.entries){return aK?Object.entries(aK):[]}var aJ=[];aj(t(aK),function(aL){aJ.push([aL,aK[aL]])});return aJ}function n(aJ){return H(aJ)[0]}function z(aK){var aJ=H(aK);return aJ[aJ.length-1]}function ao(aL,aM,aK){for(var aJ in aL){if(aL.hasOwnProperty(aJ)){aM.call(aK,aL[aJ],aJ,aL)}}}function aj(aM,aN,aL){for(var aK=0,aJ=aM.length||0;aK<aJ;aK++){aN.call(aL,aM[aK],aK,aM)}}function aF(aK,aL,aJ){if(aK){if(b(aK)){if(ar(aK.forEach)){return aK.forEach(aL,aJ)}return aj(aK,aL,aJ)}return ao(aK,aL,aJ)}return aK}function U(aN,aO,aM){var aL,aK;var aJ={};if(aN){if(aA(aO)){aK=aO;aO=null}else{if(ar(aO)){aO=aO.bind(aM)}else{aO=aK=null}}aF(aN,function(aQ,aP){aL=aO?aO(aQ,aP,aN):(aK?aQ[aK]:aQ);if(aJ[aL]){aJ[aL].push(aQ)}else{aJ[aL]=[aQ]}})}return aJ}function q(aL,aM,aK){var aJ={};aF(aL,function(aO,aN){aJ[aN]=aM.call(aK,aO,aN,aL)});return aJ}function s(aK){var aJ={};aF(aK,function(aM,aL){aJ[aL]=ad(aM)});return aJ}function a(aJ){return aq(aJ,function(aL,aK){return ad(aL)})}function ad(aJ){return A(aJ)?s(aJ):b(aJ)?a(aJ):aJ}function y(aK,aJ){return aJ?ad(aK):aI(A(aK)?{}:[],aK)}function ai(aK){var aJ=[];if(b(aK)){aj(aK,function(aL){if(!aJ.includes(aL)){aJ.push(aL)}})}return aJ}function J(){var aK=[];for(var aL=0,aJ=arguments.length;aL<aJ;aL++){aK=aK.concat(arguments[aL])}return ai(aK)}function p(aJ,aL,aK){if(b(aJ)){return aJ.sort(aL?ar(aL)?aL.bind(aK||this):function(aN,aM){return aN[aL]>aM[aL]?1:-1}:function(aN,aM){return aN>aM?1:-1})}return aJ}function m(aN){var aK=[];for(var aM=H(aN),aJ=aM.length-1;aJ>=0;aJ--){var aL=aJ>0?F(0,aJ):0;aK.push(aM[aL]);aM.splice(aL,1)}return aK}function T(aL,aK){var aJ=m(aL);if(arguments.length===1){return aJ[0]}if(aK<aJ.length){aJ.length=aK||0}return aJ}function i(aL,aM,aK){if(aL){if(b(aL)){return aL.some(aM,aK)}else{for(var aJ in aL){if(aL.hasOwnProperty(aJ)){if(aM.call(aK,aL[aJ],aJ,aL)){return true}}}}}return false}function v(aL,aM,aK){if(aL){if(b(aL)){return aL.every(aM,aK)}else{for(var aJ in aL){if(aL.hasOwnProperty(aJ)){if(!aM.call(aK,aL[aJ],aJ,aL)){return false}}}}}return true}function aG(aL,aM,aK){if(aL){if(b(aL)){return aL.filter(aM,aK) | ||
}else{var aJ={};aF(aL,function(aO,aN){if(aM.call(aK,aO,aN,aL)){aJ[aN]=aO}});return aJ}}return[]}function al(aL,aM,aK){if(aL){if(b(aL)){return aL.find(aM,aK)}else{for(var aJ in aL){if(aL.hasOwnProperty(aJ)){if(aM.call(aK,aL[aJ],aJ,aL)){return aL[aJ]}}}}}}function aq(aL,aM,aK){var aJ=[];if(aL){if(b(aL)){return aL.map(aM,aK)}else{aF(aL,function(){aJ.push(aM.apply(aK,arguments))})}}return aJ}var aH=Date.now||function(){return new Date().getTime()};function x(aL,aK){if(aL){if(g(aL)){return aL}if(!Q(aL)){return new Date(aL)}if(aA(aL)){aK=aK||"yyyy-MM-dd HH:mm:ss.SSS";var aJ=[];aj([{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]]}],function(aQ){for(var aN,aP,aO=0,aR=aQ.rules,aM=aR.length;aO<aM;aO++){aN=aR[aO];aP=aK.indexOf(aN[0]);if(aP>-1){aJ.push(parseFloat(aL.substring(aP,aP+aN[1])||0)+(aQ.offset||0));break}else{if(aO===aM-1){aJ.push(0)}}}});return new Date(aJ[0],aJ[1],aJ[2],aJ[3],aJ[4],aJ[5],aJ[6])}}return"Invalid Date"}function aa(aL,aN){aL=x(aL);if(g(aL)){var aK=aN||"yyyy-MM-dd HH:mm:ss";var aM=["日","一","二","三","四","五","六"];var aJ={"q+":Math.floor((aL.getMonth()+3)/3),"M+":aL.getMonth()+1,"E+":aL.getDay(),"d+":aL.getDate(),"H+":aL.getHours(),"m+":aL.getMinutes(),"s+":aL.getSeconds(),"S":aL.getMilliseconds()};if(/(y+)/.test(aK)){aK=aK.replace(RegExp.$1,(""+aL.getFullYear()).substr(4-RegExp.$1.length))}aj(t(aJ),function(aO){if(new RegExp("("+aO+")").test(aK)){var aP=""+aJ[aO];aK=aK.replace(RegExp.$1,(aO==="q+"||aO==="E+")?aM[aP]:(RegExp.$1.length===1?aP:("00"+aP).substr(aP.length)))}});return aK}return aL}function O(aL,aQ,aP){var aK=x(aL);var aM=aQ&&!Q(aQ)?aQ:0;var aR=aK.getHours();var aW=aK.getMinutes();var aS=aK.getSeconds();var aJ=aK.getMilliseconds();if(aP==="first"){var aU=aK.getFullYear();var aN=aK.getMonth();if((aN+=aM)<0){return new Date(aU-Math.ceil((aN=Math.abs(aN))/12),12-(aN%12||1),1,aR,aW,aS,aJ)}return new Date(aU+Math.floor(aN/12),aN%12,1,aR,aW,aS,aJ)}else{if(aP==="last"){return new Date(O(aK,aM+1,"first").getTime()-86400000)}}var aT=aK.getDate();var aV=O(aK,aM,"first");var aO=aV.getMonth();aV.setDate(aT);while(aO<aV.getMonth()){aV.setDate(--aT)}return aV}function aC(aK,aL,aP){var aN=Number(/^[0-7]$/.test(aP)?aP:0);var aJ=x(aK);var aM=aJ.getDay();var aO=aJ.getTime();var aQ=aO+((aN===0?7:aN)-(aM===0?7:aM))*86400000;if(aL&&!Q(aL)){aQ+=aL*604800000}return new Date(aQ)}function au(aK,aJ){return new Date(x(aK).getTime()+(aJ&&!Q(aJ)?aJ*86400000:0))}function r(aJ,aK){return Math.floor((O(aJ,aK,"last").getTime()-O(aJ,aK,"first").getTime())/86400000)+1}function E(aK,aL,aQ){var aT={};var aJ=x(aK).getTime();var aM=aL?x(aL).getTime():new Date();if(aJ<aM){var aS;var aR=aM-aJ;var aP=aQ&&aQ.length>0?aQ:[["yyyy",31536000000],["MM",2592000000],["dd",86400000],["HH",3600000],["mm",60000],["ss",1000],["S",0]];for(var aO=0,aN=aP.length;aO<aN;aO++){aS=aP[aO];if(aR>=aS[1]){if(aO===aN-1){if(aR){aT[aS[0]]=aR}}else{aT[aS[0]]=Math.floor(aR/aS[1]);aR-=aT[aS[0]]*aS[1]}}}}return aT}var w={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"};var X={};aj(t(w),function(aJ){X[w[aJ]]=aJ});function e(aJ){var aK=new RegExp("(?:"+t(aJ).join("|")+")","g");return function(aL){return String(aL||"").replace(aK,function(aM){return aJ[aM]})}}var ay=e(w);var aB=e(X);function F(aK,aJ){return aK>=aJ?aK:((aK=aK>>0)+Math.round(Math.random()*((aJ||9)-aK)))}function o(aJ,aK){return(ar(aK)?p(aq(aJ,aK,this)):p(aJ,aK))}function N(){return o.apply(this,arguments)[0]}function ak(){return o.apply(this,arguments).reverse()[0]}function ah(){var aJ={};var aK=document.body||document.documentElement;aj(["webkit","khtml","moz","ms","o"],function(aL){aJ["-"+aL]=!!aK[aL+"MatchesSelector"]});return aJ}function L(aL,aN,aK){var aM=[];if(b(aL)){aM=aL}else{if(arguments.length>1){aM=[aI({name:aL,value:aN},aK)]}else{if(C(aL)){aM=[aL]}}}if(aM.length>0){aj(aM,function(aQ){var aP=aI({},aQ);var aO=[];if(aP.name){aO.push(encodeURIComponent(aP.name)+"="+encodeURIComponent(JSON.stringify(aP.value)));if(aP.expires!==undefined){aP.expires=new Date(aH()+parseFloat(aP.expires)*86400000).toUTCString()}aj(["expires","path","domain","secure"],function(aR){if(aP[aR]!==undefined){aO.push(aR+"="+aP[aR])}})}document.cookie=aO.join("; ")})}else{var aJ={};if(document.cookie){aj(document.cookie.split("; "),function(aP){var aO=aP.split("=");aJ[decodeURIComponent(aO[0])]=decodeURIComponent(aO[1]||"")})}return arguments.length===1?aJ[aL]:aJ}}aI(L,{setItem:function(aJ,aK){L(aJ,aK)},getItem:function(aJ){return L(aJ)},removeItem:function(aJ){L(aJ,null,{expires:-1})},getJSON:function(){return L()}});var ae=location;function K(){return(ae.hash.split("#")[1]||"").split("?")[0]||""}function Y(aK){var aJ={};var aL=aK.split("?")[1]||"";if(aL){aj(aL.split("&"),function(aN){var aM=aN.split("=");aJ[decodeURIComponent(aM[0])]=decodeURIComponent(aM[1]||"")})}return aJ}function h(){return{port:ae.port,href:ae.href,host:ae.host,hostname:ae.hostname,protocol:ae.protocol,origin:ae.origin,hash:K(),query:Y(ae.hash),params:Y(ae.search)} | ||
}function W(){}function ap(aJ){return aI(W,aJ)}ap({isNaN:Q,isFinite:ax,isArray:b,isFloat:f,isInteger:P,isFunction:ar,isBoolean:av,isString:aA,isNumber:I,isRegExp:ag,isObject:C,isPlainObject:A,isDate:g,isError:c,isTypeError:ac,isEmpty:k,isNull:aE,isSymbol:aw,isArguments:d,isElement:Z,isDocument:az,isWindow:G,isFormData:aD,isLeapYear:ab,getType:u,uniqueId:S,getSize:j,indexOf:l,lastIndexOf:an,includes:D,contains:M,objectAssign:aI,extend:R,stringToJson:V,jsonToString:am,objectKeys:t,objectValues:H,objectEntries:at,arrayFirst:n,arrayLast:z,objectEach:ao,arrayEach:aj,each:aF,groupBy:U,objectMap:q,clone:y,arrayUniq:ai,arrayUnion:J,arraySort:p,arrayShuffle:m,arraySample:T,arraySome:i,arrayEvery:v,arrayFilter:aG,arrayFind:al,arrayMap:aq,dateNow:aH,stringToDate:x,dateToString:aa,getWhatMonth:O,getWhatWeek:aC,getWhatDay:au,getDaysOfMonth:r,getDateDiff:E,escape:ay,unescape:aB,getRandom:F,arrayMin:N,arrayMax:ak});ap({browse:ah,cookie:L,locat:h});W.mixin=ap;W.version="1.4.0";return W})); |
@@ -12,8 +12,12 @@ import * as core from './src/core' | ||
function mixin (methods) { | ||
return Object.assign(XEUtils, methods) | ||
return core.objectAssign(XEUtils, methods) | ||
} | ||
var a = ''; core.each(core, function (c, k) { a += k + ': ' + k + ', ' }); console.log(a) | ||
var b = ''; core.each(browse, function (c, k) { b += k + ': ' + k + ', ' }); console.log(b) | ||
mixin(core) | ||
mixin(browse) | ||
XEUtils.mixin = mixin | ||
XEUtils.version = '1.4.0' | ||
@@ -20,0 +24,0 @@ export * from './src/core' |
{ | ||
"name": "xe-utils", | ||
"version": "1.3.1", | ||
"description": "XEUtils 是一个轻量级的函数库,提供一套实用丰富函数", | ||
"version": "1.4.0", | ||
"description": "XEUtils 一个轻量级的函数库,提供一套实用丰富函数", | ||
"main": "index.js", | ||
@@ -6,0 +6,0 @@ "scripts": { |
129
README.md
# XEUtils 轻量级的函数库,提供一套实用丰富函数 | ||
XEUtils 是一个不依赖于任何框架、开源的函数库,支持常用基础函数、支持任意格式的日期处理函数,cookie操作函数等...,运行环境 ES5+。 | ||
XEUtils 一个不依赖于任何框架、开源的函数库,支持常用基础函数、支持任意格式的日期处理函数,cookie操作函数等... | ||
### 兼容性 | ||
支持 IE8+、Edge、Chrome、Firefox、Opera、Safari等... | ||
### 直接引用 script 全局安装,XEUtils 会定义为全局变量 | ||
@@ -285,9 +288,9 @@ ``` shell | ||
``` | ||
#### size ( obj ) 返回对象的长度 | ||
#### getSize ( obj ) 返回对象的长度 | ||
```shell | ||
import XEUtils from 'xe-utils' | ||
XEUtils.size('123') // 3 | ||
XEUtils.size([1, 3]) // 2 | ||
XEUtils.size({a: 2, b: 5}) // 2 | ||
XEUtils.getSize('123') // 3 | ||
XEUtils.getSize([1, 3]) // 2 | ||
XEUtils.getSize({a: 2, b: 5}) // 2 | ||
``` | ||
@@ -315,3 +318,3 @@ #### indexOf (obj, val) 返回对象第一个索引值 | ||
``` | ||
#### assign (target, ...) 浅拷贝一个或者多个对象到目标对象中 | ||
#### objectAssign (target, ...) 浅拷贝一个或者多个对象到目标对象中 | ||
```shell | ||
@@ -321,6 +324,6 @@ import XEUtils from 'xe-utils' | ||
const obj1 = {a: null} | ||
XEUtils.assign(obj1, {a: 11}) // {a: 11} | ||
XEUtils.objectAssign(obj1, {a: 11}) // {a: 11} | ||
XEUtils.extend(obj1, {a: 11}) // {a: 11} | ||
const obj2 = {c: null} | ||
XEUtils.assign(obj2, {a: 11}, {b: 22}) // {a: 11, b: 22, c: null} | ||
XEUtils.objectAssign(obj2, {a: 11}, {b: 22}) // {a: 11, b: 22, c: null} | ||
XEUtils.extend(obj2, {a: 11}, {b: 22}) // {a: 11, b: 22, c: null} | ||
@@ -342,36 +345,36 @@ ``` | ||
``` | ||
#### keys (obj) 获取对象所有属性 | ||
#### objectKeys (obj) 获取对象所有属性 | ||
```shell | ||
import XEUtils from 'xe-utils' | ||
XEUtils.keys({a: 11}) // ['a'] | ||
XEUtils.keys([11, 22]) // [0, 1] | ||
XEUtils.objectKeys({a: 11}) // ['a'] | ||
XEUtils.objectKeys([11, 22]) // [0, 1] | ||
``` | ||
#### values (obj) 获取对象所有值 | ||
#### objectValues (obj) 获取对象所有值 | ||
```shell | ||
import XEUtils from 'xe-utils' | ||
XEUtils.values({a: 11}) // [11] | ||
XEUtils.values([11, 22]) // [11, 22] | ||
XEUtils.objectValues({a: 11}) // [11] | ||
XEUtils.objectValues([11, 22]) // [11, 22] | ||
``` | ||
#### entries (obj) 获取对象所有属性、值 | ||
#### objectEntries (obj) 获取对象所有属性、值 | ||
```shell | ||
import XEUtils from 'xe-utils' | ||
XEUtils.entries({a: 11}) // [['a', 11]] | ||
XEUtils.entries([11, 22]) // [[0, 11], [1, 22]] | ||
XEUtils.objectEntries({a: 11}) // [['a', 11]] | ||
XEUtils.objectEntries([11, 22]) // [[0, 11], [1, 22]] | ||
``` | ||
#### first (obj) 获取对象第一个值 | ||
#### arrayFirst (obj) 获取对象第一个值 | ||
```shell | ||
import XEUtils from 'xe-utils' | ||
XEUtils.first({a: 11, b : 22}) // 11 | ||
XEUtils.first([11, 22]) // 11 | ||
XEUtils.arrayFirst({a: 11, b : 22}) // 11 | ||
XEUtils.arrayFirst([11, 22]) // 11 | ||
``` | ||
#### last (obj) 获取对象最后一个值 | ||
#### arrayLast (obj) 获取对象最后一个值 | ||
```shell | ||
import XEUtils from 'xe-utils' | ||
XEUtils.last({a: 11, b: 22}) // 22 | ||
XEUtils.last([11, 22]) // 22 | ||
XEUtils.arrayLast({a: 11, b: 22}) // 22 | ||
XEUtils.arrayLast([11, 22]) // 22 | ||
``` | ||
@@ -398,3 +401,3 @@ #### each ( obj, iteratee, context ) 迭代器 | ||
``` | ||
#### mapObject ( obj, iteratee, context ) 指定方法后的返回值组成的新对象 | ||
#### objectMap ( obj, iteratee, context ) 指定方法后的返回值组成的新对象 | ||
```shell | ||
@@ -404,3 +407,3 @@ import XEUtils from 'xe-utils' | ||
const result = [] | ||
XEUtils.mapObject([{type: 'a'}, {type: 'b'}]], (item, key) => { | ||
XEUtils.objectMap([{type: 'a'}, {type: 'b'}]], (item, key) => { | ||
return item.type | ||
@@ -424,20 +427,20 @@ }) // {a: {type: 'a', b: {type: 'b'}}} | ||
#### uniq ( array ) 数组去重 | ||
#### arrayUniq ( array ) 数组去重 | ||
```shell | ||
import XEUtils from 'xe-utils' | ||
XEUtils.uniq([11, 22, 33, 33, 22, 55]) // [11, 22, 33, 55] | ||
XEUtils.arrayUniq([11, 22, 33, 33, 22, 55]) // [11, 22, 33, 55] | ||
``` | ||
#### union ( ...array ) 将多个数的值返回唯一的并集数组 | ||
#### arrayUnion ( ...array ) 将多个数的值返回唯一的并集数组 | ||
```shell | ||
import XEUtils from 'xe-utils' | ||
XEUtils.union([11, 22], [33, 22], [44, 11]) // [11, 22, 33, 44] | ||
XEUtils.arrayUnion([11, 22], [33, 22], [44, 11]) // [11, 22, 33, 44] | ||
``` | ||
#### sort ( arr, iteratee, context ) 数组按属性值升序 | ||
#### arraySort ( arr, iteratee, context ) 数组按属性值升序 | ||
```shell | ||
import XEUtils from 'xe-utils' | ||
XEUtils.sort([{a: 9}, {a: 4}, {a: 5}], 'a') // [{a: 4}, {a: 5}, {a: 9}] | ||
XEUtils.sort([{a: 9}, {a: 4}, {a: 5}], (v1, v2) => { | ||
XEUtils.arraySort([{a: 9}, {a: 4}, {a: 5}], 'a') // [{a: 4}, {a: 5}, {a: 9}] | ||
XEUtils.arraySort([{a: 9}, {a: 4}, {a: 5}], (v1, v2) => { | ||
return v1.a > v2.a ? 1 : -1 | ||
@@ -447,60 +450,60 @@ }) // [{a: 4}, {a: 5}, {a: 9}] | ||
``` | ||
#### shuffle ( array ) 将一个数组随机打乱,返回一个新的数组 | ||
#### arrayShuffle ( array ) 将一个数组随机打乱,返回一个新的数组 | ||
```shell | ||
import XEUtils from 'xe-utils' | ||
XEUtils.shuffle([11, 22, 33, 44, 55]) // [22, 33, 55, 11, 44] | ||
XEUtils.arrayShuffle([11, 22, 33, 44, 55]) // [22, 33, 55, 11, 44] | ||
``` | ||
#### sample ( array, number ) 从一个数组中随机返回几个元素 | ||
#### arraySample ( array, number ) 从一个数组中随机返回几个元素 | ||
```shell | ||
import XEUtils from 'xe-utils' | ||
XEUtils.sample([11, 22, 33, 44, 55], 3) // [22, 33, 55] | ||
XEUtils.arraySample([11, 22, 33, 44, 55], 3) // [22, 33, 55] | ||
``` | ||
#### some ( obj, iteratee, context ) 对象中的值中的每一项运行给定函数,如果函数对任一项返回true,则返回true,否则返回false | ||
#### arraySome ( obj, iteratee, context ) 对象中的值中的每一项运行给定函数,如果函数对任一项返回true,则返回true,否则返回false | ||
```shell | ||
import XEUtils from 'xe-utils' | ||
XEUtils.some([{a: 11}, {a: 22}]], (item, key) => { | ||
XEUtils.arraySome([{a: 11}, {a: 22}]], (item, key) => { | ||
return item.a === 55 | ||
}) // false | ||
XEUtils.some([{a: 11}, {a: 22}]], (item, key) => { | ||
XEUtils.arraySome([{a: 11}, {a: 22}]], (item, key) => { | ||
return item.a === 11 | ||
}) // true | ||
``` | ||
#### every ( obj, iteratee, context ) 对象中的值中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true,否则返回false | ||
#### arrayEvery ( obj, iteratee, context ) 对象中的值中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true,否则返回false | ||
```shell | ||
import XEUtils from 'xe-utils' | ||
XEUtils.every([{a: 11}, {a: 22}]], (item, key) => { | ||
XEUtils.arrayEvery([{a: 11}, {a: 22}]], (item, key) => { | ||
return item.a === 11 | ||
}) // false | ||
XEUtils.every([{a: 11}, {a: 22}]], (item, key) => { | ||
XEUtils.arrayEvery([{a: 11}, {a: 22}]], (item, key) => { | ||
return item.a === 11 || item.a === 22 | ||
}) // true | ||
``` | ||
#### filter ( obj, iteratee, context ) 根据回调过滤数据 | ||
#### arrayFilter ( obj, iteratee, context ) 根据回调过滤数据 | ||
```shell | ||
import XEUtils from 'xe-utils' | ||
XEUtils.filter([{a: 11}, {a: 22}]], (item, key) => { | ||
XEUtils.arrayFilter([{a: 11}, {a: 22}]], (item, key) => { | ||
return item.a > 11 | ||
}) // [{a: 22}] | ||
``` | ||
#### find ( obj, iteratee, context ) 查找匹配第一条数据 | ||
#### arrayFind ( obj, iteratee, context ) 查找匹配第一条数据 | ||
```shell | ||
import XEUtils from 'xe-utils' | ||
XEUtils.find([{a: 11}, {a: 22}]], (item, key) => { | ||
XEUtils.arrayFind([{a: 11}, {a: 22}]], (item, key) => { | ||
return item.a === 55 | ||
}) // null | ||
XEUtils.find([{a: 11}, {a: 22}]], (item, key) => { | ||
XEUtils.arrayFind([{a: 11}, {a: 22}]], (item, key) => { | ||
return item.a === 22 | ||
}) // {a: 22} | ||
``` | ||
#### map ( obj, iteratee, context ) 指定方法后的返回值组成的新数组 | ||
#### arrayMap ( obj, iteratee, context ) 指定方法后的返回值组成的新数组 | ||
```shell | ||
import XEUtils from 'xe-utils' | ||
XEUtils.map([{a: 11}, {a: 22}]], (item, key) => { | ||
XEUtils.arrayMap([{a: 11}, {a: 22}]], (item, key) => { | ||
return item.a | ||
@@ -510,7 +513,7 @@ }) // [11, 22] | ||
#### now ( ) 返回时间戳 | ||
#### dateNow ( ) 返回时间戳 | ||
```shell | ||
import XEUtils from 'xe-utils' | ||
XEUtils.now() // 1514096716800 | ||
XEUtils.dateNow() // 1514096716800 | ||
``` | ||
@@ -590,27 +593,27 @@ #### stringToDate ( str, format ) 任意格式字符串转为日期(yyyy年份、MM月份、dd天、HH小时、mm分钟、ss秒、SSS毫秒) | ||
#### random ( min, max ) 获取一个指定范围内随机数 | ||
#### getRandom ( min, max ) 获取一个指定范围内随机数 | ||
```shell | ||
import XEUtils from 'xe-utils' | ||
XEUtils.random() // 0 ~ 9 | ||
XEUtils.random(3, 6) // 3 ~ 6 | ||
XEUtils.random(10, 100) // 10 ~ 100 | ||
XEUtils.getRandom() // 0 ~ 9 | ||
XEUtils.getRandom(3, 6) // 3 ~ 6 | ||
XEUtils.getRandom(10, 100) // 10 ~ 100 | ||
``` | ||
#### min ( arr, iteratee ) 获取最小值 | ||
#### arrayMin ( arr, iteratee ) 获取最小值 | ||
```shell | ||
import XEUtils from 'xe-utils' | ||
XEUtils.min([22, 66, 77, 11]) // 11 | ||
XEUtils.min([{a: 11}, {a: 44}], 'a') // 11 | ||
XEUtils.min([{a: 11}, {a: 44}], (item) => { | ||
XEUtils.arrayMin([22, 66, 77, 11]) // 11 | ||
XEUtils.arrayMin([{a: 11}, {a: 44}], 'a') // 11 | ||
XEUtils.arrayMin([{a: 11}, {a: 44}], (item) => { | ||
return item.a | ||
}) // {a: 11} | ||
``` | ||
#### max ( arr, iteratee ) 获取最大值 | ||
#### arrayMax ( arr, iteratee ) 获取最大值 | ||
```shell | ||
import XEUtils from 'xe-utils' | ||
XEUtils.max([22, 66, 77, 11]) // 77 | ||
XEUtils.max([{a: 11}, {a: 44}], 'a') // 44 | ||
XEUtils.max([{a: 11}, {a: 44}], (item) => { | ||
XEUtils.arrayMax([22, 66, 77, 11]) // 77 | ||
XEUtils.arrayMax([{a: 11}, {a: 44}], 'a') // 44 | ||
XEUtils.arrayMax([{a: 11}, {a: 44}], (item) => { | ||
return item.a | ||
@@ -617,0 +620,0 @@ }) // {a: 44} |
@@ -1,2 +0,3 @@ | ||
import { isArray, isObject, assign } from '../core/base' | ||
import { isArray, isObject, objectAssign, arrayEach } from '../core/base' | ||
import { dateNow } from '../core/date' | ||
@@ -19,3 +20,3 @@ /** | ||
} else if (arguments.length > 1) { | ||
inserts = [assign({name: name, value: value}, options)] | ||
inserts = [objectAssign({name: name, value: value}, options)] | ||
} else if (isObject(name)) { | ||
@@ -25,4 +26,4 @@ inserts = [name] | ||
if (inserts.length > 0) { | ||
inserts.forEach(function (obj) { | ||
var opts = assign({}, obj) | ||
arrayEach(inserts, function (obj) { | ||
var opts = objectAssign({}, obj) | ||
var values = [] | ||
@@ -32,5 +33,5 @@ if (opts.name) { | ||
if (opts.expires !== undefined) { | ||
opts.expires = new Date(Date.now() + parseFloat(opts.expires) * 86400000).toUTCString() | ||
opts.expires = new Date(dateNow() + parseFloat(opts.expires) * 86400000).toUTCString() | ||
} | ||
['expires', 'path', 'domain', 'secure'].forEach(function (key) { | ||
arrayEach(['expires', 'path', 'domain', 'secure'], function (key) { | ||
if (opts[key] !== undefined) { | ||
@@ -46,3 +47,3 @@ values.push(key + '=' + opts[key]) | ||
if (document.cookie) { | ||
document.cookie.split('; ').forEach(function (val) { | ||
arrayEach(document.cookie.split('; '), function (val) { | ||
var items = val.split('=') | ||
@@ -56,3 +57,3 @@ result[decodeURIComponent(items[0])] = decodeURIComponent(items[1] || '') | ||
Object.assign(cookie, { | ||
objectAssign(cookie, { | ||
setItem: function (name, key) { | ||
@@ -59,0 +60,0 @@ cookie(name, key) |
@@ -0,1 +1,3 @@ | ||
import { arrayEach } from '../core/base' | ||
var $locat = location | ||
@@ -11,3 +13,3 @@ | ||
if (params) { | ||
params.split('&').forEach(function (param) { | ||
arrayEach(params.split('&'), function (param) { | ||
var items = param.split('=') | ||
@@ -14,0 +16,0 @@ result[decodeURIComponent(items[0])] = decodeURIComponent(items[1] || '') |
@@ -0,1 +1,3 @@ | ||
import { arrayEach } from '../core/base' | ||
/** | ||
@@ -5,6 +7,6 @@ * 获取浏览器内核 | ||
*/ | ||
var $body = document.body || document.documentElement | ||
export function browse () { | ||
var result = {}; | ||
['webkit', 'khtml', 'moz', 'ms', 'o'].forEach(function (core) { | ||
var result = {} | ||
var $body = document.body || document.documentElement | ||
arrayEach(['webkit', 'khtml', 'moz', 'ms', 'o'], function (core) { | ||
result['-' + core] = !!$body[core + 'MatchesSelector'] | ||
@@ -11,0 +13,0 @@ }) |
@@ -1,3 +0,3 @@ | ||
import { random } from './number' | ||
import { isFunction, isArray, each, values } from './base' | ||
import { getRandom } from './number' | ||
import { isFunction, isArray, each, arrayEach, objectValues } from './base' | ||
@@ -10,6 +10,6 @@ /** | ||
*/ | ||
export function uniq (array) { | ||
export function arrayUniq (array) { | ||
var result = [] | ||
if (isArray(array)) { | ||
array.forEach(function (value) { | ||
arrayEach(array, function (value) { | ||
if (!result.includes(value)) { | ||
@@ -29,3 +29,3 @@ result.push(value) | ||
*/ | ||
export function union () { | ||
export function arrayUnion () { | ||
var result = [] | ||
@@ -35,3 +35,3 @@ for (var index = 0, len = arguments.length; index < len; index++) { | ||
} | ||
return uniq(result) | ||
return arrayUniq(result) | ||
} | ||
@@ -46,3 +46,3 @@ | ||
*/ | ||
export function sort (arr, iteratee, context) { | ||
export function arraySort (arr, iteratee, context) { | ||
if (isArray(arr)) { | ||
@@ -64,6 +64,6 @@ return arr.sort(iteratee ? isFunction(iteratee) ? iteratee.bind(context || this) : function (v1, v2) { | ||
*/ | ||
export function shuffle (array) { | ||
export function arrayShuffle (array) { | ||
var result = [] | ||
for (var list = values(array), len = list.length - 1; len >= 0; len--) { | ||
var index = len > 0 ? random(0, len) : 0 | ||
for (var list = objectValues(array), len = list.length - 1; len >= 0; len--) { | ||
var index = len > 0 ? getRandom(0, len) : 0 | ||
result.push(list[index]) | ||
@@ -82,4 +82,4 @@ list.splice(index, 1) | ||
*/ | ||
export function sample (array, number) { | ||
var result = shuffle(array) | ||
export function arraySample (array, number) { | ||
var result = arrayShuffle(array) | ||
if (arguments.length === 1) { | ||
@@ -102,3 +102,3 @@ return result[0] | ||
*/ | ||
export function some (obj, iteratee, context) { | ||
export function arraySome (obj, iteratee, context) { | ||
if (obj) { | ||
@@ -128,3 +128,3 @@ if (isArray(obj)) { | ||
*/ | ||
export function every (obj, iteratee, context) { | ||
export function arrayEvery (obj, iteratee, context) { | ||
if (obj) { | ||
@@ -154,3 +154,3 @@ if (isArray(obj)) { | ||
*/ | ||
export function filter (obj, iteratee, context) { | ||
export function arrayFilter (obj, iteratee, context) { | ||
if (obj) { | ||
@@ -180,3 +180,3 @@ if (isArray(obj)) { | ||
*/ | ||
export function find (obj, iteratee, context) { | ||
export function arrayFind (obj, iteratee, context) { | ||
if (obj) { | ||
@@ -205,3 +205,3 @@ if (isArray(obj)) { | ||
*/ | ||
export function map (obj, iteratee, context) { | ||
export function arrayMap (obj, iteratee, context) { | ||
var result = [] | ||
@@ -213,3 +213,3 @@ if (obj) { | ||
each(obj, function () { | ||
result.push(iteratee.call(context, arguments)) | ||
result.push(iteratee.apply(context, arguments)) | ||
}) | ||
@@ -216,0 +216,0 @@ } |
@@ -0,1 +1,2 @@ | ||
import { arrayMap } from './array' | ||
import { stringToDate } from './date' | ||
@@ -283,3 +284,3 @@ | ||
*/ | ||
export function size (obj) { | ||
export function getSize (obj) { | ||
var len = 0 | ||
@@ -367,7 +368,7 @@ if (isString(obj) || isArray(obj)) { | ||
*/ | ||
export var assign = Object.assign || function (target) { | ||
export var objectAssign = Object.assign || function (target) { | ||
if (target) { | ||
for (var source, index = 1, len = arguments.length; index < len; index++) { | ||
source = arguments[index] | ||
keys(arguments[index]).forEach(function (key) { | ||
arrayEach(objectKeys(arguments[index]), function (key) { | ||
target[key] = source[key] | ||
@@ -379,3 +380,3 @@ }) | ||
} | ||
export var extend = assign | ||
export var extend = objectAssign | ||
@@ -424,3 +425,3 @@ /** | ||
*/ | ||
export function keys (obj) { | ||
export function objectKeys (obj) { | ||
var result = [] | ||
@@ -431,3 +432,3 @@ if (obj) { | ||
} | ||
eachObj(obj, function (val, key) { | ||
objectEach(obj, function (val, key) { | ||
result.push(key) | ||
@@ -445,3 +446,3 @@ }) | ||
*/ | ||
export function values (obj) { | ||
export function objectValues (obj) { | ||
if (Object.values) { | ||
@@ -451,3 +452,3 @@ return obj ? Object.values(obj) : [] | ||
var result = [] | ||
keys(obj).forEach(function (key) { | ||
arrayEach(objectKeys(obj), function (key) { | ||
result.push(obj[key]) | ||
@@ -464,3 +465,3 @@ }) | ||
*/ | ||
export function entries (obj) { | ||
export function objectEntries (obj) { | ||
if (Object.entries) { | ||
@@ -470,3 +471,3 @@ return obj ? Object.entries(obj) : [] | ||
var result = [] | ||
keys(obj).forEach(function (key) { | ||
arrayEach(objectKeys(obj), function (key) { | ||
result.push([key, obj[key]]) | ||
@@ -483,4 +484,4 @@ }) | ||
*/ | ||
export function first (obj) { | ||
return values(obj)[0] | ||
export function arrayFirst (obj) { | ||
return objectValues(obj)[0] | ||
} | ||
@@ -494,8 +495,8 @@ | ||
*/ | ||
export function last (obj) { | ||
var list = values(obj) | ||
export function arrayLast (obj) { | ||
var list = objectValues(obj) | ||
return list[list.length - 1] | ||
} | ||
function eachObj (obj, iteratee, context) { | ||
export function objectEach (obj, iteratee, context) { | ||
for (var key in obj) { | ||
@@ -508,2 +509,8 @@ if (obj.hasOwnProperty(key)) { | ||
export function arrayEach (obj, iteratee, context) { | ||
for (var index = 0, len = obj.length || 0; index < len; index++) { | ||
iteratee.call(context, obj[index], index, obj) | ||
} | ||
} | ||
/** | ||
@@ -520,5 +527,8 @@ * 迭代器 | ||
if (isArray(obj)) { | ||
return obj.forEach(iteratee, context) | ||
if (isFunction(obj.forEach)) { | ||
return obj.forEach(iteratee, context) | ||
} | ||
return arrayEach(obj, iteratee, context) | ||
} | ||
eachObj(obj, iteratee, context) | ||
return objectEach(obj, iteratee, context) | ||
} | ||
@@ -568,3 +578,3 @@ return obj | ||
*/ | ||
export function mapObject (obj, iteratee, context) { | ||
export function objectMap (obj, iteratee, context) { | ||
var result = {} | ||
@@ -586,3 +596,3 @@ each(obj, function (val, index) { | ||
function cloneArr (arr) { | ||
return arr.map(function (val, index) { | ||
return arrayMap(arr, function (val, index) { | ||
return deepClone(val) | ||
@@ -604,3 +614,3 @@ }) | ||
export function clone (obj, deep) { | ||
return deep ? deepClone(obj) : assign(isPlainObject(obj) ? {} : [], obj) | ||
return deep ? deepClone(obj) : objectAssign(isPlainObject(obj) ? {} : [], obj) | ||
} |
@@ -1,2 +0,2 @@ | ||
import { isDate, isString, keys } from './base' | ||
import { isDate, isString, objectKeys, arrayEach } from './base' | ||
@@ -8,3 +8,3 @@ /** | ||
*/ | ||
export var now = Date.now || function () { | ||
export var dateNow = Date.now || function () { | ||
return new Date().getTime() | ||
@@ -30,4 +30,4 @@ } | ||
format = format || 'yyyy-MM-dd HH:mm:ss.SSS' | ||
var dates = []; | ||
[{rules: [['yyyy', 4], ['yyy', 3], ['yy', 2]]}, | ||
var dates = [] | ||
arrayEach([{rules: [['yyyy', 4], ['yyy', 3], ['yy', 2]]}, | ||
{rules: [['MM', 2], ['M', 1]], offset: -1}, | ||
@@ -38,3 +38,3 @@ {rules: [['dd', 2], ['d', 1]]}, | ||
{rules: [['ss', 2], ['s', 1]]}, | ||
{rules: [['SSS', 3], ['SS', 2], ['S', 1]]}].forEach(function (item) { | ||
{rules: [['SSS', 3], ['SS', 2], ['S', 1]]}], function (item) { | ||
for (var arr, sIndex, index = 0, rules = item.rules, len = rules.length; index < len; index++) { | ||
@@ -82,3 +82,3 @@ arr = rules[index] | ||
} | ||
keys(resDate).forEach(function (key) { | ||
arrayEach(objectKeys(resDate), function (key) { | ||
if (new RegExp('(' + key + ')').test(result)) { | ||
@@ -85,0 +85,0 @@ var val = '' + resDate[key] |
import { isFunction } from './base' | ||
import { sort, map } from './array' | ||
import { arraySort, arrayMap } from './array' | ||
@@ -11,3 +11,3 @@ /** | ||
*/ | ||
export function random (min, max) { | ||
export function getRandom (min, max) { | ||
return min >= max ? min : ((min = min >> 0) + Math.round(Math.random() * ((max || 9) - min))) | ||
@@ -17,3 +17,3 @@ } | ||
function sortData (arr, iteratee) { | ||
return (isFunction(iteratee) ? sort(map(arr, iteratee, this)) : sort(arr, iteratee)) | ||
return (isFunction(iteratee) ? arraySort(arrayMap(arr, iteratee, this)) : arraySort(arr, iteratee)) | ||
} | ||
@@ -28,3 +28,3 @@ | ||
*/ | ||
export function min () { | ||
export function arrayMin () { | ||
return sortData.apply(this, arguments)[0] | ||
@@ -40,4 +40,4 @@ } | ||
*/ | ||
export function max () { | ||
export function arrayMax () { | ||
return sortData.apply(this, arguments).reverse()[0] | ||
} |
@@ -1,2 +0,2 @@ | ||
import { keys } from './base' | ||
import { objectKeys, arrayEach } from './base' | ||
@@ -13,11 +13,11 @@ var escapeMap = { | ||
var unescapeMap = {} | ||
keys(escapeMap).forEach(function (key) { | ||
arrayEach(objectKeys(escapeMap), function (key) { | ||
unescapeMap[escapeMap[key]] = key | ||
}) | ||
function formatEscaper (map) { | ||
var replaceRegexp = new RegExp('(?:' + keys(map).join('|') + ')', 'g') | ||
function formatEscaper (dataMap) { | ||
var replaceRegexp = new RegExp('(?:' + objectKeys(dataMap).join('|') + ')', 'g') | ||
return function (str) { | ||
return String(str || '').replace(replaceRegexp, function (match) { | ||
return map[match] | ||
return dataMap[match] | ||
}) | ||
@@ -24,0 +24,0 @@ } |
95801
2331
660