unregister<T extends Object> method

bool unregister<T extends Object>([
  1. String? id
])

Removes a builder function from _instancesByKey.

Returns true when instance has been unregistered.

Implementation

bool unregister<T extends Object>([String? id]) {
  final instanceKey = ReactterInstance.generateKey<T?>(id);
  var reactterInstance = _instancesByKey[instanceKey];

  if (reactterInstance == null) {
    reactterInstance = ReactterInstance<T>(id);
    Reactter.log('Instance "$reactterInstance" don\'t exist.');
    return false;
  }

  _removeInstance<T>(reactterInstance);

  Reactter.emit(reactterInstance, Lifecycle.unregistered);
  Reactter.dispose(reactterInstance);

  _instancesByKey.remove(instanceKey);

  Reactter.log('Instance "$reactterInstance" has been unregistered.');
  return true;
}