/
drndsv
/
react
Обзор
Документация
Войти
/
drndsv
/
react
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
node_modules/get-symbol-description/index.js
43 строки
1 KB
drndsv
Initial commit
14 апр 2025, 22:53
14 апр 2025, 22:53
641ac8a
Код
Авторство
О чём код?
'use strict'; var GetIntrinsic = require('get-intrinsic'); var callBound = require('call-bind/callBound'); var $SyntaxError = GetIntrinsic('%SyntaxError%'); var getGlobalSymbolDescription = GetIntrinsic('%Symbol.keyFor%', true); var thisSymbolValue = callBound('%Symbol.prototype.valueOf%', true); var symToStr = callBound('Symbol.prototype.toString', true); var getInferredName = require('./getInferredName'); /* eslint-disable consistent-return */ module.exports = callBound('%Symbol.prototype.description%', true) || function getSymbolDescription(symbol) { if (!thisSymbolValue) { throw new $SyntaxError('Symbols are not supported in this environment'); } // will throw if not a symbol primitive or wrapper object var sym = thisSymbolValue(symbol); if (getInferredName) { var name = getInferredName(sym); if (name === '') { return; } return name.slice(1, -1); // name.slice('['.length, -']'.length); } var desc; if (getGlobalSymbolDescription) { desc = getGlobalSymbolDescription(sym); if (typeof desc === 'string') { return desc; } } desc = symToStr(sym).slice(7, -1); // str.slice('Symbol('.length, -')'.length); if (desc) { return desc; } };