Spaces:
Configuration error
Configuration error
; | |
var toStr = Object.prototype.toString; | |
var hasSymbols = require('has-symbols')(); | |
if (hasSymbols) { | |
var symToStr = Symbol.prototype.toString; | |
var symStringRegex = /^Symbol\(.*\)$/; | |
var isSymbolObject = function isRealSymbolObject(value) { | |
if (typeof value.valueOf() !== 'symbol') { | |
return false; | |
} | |
return symStringRegex.test(symToStr.call(value)); | |
}; | |
module.exports = function isSymbol(value) { | |
if (typeof value === 'symbol') { | |
return true; | |
} | |
if (toStr.call(value) !== '[object Symbol]') { | |
return false; | |
} | |
try { | |
return isSymbolObject(value); | |
} catch (e) { | |
return false; | |
} | |
}; | |
} else { | |
module.exports = function isSymbol(value) { | |
// this environment does not support Symbols. | |
return false && value; | |
}; | |
} | |