1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 14:38:11 +00:00

LibJS: Port to_temporal_disambiguation() to String

This commit is contained in:
Linus Groh 2023-01-26 12:09:01 +00:00
parent b8759e86ee
commit ec9f2013c9
2 changed files with 4 additions and 4 deletions

View file

@ -170,17 +170,17 @@ ThrowCompletionOr<String> to_temporal_overflow(VM& vm, Object const* options)
}
// 13.5 ToTemporalDisambiguation ( options ), https://tc39.es/proposal-temporal/#sec-temporal-totemporaldisambiguation
ThrowCompletionOr<DeprecatedString> to_temporal_disambiguation(VM& vm, Object const* options)
ThrowCompletionOr<String> to_temporal_disambiguation(VM& vm, Object const* options)
{
// 1. If options is undefined, return "compatible".
if (options == nullptr)
return "compatible"sv;
return TRY_OR_THROW_OOM(vm, String::from_utf8("compatible"sv));
// 2. Return ? GetOption(options, "disambiguation", "string", « "compatible", "earlier", "later", "reject" », "compatible").
auto option = TRY(get_option(vm, *options, vm.names.disambiguation, OptionType::String, { "compatible"sv, "earlier"sv, "later"sv, "reject"sv }, "compatible"sv));
VERIFY(option.is_string());
return TRY(option.as_string().deprecated_string());
return option.as_string().utf8_string();
}
// 13.6 ToTemporalRoundingMode ( normalizedOptions, fallback ), https://tc39.es/proposal-temporal/#sec-temporal-totemporalroundingmode

View file

@ -136,7 +136,7 @@ ThrowCompletionOr<MarkedVector<Value>> iterable_to_list_of_type(VM&, Value items
ThrowCompletionOr<Object*> get_options_object(VM&, Value options);
ThrowCompletionOr<Value> get_option(VM&, Object const& options, PropertyKey const& property, OptionType type, Span<StringView const> values, OptionDefault const&);
ThrowCompletionOr<String> to_temporal_overflow(VM&, Object const* options);
ThrowCompletionOr<DeprecatedString> to_temporal_disambiguation(VM&, Object const* options);
ThrowCompletionOr<String> to_temporal_disambiguation(VM&, Object const* options);
ThrowCompletionOr<DeprecatedString> to_temporal_rounding_mode(VM&, Object const& normalized_options, DeprecatedString const& fallback);
StringView negate_temporal_rounding_mode(DeprecatedString const& rounding_mode);
ThrowCompletionOr<DeprecatedString> to_temporal_offset(VM&, Object const* options, DeprecatedString const& fallback);