| '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 }); | 
|   } | 
| }; |