@antmjs/vantui
Version:
一套适用于Taro3及React的vantui组件库
100 lines (99 loc) • 3.03 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.defaultFormatter = exports.currentYear = void 0;
exports.diff = diff;
exports.getCurrentValueArr = getCurrentValueArr;
exports.getMonthEndDay = getMonthEndDay;
exports.getTrueValue = getTrueValue;
exports.isValidDate = isValidDate;
exports.padZero = padZero;
exports.range = range;
exports.times = times;
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
var _validator = require("../common/validator");
var currentYear = new Date().getFullYear();
exports.currentYear = currentYear;
function isValidDate(date) {
return (0, _validator.isDef)(date) && !isNaN(new Date(date).getTime());
}
function range(num, min, max) {
return Math.min(Math.max(num, min), max);
}
function padZero(val) {
return "00".concat(val).slice(-2);
}
function times(n, iteratee) {
var index = -1;
var result = Array(n < 0 ? 0 : n);
while (++index < n) {
result[index] = iteratee(index);
}
return result;
}
function getTrueValue(formattedValue) {
if (formattedValue === undefined) {
formattedValue = '1';
}
while (isNaN(parseInt(formattedValue, 10))) {
formattedValue = formattedValue.slice(1);
}
return parseInt(formattedValue, 10);
}
function getMonthEndDay(year, month) {
return 32 - new Date(year, month - 1, 32).getDate();
}
var defaultFormatter = function defaultFormatter(_type, value) {
return value;
};
exports.defaultFormatter = defaultFormatter;
function diff(obj1, obj2) {
var keys1 = Object.keys(obj1);
var keys2 = Object.keys(obj2);
if (keys1.length !== keys2.length) {
return false;
} else {
for (var key in obj1) {
if (!obj2.hasOwnProperty(key)) {
return false;
}
//类型相同
if ((0, _typeof2.default)(obj1[key]) === (0, _typeof2.default)(obj2[key])) {
//同为引用类型
if ((0, _typeof2.default)(obj1[key]) === 'object' && (0, _typeof2.default)(obj2[key]) === 'object') {
var equal = diff(obj1[key], obj2[key]);
if (!equal) {
return false;
}
}
//同为基础数据类型
if ((0, _typeof2.default)(obj1[key]) !== 'object' && (0, _typeof2.default)(obj2[key]) !== 'object' && obj1[key] !== obj2[key]) {
return false;
}
} else {
return false;
}
}
}
return true;
}
function getCurrentValueArr(date) {
if (typeof date === 'number') {
var d = new Date(date);
var res = [d.getFullYear(), d.getMonth() + 1, d.getDate(), d.getHours(), d.getMinutes()].map(function (it) {
var res = "".concat(it);
if (res.length > 2) return res;
if (res.length === 1) {
return "0".concat(res);
} else {
return res;
}
});
return res;
} else if (typeof date === 'string') {
date = date.replace(/\:|\年|\月|\日|\s/g, '-');
return date.split('-');
} else return [];
}
;