Skip to content

Commit

Permalink
use NumericRangeIterator as toStringTag instead of RangeIterator
Browse files Browse the repository at this point in the history
…in `{ Number, BigInt }.range` iterator

tc39/proposal-iterator.range#46
  • Loading branch information
zloirock committed Feb 26, 2021
1 parent b679f3a commit a9c10da
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 9 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand Down Expand Up @@ -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,
Expand All @@ -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;
Expand Down
4 changes: 2 additions & 2 deletions packages/core-js/modules/esnext.bigint.range.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
'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
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));
}
});
}
4 changes: 2 additions & 2 deletions packages/core-js/modules/esnext.number.range.js
Original file line number Diff line number Diff line change
@@ -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);
}
});

0 comments on commit a9c10da

Please sign in to comment.