devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
55 lines (54 loc) • 1.68 kB
JavaScript
/**
* DevExtreme (cjs/core/polyfills/weak_map.js)
* Version: 21.1.4
* Build date: Mon Jun 21 2021
*
* Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
;
exports.default = void 0;
var _array = require("../utils/array");
var _window = require("../utils/window");
var weakMap = (0, _window.hasWindow)() ? (0, _window.getWindow)().WeakMap : WeakMap;
if (!weakMap) {
weakMap = function() {
var keys = [];
var values = [];
this.set = function(key, value) {
var index = (0, _array.inArray)(key, keys);
if (-1 === index) {
keys.push(key);
values.push(value)
} else {
values[index] = value
}
};
this.get = function(key) {
var index = (0, _array.inArray)(key, keys);
if (-1 === index) {
return
}
return values[index]
};
this.has = function(key) {
var index = (0, _array.inArray)(key, keys);
if (-1 === index) {
return false
}
return true
};
this.delete = function(key) {
var index = (0, _array.inArray)(key, keys);
if (-1 === index) {
return
}
keys.splice(index, 1);
values.splice(index, 1)
}
}
}
var _default = weakMap;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default;