snapshot method
Implementation
NeuronDebugSnapshot snapshot() {
final signals = <String, dynamic>{};
final computed = <String, dynamic>{};
for (final entry in _notifiers.values) {
final data = entry.toJson();
if (entry.kind == 'computed') {
computed[entry.id] = data;
} else {
signals[entry.id] = data;
}
}
return NeuronDebugSnapshot(
signals: signals,
computed: computed,
controllers: _controllers.values.map((c) => c.toJson()).toList(),
middlewares: List<Map<String, dynamic>>.from(_middlewares),
history: _history.map((e) => e.toJson()).toList(),
perSignalHistory: {
for (final entry in _perSignalHistory.entries)
entry.key: entry.value.map((e) => e.toJson()).toList(),
},
metrics: metricsProvider?.call() ?? const {},
timestamp: DateTime.now().millisecondsSinceEpoch,
);
}