17 lines
667 B
JavaScript
17 lines
667 B
JavaScript
'use strict';
|
|
/* eslint-disable es/no-bigint -- safe */
|
|
var $ = require('../internals/export');
|
|
var NumericRangeIterator = require('../internals/numeric-range-iterator');
|
|
|
|
var $TypeError = TypeError;
|
|
|
|
// `Iterator.range` method
|
|
// https://github.com/tc39/proposal-Number.range
|
|
$({ target: 'Iterator', stat: true, forced: true }, {
|
|
range: function range(start, end, option) {
|
|
if (typeof start == 'number') return new NumericRangeIterator(start, end, option, 'number', 0, 1);
|
|
if (typeof start == 'bigint') return new NumericRangeIterator(start, end, option, 'bigint', BigInt(0), BigInt(1));
|
|
throw $TypeError('Incorrect Iterator.range arguments');
|
|
}
|
|
});
|