devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
51 lines (50 loc) • 1.52 kB
JavaScript
/**
* DevExtreme (core/polyfills/weak_map.js)
* Version: 18.1.3
* Build date: Tue May 15 2018
*
* Copyright (c) 2012 - 2018 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
;
var inArray = require("../../core/utils/array").inArray,
windowUtils = require("../../core/utils/window"),
weakMap = windowUtils.hasWindow() ? windowUtils.getWindow().WeakMap : WeakMap;
if (!weakMap) {
weakMap = function() {
var keys = [],
values = [];
this.set = function(key, value) {
var index = inArray(key, keys);
if (index === -1) {
keys.push(key);
values.push(value)
} else {
values[index] = value
}
};
this.get = function(key) {
var index = inArray(key, keys);
if (index === -1) {
return
}
return values[index]
};
this.has = function(key) {
var index = inArray(key, keys);
if (index === -1) {
return false
}
return true
};
this.delete = function(key) {
var index = inArray(key, keys);
if (index === -1) {
return
}
keys.splice(index, 1);
values.splice(index, 1)
}
}
}
module.exports = weakMap;