123456789101112131415161718192021 |
- 'use strict';
- var call = require('../internals/function-call');
- var getBuiltIn = require('../internals/get-built-in');
- var wellKnownSymbol = require('../internals/well-known-symbol');
- var defineBuiltIn = require('../internals/define-built-in');
-
- 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
- defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) {
- return call(valueOf, this);
- }, { arity: 1 });
- }
- };
|