55 lines
		
	
	
		
			518 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			518 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| class DataMap {
 | |
| 
 | |
| 	constructor() {
 | |
| 
 | |
| 		this.data = new WeakMap();
 | |
| 
 | |
| 	}
 | |
| 
 | |
| 	get( object ) {
 | |
| 
 | |
| 		let map = this.data.get( object );
 | |
| 
 | |
| 		if ( map === undefined ) {
 | |
| 
 | |
| 			map = {};
 | |
| 			this.data.set( object, map );
 | |
| 
 | |
| 		}
 | |
| 
 | |
| 		return map;
 | |
| 
 | |
| 	}
 | |
| 
 | |
| 	delete( object ) {
 | |
| 
 | |
| 		let map;
 | |
| 
 | |
| 		if ( this.data.has( object ) ) {
 | |
| 
 | |
| 			map = this.data.get( object );
 | |
| 
 | |
| 			this.data.delete( object );
 | |
| 
 | |
| 		}
 | |
| 
 | |
| 		return map;
 | |
| 
 | |
| 	}
 | |
| 
 | |
| 	has( object ) {
 | |
| 
 | |
| 		return this.data.has( object );
 | |
| 
 | |
| 	}
 | |
| 
 | |
| 	dispose() {
 | |
| 
 | |
| 		this.data = new WeakMap();
 | |
| 
 | |
| 	}
 | |
| 
 | |
| }
 | |
| 
 | |
| export default DataMap;
 |