Code coverage report for 6to5/polyfill.js

Statements: 80.95% (17 / 21)      Branches: 75% (6 / 8)      Functions: 66.67% (2 / 3)      Lines: 85% (17 / 20)      Ignored: none     

All files » 6to5/ » polyfill.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38    1 3     1 4 4         1 1     1 1       1 1 1   1   1 1 1   1          
/* jshint newcap: false */
 
var ensureSymbol = function (key) {
  Symbol[key] = Symbol[key] || Symbol();
};
 
var ensureProto = function (Constructor, key, val) {
  var proto = Constructor.prototype;
  proto[key] = proto[key] || val;
};
 
//
 
Eif (typeof Symbol === "undefined") {
  require("es6-symbol/implement");
}
 
require("es6-shim");
require("./transformation/transformers/es6-generators/runtime");
 
// Abstract references
 
ensureSymbol("referenceGet");
ensureSymbol("referenceSet");
ensureSymbol("referenceDelete");
 
ensureProto(Function, Symbol.referenceGet, function () { return this; });
 
ensureProto(Map, Symbol.referenceGet, Map.prototype.get);
ensureProto(Map, Symbol.referenceSet, Map.prototype.set);
ensureProto(Map, Symbol.referenceDelete, Map.prototype.delete);
 
Iif (global.WeakMap) {
  ensureProto(WeakMap, Symbol.referenceGet, WeakMap.prototype.get);
  ensureProto(WeakMap, Symbol.referenceSet, WeakMap.prototype.set);
  ensureProto(WeakMap, Symbol.referenceDelete, WeakMap.prototype.delete);
}