esnext.symbol.is-registered.js 599 B

12345678910111213141516171819
  1. var $ = require('../internals/export');
  2. var getBuiltIn = require('../internals/get-built-in');
  3. var uncurryThis = require('../internals/function-uncurry-this');
  4. var Symbol = getBuiltIn('Symbol');
  5. var keyFor = Symbol.keyFor;
  6. var thisSymbolValue = uncurryThis(Symbol.prototype.valueOf);
  7. // `Symbol.isRegistered` method
  8. // https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregistered
  9. $({ target: 'Symbol', stat: true }, {
  10. isRegistered: function isRegistered(value) {
  11. try {
  12. return keyFor(thisSymbolValue(value)) !== undefined;
  13. } catch (error) {
  14. return false;
  15. }
  16. }
  17. });