@antv/data-wizard
Version:
A js/ts library for data processing
35 lines (34 loc) • 831 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.get = exports.set = void 0;
/**
* Cache some statistics to improve performance
*/
var CACHES = new WeakMap();
/**
* cache the value for target and key
* @param target - target
* @param key - key
* @param value - value
*/
function set(target, key, value) {
// TODO: If target is object, the equal condition needs special handling
if (!CACHES.get(target)) {
CACHES.set(target, new Map());
}
CACHES.get(target).set(key, value);
return value;
}
exports.set = set;
/**
* get the cached value for target and key
* @param target - target
* @param key - key
*/
function get(target, key) {
var cache = CACHES.get(target);
if (!cache)
return undefined;
return cache.get(key);
}
exports.get = get;