123456789101112131415161718192021222324252627282930 |
- 'use strict';
-
- var GetIntrinsic = require('../GetIntrinsic');
-
- var callBound = require('./callBound');
-
- var $SyntaxError = GetIntrinsic('%SyntaxError%');
- var symToStr = callBound('Symbol.prototype.toString', true);
-
- var getInferredName = require('./getInferredName');
-
- module.exports = function getSymbolDescription(symbol) {
- if (!symToStr) {
- throw new $SyntaxError('Symbols are not supported in this environment');
- }
- var str = symToStr(symbol);
-
- if (getInferredName) {
- var name = getInferredName(symbol);
- if (name === '') { return; }
-
- return name.slice(1, -1);
- }
-
- var desc = str.slice(7, -1);
- if (desc) {
-
- return desc;
- }
- };
|