12 lines
400 B
JavaScript
12 lines
400 B
JavaScript
var toInteger = require('../internals/to-integer');
|
|
var toLength = require('../internals/to-length');
|
|
|
|
// `ToIndex` abstract operation
|
|
// https://tc39.github.io/ecma262/#sec-toindex
|
|
module.exports = function (it) {
|
|
if (it === undefined) return 0;
|
|
var number = toInteger(it);
|
|
var length = toLength(number);
|
|
if (number !== length) throw RangeError('Wrong length or index');
|
|
return length;
|
|
};
|