Browse Source

Stop relying on variable hoisting (#8380)

Only declare the variable once in this scope, instead of declaring them multiple times in the same scope.

This fixes #8318, even though it might technically be a shortcoming in Rollup.
main
Linus Unnebäck 8 years ago
committed by Dan Abramov
parent
commit
cdca1edf90
  1. 31
      js/react.js

31
js/react.js

@ -1351,30 +1351,31 @@ typeof Set === 'function' && isNative(Set) &&
// Set.prototype.keys // Set.prototype.keys
Set.prototype != null && typeof Set.prototype.keys === 'function' && isNative(Set.prototype.keys); Set.prototype != null && typeof Set.prototype.keys === 'function' && isNative(Set.prototype.keys);
var setItem, getItem, removeItem, getItemIDs, addRoot, removeRoot, getRootIDs;
if (canUseCollections) { if (canUseCollections) {
var itemMap = new Map(); var itemMap = new Map();
var rootIDSet = new Set(); var rootIDSet = new Set();
var setItem = function (id, item) { setItem = function (id, item) {
itemMap.set(id, item); itemMap.set(id, item);
}; };
var getItem = function (id) { getItem = function (id) {
return itemMap.get(id); return itemMap.get(id);
}; };
var removeItem = function (id) { removeItem = function (id) {
itemMap['delete'](id); itemMap['delete'](id);
}; };
var getItemIDs = function () { getItemIDs = function () {
return Array.from(itemMap.keys()); return Array.from(itemMap.keys());
}; };
var addRoot = function (id) { addRoot = function (id) {
rootIDSet.add(id); rootIDSet.add(id);
}; };
var removeRoot = function (id) { removeRoot = function (id) {
rootIDSet['delete'](id); rootIDSet['delete'](id);
}; };
var getRootIDs = function () { getRootIDs = function () {
return Array.from(rootIDSet.keys()); return Array.from(rootIDSet.keys());
}; };
} else { } else {
@ -1390,31 +1391,31 @@ if (canUseCollections) {
return parseInt(key.substr(1), 10); return parseInt(key.substr(1), 10);
}; };
var setItem = function (id, item) { setItem = function (id, item) {
var key = getKeyFromID(id); var key = getKeyFromID(id);
itemByKey[key] = item; itemByKey[key] = item;
}; };
var getItem = function (id) { getItem = function (id) {
var key = getKeyFromID(id); var key = getKeyFromID(id);
return itemByKey[key]; return itemByKey[key];
}; };
var removeItem = function (id) { removeItem = function (id) {
var key = getKeyFromID(id); var key = getKeyFromID(id);
delete itemByKey[key]; delete itemByKey[key];
}; };
var getItemIDs = function () { getItemIDs = function () {
return Object.keys(itemByKey).map(getIDFromKey); return Object.keys(itemByKey).map(getIDFromKey);
}; };
var addRoot = function (id) { addRoot = function (id) {
var key = getKeyFromID(id); var key = getKeyFromID(id);
rootByKey[key] = true; rootByKey[key] = true;
}; };
var removeRoot = function (id) { removeRoot = function (id) {
var key = getKeyFromID(id); var key = getKeyFromID(id);
delete rootByKey[key]; delete rootByKey[key];
}; };
var getRootIDs = function () { getRootIDs = function () {
return Object.keys(rootByKey).map(getIDFromKey); return Object.keys(rootByKey).map(getIDFromKey);
}; };
} }
@ -3745,4 +3746,4 @@ module.exports = shouldUseNative() ? Object.assign : function (target, source) {
}; };
},{}]},{},[18])(18) },{}]},{},[18])(18)
}); });

Loading…
Cancel
Save