mirror of
https://github.com/barsdeveloper/ueblueprint.git
synced 2026-02-04 08:50:33 +08:00
33 lines
610 B
JavaScript
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)
|
|
}
|
|
} |