* inlined Object.is polyfill to avoid requiring consumers ship their own * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
(x, y)
| 426 | * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is |
| 427 | */ |
| 428 | function is(x, y) { |
| 429 | // SameValue algorithm |
| 430 | if (x === y) { |
| 431 | // Steps 1-5, 7-10 |
| 432 | // Steps 6.b-6.e: +0 != -0 |
| 433 | // Added the nonzero y check to make Flow happy, but it is redundant |
| 434 | return x !== 0 || y !== 0 || 1 / x === 1 / y; |
| 435 | } else { |
| 436 | // Step 6.a: NaN == NaN |
| 437 | return x !== x && y !== y; |
| 438 | } |
| 439 | } |
| 440 | |
| 441 | /** |
| 442 | * Performs equality by iterating through keys on an object and returning false |
no outgoing calls
no test coverage detected