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