Skip to content

Commit ce955d0

Browse files
committed
fix ToString conversion / built-ins nature of some accessors
1 parent dbc1d6b commit ce955d0

File tree

2 files changed

+17
-19
lines changed

2 files changed

+17
-19
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
## Changelog
22
##### Unreleased
33
- [`String.prototype.{ isWellFormed, toWellFormed }`](https://github.com/tc39/proposal-is-usv-string) marked as supported from V8 ~ Chrome 111
4+
- Fixed `ToString` conversion / built-ins nature of some accessors
45
- Added Opera Android 74 compat data mapping
56

67
##### [3.29.0 - 2023.02.27](https://github.com/zloirock/core-js/releases/tag/v3.29.0)

packages/core-js/internals/numeric-range-iterator.js

+16-19
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ var createIteratorConstructor = require('../internals/iterator-create-constructo
44
var createIterResultObject = require('../internals/create-iter-result-object');
55
var isNullOrUndefined = require('../internals/is-null-or-undefined');
66
var isObject = require('../internals/is-object');
7-
var defineProperties = require('../internals/object-define-properties').f;
7+
var defineBuiltInAccessor = require('../internals/define-built-in-accessor');
88
var DESCRIPTORS = require('../internals/descriptors');
99

1010
var INCORRECT_RANGE = 'Incorrect Iterator.range arguments';
@@ -53,7 +53,7 @@ var $RangeIterator = createIteratorConstructor(function NumericRangeIterator(sta
5353
start: start,
5454
end: end,
5555
step: step,
56-
inclusiveEnd: inclusiveEnd,
56+
inclusive: inclusiveEnd,
5757
hitsEnd: hitsEnd,
5858
currentCount: zero,
5959
zero: zero
@@ -72,7 +72,7 @@ var $RangeIterator = createIteratorConstructor(function NumericRangeIterator(sta
7272
var step = state.step;
7373
var currentYieldingValue = start + (step * state.currentCount++);
7474
if (currentYieldingValue === end) state.hitsEnd = true;
75-
var inclusiveEnd = state.inclusiveEnd;
75+
var inclusiveEnd = state.inclusive;
7676
var endCondition;
7777
if (end > start) {
7878
endCondition = inclusiveEnd ? currentYieldingValue > end : currentYieldingValue >= end;
@@ -85,25 +85,22 @@ var $RangeIterator = createIteratorConstructor(function NumericRangeIterator(sta
8585
} return createIterResultObject(currentYieldingValue, false);
8686
});
8787

88-
var getter = function (fn) {
89-
return { get: fn, set: function () { /* empty */ }, configurable: true, enumerable: false };
88+
var addGetter = function (key) {
89+
defineBuiltInAccessor($RangeIterator.prototype, key, {
90+
get: function () {
91+
return getInternalState(this)[key];
92+
},
93+
set: function () { /* empty */ },
94+
configurable: true,
95+
enumerable: false
96+
});
9097
};
9198

9299
if (DESCRIPTORS) {
93-
defineProperties($RangeIterator.prototype, {
94-
start: getter(function () {
95-
return getInternalState(this).start;
96-
}),
97-
end: getter(function () {
98-
return getInternalState(this).end;
99-
}),
100-
inclusive: getter(function () {
101-
return getInternalState(this).inclusiveEnd;
102-
}),
103-
step: getter(function () {
104-
return getInternalState(this).step;
105-
})
106-
});
100+
addGetter('start');
101+
addGetter('end');
102+
addGetter('inclusive');
103+
addGetter('step');
107104
}
108105

109106
module.exports = $RangeIterator;

0 commit comments

Comments
 (0)