diff --git a/CHANGELOG.md b/CHANGELOG.md index 2a6f063db231..5b84b988c818 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ ## Changelog ##### Unreleased +- Used `NumericRangeIterator` as toStringTag instead of `RangeIterator` in `{ Number, BigInt }.range` iterator, per [this PR](https://github.com/tc39/proposal-Number.range/pull/46) - TypedArray constructors marked as supported from Safari 14.0 - Updated compat data mapping for iOS Safari and Opera for Android diff --git a/packages/core-js/internals/range-iterator.js b/packages/core-js/internals/numeric-range-iterator.js similarity index 90% rename from packages/core-js/internals/range-iterator.js rename to packages/core-js/internals/numeric-range-iterator.js index d74c23fd270e..53c325805b23 100644 --- a/packages/core-js/internals/range-iterator.js +++ b/packages/core-js/internals/numeric-range-iterator.js @@ -6,12 +6,12 @@ var defineProperties = require('../internals/object-define-properties'); var DESCRIPTORS = require('../internals/descriptors'); var INCORRECT_RANGE = 'Incorrect Number.range arguments'; -var RANGE_ITERATOR = 'RangeIterator'; +var NUMERIC_RANGE_ITERATOR = 'NumericRangeIterator'; var setInternalState = InternalStateModule.set; -var getInternalState = InternalStateModule.getterFor(RANGE_ITERATOR); +var getInternalState = InternalStateModule.getterFor(NUMERIC_RANGE_ITERATOR); -var $RangeIterator = createIteratorConstructor(function RangeIterator(start, end, option, type, zero, one) { +var $RangeIterator = createIteratorConstructor(function NumericRangeIterator(start, end, option, type, zero, one) { if (typeof start != type || (end !== Infinity && end !== -Infinity && typeof end != type)) { throw new TypeError(INCORRECT_RANGE); } @@ -43,7 +43,7 @@ var $RangeIterator = createIteratorConstructor(function RangeIterator(start, end // eslint-disable-next-line no-self-compare -- NaN check var hitsEnd = start != start || end != end || step != step || (end > start) !== (step > zero); setInternalState(this, { - type: RANGE_ITERATOR, + type: NUMERIC_RANGE_ITERATOR, start: start, end: end, step: step, @@ -58,7 +58,7 @@ var $RangeIterator = createIteratorConstructor(function RangeIterator(start, end this.step = step; this.inclusive = inclusiveEnd; } -}, RANGE_ITERATOR, function next() { +}, NUMERIC_RANGE_ITERATOR, function next() { var state = getInternalState(this); if (state.hitsEnd) return { value: undefined, done: true }; var start = state.start; diff --git a/packages/core-js/modules/esnext.bigint.range.js b/packages/core-js/modules/esnext.bigint.range.js index 480446851f1b..477e0856c8bd 100644 --- a/packages/core-js/modules/esnext.bigint.range.js +++ b/packages/core-js/modules/esnext.bigint.range.js @@ -1,6 +1,6 @@ 'use strict'; var $ = require('../internals/export'); -var RangeIterator = require('../internals/range-iterator'); +var NumericRangeIterator = require('../internals/numeric-range-iterator'); // `BigInt.range` method // https://github.com/tc39/proposal-Number.range @@ -8,7 +8,7 @@ if (typeof BigInt == 'function') { $({ target: 'BigInt', stat: true }, { range: function range(start, end, option) { /* global BigInt -- safe */ - return new RangeIterator(start, end, option, 'bigint', BigInt(0), BigInt(1)); + return new NumericRangeIterator(start, end, option, 'bigint', BigInt(0), BigInt(1)); } }); } diff --git a/packages/core-js/modules/esnext.number.range.js b/packages/core-js/modules/esnext.number.range.js index 183e745fc14e..3581983c4019 100644 --- a/packages/core-js/modules/esnext.number.range.js +++ b/packages/core-js/modules/esnext.number.range.js @@ -1,11 +1,11 @@ 'use strict'; var $ = require('../internals/export'); -var RangeIterator = require('../internals/range-iterator'); +var NumericRangeIterator = require('../internals/numeric-range-iterator'); // `Number.range` method // https://github.com/tc39/proposal-Number.range $({ target: 'Number', stat: true }, { range: function range(start, end, option) { - return new RangeIterator(start, end, option, 'number', 0, 1); + return new NumericRangeIterator(start, end, option, 'number', 0, 1); } });