Added test to ensure that release notes are parsed properly Updated to latest dependencies to fix security vulnerability Updated GH Actions Workflow to run test before updating tag Updated README.md to reflect proper whatsnew documentation.
31 lines
852 B
JavaScript
31 lines
852 B
JavaScript
'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); // will throw if not a symbol
|
|
|
|
if (getInferredName) {
|
|
var name = getInferredName(symbol);
|
|
if (name === '') { return; }
|
|
// eslint-disable-next-line consistent-return
|
|
return name.slice(1, -1); // name.slice('['.length, -']'.length);
|
|
}
|
|
|
|
var desc = str.slice(7, -1); // str.slice('Symbol('.length, -')'.length);
|
|
if (desc) {
|
|
// eslint-disable-next-line consistent-return
|
|
return desc;
|
|
}
|
|
};
|