diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/TimeZone.cpp b/Userland/Libraries/LibJS/Runtime/Temporal/TimeZone.cpp index caf126c148..224ef04e4c 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/TimeZone.cpp +++ b/Userland/Libraries/LibJS/Runtime/Temporal/TimeZone.cpp @@ -454,21 +454,24 @@ ThrowCompletionOr to_temporal_time_zone(GlobalObject& global_object, Va // 4. If parseResult.[[Name]] is not undefined, then if (parse_result.name.has_value()) { - // a. If ParseText(StringToCodePoints(parseResult.[[Name]], TimeZoneNumericUTCOffset)) is not a List of errors, then - if (is_valid_time_zone_numeric_utc_offset_syntax(*parse_result.name)) { - // i. If parseResult.[[OffsetString]] is not undefined, and ! ParseTimeZoneOffsetString(parseResult.[[OffsetString]]) ≠ ! ParseTimeZoneOffsetString(parseResult.[[Name]]), throw a RangeError exception. - if (parse_result.offset_string.has_value() && (MUST(parse_time_zone_offset_string(global_object, *parse_result.offset_string)) != MUST(parse_time_zone_offset_string(global_object, *parse_result.name)))) - return vm.throw_completion(global_object, ErrorType::TemporalTimeZoneOffsetStringMismatch, *parse_result.offset_string, *parse_result.name); + // a. Let name be parseResult.[[Name]]. + auto& name = *parse_result.name; + + // b. If ParseText(StringToCodePoints(name, TimeZoneNumericUTCOffset)) is not a List of errors, then + if (is_valid_time_zone_numeric_utc_offset_syntax(name)) { + // i. If parseResult.[[OffsetString]] is not undefined, and ! ParseTimeZoneOffsetString(parseResult.[[OffsetString]]) ≠ ! ParseTimeZoneOffsetString(name), throw a RangeError exception. + if (parse_result.offset_string.has_value() && (MUST(parse_time_zone_offset_string(global_object, *parse_result.offset_string)) != MUST(parse_time_zone_offset_string(global_object, name)))) + return vm.throw_completion(global_object, ErrorType::TemporalTimeZoneOffsetStringMismatch, *parse_result.offset_string, name); } - // b. Else, + // c. Else, else { - // i. If IsValidTimeZoneName(parseResult.[[Name]]) is false, throw a RangeError exception. - if (!is_valid_time_zone_name(*parse_result.name)) - return vm.throw_completion(global_object, ErrorType::TemporalInvalidTimeZoneName, *parse_result.name); + // i. If IsValidTimeZoneName(name) is false, throw a RangeError exception. + if (!is_valid_time_zone_name(name)) + return vm.throw_completion(global_object, ErrorType::TemporalInvalidTimeZoneName, name); } - // c. Return ! CreateTemporalTimeZone(! CanonicalizeTimeZoneName(parseResult.[[Name]])). - return MUST(create_temporal_time_zone(global_object, canonicalize_time_zone_name(*parse_result.name))); + // c. Return ! CreateTemporalTimeZone(! CanonicalizeTimeZoneName(name)). + return MUST(create_temporal_time_zone(global_object, canonicalize_time_zone_name(name))); } // 5. If parseResult.[[Z]] is true, return ! CreateTemporalTimeZone("UTC").