UNPKG

@antmjs/vantui

Version:

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

84 lines 2.47 kB
import _typeof from "@babel/runtime/helpers/typeof"; import { isDef } from '../common/validator'; var currentYear = new Date().getFullYear(); function isValidDate(date) { return 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; }; 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 (_typeof(obj1[key]) === _typeof(obj2[key])) { //同为引用类型 if (_typeof(obj1[key]) === 'object' && _typeof(obj2[key]) === 'object') { var equal = diff(obj1[key], obj2[key]); if (!equal) { return false; } } //同为基础数据类型 if (_typeof(obj1[key]) !== 'object' && _typeof(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 []; } export { defaultFormatter, getMonthEndDay, getTrueValue, times, padZero, range, isValidDate, currentYear, diff, getCurrentValueArr };