mirror of
https://github.com/musix-org/musix-oss
synced 2024-12-23 22:33:17 +00:00
18 lines
752 B
JavaScript
18 lines
752 B
JavaScript
|
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)) {
|
||
|
if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];
|
||
|
else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
|
||
|
} return WellKnownSymbolsStore[name];
|
||
|
};
|