diff options
Diffstat (limited to 'src/node_modules/es-abstract/2020/SameValueNonNumeric.js')
-rw-r--r-- | src/node_modules/es-abstract/2020/SameValueNonNumeric.js | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/node_modules/es-abstract/2020/SameValueNonNumeric.js b/src/node_modules/es-abstract/2020/SameValueNonNumeric.js new file mode 100644 index 0000000..0dc299a --- /dev/null +++ b/src/node_modules/es-abstract/2020/SameValueNonNumeric.js @@ -0,0 +1,21 @@ +'use strict'; + +var GetIntrinsic = require('../GetIntrinsic'); + +var $TypeError = GetIntrinsic('%TypeError%'); + +var SameValue = require('./SameValue'); +var Type = require('./Type'); + +// https://tc39.es/ecma262/2020/#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); +}; |