'use strict'; var SameValueNonNumeric = require('./SameValueNonNumeric'); var Type = require('./Type'); var BigIntEqual = require('./BigInt/equal'); var NumberEqual = require('./Number/equal'); // https://262.ecma-international.org/13.0/#sec-isstrictlyequal module.exports = function IsStrictlyEqual(x, y) { var xType = Type(x); var yType = Type(y); if (xType !== yType) { return false; } if (xType === 'Number' || xType === 'BigInt') { return xType === 'Number' ? NumberEqual(x, y) : BigIntEqual(x, y); } return SameValueNonNumeric(x, y); };