You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
548 B
20 lines
548 B
"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; |
|
};
|
|
|