LibJS: Move calendar validation out of parse_temporal_calendar_string

This is an editorial change in the Temporal spec.

See: https://github.com/tc39/proposal-temporal/commit/7207a1c
This commit is contained in:
Luke Wilde 2021-12-08 18:59:13 +00:00 committed by Linus Groh
parent 80dcddacea
commit 4f3c283f24
Notes: sideshowbarker 2024-07-17 23:03:48 +09:00
2 changed files with 6 additions and 8 deletions

View file

@ -1262,13 +1262,7 @@ ThrowCompletionOr<String> parse_temporal_calendar_string(GlobalObject& global_ob
return "iso8601"sv;
}
// 5. If ! IsBuiltinCalendar(id) is false, then
if (!is_builtin_calendar(*id_part)) {
// a. Throw a RangeError exception.
return vm.throw_completion<RangeError>(global_object, ErrorType::TemporalInvalidCalendarIdentifier, *id_part);
}
// 6. Return id.
// 5. Return id.
return id_part.value();
}

View file

@ -407,8 +407,12 @@ ThrowCompletionOr<Object*> to_temporal_calendar(GlobalObject& global_object, Val
// 3. If ! IsBuiltinCalendar(identifier) is false, then
if (!is_builtin_calendar(identifier)) {
// a. Let identifier be ? ParseTemporalCalendarString(identifier).
// a. Set identifier to ? ParseTemporalCalendarString(identifier).
identifier = TRY(parse_temporal_calendar_string(global_object, identifier));
// b. If ! IsBuiltinCalendar(identifier) is false, throw a RangeError exception.
if (!is_builtin_calendar(identifier))
return vm.throw_completion<RangeError>(global_object, ErrorType::TemporalInvalidCalendarIdentifier, identifier);
}
// 4. Return ! CreateTemporalCalendar(identifier).