NodeCache.js 426 B

123456789101112131415161718192021222324252627282930313233343536
  1. let id = 0;
  2. class NodeCache {
  3. constructor( parent = null ) {
  4. this.id = id ++;
  5. this.nodesData = new WeakMap();
  6. this.parent = parent;
  7. }
  8. getData( node ) {
  9. let data = this.nodesData.get( node );
  10. if ( data === undefined && this.parent !== null ) {
  11. data = this.parent.getData( node );
  12. }
  13. return data;
  14. }
  15. setData( node, data ) {
  16. this.nodesData.set( node, data );
  17. }
  18. }
  19. export default NodeCache;