dispose method

  1. @override
void dispose()
override

Implementation

@override
void dispose() {
  _bag.entries.forEach((pair) {
    if (pair.value is Disposable) {
      pair.value.dispose();
    } else if (pair.value is StreamSubscription) {
      pair.value.cancel();
    } else if (pair.value is EventSink) {
      pair.value.close();
    } else if (pair.value is StreamSink) {
      pair.value.close();
    } else {
      additionalDisposer?.call(pair.value);
    }

    log('${pair.key} : ${pair.value.runtimeType.toString()}\'s instance has been released.');
  });
  _bag.clear();
}