@zip.js/zip.js
    Preparing search index...

    Interface EntryError

    Represents an error raised while processing an archive or one of its entries, decorated with context.

    interface EntryError {
        corruptedEntry?: boolean;
        entryErrors?: EntryError[];
        entryId?: number;
        entryName?: string;
        exportedEntryNames?: string[];
        message: string;
        name: string;
        outputSize?: number;
        overlappingEntry?: Entry;
        reason?: string;
        stack?: string;
    }

    Hierarchy

    • Error
      • EntryError
    Index
    corruptedEntry?: boolean

    true if the zip file is corrupted because the entry data could not be written entirely.

    It is set on the error, so it is absent when the failure reason cannot carry it, i.e. when a stream is aborted or cancelled with a value that is not an object, or with a frozen one. ZipWriter#hasCorruptedEntries reports the same thing on the writer and is always set.

    entryErrors?: EntryError[]

    The other entries that also failed, when ZipDirectoryEntry#exportFileSystemHandle runs with concurrent set to true and more than one entry fails (filesystem API). The error it is set on is not repeated in the list, and failures raised deeper in the tree are flattened into it, so the list holds every failure of the export except this one.

    entryId?: number

    The id of the related ZipEntry (filesystem API).

    entryName?: string

    The name of the related ZipEntry, or of the related FileSystemHandle when importing one (filesystem API). Set by ZipDirectoryEntry#addFileSystemHandle and ZipDirectoryEntry#exportFileSystemHandle, which rethrow the original error rather than wrapping it, so its message stays comparable to the exported ERR_* constants.

    exportedEntryNames?: string[]

    The names of the files ZipDirectoryEntry#exportFileSystemHandle finished writing before it failed, relative to the exported entry (filesystem API). Directories are not listed. Every other file of the export is either missing or empty, so this is the only way to tell a file the export completed from one it created but never filled.

    message: string
    name: string
    outputSize?: number

    The number of bytes of the entry that reached the writer before the failure, set on the errors raised when a compression or decompression stream fails, i.e. on a corrupt entry, an invalid CRC32, a reader erroring mid-entry or an aborted signal.

    It is the counterpart of EntryError#corruptedEntry: the first says the entry is incomplete, this one says how much of it was written, counting the bytes the writer actually received rather than the bytes the codec produced. Like corruptedEntry it is absent when the failure reason cannot carry it, which does not affect the salvage described in ZipWriter#close: zip.js tracks the size of a failed entry on its own, so the offsets of the entries written afterwards stay correct whatever the reason a stream was aborted with.

    When a stream is aborted or cancelled, the reason the caller passed is what reaches the caller back, unchanged and with its class and its own properties intact whether or not the codec ran in a worker, and this property is set on that object. So aborting with an error of your own leaves that error carrying an outputSize afterwards, and aborting with a value that cannot take a new property, e.g. a frozen error or a value that is not an object, simply leaves it unannotated.

    overlappingEntry?: Entry

    The entry whose data overlaps the data of the entry being read, set on the ERR_OVERLAPPING_ENTRY error raised by ZipReaderOptions#checkOverlappingEntry. It is the only way to identify the other entry of the pair.

    reason?: string

    The ambiguity that was detected, set on the ERR_AMBIGUOUS_ARCHIVE error raised by GetEntriesOptions#strictness. See ERR_AMBIGUOUS_ARCHIVE for the values it takes.

    stack?: string