createInternalFailure<T> function

Failure createInternalFailure<T>(
  1. ZipRequest<T> zipRequest,
  2. Completer<T> completer,
  3. int index
)

Creates an internal failure callback that completes the Completer with error. Captures stack trace for better error debugging.

Implementation

Failure createInternalFailure<T>(
  ZipRequest<T> zipRequest,
  Completer<T> completer,
  int index,
) {
  return (dynamic error) {
    // Complete the Completer with error if not already completed
    if (!completer.isCompleted) {
      // Capture stack trace if available
      final stackTrace = error is Error ? error.stackTrace : StackTrace.current;

      completer.completeError(
        ZipRequestError(
          index: index,
          tag: zipRequest.tag,
          error: error,
          stackTrace: stackTrace,
        ),
      );
    }
  };
}