From d40187b0da616dfb9d9dfb4e70fb37d8b8b68107 Mon Sep 17 00:00:00 2001 From: Nathan Bierema Date: Sun, 26 May 2024 19:16:37 -0400 Subject: [PATCH] WebGPURenderer: ChainMap - Clean up. (#28492) --- examples/jsm/renderers/common/ChainMap.js | 66 +++++++---------------- 1 file changed, 18 insertions(+), 48 deletions(-) diff --git a/examples/jsm/renderers/common/ChainMap.js b/examples/jsm/renderers/common/ChainMap.js index 3e7648e08d2126..5a3bbface0e481 100644 --- a/examples/jsm/renderers/common/ChainMap.js +++ b/examples/jsm/renderers/common/ChainMap.js @@ -8,81 +8,51 @@ export default class ChainMap { get( keys ) { - if ( Array.isArray( keys ) ) { + let map = this.weakMap; - let map = this.weakMap; + for ( let i = 0; i < keys.length; i ++ ) { - for ( let i = 0; i < keys.length; i ++ ) { + map = map.get( keys[ i ] ); - map = map.get( keys[ i ] ); - - if ( map === undefined ) return undefined; - - } - - return map.get( keys[ keys.length - 1 ] ); - - } else { - - return super.get( keys ); + if ( map === undefined ) return undefined; } + return map.get( keys[ keys.length - 1 ] ); + } set( keys, value ) { - if ( Array.isArray( keys ) ) { - - 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() ); + let map = this.weakMap; - map = map.get( key ); + for ( let i = 0; i < keys.length; i ++ ) { - } + const key = keys[ i ]; - return map.set( keys[ keys.length - 1 ], value ); + if ( map.has( key ) === false ) map.set( key, new WeakMap() ); - } else { - - return super.set( keys, value ); + map = map.get( key ); } + return map.set( keys[ keys.length - 1 ], value ); + } delete( keys ) { - if ( Array.isArray( keys ) ) { - - let map = this.weakMap; - - for ( let i = 0; i < keys.length; i ++ ) { - - map = map.get( keys[ i ] ); + let map = this.weakMap; - if ( map === undefined ) return false; + for ( let i = 0; i < keys.length; i ++ ) { - } + map = map.get( keys[ i ] ); - return map.delete( keys[ keys.length - 1 ] ); - - } else { - - return super.delete( keys ); + if ( map === undefined ) return false; } - } - - dispose() { - - this.weakMap.clear(); + return map.delete( keys[ keys.length - 1 ] ); }