can-symbol
Advanced tools
Comparing version
var QUnit = require('steal-qunit'); | ||
var canSymbol = require('can-symbol'); | ||
var clone = require('steal-clone'); | ||
@@ -32,1 +33,20 @@ QUnit.module('can-symbol'); | ||
}); | ||
QUnit.test("isSymbolLike with polyfill", function(assert) { | ||
var done = assert.async(); | ||
var origSymbol = window.Symbol; | ||
function FakeSymbol(key) { | ||
return { key: key }; | ||
} | ||
FakeSymbol.for = function() {}; | ||
window.Symbol = FakeSymbol; | ||
var loader = clone({}); | ||
loader.import("can-symbol") | ||
.then(function(canSymbol) { | ||
QUnit.notEqual(canSymbol, FakeSymbol, "uses OUR polyfill"); | ||
window.Symbol = origSymbol; | ||
done(); | ||
}); | ||
}); |
"use strict"; | ||
var namespace = require("can-namespace"); | ||
var supportsNativeSymbols = (function() { | ||
var symbolExists = typeof Symbol !== "undefined" && typeof Symbol.for === "function"; | ||
if (!symbolExists) { | ||
return false; | ||
} | ||
var symbol = Symbol("a symbol for testing symbols"); | ||
return typeof symbol === "symbol"; | ||
}()); | ||
var CanSymbol; | ||
if(typeof Symbol !== "undefined" && typeof Symbol.for === "function") { | ||
if(supportsNativeSymbols) { | ||
CanSymbol = Symbol; | ||
@@ -7,0 +18,0 @@ } else { |
{ | ||
"name": "can-symbol", | ||
"version": "1.6.3", | ||
"version": "1.6.4", | ||
"description": "Well known symbols used to detail how to operate on different objects", | ||
@@ -5,0 +5,0 @@ "homepage": "http://canjs.com", |
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
51599
0.1%175
16.67%0
-100%52
-1.89%