release<N extends Node> method

void release<N extends Node>(
  1. N node
)

Implementation

void release<N extends Node>(N node) {
  final key = node.runtimeKey;
  if (!_refCounts.containsKey(key)) return;

  final current = _refCounts[key]! - 1;
  if (current <= 0) {
    _refCounts.remove(key);
    _nodes.remove(key);
    node.dispose();
  } else {
    _refCounts[key] = current;
  }
}