diff options
| author | Terry Truong <terry06890@gmail.com> | 2022-10-15 12:56:01 +1100 |
|---|---|---|
| committer | Terry Truong <terry06890@gmail.com> | 2022-10-15 12:58:55 +1100 |
| commit | f06321dea2738e339f83c8cc08e9fa829e0da0d4 (patch) | |
| tree | 9c6539589a5982203cd5e5dd986e8b7dbddcba0e /src/lib.ts | |
| parent | 37c4267ff74ce75d3de5c00a2e9febfc21c00a33 (diff) | |
Fix more bugs due to not excluding 0 CE
Diffstat (limited to 'src/lib.ts')
| -rw-r--r-- | src/lib.ts | 12 |
1 files changed, 8 insertions, 4 deletions
@@ -216,12 +216,16 @@ export function stepDate(date: HistDate, scale: number, {forward=true, count=1, let newYear; if (forward){ newYear = newDate.year + scale; - if (newDate.year < 0 && newYear >= 0){ // If different sign, account for there being no 0 CE - newYear += 1; + if (newYear == 0){ // Account for there being no 0 CE + newYear = 1; + } else if (newDate.year == 1 && scale > 1){ + newYear -= 1; } } else { newYear = newDate.year - scale; - if (newDate.year > 0 && newYear <= 0){ + if (newYear == 0 && scale > 1){ + newYear = 1; + } else if (newDate.year == 1){ newYear -= 1; } } @@ -236,7 +240,7 @@ export function inDateScale(date: HistDate, scale: number): boolean { } else if (scale == MONTH_SCALE){ return date.day == 1; } else { - return date.year % scale == 0 && date.month == 1 && date.day == 1; + return (date.year == 1 || date.year % scale == 0) && date.month == 1 && date.day == 1; } } export function getScaleRatio(scale: number, scale2: number){ |
