Eazip
Concepts

Partial results and errors

Understand when Eazip keeps successful files, fails the whole job, or returns a recoverable error.

By default, one failed source does not discard the rest of a Local ZIP. Eazip skips that source and returns a partial result containing the files it could read.

What does a partial result contain?

const result = await createZip({ files: urls });

if (result.status === 'partial') {
  console.log(result.skippedCount);
  console.log(result.errors);
}

result.download();
  • status is completed or partial for a usable result.
  • skippedCount reports how many inputs were omitted.
  • errors describes individual Local failures when that detail is available.
  • The successful files remain downloadable.

When does the whole job fail?

A job fails instead of returning a partial result when:

  • failOnUrlError: true asks Eazip to stop on the first source failure;
  • every source fails and the ZIP would be empty;
  • the input is invalid;
  • the job is aborted; or
  • a fatal Local or Cloud error prevents a usable result.

Use fail-fast behavior only when an incomplete archive has no value to the reader.

What differs between Local and Cloud?

LocalCloud
Per-file errorsAvailable in result.errorsNot currently returned by the service
Skipped countDerived from the error listReported by the Cloud job
Partial downloadYesYes, when the service produces usable output

How should the UI respond?

  • Download the usable ZIP and show how many files were skipped.
  • Offer retry when the failure is likely temporary.
  • Show a blocking error only when there is no usable output.
  • Log technical details separately from the message shown to the reader.

React applications get this behavior through <EazipTray />. Custom interfaces can branch on result.status or a ZipJob snapshot.

See the Core Reference for exact error classes and progress, cancel, and retry for UI code.