JSFiddle - React, Tailwind, and code Playground

by João Vitor Scheuermann

JavaScript

class Node {
  constructor(obj, NQ) {
    this.NQ = NQ;
    this.id = obj.id;

    setTimeout(() => {
      NQ.remove(this);
    }, 1000)
  }

  selfDestruct() {
    this.NQ.remove(this);
  }
}

class NodeQuerry {

  constructor() {
    this.__querry = new Object();
  }

  add(obj) {
    this.__querry[obj.id] = new Node(obj, this);
  }

  remove(reference) {
    this.__querry[reference.id] = null;
    delete this.__querry[reference.id];
  }
}


let teste = new NodeQuerry();

teste.add({
  id: 'a'
})

console.log(teste.__querry)
  //teste.__querry['a'].selfDestruct()
setTimeout(() => {
  console.log(teste.__querry)
}, 1500)