preact
This commit is contained in:
parent
6acf267d48
commit
b7614eb3f8
4794 changed files with 1280808 additions and 1546 deletions
59
frontend/node_modules/three/examples/jsm/renderers/common/ChainMap.js
generated
vendored
Normal file
59
frontend/node_modules/three/examples/jsm/renderers/common/ChainMap.js
generated
vendored
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
export default class ChainMap {
|
||||
|
||||
constructor() {
|
||||
|
||||
this.weakMap = new WeakMap();
|
||||
|
||||
}
|
||||
|
||||
get( keys ) {
|
||||
|
||||
let map = this.weakMap;
|
||||
|
||||
for ( let i = 0; i < keys.length; i ++ ) {
|
||||
|
||||
map = map.get( keys[ i ] );
|
||||
|
||||
if ( map === undefined ) return undefined;
|
||||
|
||||
}
|
||||
|
||||
return map.get( keys[ keys.length - 1 ] );
|
||||
|
||||
}
|
||||
|
||||
set( keys, value ) {
|
||||
|
||||
let map = this.weakMap;
|
||||
|
||||
for ( let i = 0; i < keys.length; i ++ ) {
|
||||
|
||||
const key = keys[ i ];
|
||||
|
||||
if ( map.has( key ) === false ) map.set( key, new WeakMap() );
|
||||
|
||||
map = map.get( key );
|
||||
|
||||
}
|
||||
|
||||
return map.set( keys[ keys.length - 1 ], value );
|
||||
|
||||
}
|
||||
|
||||
delete( keys ) {
|
||||
|
||||
let map = this.weakMap;
|
||||
|
||||
for ( let i = 0; i < keys.length; i ++ ) {
|
||||
|
||||
map = map.get( keys[ i ] );
|
||||
|
||||
if ( map === undefined ) return false;
|
||||
|
||||
}
|
||||
|
||||
return map.delete( keys[ keys.length - 1 ] );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue