1234567891011121314151617181920 |
- var call = require('../internals/function-call');
- var getBuiltIn = require('../internals/get-built-in');
- var wellKnownSymbol = require('../internals/well-known-symbol');
- var redefine = require('../internals/redefine');
- module.exports = function () {
- var Symbol = getBuiltIn('Symbol');
- var SymbolPrototype = Symbol && Symbol.prototype;
- var valueOf = SymbolPrototype && SymbolPrototype.valueOf;
- var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
- if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) {
- // `Symbol.prototype[@@toPrimitive]` method
- // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive
- // eslint-disable-next-line no-unused-vars -- required for .length
- redefine(SymbolPrototype, TO_PRIMITIVE, function (hint) {
- return call(valueOf, this);
- });
- }
- };
|