mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 17:07:34 +00:00
LibJS: Update spec numbers from the array-find-from-last proposal merge
See: 5f31dd6
This commit is contained in:
parent
999ad734ec
commit
864c7fb9f1
2 changed files with 53 additions and 54 deletions
|
@ -83,11 +83,10 @@ void ArrayPrototype::initialize(GlobalObject& global_object)
|
|||
// Use define_direct_property here instead of define_native_function so that
|
||||
// Object.is(Array.prototype[Symbol.iterator], Array.prototype.values)
|
||||
// evaluates to true
|
||||
// 23.1.3.34 Array.prototype [ @@iterator ] ( ), https://tc39.es/ecma262/#sec-array.prototype-@@iterator
|
||||
// 23.1.3.36 Array.prototype [ @@iterator ] ( ), https://tc39.es/ecma262/#sec-array.prototype-@@iterator
|
||||
define_direct_property(*vm.well_known_symbol_iterator(), get_without_side_effects(vm.names.values), attr);
|
||||
|
||||
// 23.1.3.35 Array.prototype [ @@unscopables ], https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
|
||||
// With find from last proposal, https://tc39.es/proposal-array-find-from-last/#sec-array.prototype-@@unscopables
|
||||
// 23.1.3.37 Array.prototype [ @@unscopables ], https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
|
||||
// With array grouping proposal, https://tc39.es/proposal-array-grouping/#sec-array.prototype-@@unscopables
|
||||
// With change array by copy proposal, https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype-@@unscopables
|
||||
auto* unscopable_list = Object::create(global_object, nullptr);
|
||||
|
@ -523,7 +522,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::find_index)
|
|||
return Value(-1);
|
||||
}
|
||||
|
||||
// 1 Array.prototype.findLast ( predicate [ , thisArg ] ), https://tc39.es/proposal-array-find-from-last/#sec-array.prototype.findlast
|
||||
// 23.1.3.11 Array.prototype.findLast ( predicate [ , thisArg ] ), https://tc39.es/ecma262/#sec-array.prototype.findlast
|
||||
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::find_last)
|
||||
{
|
||||
auto predicate = vm.argument(0);
|
||||
|
@ -562,7 +561,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::find_last)
|
|||
return js_undefined();
|
||||
}
|
||||
|
||||
// 2 Array.prototype.findLastIndex ( predicate [ , thisArg ] ), https://tc39.es/proposal-array-find-from-last/#sec-array.prototype.findlastindex
|
||||
// 23.1.3.12 Array.prototype.findLastIndex ( predicate [ , thisArg ] ), https://tc39.es/ecma262/#sec-array.prototype.findlastindex
|
||||
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::find_last_index)
|
||||
{
|
||||
auto predicate = vm.argument(0);
|
||||
|
@ -601,7 +600,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::find_last_index)
|
|||
return Value(-1);
|
||||
}
|
||||
|
||||
// 23.1.3.11.1 FlattenIntoArray ( target, source, sourceLen, start, depth [ , mapperFunction [ , thisArg ] ] ), https://tc39.es/ecma262/#sec-flattenintoarray
|
||||
// 23.1.3.13.1 FlattenIntoArray ( target, source, sourceLen, start, depth [ , mapperFunction [ , thisArg ] ] ), https://tc39.es/ecma262/#sec-flattenintoarray
|
||||
static ThrowCompletionOr<size_t> flatten_into_array(GlobalObject& global_object, Object& new_array, Object& array, size_t array_length, size_t target_index, double depth, FunctionObject* mapper_func = {}, Value this_arg = {})
|
||||
{
|
||||
VERIFY(!mapper_func || (!this_arg.is_empty() && depth == 1));
|
||||
|
@ -636,7 +635,7 @@ static ThrowCompletionOr<size_t> flatten_into_array(GlobalObject& global_object,
|
|||
return target_index;
|
||||
}
|
||||
|
||||
// 23.1.3.11 Array.prototype.flat ( [ depth ] ), https://tc39.es/ecma262/#sec-array.prototype.flat
|
||||
// 23.1.3.13 Array.prototype.flat ( [ depth ] ), https://tc39.es/ecma262/#sec-array.prototype.flat
|
||||
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::flat)
|
||||
{
|
||||
auto* this_object = TRY(vm.this_value(global_object).to_object(global_object));
|
||||
|
@ -655,7 +654,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::flat)
|
|||
return new_array;
|
||||
}
|
||||
|
||||
// 23.1.3.12 Array.prototype.flatMap ( mapperFunction [ , thisArg ] ), https://tc39.es/ecma262/#sec-array.prototype.flatmap
|
||||
// 23.1.3.14 Array.prototype.flatMap ( mapperFunction [ , thisArg ] ), https://tc39.es/ecma262/#sec-array.prototype.flatmap
|
||||
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::flat_map)
|
||||
{
|
||||
auto mapper_function = vm.argument(0);
|
||||
|
@ -681,7 +680,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::flat_map)
|
|||
return array;
|
||||
}
|
||||
|
||||
// 23.1.3.13 Array.prototype.forEach ( callbackfn [ , thisArg ] ), https://tc39.es/ecma262/#sec-array.prototype.foreach
|
||||
// 23.1.3.15 Array.prototype.forEach ( callbackfn [ , thisArg ] ), https://tc39.es/ecma262/#sec-array.prototype.foreach
|
||||
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::for_each)
|
||||
{
|
||||
auto callback_function = vm.argument(0);
|
||||
|
@ -875,7 +874,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::group_to_map)
|
|||
return map;
|
||||
}
|
||||
|
||||
// 23.1.3.14 Array.prototype.includes ( searchElement [ , fromIndex ] ), https://tc39.es/ecma262/#sec-array.prototype.includes
|
||||
// 23.1.3.16 Array.prototype.includes ( searchElement [ , fromIndex ] ), https://tc39.es/ecma262/#sec-array.prototype.includes
|
||||
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::includes)
|
||||
{
|
||||
auto* this_object = TRY(vm.this_value(global_object).to_object(global_object));
|
||||
|
@ -906,7 +905,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::includes)
|
|||
return Value(false);
|
||||
}
|
||||
|
||||
// 23.1.3.15 Array.prototype.indexOf ( searchElement [ , fromIndex ] ), https://tc39.es/ecma262/#sec-array.prototype.indexof
|
||||
// 23.1.3.17 Array.prototype.indexOf ( searchElement [ , fromIndex ] ), https://tc39.es/ecma262/#sec-array.prototype.indexof
|
||||
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::index_of)
|
||||
{
|
||||
auto search_element = vm.argument(0);
|
||||
|
@ -978,7 +977,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::index_of)
|
|||
return Value(-1);
|
||||
}
|
||||
|
||||
// 23.1.3.16 Array.prototype.join ( separator ), https://tc39.es/ecma262/#sec-array.prototype.join
|
||||
// 23.1.3.18 Array.prototype.join ( separator ), https://tc39.es/ecma262/#sec-array.prototype.join
|
||||
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::join)
|
||||
{
|
||||
auto* this_object = TRY(vm.this_value(global_object).to_object(global_object));
|
||||
|
@ -1011,7 +1010,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::join)
|
|||
return js_string(vm, builder.to_string());
|
||||
}
|
||||
|
||||
// 23.1.3.17 Array.prototype.keys ( ), https://tc39.es/ecma262/#sec-array.prototype.keys
|
||||
// 23.1.3.19 Array.prototype.keys ( ), https://tc39.es/ecma262/#sec-array.prototype.keys
|
||||
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::keys)
|
||||
{
|
||||
auto* this_object = TRY(vm.this_value(global_object).to_object(global_object));
|
||||
|
@ -1019,7 +1018,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::keys)
|
|||
return ArrayIterator::create(global_object, this_object, Object::PropertyKind::Key);
|
||||
}
|
||||
|
||||
// 23.1.3.18 Array.prototype.lastIndexOf ( searchElement [ , fromIndex ] ), https://tc39.es/ecma262/#sec-array.prototype.lastindexof
|
||||
// 23.1.3.20 Array.prototype.lastIndexOf ( searchElement [ , fromIndex ] ), https://tc39.es/ecma262/#sec-array.prototype.lastindexof
|
||||
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::last_index_of)
|
||||
{
|
||||
auto search_element = vm.argument(0);
|
||||
|
@ -1087,7 +1086,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::last_index_of)
|
|||
return Value(-1);
|
||||
}
|
||||
|
||||
// 23.1.3.19 Array.prototype.map ( callbackfn [ , thisArg ] ), https://tc39.es/ecma262/#sec-array.prototype.map
|
||||
// 23.1.3.21 Array.prototype.map ( callbackfn [ , thisArg ] ), https://tc39.es/ecma262/#sec-array.prototype.map
|
||||
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::map)
|
||||
{
|
||||
auto callback_function = vm.argument(0);
|
||||
|
@ -1134,7 +1133,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::map)
|
|||
return array;
|
||||
}
|
||||
|
||||
// 23.1.3.20 Array.prototype.pop ( ), https://tc39.es/ecma262/#sec-array.prototype.pop
|
||||
// 23.1.3.22 Array.prototype.pop ( ), https://tc39.es/ecma262/#sec-array.prototype.pop
|
||||
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::pop)
|
||||
{
|
||||
auto* this_object = TRY(vm.this_value(global_object).to_object(global_object));
|
||||
|
@ -1150,7 +1149,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::pop)
|
|||
return element;
|
||||
}
|
||||
|
||||
// 23.1.3.21 Array.prototype.push ( ...items ), https://tc39.es/ecma262/#sec-array.prototype.push
|
||||
// 23.1.3.23 Array.prototype.push ( ...items ), https://tc39.es/ecma262/#sec-array.prototype.push
|
||||
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::push)
|
||||
{
|
||||
auto* this_object = TRY(vm.this_value(global_object).to_object(global_object));
|
||||
|
@ -1166,7 +1165,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::push)
|
|||
return new_length_value;
|
||||
}
|
||||
|
||||
// 23.1.3.22 Array.prototype.reduce ( callbackfn [ , initialValue ] ), https://tc39.es/ecma262/#sec-array.prototype.reduce
|
||||
// 23.1.3.24 Array.prototype.reduce ( callbackfn [ , initialValue ] ), https://tc39.es/ecma262/#sec-array.prototype.reduce
|
||||
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::reduce)
|
||||
{
|
||||
auto callback_function = vm.argument(0);
|
||||
|
@ -1248,7 +1247,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::reduce)
|
|||
return accumulator;
|
||||
}
|
||||
|
||||
// 23.1.3.23 Array.prototype.reduceRight ( callbackfn [ , initialValue ] ), https://tc39.es/ecma262/#sec-array.prototype.reduceright
|
||||
// 23.1.3.25 Array.prototype.reduceRight ( callbackfn [ , initialValue ] ), https://tc39.es/ecma262/#sec-array.prototype.reduceright
|
||||
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::reduce_right)
|
||||
{
|
||||
auto callback_function = vm.argument(0);
|
||||
|
@ -1330,7 +1329,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::reduce_right)
|
|||
return accumulator;
|
||||
}
|
||||
|
||||
// 23.1.3.24 Array.prototype.reverse ( ), https://tc39.es/ecma262/#sec-array.prototype.reverse
|
||||
// 23.1.3.26 Array.prototype.reverse ( ), https://tc39.es/ecma262/#sec-array.prototype.reverse
|
||||
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::reverse)
|
||||
{
|
||||
auto* this_object = TRY(vm.this_value(global_object).to_object(global_object));
|
||||
|
@ -1365,7 +1364,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::reverse)
|
|||
return this_object;
|
||||
}
|
||||
|
||||
// 23.1.3.25 Array.prototype.shift ( ), https://tc39.es/ecma262/#sec-array.prototype.shift
|
||||
// 23.1.3.27 Array.prototype.shift ( ), https://tc39.es/ecma262/#sec-array.prototype.shift
|
||||
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::shift)
|
||||
{
|
||||
auto* this_object = TRY(vm.this_value(global_object).to_object(global_object));
|
||||
|
@ -1392,7 +1391,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::shift)
|
|||
return first;
|
||||
}
|
||||
|
||||
// 23.1.3.26 Array.prototype.slice ( start, end ), https://tc39.es/ecma262/#sec-array.prototype.slice
|
||||
// 23.1.3.28 Array.prototype.slice ( start, end ), https://tc39.es/ecma262/#sec-array.prototype.slice
|
||||
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::slice)
|
||||
{
|
||||
auto* this_object = TRY(vm.this_value(global_object).to_object(global_object));
|
||||
|
@ -1448,7 +1447,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::slice)
|
|||
return new_array;
|
||||
}
|
||||
|
||||
// 23.1.3.27 Array.prototype.some ( callbackfn [ , thisArg ] ), https://tc39.es/ecma262/#sec-array.prototype.some
|
||||
// 23.1.3.29 Array.prototype.some ( callbackfn [ , thisArg ] ), https://tc39.es/ecma262/#sec-array.prototype.some
|
||||
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::some)
|
||||
{
|
||||
auto callback_function = vm.argument(0);
|
||||
|
@ -1551,7 +1550,7 @@ ThrowCompletionOr<void> array_merge_sort(GlobalObject& global_object, FunctionOb
|
|||
return {};
|
||||
}
|
||||
|
||||
// 23.1.3.28 Array.prototype.sort ( comparefn ), https://tc39.es/ecma262/#sec-array.prototype.sort
|
||||
// 23.1.3.30 Array.prototype.sort ( comparefn ), https://tc39.es/ecma262/#sec-array.prototype.sort
|
||||
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::sort)
|
||||
{
|
||||
auto callback = vm.argument(0);
|
||||
|
@ -1591,7 +1590,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::sort)
|
|||
return object;
|
||||
}
|
||||
|
||||
// 23.1.3.29 Array.prototype.splice ( start, deleteCount, ...items ), https://tc39.es/ecma262/#sec-array.prototype.splice
|
||||
// 23.1.3.31 Array.prototype.splice ( start, deleteCount, ...items ), https://tc39.es/ecma262/#sec-array.prototype.splice
|
||||
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::splice)
|
||||
{
|
||||
auto* this_object = TRY(vm.this_value(global_object).to_object(global_object));
|
||||
|
@ -1678,7 +1677,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::splice)
|
|||
return removed_elements;
|
||||
}
|
||||
|
||||
// 23.1.3.30 Array.prototype.toLocaleString ( [ reserved1 [ , reserved2 ] ] ), https://tc39.es/ecma262/#sec-array.prototype.tolocalestring
|
||||
// 23.1.3.32 Array.prototype.toLocaleString ( [ reserved1 [ , reserved2 ] ] ), https://tc39.es/ecma262/#sec-array.prototype.tolocalestring
|
||||
// 19.5.1 Array.prototype.toLocaleString ( [ locales [ , options ] ] ), https://tc39.es/ecma402/#sup-array.prototype.tolocalestring
|
||||
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::to_locale_string)
|
||||
{
|
||||
|
@ -1936,7 +1935,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::to_spliced)
|
|||
return array;
|
||||
}
|
||||
|
||||
// 23.1.3.31 Array.prototype.toString ( ), https://tc39.es/ecma262/#sec-array.prototype.tostring
|
||||
// 23.1.3.33 Array.prototype.toString ( ), https://tc39.es/ecma262/#sec-array.prototype.tostring
|
||||
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::to_string)
|
||||
{
|
||||
// 1. Let array be ? ToObject(this value).
|
||||
|
@ -1953,7 +1952,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::to_string)
|
|||
return TRY(call(global_object, func.as_function(), array));
|
||||
}
|
||||
|
||||
// 23.1.3.32 Array.prototype.unshift ( ...items ), https://tc39.es/ecma262/#sec-array.prototype.unshift
|
||||
// 23.1.3.34 Array.prototype.unshift ( ...items ), https://tc39.es/ecma262/#sec-array.prototype.unshift
|
||||
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::unshift)
|
||||
{
|
||||
auto* this_object = TRY(vm.this_value(global_object).to_object(global_object));
|
||||
|
@ -1985,7 +1984,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::unshift)
|
|||
return Value(new_length);
|
||||
}
|
||||
|
||||
// 23.1.3.33 Array.prototype.values ( ), https://tc39.es/ecma262/#sec-array.prototype.values
|
||||
// 23.1.3.35 Array.prototype.values ( ), https://tc39.es/ecma262/#sec-array.prototype.values
|
||||
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::values)
|
||||
{
|
||||
auto* this_object = TRY(vm.this_value(global_object).to_object(global_object));
|
||||
|
|
|
@ -64,10 +64,10 @@ void TypedArrayPrototype::initialize(GlobalObject& object)
|
|||
|
||||
define_native_accessor(*vm.well_known_symbol_to_string_tag(), to_string_tag_getter, nullptr, Attribute::Configurable);
|
||||
|
||||
// 23.2.3.30 %TypedArray%.prototype.toString ( ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring
|
||||
// 23.2.3.32 %TypedArray%.prototype.toString ( ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring
|
||||
define_direct_property(vm.names.toString, global_object().array_prototype()->get_without_side_effects(vm.names.toString), attr);
|
||||
|
||||
// 23.2.3.32 %TypedArray%.prototype [ @@iterator ] ( ), https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator
|
||||
// 23.2.3.34 %TypedArray%.prototype [ @@iterator ] ( ), https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator
|
||||
define_direct_property(*vm.well_known_symbol_iterator(), get_without_side_effects(vm.names.values), attr);
|
||||
}
|
||||
|
||||
|
@ -542,7 +542,7 @@ JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::find_index)
|
|||
return Value(result_index);
|
||||
}
|
||||
|
||||
// 4 %TypedArray%.prototype.findLast ( predicate [ , thisArg ] ), https://tc39.es/proposal-array-find-from-last/#sec-%typedarray%.prototype.findlast
|
||||
// 23.2.3.13 %TypedArray%.prototype.findLast ( predicate [ , thisArg ] ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.findlast
|
||||
JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::find_last)
|
||||
{
|
||||
auto result = js_undefined();
|
||||
|
@ -556,7 +556,7 @@ JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::find_last)
|
|||
return result;
|
||||
}
|
||||
|
||||
// 5 %TypedArray%.prototype.findLastIndex ( predicate [ , thisArg ] ), https://tc39.es/proposal-array-find-from-last/#sec-%typedarray%.prototype.findlastindex
|
||||
// 23.2.3.14 %TypedArray%.prototype.findLastIndex ( predicate [ , thisArg ] ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.findlastindex
|
||||
JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::find_last_index)
|
||||
{
|
||||
auto result_index = -1;
|
||||
|
@ -570,7 +570,7 @@ JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::find_last_index)
|
|||
return Value(result_index);
|
||||
}
|
||||
|
||||
// 23.2.3.13 %TypedArray%.prototype.forEach ( callbackfn [ , thisArg ] ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.foreach
|
||||
// 23.2.3.15 %TypedArray%.prototype.forEach ( callbackfn [ , thisArg ] ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.foreach
|
||||
JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::for_each)
|
||||
{
|
||||
TRY(for_each_item(vm, global_object, "forEach", [](auto, auto, auto) {
|
||||
|
@ -579,7 +579,7 @@ JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::for_each)
|
|||
return js_undefined();
|
||||
}
|
||||
|
||||
// 23.2.3.14 %TypedArray%.prototype.includes ( searchElement [ , fromIndex ] ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes
|
||||
// 23.2.3.16 %TypedArray%.prototype.includes ( searchElement [ , fromIndex ] ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes
|
||||
JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::includes)
|
||||
{
|
||||
auto typed_array = TRY(validate_typed_array_from_this(global_object));
|
||||
|
@ -618,7 +618,7 @@ JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::includes)
|
|||
return Value(false);
|
||||
}
|
||||
|
||||
// 23.2.3.15 %TypedArray%.prototype.indexOf ( searchElement [ , fromIndex ] ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.indexof
|
||||
// 23.2.3.17 %TypedArray%.prototype.indexOf ( searchElement [ , fromIndex ] ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.indexof
|
||||
JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::index_of)
|
||||
{
|
||||
auto typed_array = TRY(validate_typed_array_from_this(global_object));
|
||||
|
@ -660,7 +660,7 @@ JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::index_of)
|
|||
return Value(-1);
|
||||
}
|
||||
|
||||
// 23.2.3.16 %TypedArray%.prototype.join ( separator ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.join
|
||||
// 23.2.3.18 %TypedArray%.prototype.join ( separator ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.join
|
||||
JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::join)
|
||||
{
|
||||
auto* typed_array = TRY(validate_typed_array_from_this(global_object));
|
||||
|
@ -683,14 +683,14 @@ JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::join)
|
|||
return js_string(vm, builder.to_string());
|
||||
}
|
||||
|
||||
// 23.2.3.17 %TypedArray%.prototype.keys ( ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys
|
||||
// 23.2.3.19 %TypedArray%.prototype.keys ( ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys
|
||||
JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::keys)
|
||||
{
|
||||
auto* typed_array = TRY(validate_typed_array_from_this(global_object));
|
||||
return ArrayIterator::create(global_object, typed_array, Object::PropertyKind::Key);
|
||||
}
|
||||
|
||||
// 23.2.3.18 %TypedArray%.prototype.lastIndexOf ( searchElement [ , fromIndex ] ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof
|
||||
// 23.2.3.20 %TypedArray%.prototype.lastIndexOf ( searchElement [ , fromIndex ] ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof
|
||||
JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::last_index_of)
|
||||
{
|
||||
auto typed_array = TRY(validate_typed_array_from_this(global_object));
|
||||
|
@ -733,7 +733,7 @@ JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::last_index_of)
|
|||
return Value(-1);
|
||||
}
|
||||
|
||||
// 23.2.3.19 get %TypedArray%.prototype.length, https://tc39.es/ecma262/#sec-get-%typedarray%.prototype.length
|
||||
// 23.2.3.21 get %TypedArray%.prototype.length, https://tc39.es/ecma262/#sec-get-%typedarray%.prototype.length
|
||||
JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::length_getter)
|
||||
{
|
||||
auto* typed_array = TRY(typed_array_from_this(global_object));
|
||||
|
@ -744,7 +744,7 @@ JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::length_getter)
|
|||
return Value(typed_array->array_length());
|
||||
}
|
||||
|
||||
// 23.2.3.20 %TypedArray%.prototype.map ( callbackfn [ , thisArg ] ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.map
|
||||
// 23.2.3.22 %TypedArray%.prototype.map ( callbackfn [ , thisArg ] ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.map
|
||||
JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::map)
|
||||
{
|
||||
// 1. Let O be the this value.
|
||||
|
@ -784,7 +784,7 @@ JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::map)
|
|||
return return_array;
|
||||
}
|
||||
|
||||
// 23.2.3.21 %TypedArray%.prototype.reduce ( callbackfn [ , initialValue ] ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduce
|
||||
// 23.2.3.23 %TypedArray%.prototype.reduce ( callbackfn [ , initialValue ] ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduce
|
||||
JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::reduce)
|
||||
{
|
||||
auto* typed_array = TRY(validate_typed_array_from_this(global_object));
|
||||
|
@ -814,7 +814,7 @@ JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::reduce)
|
|||
return accumulator;
|
||||
}
|
||||
|
||||
// 23.2.3.22 %TypedArray%.prototype.reduceRight ( callbackfn [ , initialValue ] ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduce
|
||||
// 23.2.3.24 %TypedArray%.prototype.reduceRight ( callbackfn [ , initialValue ] ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduce
|
||||
JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::reduce_right)
|
||||
{
|
||||
auto* typed_array = TRY(validate_typed_array_from_this(global_object));
|
||||
|
@ -844,7 +844,7 @@ JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::reduce_right)
|
|||
return accumulator;
|
||||
}
|
||||
|
||||
// 23.2.3.23 %TypedArray%.prototype.reverse ( ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.reverse
|
||||
// 23.2.3.25 %TypedArray%.prototype.reverse ( ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.reverse
|
||||
JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::reverse)
|
||||
{
|
||||
// 1. Let O be the this value.
|
||||
|
@ -884,7 +884,7 @@ JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::reverse)
|
|||
return typed_array;
|
||||
}
|
||||
|
||||
// 23.2.3.24.1 SetTypedArrayFromTypedArray ( target, targetOffset, source ), https://tc39.es/ecma262/#sec-settypedarrayfromtypedarray
|
||||
// 23.2.3.26.1 SetTypedArrayFromTypedArray ( target, targetOffset, source ), https://tc39.es/ecma262/#sec-settypedarrayfromtypedarray
|
||||
static ThrowCompletionOr<void> set_typed_array_from_typed_array(GlobalObject& global_object, TypedArrayBase& target, double target_offset, TypedArrayBase& source)
|
||||
{
|
||||
auto& vm = global_object.vm();
|
||||
|
@ -1006,7 +1006,7 @@ static ThrowCompletionOr<void> set_typed_array_from_typed_array(GlobalObject& gl
|
|||
return {};
|
||||
}
|
||||
|
||||
// 23.2.3.24.2 SetTypedArrayFromArrayLike ( target, targetOffset, source ), https://tc39.es/ecma262/#sec-settypedarrayfromarraylike
|
||||
// 23.2.3.26.2 SetTypedArrayFromArrayLike ( target, targetOffset, source ), https://tc39.es/ecma262/#sec-settypedarrayfromarraylike
|
||||
static ThrowCompletionOr<void> set_typed_array_from_array_like(GlobalObject& global_object, TypedArrayBase& target, double target_offset, Value source)
|
||||
{
|
||||
auto& vm = global_object.vm();
|
||||
|
@ -1065,7 +1065,7 @@ static ThrowCompletionOr<void> set_typed_array_from_array_like(GlobalObject& glo
|
|||
return {};
|
||||
}
|
||||
|
||||
// 23.2.3.24 %TypedArray%.prototype.set ( source [ , offset ] ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.set
|
||||
// 23.2.3.26 %TypedArray%.prototype.set ( source [ , offset ] ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.set
|
||||
JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::set)
|
||||
{
|
||||
auto source = vm.argument(0);
|
||||
|
@ -1100,7 +1100,7 @@ JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::set)
|
|||
return js_undefined();
|
||||
}
|
||||
|
||||
// 23.2.3.25 %TypedArray%.prototype.slice ( start, end ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice
|
||||
// 23.2.3.27 %TypedArray%.prototype.slice ( start, end ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice
|
||||
JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::slice)
|
||||
{
|
||||
auto start = vm.argument(0);
|
||||
|
@ -1236,7 +1236,7 @@ JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::slice)
|
|||
return new_array;
|
||||
}
|
||||
|
||||
// 23.2.3.26 %TypedArray%.prototype.some ( callbackfn [ , thisArg ] ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.some
|
||||
// 23.2.3.28 %TypedArray%.prototype.some ( callbackfn [ , thisArg ] ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.some
|
||||
JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::some)
|
||||
{
|
||||
auto result = false;
|
||||
|
@ -1333,7 +1333,7 @@ static ThrowCompletionOr<void> typed_array_merge_sort(GlobalObject& global_objec
|
|||
return {};
|
||||
}
|
||||
|
||||
// 23.2.3.27 %TypedArray%.prototype.sort ( comparefn ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort
|
||||
// 23.2.3.29 %TypedArray%.prototype.sort ( comparefn ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort
|
||||
JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::sort)
|
||||
{
|
||||
auto compare_fn = vm.argument(0);
|
||||
|
@ -1366,7 +1366,7 @@ JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::sort)
|
|||
return typed_array;
|
||||
}
|
||||
|
||||
// 23.2.3.28 %TypedArray%.prototype.subarray ( begin, end ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray
|
||||
// 23.2.3.30 %TypedArray%.prototype.subarray ( begin, end ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray
|
||||
JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::subarray)
|
||||
{
|
||||
auto begin = vm.argument(0);
|
||||
|
@ -1442,7 +1442,7 @@ JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::subarray)
|
|||
return TRY(typed_array_species_create(global_object, *typed_array, move(arguments)));
|
||||
}
|
||||
|
||||
// 23.2.3.29 %TypedArray%.prototype.toLocaleString ( [ reserved1 [ , reserved2 ] ] ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring
|
||||
// 23.2.3.31 %TypedArray%.prototype.toLocaleString ( [ reserved1 [ , reserved2 ] ] ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring
|
||||
// 19.5.1 Array.prototype.toLocaleString ( [ locales [ , options ] ] ), https://tc39.es/ecma402/#sup-array.prototype.tolocalestring
|
||||
JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::to_locale_string)
|
||||
{
|
||||
|
@ -1715,14 +1715,14 @@ JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::to_spliced)
|
|||
return return_array;
|
||||
}
|
||||
|
||||
// 23.2.3.31 %TypedArray%.prototype.values ( ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.values
|
||||
// 23.2.3.33 %TypedArray%.prototype.values ( ), https://tc39.es/ecma262/#sec-%typedarray%.prototype.values
|
||||
JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::values)
|
||||
{
|
||||
auto* typed_array = TRY(typed_array_from_this(global_object));
|
||||
return ArrayIterator::create(global_object, typed_array, Object::PropertyKind::Value);
|
||||
}
|
||||
|
||||
// 23.2.3.33 get %TypedArray%.prototype [ @@toStringTag ], https://tc39.es/ecma262/#sec-get-%typedarray%.prototype-@@tostringtag
|
||||
// 23.2.3.35 get %TypedArray%.prototype [ @@toStringTag ], https://tc39.es/ecma262/#sec-get-%typedarray%.prototype-@@tostringtag
|
||||
JS_DEFINE_NATIVE_FUNCTION(TypedArrayPrototype::to_string_tag_getter)
|
||||
{
|
||||
auto this_value = vm.this_value(global_object);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue