Fewer CalendarDay/CalendarDateFromFields calls during PlainYearMonth add/subtract #2798
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
While investigating for #2794 (ultimately unsuccessful), I uncovered a way to have less user-code calls from PlainYearMonth add/subtract.
I don't see it in the calendar invariants list, but this axiom probably goes without saying: the day before the first day of one month is the last day of the previous month.
If add/subtract moves backward in time, the algorithm requires us to determine the last day of the current month before proceeding with PlainDate-style add/subtract.
Right now, the last day is being determined, but seems unnecessary to thread it back through
CalendarDateFromFields
, no?Adjusted tests:
tc39/test262@main...fullcalendar:test262:temporal-fewer-calls-pym-math