| 123456789101112131415161718192021222324 | var global = require('../internals/global');var shared = require('../internals/shared');var hasOwn = require('../internals/has-own-property');var uid = require('../internals/uid');var NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');var USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');var WellKnownSymbolsStore = shared('wks');var Symbol = global.Symbol;var symbolFor = Symbol && Symbol['for'];var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;module.exports = function (name) {  if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {    var description = 'Symbol.' + name;    if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {      WellKnownSymbolsStore[name] = Symbol[name];    } else if (USE_SYMBOL_AS_UID && symbolFor) {      WellKnownSymbolsStore[name] = symbolFor(description);    } else {      WellKnownSymbolsStore[name] = createWellKnownSymbol(description);    }  } return WellKnownSymbolsStore[name];};
 |