1 | 'use strict';
|
2 | var call = require('../internals/function-call');
|
3 | var getBuiltIn = require('../internals/get-built-in');
|
4 | var wellKnownSymbol = require('../internals/well-known-symbol');
|
5 | var defineBuiltIn = require('../internals/define-built-in');
|
6 |
|
7 | module.exports = function () {
|
8 | var Symbol = getBuiltIn('Symbol');
|
9 | var SymbolPrototype = Symbol && Symbol.prototype;
|
10 | var valueOf = SymbolPrototype && SymbolPrototype.valueOf;
|
11 | var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
|
12 |
|
13 | if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) {
|
14 |
|
15 |
|
16 |
|
17 | defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) {
|
18 | return call(valueOf, this);
|
19 | }, { arity: 1 });
|
20 | }
|
21 | };
|