toDebugMap static method

Map<String, dynamic> toDebugMap(
  1. ZenScope scope
)

Get comprehensive debugging information about a scope Perfect for DevTools integration or debug logs

Implementation

static Map<String, dynamic> toDebugMap(ZenScope scope) {
  final dependencies = scope.getAllDependencies();

  return {
    'scopeInfo': {
      'name': scope.name ?? 'unnamed',
      'id': scope.id,
      'disposed': scope.isDisposed,
      'hasParent': scope.parent != null,
      'parentName': scope.parent?.name,
      'childCount': scope.childScopes.length,
    },
    'dependencies': {
      'totalDependencies': dependencies.length,
    },
    'registeredTypes':
        getRegisteredTypes(scope).map((t) => t.toString()).toList(),
    'children': scope.childScopes
        .map((child) => {
              'name': child.name ?? 'unnamed',
              'id': child.id,
              'dependencyCount': child.getAllDependencies().length,
            })
        .toList(),
  };
}