Eazip.js
EazipGitHub
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();
FieldMeaning
statuscompleted or partial for a usable result.
skippedCountHow many inputs were omitted.
errorsIndividual Local failures, when that detail is available.

The successful files stay downloadable either way.

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.

Choose fail-fast 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.

<EazipTray /> gives React applications this behavior already. Custom interfaces branch on result.status or a ZipJob snapshot.

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