Files
ueblueprint/js/MultiKeyMap.js
barsdeveloper 42615b93f8 Various fixes
2022-03-19 14:46:53 +01:00

33 lines
610 B
JavaScript

import Utility from "./Utility"
/**
* @template Key
* @template Value
*/
export default class MultiKeyWeakMap {
map = new WeakMap()
constructor() {
return new Proxy(this.map, this)
}
/**
* @param {WeakMap} target
* @param {Key} p
* @param {*} receiver
* @returns {Value}
*/
get(target, p, receiver) {
return Utility.objectGet(target, p)
}
/**
* @param {WeakMap} target
* @param {Key} p
* @param {Value} value
*/
set(target, p, value) {
return Utility.objectSet(target, p, value, true, WeakMap)
}
}