Commit graph

180 commits

Author SHA1 Message Date
Luke Wilde
d1a5254e41 LibJS: Implement Temporal.PlainDateTime.prototype.round 2021-11-03 19:48:08 +01:00
Linus Groh
d49bbb1da3 LibJS: Implement TODO()'d parts of balance_duration()
Massive :yakstack:, so I understand why it was skipped in the first
place :^)
2021-11-02 09:24:35 +01:00
Linus Groh
97f6c6029f LibJS: Implement Temporal.TimeZone.prototype.getInstantFor() 2021-11-01 21:39:45 +01:00
Linus Groh
2cbcb99ec7 LibJS: Update spec comment in parse_temporal_time_zone_string()
This is a normative change in the Temporal spec.

See: https://github.com/tc39/proposal-temporal/commit/19b693c
2021-10-30 23:15:18 +02:00
Linus Groh
5da8ae0020 LibJS: Update parse_temporal_time_zone_string() substring bounds
This is a normative change in the Temporal spec.

See: https://github.com/tc39/proposal-temporal/commit/73b9fe3
2021-10-30 23:14:43 +02:00
Linus Groh
09d1db5afd LibJS: Clarify mathematical types in Temporal AOs and functions
This is an editorial change in the Temporal spec.

See: https://github.com/tc39/proposal-temporal/commit/e480d40
2021-10-26 23:10:11 +02:00
Andreas Kling
398c181c79 LibJS: Rename PropertyName to PropertyKey
Let's use the same name as the spec. :^)
2021-10-24 17:18:07 +02:00
Linus Groh
0881f8160f LibJS: Use implicit ThrowCompletionOr<T> constructor where possible
Luckily this is not very widespread yet as most of it would happen in
the various JS functions instead of AOs.
2021-10-21 09:02:23 +01:00
Timothy Flynn
ec54a7b5b0 LibJS: Implement IteratorClose with Completions and align to the spec 2021-10-21 00:26:45 +01:00
Timothy Flynn
7b4814f74c LibJS: Convert IteratorValue AO to ThrowCompletionOr 2021-10-21 00:26:45 +01:00
Timothy Flynn
8be1caa05d LibJS: Convert IteratorStep AO to ThrowCompletionOr 2021-10-21 00:26:45 +01:00
Timothy Flynn
860a37640b LibJS: Convert GetIterator AO to ThrowCompletionOr 2021-10-21 00:26:45 +01:00
Linus Groh
ca09f20dcf LibJS: Add ErrorType for IterableToListOfType value type mismatch 2021-10-20 18:46:24 +01:00
Linus Groh
be28a6142b LibJS: Convert to_integer_or_infinity() to ThrowCompletionOr 2021-10-18 21:24:30 +01:00
Idan Horowitz
20d990563c LibJS: Convert to_number() to ThrowCompletionOr 2021-10-18 08:01:38 +03:00
Linus Groh
96ab116f0d LibJS: Convert to_primitive_string() to ThrowCompletionOr 2021-10-13 09:55:10 +01:00
Linus Groh
8b07453bce LibJS: Add non-BigInt overload of round_number_to_increment()
Unlike the spec we chose BigInt for the input and output types here as
it was being used with ℝ(ns), ns being of type BigInt, in one place and
a conversion to double would not be safe.
Since in many places we'll have double input values, let's add a double
overload of this function to avoid awkward conversions and expensive
allocations.
2021-10-07 13:00:24 +01:00
Linus Groh
364dd42fc8 LibJS: Convert create_data_property_or_throw() to ThrowCompletionOr 2021-10-03 20:14:03 +01:00
Linus Groh
b7e5f08e56 LibJS: Convert Object::get() to ThrowCompletionOr
To no one's surprise, this patch is pretty big - this is possibly the
most used AO of all of them. Definitely worth it though.
2021-10-03 20:14:03 +01:00
Linus Groh
4d5bd092ea LibJS: Use MUST() where applicable 2021-10-03 20:14:03 +01:00
Nico Weber
de72332920 Libraries: Fix typos 2021-10-01 01:06:40 +01:00
Idan Horowitz
5ce468338e LibJS: Drop the Temporal prefix from TemporalMissingRequiredProperty
This allows us to use it for other exposed JS APIs that accept options
objects.
2021-09-29 10:09:33 +03:00
Linus Groh
6b4777c558 LibJS: Convert prepare_temporal_fields() to ThrowCompletionOr 2021-09-16 22:34:24 +01:00
Linus Groh
9ac426c906 LibJS: Convert to_positive_integer() to ThrowCompletionOr 2021-09-16 22:34:24 +01:00
Linus Groh
2f56fd48ca LibJS: Convert parse_temporal_year_month_string() to ThrowCompletionOr 2021-09-16 22:34:24 +01:00
Linus Groh
14f16d9ed4 LibJS: Convert parse_temporal_time_zone_string() to ThrowCompletionOr 2021-09-16 22:34:24 +01:00
Linus Groh
0ccd11ba5f LibJS: Convert parse_temporal_time_string() to ThrowCompletionOr 2021-09-16 22:34:24 +01:00
Linus Groh
f86fa12deb LibJS: Convert parse_temporal_duration_string() to ThrowCompletionOr 2021-09-16 22:34:24 +01:00
Linus Groh
3c530dec5a LibJS: Convert parse_temporal_date_time_string() to ThrowCompletionOr 2021-09-16 22:34:24 +01:00
Linus Groh
4cb6eaf588 LibJS: Convert parse_temporal_date_string() to ThrowCompletionOr 2021-09-16 22:34:24 +01:00
Linus Groh
2e28f0b371 LibJS: Convert parse_temporal_calendar_string() to ThrowCompletionOr 2021-09-16 22:34:24 +01:00
Linus Groh
4f487266b4 LibJS: Convert parse_temporal_instant_string() to ThrowCompletionOr 2021-09-16 22:34:24 +01:00
Linus Groh
3112de6f35 LibJS: Convert parse_iso_date_time() to ThrowCompletionOr 2021-09-16 22:34:24 +01:00
Linus Groh
8792fdfdf6 LibJS: Convert reject_temporal_calendar_type() to ThrowCompletionOr 2021-09-16 22:34:24 +01:00
Linus Groh
8dd45a1ba2 LibJS: Convert validate_temporal_unit_range() to ThrowCompletionOr 2021-09-16 22:34:24 +01:00
Linus Groh
448a364210 LibJS: Convert to_smallest_temporal_unit() to ThrowCompletionOr 2021-09-16 22:34:24 +01:00
Linus Groh
92187591dd LibJS: Convert to_largest_temporal_unit() to ThrowCompletionOr 2021-09-16 22:34:24 +01:00
Linus Groh
dd483d84f8 LibJS: Convert to_seconds_string_precision() to ThrowCompletionOr 2021-09-16 22:34:24 +01:00
Linus Groh
f8f074f8a9 LibJS: Convert to_temporal_rounding_increment() to ThrowCompletionOr 2021-09-16 22:34:24 +01:00
Linus Groh
65d26dd25e LibJS: Convert to_show_calendar_option() to ThrowCompletionOr 2021-09-16 22:34:24 +01:00
Linus Groh
509d13cf67 LibJS: Convert to_temporal_rounding_mode() to ThrowCompletionOr 2021-09-16 22:34:24 +01:00
Linus Groh
9f03647f1f LibJS: Convert to_temporal_overflow() to ThrowCompletionOr 2021-09-16 22:34:24 +01:00
Linus Groh
b1e7e62657 LibJS: Convert get_string_or_number_option() to ThrowCompletionOr 2021-09-16 22:34:24 +01:00
Linus Groh
8d6ac267dc LibJS: Convert Temporal::get_option() to ThrowCompletionOr 2021-09-16 22:34:24 +01:00
Linus Groh
08dd1c3e2d LibJS: Convert get_options_object() to ThrowCompletionOr 2021-09-16 22:34:24 +01:00
Linus Groh
f2b5ddd167 LibJS: Convert iterable_to_list_of_type() to ThrowCompletionOr 2021-09-16 22:34:24 +01:00
Linus Groh
683e31e1ff LibJS: Convert to_integer_throw_on_infinity() to ThrowCompletionOr 2021-09-16 22:34:24 +01:00
Linus Groh
88a31f3bac LibJS: Fix [[TimeZoneOffsetString]] value in ParseTemporalInstantString
This is a normative change in the Temporal spec.

See: https://github.com/tc39/proposal-temporal/commit/78c3b8b
2021-09-15 00:23:11 +01:00
Linus Groh
4be2aeca00 LibJS: Make prepare_temporal_fields() fields Object a const&
This only calls Object::get() on the fields Object, which is
const-qualified.
2021-09-09 23:46:45 +01:00
Linus Groh
1d24699ca8 LibJS: Make Temporal to_foo() AO normalized_options Object a const&
These only pass the normalized_options Object directly or indirectly to
get_option(), which now takes a const reference.
2021-09-09 23:46:45 +01:00