LocalDate constructor
Creates a valid Gregorian date or throws RangeError.
Implementation
factory LocalDate(int year, int month, int day) {
if (year < -4713 ||
year > 5874897 ||
month < 1 ||
month > 12 ||
day < 1 ||
day > _monthDays(year, month)) {
throw RangeError('Invalid Gregorian date.');
}
final ordinal = _gregorianJulianDay(year, month, day);
if (ordinal < minJulianDay || ordinal > maxJulianDay) {
throw RangeError('Date exceeds the finite PostgreSQL DATE range.');
}
return LocalDate._(year, month, day, ordinal);
}