@storm-stack/date-time
Version:
This package includes a DateTime class, various utility functions for working with dates and times, and a number of formatting options.
57 lines (56 loc) • 1.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.validateDayOfMonth = void 0;
var _messages = require("@storm-stack/types/utility-types/messages");
var _errors = require("../errors.cjs");
const validateDayOfMonth = value => {
switch (value.zonedDateTime.month) {
case 0:
case 2:
case 4:
case 6:
case 7:
case 9:
case 11:
{
if (value.zonedDateTime.day > 31) {
return {
code: _errors.DateTimeErrorCode.invalid_day_of_month,
type: _messages.MessageType.ERROR
};
}
break;
}
case 1:
{
if (value.zonedDateTime.day > (value.zonedDateTime.inLeapYear ? 29 : 28)) {
return {
code: _errors.DateTimeErrorCode.invalid_day_of_month,
type: _messages.MessageType.ERROR
};
}
break;
}
case 3:
case 5:
case 8:
case 10:
{
if (value.zonedDateTime.day > 30) {
return {
code: _errors.DateTimeErrorCode.invalid_day_of_month,
type: _messages.MessageType.ERROR
};
}
break;
}
default:
{
break;
}
}
return null;
};
exports.validateDayOfMonth = validateDayOfMonth;