Skip to content

Commit c1c7e07

Browse files
committed
Polyfill: Fix parsing of calendar identifier from time-only string
https://tc39.es/proposal-temporal/#sec-temporal-parsetemporalcalendarstring ParseTemporalCalendarString specifies to try to parse the string as TemporalDateTimeString[+Zoned], TemporalDateTimeString[~Zoned], TemporalInstantString, TemporalTimeString, TemporalMonthDayString, and TemporalYearMonthString consecutively until one succeeds. I always thought TemporalTimeString would be handled by ParseISODateTime in the polyfill, but it seems I was wrong about that. See: #3090
1 parent 8f491b4 commit c1c7e07

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

polyfill/lib/ecmascript.mjs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1742,9 +1742,13 @@ export function ToTemporalCalendarIdentifier(calendarLike) {
17421742
({ calendar } = ParseISODateTime(identifier));
17431743
} catch {
17441744
try {
1745-
({ calendar } = ParseTemporalYearMonthString(identifier));
1745+
({ calendar } = ParseTemporalTimeString(identifier));
17461746
} catch {
1747-
({ calendar } = ParseTemporalMonthDayString(identifier));
1747+
try {
1748+
({ calendar } = ParseTemporalYearMonthString(identifier));
1749+
} catch {
1750+
({ calendar } = ParseTemporalMonthDayString(identifier));
1751+
}
17481752
}
17491753
}
17501754
if (!calendar) calendar = 'iso8601';

0 commit comments

Comments
 (0)