@elgervb/mock-data
Version:
Mock data made easy, while maintaining type safety
34 lines • 1.07 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.calculateMaxDayForMonth = exports.randomDay = void 0;
var is_leap_year_1 = require("../assert/is-leap-year");
var date_month_1 = require("./date-month");
var number_1 = require("./number");
/**
* Returns a random day for a month. 1=january, etc.
*/
function randomDay(month, year) {
var currentMonth = month ? month : (0, date_month_1.randomMonth)();
var leapYear = !!year && (0, is_leap_year_1.isLeapYear)(year);
var maxDay = calculateMaxDayForMonth(currentMonth, leapYear);
return (0, number_1.randomNumber)(1, maxDay);
}
exports.randomDay = randomDay;
function calculateMaxDayForMonth(month, isLeapYear) {
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;
case 2:
return isLeapYear ? 29 : 28;
default:
return 30;
}
}
exports.calculateMaxDayForMonth = calculateMaxDayForMonth;
//# sourceMappingURL=date-day.js.map
;