Timothy Flynn
a73b8292ed
LbJS: Convert exception-related usages of Value::TDSWOSE to String
...
TDSWOSE being to_deprecated_string_without_side_effects.
2023-02-16 14:32:22 +01:00
Timothy Flynn
b245300ba1
LibJS+Everywhere: Deprecate Value::to_string_without_side_effects
2023-02-16 14:32:22 +01:00
Luke Wilde
588dae8aa6
LibJS/Temporal: Allow annotations after YYYY-MM and MM-DD
...
This is a normative change in the Temporal spec.
See: https://github.com/tc39/proposal-temporal/commit/160e836
2023-02-11 18:42:32 +00:00
Luke Wilde
f09d2ae395
LibJS: Add missing assignment to offset_string in ZDT conversion
2023-02-11 00:57:59 +00:00
Timothy Flynn
c3abb1396c
LibJS+LibWeb: Convert string view PrimitiveString instances to String
...
First, this adds an overload of PrimitiveString::create for StringView.
This overload will throw an OOM completion if creating a String fails.
This is not only a bit more convenient, but it also ensures at compile
time that all PrimitiveString::create(string_view) invocations will be
handled as String and OOM-aware.
Next, this wraps all invocations to PrimitiveString::create(string_view)
with MUST_OR_THROW_OOM.
A small PrimitiveString::create(DeprecatedFlyString) overload also had
to be added to disambiguate between the StringView and DeprecatedString
overloads.
2023-02-09 17:13:33 +00:00
MacDue
63b11030f0
Everywhere: Use ReadonlySpan<T> instead of Span<T const>
2023-02-08 19:15:45 +00:00
Timothy Flynn
b75b7f0c0d
LibJS+Everywhere: Propagate Cell::initialize errors from Heap::allocate
...
Callers that are already in a fallible context will now TRY to allocate
cells. Callers in infallible contexts get a FIXME.
2023-01-29 00:02:45 +00:00
Timothy Flynn
2692db8699
LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors
...
Note that as of this commit, there aren't any such throwers, and the
call site in Heap::allocate will drop exceptions on the floor. This
commit only serves to change the declaration of the overrides, make sure
they return an empty value, and to propagate OOM errors frm their base
initialize invocations.
2023-01-29 00:02:45 +00:00
Timothy Flynn
1c1b902a6a
LibJS+LibWeb: Move headers around to allow including Value from Cell
...
The goal here is to allow Cell::initialize to return a ThrowCompletion,
to handle OOM for example. Cell.h will then need to include Completion.h
which must include Value.h. This currently can't happen because Value.h
includes BigInt.h, which in turn includes Cell.h. So we would have an
include cycle.
This removes BigInt.h from Value.h, as it is forward-declarable (it is
only referred to with a reference or pointer). Then the Value overload
for Cell::Visitor::visit is moved to Cell.h, and missing BigInt.h
includes as peppered as needed.
2023-01-29 00:02:45 +00:00
Linus Groh
e4158d8555
LibJS: Replace some deprecated_string() with utf8_string() in Temporal
...
The remaining ones are needed for PropertyKey, which is not yet String
compatible.
2023-01-28 22:58:03 +00:00
Linus Groh
b41e7b7e86
LibJS: Replace to_deprecated_string() with to_string() in Temporal
...
Turns out all of these can already be replaced with no further changes!
2023-01-28 22:54:44 +00:00
Timothy Flynn
9e4dbea0ee
LibJS: Use String::join and String::trim in Temporal AOs
2023-01-28 00:13:46 +00:00
Sam Atkins
df07c5be3a
AK: Remove unused DateTimeLexer class
2023-01-27 20:33:18 +00:00
Linus Groh
959a891df0
LibJS: Port parse_iso_date_time() to String
2023-01-26 20:20:54 +00:00
Linus Groh
6c8c650a55
LibJS: Port temporal_zoned_date_time_to_string() to String
2023-01-26 20:20:54 +00:00
Linus Groh
70e8a9bc8b
LibJS: Remove unused is_valid_time_zone_numeric_utc_offset_syntax()
...
...as well as the underlying function:
parse_time_zone_numeric_utc_offset_syntax()
2023-01-26 20:20:54 +00:00
Linus Groh
bb0362ec3b
LibJS: Port builtin_time_zone_get_offset_string_for() to String
2023-01-26 20:20:54 +00:00
Linus Groh
95becb22ef
LibJS: Port format_iso_time_zone_offset_string() to String
2023-01-26 20:20:54 +00:00
Linus Groh
c2656f4ee7
LibJS: Port format_time_zone_offset_string() to String
2023-01-26 20:20:54 +00:00
Linus Groh
5a2dfc52f8
LibJS: Port create_temporal_time_zone() to String
2023-01-26 20:20:54 +00:00
Linus Groh
ae98eddc9f
LibJS: Port temporal_year_month_to_string() to String
2023-01-26 20:20:54 +00:00
Linus Groh
cfb4b44691
LibJS: Port temporal_time_to_string() to String
2023-01-26 20:20:54 +00:00
Linus Groh
b6e13f451f
LibJS: Port temporal_date_time_to_string() to String
2023-01-26 20:20:54 +00:00
Linus Groh
921ef7273e
LibJS: Port temporal_date_to_string() to String
2023-01-26 20:20:54 +00:00
Linus Groh
453d3063f5
LibJS: Port pad_iso_year() to String
2023-01-26 20:20:54 +00:00
Linus Groh
2aa4fcc318
LibJS: Port temporal_month_day_to_string() to String
2023-01-26 20:20:54 +00:00
Linus Groh
d2c10f6bea
LibJS: Port temporal_instant_to_string() to String
2023-01-26 20:20:54 +00:00
Linus Groh
28ee331a93
LibJS: Make parse_temporal_instant() take a StringView
...
The underlying parse_temporal_instant_string() function already does
this as well.
2023-01-26 20:20:54 +00:00
Linus Groh
f669d2e558
LibJS: Port temporal_duration_to_string() to String
2023-01-26 20:20:54 +00:00
Linus Groh
49b5d55b95
LibJS: Make {un,}balance_duration_relative() take a StringView
...
This is only used for equality checks.
2023-01-26 20:20:54 +00:00
Linus Groh
b09522312c
LibJS: Port iso_month_code() to String
2023-01-26 20:20:54 +00:00
Linus Groh
bcca5efd5a
LibJS: Port format_calendar_annotation() to String
2023-01-26 20:20:54 +00:00
Linus Groh
269f3c4105
LibJS: Port maybe_format_calendar_annotation() to String
2023-01-26 20:20:54 +00:00
Linus Groh
627291b075
LibJS: Port calendar_month_code() to String
2023-01-26 20:20:54 +00:00
Linus Groh
46cff34baf
LibJS: Port get_builtin_calendar() to String
2023-01-26 20:20:54 +00:00
Linus Groh
a101b15ad0
LibJS: Port create_temporal_calendar() to String
2023-01-26 20:20:54 +00:00
Linus Groh
0f5f9acc9c
LibJS: Port canonicalize_time_zone_name() to String
2023-01-26 20:20:54 +00:00
Linus Groh
96855d53c4
LibJS: Use StringView for SecondsStringPrecision::unit
...
This is exclusively used with sv literals, and can be a StringView like
precision above it.
This removes the last use of DeprecatedString in Temporal's
AbstractOperations.h :^)
2023-01-26 20:20:54 +00:00
Linus Groh
4a7d6670d8
LibJS: Port calendar / time zone members of Temporal* structs to String
2023-01-26 20:20:54 +00:00
Linus Groh
ef389c086d
LibJS: Port parse_temporal_calendar_string()
...
Also make is_builtin_calendar() take a StringView as part of this, it
only does equality checks.
2023-01-26 20:20:54 +00:00
Linus Groh
8f7c2f8292
LibJS: Port get_difference_settings() to String
...
Also make balance_duration() take a StringView as part of this, it only
does equality checks.
2023-01-26 20:20:54 +00:00
Linus Groh
227379a1da
LibJS: Port prepare_temporal_fields() and calendar_fields() to String
2023-01-26 20:20:54 +00:00
Linus Groh
90a1de564c
LibJS: Make parse_temporal_*_string() take a StringView
...
The underlying parse_iso8601() function already does this as well.
2023-01-26 20:20:54 +00:00
Linus Groh
82ba940646
LibJS: Port format_seconds_string_part() to String
2023-01-26 20:20:54 +00:00
Linus Groh
654911444e
LibJS: Port merge_largest_unit_option() to String
2023-01-26 20:20:54 +00:00
Linus Groh
918122c1e3
LibJS: Port get_temporal_unit() to String
2023-01-26 20:20:54 +00:00
Linus Groh
f928c7754d
LibJS: Port to_show_offset_option() to String
2023-01-26 20:20:54 +00:00
Linus Groh
ddd5d8531b
LibJS: Port to_time_zone_name_option() to String
2023-01-26 20:20:54 +00:00
Linus Groh
0435156a86
LibJS: Port to_calendar_name_option() to String
2023-01-26 20:20:54 +00:00
Linus Groh
a387b22599
LibJS: Port to_temporal_offset() to String
2023-01-26 20:20:54 +00:00