12345678910111213141516171819 |
- 'use strict';
- var globalThis = require('../internals/global-this');
- 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 Symbol = globalThis.Symbol;
- var WellKnownSymbolsStore = shared('wks');
- var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;
-
- module.exports = function (name) {
- if (!hasOwn(WellKnownSymbolsStore, name)) {
- WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)
- ? Symbol[name]
- : createWellKnownSymbol('Symbol.' + name);
- } return WellKnownSymbolsStore[name];
- };
|