@fruits-chain/react-native-xiaoshu
Version:
🌈 React Native UI library
45 lines (43 loc) • 1.69 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _isDate = _interopRequireDefault(require("lodash/isDate"));
var _react = require("react");
var _helper = require("./helper.js");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const useDateMinMax = (mode, min, max) => {
const modes = (0, _react.useMemo)(() => (0, _helper.serializeMode)(mode.split('-')), [mode]);
const [defaultMinDate, defaultMaxDate] = (0, _react.useMemo)(() => {
const day = new Date();
const currentYear = day.getFullYear();
const _defaultMinDate = new Date(day.setFullYear(currentYear - 10));
const _defaultMaxDate = new Date(day.setFullYear(currentYear + 10));
// 根据类型修正数据
if (!modes.includes('s')) {
_defaultMinDate.setSeconds(0);
_defaultMaxDate.setSeconds(59);
}
if (!modes.includes('m')) {
_defaultMinDate.setMinutes(0);
_defaultMaxDate.setMinutes(59);
}
if (!modes.includes('h')) {
_defaultMinDate.setHours(0);
_defaultMaxDate.setHours(23);
}
if (!modes.includes('D')) {
_defaultMinDate.setDate(1);
_defaultMaxDate.setDate((0, _helper.getMonthDays)(_defaultMaxDate.getFullYear(), _defaultMaxDate.getMonth() + 1));
}
if (!modes.includes('M')) {
_defaultMinDate.setMonth(0);
_defaultMaxDate.setMonth(11);
}
return [_defaultMinDate, _defaultMaxDate];
}, [modes]);
return [(0, _isDate.default)(min) ? min : defaultMinDate, (0, _isDate.default)(max) ? max : defaultMaxDate];
};
var _default = exports.default = useDateMinMax;
//# sourceMappingURL=useDateMinMax.js.map
;