Commit 79f4898
committed
fix(set): clamp month()/date() day to the target month length
The month() setter passed its clamped day to walkTo under the key `d`,
which walkTo never reads, so the clamp was dropped. Changing months off
the 29th-31st then landed on the wrong day, e.g.
spacetime('2020-01-31').month('april') returned the 24th. Both setters
also read the static monthLengths array, so February clamped to the 28th
even in leap years.
Route both setters through getMonthLength() (added in #461) and pass the
day under the correct `date` key.1 parent 33bf957 commit 79f4898
2 files changed
Lines changed: 24 additions & 12 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
6 | 5 | | |
7 | 6 | | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
142 | 142 | | |
143 | 143 | | |
144 | 144 | | |
145 | | - | |
| 145 | + | |
146 | 146 | | |
147 | | - | |
148 | | - | |
149 | | - | |
150 | | - | |
151 | | - | |
152 | | - | |
| 147 | + | |
153 | 148 | | |
154 | 149 | | |
155 | 150 | | |
| |||
183 | 178 | | |
184 | 179 | | |
185 | 180 | | |
186 | | - | |
187 | | - | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
188 | 184 | | |
189 | | - | |
| 185 | + | |
190 | 186 | | |
191 | 187 | | |
192 | 188 | | |
193 | 189 | | |
194 | | - | |
| 190 | + | |
195 | 191 | | |
196 | 192 | | |
197 | 193 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
222 | 222 | | |
223 | 223 | | |
224 | 224 | | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
0 commit comments