react-input-time
Version:
A simple, yet customizable, React component for time selection.
41 lines (31 loc) • 890 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var isValidMinute = function isValidMinute(minute) {
return Number.isInteger(minute) && minute >= 0 && minute < 60;
};
var isValidHour = function isValidHour(hour) {
return Number.isInteger(hour) && hour >= 0 && hour < 24;
};
var regexp = /^[0-9]{0,2}?:?[0-9]{0,2}$/;
var isValid = function isValid(value) {
if (!regexp.test(value)) {
return false;
}
var parts = value.split(':');
var hourString = parts[0] || '';
var minuteString = parts[1] || '';
var hours = parseInt(hourString) || 0;
var minutes = parseInt(minuteString) || 0;
if (!isValidHour(hours) || !isValidMinute(minutes)) {
return false;
}
if (minutes < 10 && Number(minuteString[0]) > 5) {
return false;
}
return true;
};
var _default = isValid;
exports.default = _default;