in src/contexts/Stream/CircularLinkedList.js [98:118]
remove(data) {
const nodeToRemove = this.get(data);
if (!nodeToRemove) return;
if (this.compare(nodeToRemove.next, nodeToRemove)) {
this.head = undefined;
} else {
nodeToRemove.next.prev = nodeToRemove.prev;
nodeToRemove.prev.next = nodeToRemove.next;
}
if (this.compare(this.head, nodeToRemove)) {
this.head = nodeToRemove.next;
}
nodeToRemove.next = nodeToRemove.prev = null;
this.size--;
return nodeToRemove.data;
}