Chromium Code Reviews| Index: src/harmony-typedarray.js |
| diff --git a/src/harmony-typedarray.js b/src/harmony-typedarray.js |
| index 88048b44c9e854cb5d57856b8abf86a4a3694a97..00e216c8d672ec8adf18f1acedab34c1cc5af8f2 100644 |
| --- a/src/harmony-typedarray.js |
| +++ b/src/harmony-typedarray.js |
| @@ -40,12 +40,15 @@ var InnerArrayFind; |
| var InnerArrayFindIndex; |
| var InnerArrayForEach; |
| var InnerArrayIndexOf; |
| +var InnerArrayJoin; |
| var InnerArrayLastIndexOf; |
| var InnerArrayMap; |
| var InnerArrayReverse; |
| var InnerArraySome; |
| var InnerArraySort; |
| +var InnerArrayToLocaleString; |
| var IsNaN; |
| +var ObjectToString; |
| utils.Import(function(from) { |
| ArrayFrom = from.ArrayFrom; |
| @@ -57,12 +60,15 @@ utils.Import(function(from) { |
| InnerArrayFindIndex = from.InnerArrayFindIndex; |
| InnerArrayForEach = from.InnerArrayForEach; |
| InnerArrayIndexOf = from.InnerArrayIndexOf; |
| + InnerArrayJoin = from.InnerArrayJoin; |
| InnerArrayLastIndexOf = from.InnerArrayLastIndexOf; |
| InnerArrayMap = from.InnerArrayMap; |
| InnerArrayReverse = from.InnerArrayReverse; |
| InnerArraySome = from.InnerArraySome; |
| InnerArraySort = from.InnerArraySort; |
| + InnerArrayToLocaleString = from.InnerArrayToLocaleString; |
| IsNaN = from.IsNaN; |
| + ObjectToString = from.ObjectToString; |
| }); |
| // ------------------------------------------------------------------- |
| @@ -250,6 +256,38 @@ function TypedArraySome(f, receiver) { |
| %FunctionSetLength(TypedArraySome, 1); |
| +// ES6 section 22.2.3.27 |
| +function TypedArrayToLocaleString() { |
| + if (!%IsTypedArray(this)) throw MakeTypeError(kNotTypedArray); |
| + |
| + var length = %_TypedArrayGetLength(this); |
| + |
| + return InnerArrayToLocaleString(this, length); |
| +} |
| + |
| + |
| +// ES6 section 22.2.3.28 |
| +function TypedArrayToString() { |
|
adamk
2015/06/02 17:18:20
According to the spec this function doesn't exist:
|
| + if (!%IsTypedArray(this)) throw MakeTypeError(kNotTypedArray); |
| + |
| + var func = this.join; |
| + if (!IS_SPEC_FUNCTION(func)) { |
| + return %_CallFunction(this, ObjectToString); |
| + } |
| + return %_CallFunction(this, func); |
| +} |
| + |
| + |
| +// ES6 section 22.2.3.14 |
| +function TypedArrayJoin(separator) { |
| + if (!%IsTypedArray(this)) throw MakeTypeError(kNotTypedArray); |
| + |
| + var length = %_TypedArrayGetLength(this); |
| + |
| + return InnerArrayJoin(separator, this, length); |
| +} |
| + |
| + |
| // ES6 draft 08-24-14, section 22.2.2.2 |
| function TypedArrayOf() { |
| var length = %_ArgumentsLength(); |
| @@ -286,12 +324,15 @@ macro EXTEND_TYPED_ARRAY(NAME) |
| "find", TypedArrayFind, |
| "findIndex", TypedArrayFindIndex, |
| "indexOf", TypedArrayIndexOf, |
| + "join", TypedArrayJoin, |
| "lastIndexOf", TypedArrayLastIndexOf, |
| "forEach", TypedArrayForEach, |
| "map", TypedArrayMap, |
| "reverse", TypedArrayReverse, |
| "some", TypedArraySome, |
| - "sort", TypedArraySort |
| + "sort", TypedArraySort, |
| + "toString", TypedArrayToString, |
| + "toLocaleString", TypedArrayToLocaleString |
| ]); |
| endmacro |