mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 01:37:36 +00:00
LibJS: Fix TemporalCalendarString ambiguity
This is a normative change in the Temporal spec. See: -278d238
-b73aea7
This commit is contained in:
parent
484c66125d
commit
b6f101f1c0
6 changed files with 63 additions and 50 deletions
|
@ -406,17 +406,14 @@ ThrowCompletionOr<Object*> to_temporal_calendar(VM& vm, Value temporal_calendar_
|
|||
// 2. Let identifier be ? ToString(temporalCalendarLike).
|
||||
auto identifier = TRY(temporal_calendar_like.to_string(vm));
|
||||
|
||||
// 3. If IsBuiltinCalendar(identifier) is false, then
|
||||
if (!is_builtin_calendar(identifier)) {
|
||||
// a. Set identifier to ? ParseTemporalCalendarString(identifier).
|
||||
identifier = TRY(parse_temporal_calendar_string(vm, identifier));
|
||||
// 3. Set identifier to ? ParseTemporalCalendarString(identifier).
|
||||
identifier = TRY(parse_temporal_calendar_string(vm, identifier));
|
||||
|
||||
// b. If IsBuiltinCalendar(identifier) is false, throw a RangeError exception.
|
||||
if (!is_builtin_calendar(identifier))
|
||||
return vm.throw_completion<RangeError>(ErrorType::TemporalInvalidCalendarIdentifier, identifier);
|
||||
}
|
||||
// 4. If IsBuiltinCalendar(identifier) is false, throw a RangeError exception.
|
||||
if (!is_builtin_calendar(identifier))
|
||||
return vm.throw_completion<RangeError>(ErrorType::TemporalInvalidCalendarIdentifier, identifier);
|
||||
|
||||
// 4. Return ! CreateTemporalCalendar(identifier).
|
||||
// 5. Return ! CreateTemporalCalendar(identifier).
|
||||
return MUST(create_temporal_calendar(vm, identifier));
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue