@js-random/date
Version:
A simple and lightweight date randomizer for JavaScript (TypeScript friendly)
34 lines (29 loc) • 898 B
JavaScript
var randomDate = (function () {
'use strict';
const defaultMin = 0, defaultMax = 100;
/**
* Generates random number in a specified range
*
* @param {number} min
* @param {number} max
*/
function randomNumber(min, max) {
min = isNaN(Number(min)) ? defaultMin : Number(min);
max = isNaN(Number(max)) ? defaultMax : Number(max);
return Math.floor(Math.random() * (max - min) + min);
}
var defaultRange = {
from: new Date(0),
to: new Date((2 << 29) * randomNumber(1, 8046627))
};
/**
* Generates random dates based on a range
*
* @param { IDateRange } range
*/
function randomDate(range) {
range = typeof range === 'object' ? range : defaultRange;
return new Date(randomNumber(+range.from, +range.to));
}
return randomDate;
}());