blob: 0f8b07e88b1305ffdcf480fb8c2b92de709e6bc4 [file] [log] [blame]
// Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
function _objectIs(a, b) {
// SameValue algorithm
if (a === b) {
// Steps 1-5, 7-10
// Steps 6.b-6.e: +0 != -0
return a !== 0 || 1 / a === 1 / b;
} else {
// Step 6.a: NaN == NaN
return a !== a && b !== b;
}
}
module.exports = typeof Object.is === 'function' ? Object.is : _objectIs;