saveSignal method

  1. @override
Future<void> saveSignal(
  1. WorkflowSignal signal
)
override

Persists a workflow signal.

Implementation

@override
Future<void> saveSignal(WorkflowSignal signal) async {
  final saved = signal.workflowSignalId != null
      ? signal
      : signal.copyWith(workflowSignalId: _nextSignalId++);

  final existingIndex = _signals.indexWhere(
    (s) => s.workflowSignalId == saved.workflowSignalId,
  );
  if (existingIndex >= 0) {
    _signals[existingIndex] = saved;
  } else {
    _signals.add(saved);
  }
}