Show More
Commit Description:
merge
Commit Description:
merge
References:
File last commit:
Show/Diff file:
Action:
node_modules/es6-symbol/is-implemented.js
| 20 lines
| 548 B
| application/javascript
| JavascriptLexer
|
r789 | "use strict"; | |||
var global = require("ext/global-this") | ||||
, validTypes = { object: true, symbol: true }; | ||||
module.exports = function () { | ||||
var Symbol = global.Symbol; | ||||
var symbol; | ||||
if (typeof Symbol !== "function") return false; | ||||
symbol = Symbol("test symbol"); | ||||
try { String(symbol); } | ||||
catch (e) { return false; } | ||||
// Return 'true' also for polyfills | ||||
if (!validTypes[typeof Symbol.iterator]) return false; | ||||
if (!validTypes[typeof Symbol.toPrimitive]) return false; | ||||
if (!validTypes[typeof Symbol.toStringTag]) return false; | ||||
return true; | ||||
}; | ||||