Idan Horowitz
306c25f3c2
LibJS: Convert the NumberToBigInt AO to ThrowCompletionOr
2021-10-23 18:01:51 +02:00
Linus Groh
60ee542612
LibJS: Mark GetEpochFromISOParts as infallible
...
This is an editorial change in the Temporal spec.
See: 66ea81b
2021-10-23 01:05:50 +01:00
Idan Horowitz
e26d9f419b
LibJS: Remove vm.construct and it's usages
2021-10-23 02:49:41 +03:00
Linus Groh
9143d37907
LibJS: Convert Temporal.ZonedDateTime functions to ThrowCompletionOr
2021-10-21 22:31:31 +01:00
Linus Groh
7085458a23
LibJS: Convert Temporal.TimeZone functions to ThrowCompletionOr
2021-10-21 22:31:31 +01:00
Linus Groh
15f52c5f8e
LibJS: Convert Temporal.PlainYearMonth functions to ThrowCompletionOr
2021-10-21 22:31:31 +01:00
Linus Groh
e4e04528af
LibJS: Convert Temporal.PlainTime functions to ThrowCompletionOr
2021-10-21 22:31:31 +01:00
Linus Groh
c8e359c25e
LibJS: Convert Temporal.PlainMonthDay functions to ThrowCompletionOr
2021-10-21 22:31:31 +01:00
Linus Groh
c043b818ad
LibJS: Convert Temporal.PlainDateTime functions to ThrowCompletionOr
2021-10-21 22:31:31 +01:00
Linus Groh
2093128b24
LibJS: Convert Temporal.PlainDate functions to ThrowCompletionOr
2021-10-21 22:31:31 +01:00
Linus Groh
df67f4978e
LibJS: Convert Temporal.Now functions to ThrowCompletionOr
2021-10-21 22:31:09 +01:00
Linus Groh
149231d47d
LibJS: Convert Temporal.Instant functions to ThrowCompletionOr
2021-10-21 22:31:09 +01:00
Linus Groh
5e9e3f9dc8
LibJS: Convert Temporal.Duration functions to ThrowCompletionOr
2021-10-21 22:31:09 +01:00
Linus Groh
2d2ba4eec6
LibJS: Convert Temporal.Calendar functions to ThrowCompletionOr
2021-10-21 22:31:09 +01:00
Linus Groh
5832de62fe
LibJS: Convert NativeFunction::{call,construct}() to ThrowCompletionOr
...
Both at the same time because many of them call construct() in call()
and I'm not keen on adding a bunch of temporary plumbing to turn
exceptions into throw completions.
Also changes the return value of construct() to Object* instead of Value
as it always needs to return an object; allowing an arbitrary Value is a
massive foot gun.
2021-10-21 09:02:23 +01: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
Idan Horowitz
40eb3a39d4
LibJS: Rename define_native_function => define_old_native_function
...
This method will eventually be removed once all native functions are
converted to ThrowCompletionOr
2021-10-20 12:27:19 +01:00
Idan Horowitz
20163c0584
LibJS: Add ThrowCompletionOr versions of the JS native function macros
...
The old versions were renamed to JS_DECLARE_OLD_NATIVE_FUNCTION and
JS_DEFINE_OLD_NATIVE_FUNCTION, and will be eventually removed once all
native functions were converted to the new format.
2021-10-20 12:27:19 +01:00
Linus Groh
4b7c1f703e
LibJS: Convert PrototypeObject::typed_this_object() to ThrowCompletionOr
2021-10-18 21:24:30 +01:00
Linus Groh
be28a6142b
LibJS: Convert to_integer_or_infinity() to ThrowCompletionOr
2021-10-18 21:24:30 +01:00
Linus Groh
ffee3890a7
LibJS: Remove a bunch of forgotten exception checks after TRY_OR_DISCARD
...
Not quite sure how that happened :^)
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
Idan Horowitz
e87cea8248
LibJS: Convert to_bigint() to ThrowCompletionOr
2021-10-17 12:12:35 +01:00
Linus Groh
52976bfac6
LibJS: Convert to_object() to ThrowCompletionOr
2021-10-13 09:55:10 +01:00
Linus Groh
96ab116f0d
LibJS: Convert to_primitive_string() to ThrowCompletionOr
2021-10-13 09:55:10 +01:00
Linus Groh
4d8912a92b
LibJS: Convert to_string() to ThrowCompletionOr
...
Also update get_function_name() to use ThrowCompletionOr, but this is
not a standard AO and should be refactored out of existence eventually.
2021-10-13 09:55:10 +01:00
Linus Groh
f0281ec19d
LibJS: Implement Temporal.PlainMonthDay.prototype.toPlainDate()
2021-10-11 08:31:39 +01:00
Linus Groh
2c222ba40b
LibJS: Implement Temporal.PlainYearMonth.prototype.toPlainDate()
2021-10-11 08:31:39 +01:00
Linus Groh
99adb54391
LibJS: Implement Temporal.Calendar.prototype.dateUntil()
2021-10-11 08:31:39 +01:00
Linus Groh
ef004c6b98
LibJS: Use round_number_to_increment(double) in round_time()
...
Much nicer :^)
2021-10-07 13:00:24 +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
Ben Wiederhake
a95b321bf1
LibJS: Add missing headers
2021-10-06 23:52:40 +01:00
Linus Groh
e5b8544762
LibJS: Convert enumerable_own_property_names() to ThrowCompletionOr
2021-10-03 20:14:03 +01:00
Linus Groh
f38a5957bf
LibJS: Convert has_property() to ThrowCompletionOr
2021-10-03 20:14:03 +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
Idan Horowitz
ee825d6d9e
LibJS: Convert get_method to ThrowCompletionOr
2021-09-23 23:59:13 +03:00
Idan Horowitz
ab594e5f2f
LibJS: Convert Value::invoke and VM::call to ThrowCompletionOr
2021-09-23 23:59:13 +03:00
Linus Groh
d792869799
LibJS: Update spec comment to convert mathematical to number value
...
This is an editorial change in the Temporal spec.
See: d2ae357
2021-09-21 19:13:22 +02:00
Linus Groh
f90d98aef0
LibJS: Update step order in the InterpretTemporalDateTimeFields AO
...
This is a normative change in the Temporal spec.
See: be88667
2021-09-18 13:38:48 +02:00
Linus Groh
6bdd62b51b
LibJS: Convert Now AOs to ThrowCompletionOr
2021-09-17 23:43:01 +02:00
Linus Groh
d764f1c699
LibJS: Convert PlainDateTime AOs to ThrowCompletionOr
2021-09-17 23:43:01 +02:00