12345678910111213141516171819 |
- 'use strict';
- var callBound = require('call-bind/callBound');
- var $SymbolValueOf = callBound('Symbol.prototype.valueOf', true);
- var Type = require('./Type');
- // https://262.ecma-international.org/9.0/#sec-thissymbolvalue
- module.exports = function thisSymbolValue(value) {
- if (!$SymbolValueOf) {
- throw new SyntaxError('Symbols are not supported; thisSymbolValue requires that `value` be a Symbol or a Symbol object');
- }
- if (Type(value) === 'Symbol') {
- return value;
- }
- return $SymbolValueOf(value);
- };
|