Various fixes

This commit is contained in:
barsdeveloper
2022-03-19 14:46:53 +01:00
parent 391a537a78
commit 42615b93f8
25 changed files with 267 additions and 131 deletions

33
js/MultiKeyMap.js Normal file
View File

@@ -0,0 +1,33 @@
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)
}
}