Show More
Commit Description:
submission report
Commit Description:
submission report
References:
File last commit:
Show/Diff file:
Action:
node_modules/es-abstract/2015/CanonicalNumericIndexString.js
| 22 lines
| 656 B
| application/javascript
| JavascriptLexer
|
r789 | 'use strict'; | |||
var GetIntrinsic = require('../GetIntrinsic'); | ||||
var $TypeError = GetIntrinsic('%TypeError%'); | ||||
var SameValue = require('./SameValue'); | ||||
var ToNumber = require('./ToNumber'); | ||||
var ToString = require('./ToString'); | ||||
var Type = require('./Type'); | ||||
// https://ecma-international.org/ecma-262/6.0/#sec-canonicalnumericindexstring | ||||
module.exports = function CanonicalNumericIndexString(argument) { | ||||
if (Type(argument) !== 'String') { | ||||
throw new $TypeError('Assertion failed: `argument` must be a String'); | ||||
} | ||||
if (argument === '-0') { return -0; } | ||||
var n = ToNumber(argument); | ||||
if (SameValue(ToString(n), argument)) { return n; } | ||||
return void 0; | ||||
}; | ||||