UNPKG

@antmjs/vantui

Version:

一套适用于Taro3及React的vantui组件库

100 lines (99 loc) 3.03 kB
"use strict"; 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 []; }