build method

Implementation

CascadeAnalytics build() {
  final now = DateTime.now();
  final startedAt = _startedAt ?? now;
  final completedAt = _completedAt ?? (_startedAt != null ? now : startedAt);
  final totalDuration = _startedAt != null && _completedAt != null ? completedAt.difference(startedAt) : Duration.zero;

  return CascadeAnalytics(
    totalDuration: totalDuration,
    queriesExecuted: _queriesExecuted,
    relationshipsTraversed: _relationshipsTraversed,
    entitiesProcessedByType: Map.unmodifiable(_entitiesProcessedByType),
    entitiesDeletedByType: Map.unmodifiable(_entitiesDeletedByType),
    restrictViolations: _restrictViolations,
    setNullOperations: _setNullOperations,
    errorsEncountered: _errorsEncountered,
    wasDryRun: _wasDryRun,
    startedAt: startedAt,
    completedAt: completedAt,
  );
}