cleanup method

  1. @override
Future<void> cleanup(
  1. Container container
)
override

Optional cleanup method called when container is disposed.

Use this method to perform any necessary cleanup operations such as closing connections or freeing resources.

Implementation

@override
Future<void> cleanup(Container container) async {
  final engine = _engine;
  final isRootContainer =
      engine != null && identical(container, engine.container);
  if (!isRootContainer) {
    return;
  }

  if (!container.has<EventManager>()) {
    return;
  }

  final eventManager = await container.make<EventManager>();
  eventManager.destroy();

  if (container.has<SignalHub>()) {
    final hub = container.get<SignalHub>();
    hub.dispose();
    container.remove<SignalHub>();
  }
}