dumpContainer method

Map<String, dynamic> dumpContainer()

Dumps diagnostic metadata about all registered bindings and overrides in this container.

Returns a map containing counts, registered types, binding kinds (transient, singleton, value), instantiation status for singletons, active overrides, and whether a parent container exists.

final diagnostics = container.dumpContainer();
print('Container state: $diagnostics');

Implementation

Map<String, dynamic> dumpContainer() {
  final bindingsList = <Map<String, dynamic>>[];
  _bindings.forEach((type, binding) {
    bindingsList.add({
      'type': type.toString(),
      'kind': binding.type.name,
      'isInstantiated': binding.instance != null,
    });
  });

  final overridesList = _overrides.keys.map((k) => k.toString()).toList();

  return {
    'bindingsCount': _bindings.length,
    'bindings': bindingsList,
    'overridesCount': _overrides.length,
    'overrides': overridesList,
    'hasParent': parent != null,
  };
}