From 78a9a249154fa3f662e64ed17a639f9c2d8b52b3 Mon Sep 17 00:00:00 2001 From: Denis Pushkarev Date: Sun, 6 Dec 2020 07:49:32 +0700 Subject: [PATCH] fix work of new `%TypedArray%` methods on `BigInt` arrays --- CHANGELOG.md | 1 + .../core-js/internals/array-buffer-view-core.js | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2ffdcb158768..5a941809b293 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ ## Changelog ##### Unreleased +- Fixed work of new `%TypedArray%` methods on `BigInt` arrays - Added ESNext methods to ES3 workaround for `Number` constructor wrapper ##### 3.8.0 - 2020.11.26 diff --git a/packages/core-js/internals/array-buffer-view-core.js b/packages/core-js/internals/array-buffer-view-core.js index 2952bc673a41..2f69fb0714ff 100644 --- a/packages/core-js/internals/array-buffer-view-core.js +++ b/packages/core-js/internals/array-buffer-view-core.js @@ -41,13 +41,23 @@ var TypedArrayConstructorsList = { Float64Array: 8 }; +var BigIntArrayConstructorsList = { + BigInt64Array: 8, + BigUint64Array: 8 +}; + var isView = function isView(it) { var klass = classof(it); - return klass === 'DataView' || has(TypedArrayConstructorsList, klass); + return klass === 'DataView' + || has(TypedArrayConstructorsList, klass) + || has(BigIntArrayConstructorsList, klass); }; var isTypedArray = function (it) { - return isObject(it) && has(TypedArrayConstructorsList, classof(it)); + return isObject(it) && ( + has(TypedArrayConstructorsList, classof(it)) || + has(BigIntArrayConstructorsList, classof(it)) + ); }; var aTypedArray = function (it) {