mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 13:12:46 +00:00 
			
		
		
		
	LibJS: Add a named alias for parseResult.[[Name]] in ToTemporalTimeZone
This is an editorial change in the Temporal spec.
See: 8ddcb07
			
			
This commit is contained in:
		
							parent
							
								
									71a519831d
								
							
						
					
					
						commit
						cf61d01140
					
				
					 1 changed files with 14 additions and 11 deletions
				
			
		|  | @ -454,21 +454,24 @@ ThrowCompletionOr<Object*> 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<RangeError>(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<RangeError>(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<RangeError>(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<RangeError>(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").
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Linus Groh
						Linus Groh