![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/dceprojects.corals.io/node_modules/es-abstract/2017/ |
'use strict'; var GetIntrinsic = require('get-intrinsic'); var $TypeError = GetIntrinsic('%TypeError%'); var Call = require('./Call'); var Get = require('./Get'); var IsCallable = require('./IsCallable'); var Type = require('./Type'); var inspect = require('object-inspect'); // https://262.ecma-international.org/8.0/#sec-ordinarytoprimitive module.exports = function OrdinaryToPrimitive(O, hint) { if (Type(O) !== 'Object') { throw new $TypeError('Assertion failed: Type(O) is not Object'); } if (/* Type(hint) !== 'String' || */ hint !== 'string' && hint !== 'number') { throw new $TypeError('Assertion failed: `hint` must be "string" or "number"'); } var methodNames = hint === 'string' ? ['toString', 'valueOf'] : ['valueOf', 'toString']; for (var i = 0; i < methodNames.length; i += 1) { var name = methodNames[i]; var method = Get(O, name); if (IsCallable(method)) { var result = Call(method, O); if (Type(result) !== 'Object') { return result; } } } throw new $TypeError('No primitive value for ' + inspect(O)); };