function WebGLProperties() { let properties = new WeakMap(); function get(object) { let map = properties.get(object); if (map === undefined) { map = {}; properties.set(object, map); } return map; } function remove(object) { properties.delete(object); } function update(object, key, value) { properties.get(object)[key] = value; } function dispose() { properties = new WeakMap(); } return { get: get, remove: remove, update: update, dispose: dispose, }; } export { WebGLProperties };