createInternalFailure<T> function
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,
),
);
}
};
}