Replace our WeakMap
polyfill with the one from core-js
Since we're already using core-js elsewhere in `compatibility.js`, we can reduce the amount of code we need to maintain ourselves. https://github.com/zloirock/core-js#weakmap
This commit is contained in:
parent
5ad945f462
commit
2f32131601
@ -1195,35 +1195,7 @@ PDFJS.compatibilityChecked = true;
|
|||||||
if (globalScope.WeakMap) {
|
if (globalScope.WeakMap) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
globalScope.WeakMap = require('core-js/fn/weak-map');
|
||||||
var id = 0;
|
|
||||||
function WeakMap() {
|
|
||||||
this.id = '$weakmap' + (id++);
|
|
||||||
}
|
|
||||||
WeakMap.prototype = {
|
|
||||||
has(obj) {
|
|
||||||
if ((typeof obj !== 'object' && typeof obj !== 'function') ||
|
|
||||||
obj === null) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return !!Object.getOwnPropertyDescriptor(obj, this.id);
|
|
||||||
},
|
|
||||||
get(obj) {
|
|
||||||
return this.has(obj) ? obj[this.id] : undefined;
|
|
||||||
},
|
|
||||||
set(obj, value) {
|
|
||||||
Object.defineProperty(obj, this.id, {
|
|
||||||
value,
|
|
||||||
enumerable: false,
|
|
||||||
configurable: true,
|
|
||||||
});
|
|
||||||
},
|
|
||||||
delete(obj) {
|
|
||||||
delete obj[this.id];
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
globalScope.WeakMap = WeakMap;
|
|
||||||
})();
|
})();
|
||||||
|
|
||||||
// Polyfill from https://github.com/Polymer/URL
|
// Polyfill from https://github.com/Polymer/URL
|
||||||
|
Loading…
Reference in New Issue
Block a user