From df67f4978eaf21938ab2078e09da720a00dc201e Mon Sep 17 00:00:00 2001 From: Linus Groh Date: Thu, 21 Oct 2021 19:57:11 +0100 Subject: [PATCH] LibJS: Convert Temporal.Now functions to ThrowCompletionOr --- .../Libraries/LibJS/Runtime/Temporal/Now.cpp | 58 +++++++++---------- .../Libraries/LibJS/Runtime/Temporal/Now.h | 18 +++--- 2 files changed, 38 insertions(+), 38 deletions(-) diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/Now.cpp b/Userland/Libraries/LibJS/Runtime/Temporal/Now.cpp index 51b91a0495..971a666200 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/Now.cpp +++ b/Userland/Libraries/LibJS/Runtime/Temporal/Now.cpp @@ -35,43 +35,43 @@ void Now::initialize(GlobalObject& global_object) define_direct_property(*vm.well_known_symbol_to_string_tag(), js_string(vm, "Temporal.Now"), Attribute::Configurable); u8 attr = Attribute::Writable | Attribute::Configurable; - define_old_native_function(vm.names.timeZone, time_zone, 0, attr); - define_old_native_function(vm.names.instant, instant, 0, attr); - define_old_native_function(vm.names.plainDateTime, plain_date_time, 1, attr); - define_old_native_function(vm.names.plainDateTimeISO, plain_date_time_iso, 0, attr); - define_old_native_function(vm.names.zonedDateTime, zoned_date_time, 1, attr); - define_old_native_function(vm.names.zonedDateTimeISO, zoned_date_time_iso, 0, attr); - define_old_native_function(vm.names.plainDate, plain_date, 1, attr); - define_old_native_function(vm.names.plainDateISO, plain_date_iso, 0, attr); - define_old_native_function(vm.names.plainTimeISO, plain_time_iso, 0, attr); + define_native_function(vm.names.timeZone, time_zone, 0, attr); + define_native_function(vm.names.instant, instant, 0, attr); + define_native_function(vm.names.plainDateTime, plain_date_time, 1, attr); + define_native_function(vm.names.plainDateTimeISO, plain_date_time_iso, 0, attr); + define_native_function(vm.names.zonedDateTime, zoned_date_time, 1, attr); + define_native_function(vm.names.zonedDateTimeISO, zoned_date_time_iso, 0, attr); + define_native_function(vm.names.plainDate, plain_date, 1, attr); + define_native_function(vm.names.plainDateISO, plain_date_iso, 0, attr); + define_native_function(vm.names.plainTimeISO, plain_time_iso, 0, attr); } // 2.2.1 Temporal.Now.timeZone ( ), https://tc39.es/proposal-temporal/#sec-temporal.now.timezone -JS_DEFINE_OLD_NATIVE_FUNCTION(Now::time_zone) +JS_DEFINE_NATIVE_FUNCTION(Now::time_zone) { // 1. Return ! SystemTimeZone(). return system_time_zone(global_object); } // 2.2.2 Temporal.Now.instant ( ), https://tc39.es/proposal-temporal/#sec-temporal.now.instant -JS_DEFINE_OLD_NATIVE_FUNCTION(Now::instant) +JS_DEFINE_NATIVE_FUNCTION(Now::instant) { // 1. Return ! SystemInstant(). return system_instant(global_object); } // 2.2.3 Temporal.Now.plainDateTime ( calendar [ , temporalTimeZoneLike ] ), https://tc39.es/proposal-temporal/#sec-temporal.now.plaindatetime -JS_DEFINE_OLD_NATIVE_FUNCTION(Now::plain_date_time) +JS_DEFINE_NATIVE_FUNCTION(Now::plain_date_time) { auto calendar = vm.argument(0); auto temporal_time_zone_like = vm.argument(1); // 1. Return ? SystemDateTime(temporalTimeZoneLike, calendar). - return TRY_OR_DISCARD(system_date_time(global_object, temporal_time_zone_like, calendar)); + return TRY(system_date_time(global_object, temporal_time_zone_like, calendar)); } // 2.2.4 Temporal.Now.plainDateTimeISO ( [ temporalTimeZoneLike ] ), https://tc39.es/proposal-temporal/#sec-temporal.now.plaindatetimeiso -JS_DEFINE_OLD_NATIVE_FUNCTION(Now::plain_date_time_iso) +JS_DEFINE_NATIVE_FUNCTION(Now::plain_date_time_iso) { auto temporal_time_zone_like = vm.argument(0); @@ -79,21 +79,21 @@ JS_DEFINE_OLD_NATIVE_FUNCTION(Now::plain_date_time_iso) auto* calendar = get_iso8601_calendar(global_object); // 2. Return ? SystemDateTime(temporalTimeZoneLike, calendar). - return TRY_OR_DISCARD(system_date_time(global_object, temporal_time_zone_like, calendar)); + return TRY(system_date_time(global_object, temporal_time_zone_like, calendar)); } // 2.2.5 Temporal.Now.zonedDateTime ( calendar [ , temporalTimeZoneLike ] ), https://tc39.es/proposal-temporal/#sec-temporal.now.zoneddatetime -JS_DEFINE_OLD_NATIVE_FUNCTION(Now::zoned_date_time) +JS_DEFINE_NATIVE_FUNCTION(Now::zoned_date_time) { auto calendar = vm.argument(0); auto temporal_time_zone_like = vm.argument(1); // 1. Return ? SystemZonedDateTime(temporalTimeZoneLike, calendar). - return TRY_OR_DISCARD(system_zoned_date_time(global_object, temporal_time_zone_like, calendar)); + return TRY(system_zoned_date_time(global_object, temporal_time_zone_like, calendar)); } // 2.2.6 Temporal.Now.zonedDateTimeISO ( [ temporalTimeZoneLike ] ), https://tc39.es/proposal-temporal/#sec-temporal.now.zoneddatetimeiso -JS_DEFINE_OLD_NATIVE_FUNCTION(Now::zoned_date_time_iso) +JS_DEFINE_NATIVE_FUNCTION(Now::zoned_date_time_iso) { auto temporal_time_zone_like = vm.argument(0); @@ -101,24 +101,24 @@ JS_DEFINE_OLD_NATIVE_FUNCTION(Now::zoned_date_time_iso) auto* calendar = get_iso8601_calendar(global_object); // 2. Return ? SystemZonedDateTime(temporalTimeZoneLike, calendar). - return TRY_OR_DISCARD(system_zoned_date_time(global_object, temporal_time_zone_like, calendar)); + return TRY(system_zoned_date_time(global_object, temporal_time_zone_like, calendar)); } // 2.2.7 Temporal.Now.plainDate ( calendar [ , temporalTimeZoneLike ] ), https://tc39.es/proposal-temporal/#sec-temporal.now.plaindate -JS_DEFINE_OLD_NATIVE_FUNCTION(Now::plain_date) +JS_DEFINE_NATIVE_FUNCTION(Now::plain_date) { auto calendar = vm.argument(0); auto temporal_time_zone_like = vm.argument(1); // 1. Let dateTime be ? SystemDateTime(temporalTimeZoneLike, calendar). - auto* date_time = TRY_OR_DISCARD(system_date_time(global_object, temporal_time_zone_like, calendar)); + auto* date_time = TRY(system_date_time(global_object, temporal_time_zone_like, calendar)); // 2. Return ! CreateTemporalDate(dateTime.[[ISOYear]], dateTime.[[ISOMonth]], dateTime.[[ISODay]], dateTime.[[Calendar]]). - return TRY_OR_DISCARD(create_temporal_date(global_object, date_time->iso_year(), date_time->iso_month(), date_time->iso_day(), date_time->calendar())); + return TRY(create_temporal_date(global_object, date_time->iso_year(), date_time->iso_month(), date_time->iso_day(), date_time->calendar())); } // 2.2.8 Temporal.Now.plainDateISO ( [ temporalTimeZoneLike ] ), https://tc39.es/proposal-temporal/#sec-temporal.now.plaindateiso -JS_DEFINE_OLD_NATIVE_FUNCTION(Now::plain_date_iso) +JS_DEFINE_NATIVE_FUNCTION(Now::plain_date_iso) { auto temporal_time_zone_like = vm.argument(0); @@ -126,14 +126,14 @@ JS_DEFINE_OLD_NATIVE_FUNCTION(Now::plain_date_iso) auto* calendar = get_iso8601_calendar(global_object); // 2. Let dateTime be ? SystemDateTime(temporalTimeZoneLike, calendar). - auto* date_time = TRY_OR_DISCARD(system_date_time(global_object, temporal_time_zone_like, calendar)); + auto* date_time = TRY(system_date_time(global_object, temporal_time_zone_like, calendar)); // 3. Return ! CreateTemporalDate(dateTime.[[ISOYear]], dateTime.[[ISOMonth]], dateTime.[[ISODay]], dateTime.[[Calendar]]). - return TRY_OR_DISCARD(create_temporal_date(global_object, date_time->iso_year(), date_time->iso_month(), date_time->iso_day(), date_time->calendar())); + return TRY(create_temporal_date(global_object, date_time->iso_year(), date_time->iso_month(), date_time->iso_day(), date_time->calendar())); } // 2.2.9 Temporal.Now.plainTimeISO ( [ temporalTimeZoneLike ] ), https://tc39.es/proposal-temporal/#sec-temporal.now.plaintimeiso -JS_DEFINE_OLD_NATIVE_FUNCTION(Now::plain_time_iso) +JS_DEFINE_NATIVE_FUNCTION(Now::plain_time_iso) { auto temporal_time_zone_like = vm.argument(0); @@ -141,10 +141,10 @@ JS_DEFINE_OLD_NATIVE_FUNCTION(Now::plain_time_iso) auto* calendar = get_iso8601_calendar(global_object); // 2. Let dateTime be ? SystemDateTime(temporalTimeZoneLike, calendar). - auto* date_time = TRY_OR_DISCARD(system_date_time(global_object, temporal_time_zone_like, calendar)); + auto* date_time = TRY(system_date_time(global_object, temporal_time_zone_like, calendar)); // 3. Return ! CreateTemporalTime(dateTime.[[ISOHour]], dateTime.[[ISOMinute]], dateTime.[[ISOSecond]], dateTime.[[ISOMillisecond]], dateTime.[[ISOMicrosecond]], dateTime.[[ISONanosecond]]). - return TRY_OR_DISCARD(create_temporal_time(global_object, date_time->iso_hour(), date_time->iso_minute(), date_time->iso_second(), date_time->iso_millisecond(), date_time->iso_microsecond(), date_time->iso_nanosecond())); + return MUST(create_temporal_time(global_object, date_time->iso_hour(), date_time->iso_minute(), date_time->iso_second(), date_time->iso_millisecond(), date_time->iso_microsecond(), date_time->iso_nanosecond())); } // 2.3.1 SystemTimeZone ( ), https://tc39.es/proposal-temporal/#sec-temporal-systemtimezone @@ -154,7 +154,7 @@ TimeZone* system_time_zone(GlobalObject& global_object) auto identifier = default_time_zone(); // 2. Return ! CreateTemporalTimeZone(identifier). - return TRY_OR_DISCARD(create_temporal_time_zone(global_object, identifier)); + return MUST(create_temporal_time_zone(global_object, identifier)); } // 2.3.2 SystemUTCEpochNanoseconds ( ), https://tc39.es/proposal-temporal/#sec-temporal-systemutcepochnanoseconds diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/Now.h b/Userland/Libraries/LibJS/Runtime/Temporal/Now.h index da8152a216..c17563432e 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/Now.h +++ b/Userland/Libraries/LibJS/Runtime/Temporal/Now.h @@ -20,15 +20,15 @@ public: virtual ~Now() override = default; private: - JS_DECLARE_OLD_NATIVE_FUNCTION(time_zone); - JS_DECLARE_OLD_NATIVE_FUNCTION(instant); - JS_DECLARE_OLD_NATIVE_FUNCTION(plain_date_time); - JS_DECLARE_OLD_NATIVE_FUNCTION(plain_date_time_iso); - JS_DECLARE_OLD_NATIVE_FUNCTION(zoned_date_time); - JS_DECLARE_OLD_NATIVE_FUNCTION(zoned_date_time_iso); - JS_DECLARE_OLD_NATIVE_FUNCTION(plain_date); - JS_DECLARE_OLD_NATIVE_FUNCTION(plain_date_iso); - JS_DECLARE_OLD_NATIVE_FUNCTION(plain_time_iso); + JS_DECLARE_NATIVE_FUNCTION(time_zone); + JS_DECLARE_NATIVE_FUNCTION(instant); + JS_DECLARE_NATIVE_FUNCTION(plain_date_time); + JS_DECLARE_NATIVE_FUNCTION(plain_date_time_iso); + JS_DECLARE_NATIVE_FUNCTION(zoned_date_time); + JS_DECLARE_NATIVE_FUNCTION(zoned_date_time_iso); + JS_DECLARE_NATIVE_FUNCTION(plain_date); + JS_DECLARE_NATIVE_FUNCTION(plain_date_iso); + JS_DECLARE_NATIVE_FUNCTION(plain_time_iso); }; TimeZone* system_time_zone(GlobalObject&);