123456789101112131415161718192021 |
- 'use strict';
- var GetIntrinsic = require('get-intrinsic');
- var $TypeError = GetIntrinsic('%TypeError%');
- var SameValue = require('./SameValue');
- var Type = require('./Type');
- // https://262.ecma-international.org/11.0/#sec-samevaluenonnumeric
- module.exports = function SameValueNonNumeric(x, y) {
- var xType = Type(x);
- if (xType === 'Number' || xType === 'BigInt') {
- throw new $TypeError('Assertion failed: SameValueNonNumeric does not accept Number or BigInt values');
- }
- if (xType !== Type(y)) {
- throw new $TypeError('SameValueNonNumeric requires two non-numeric values of the same type.');
- }
- return SameValue(x, y);
- };
|