archiver
Version:
a streaming interface for archive generation
38 lines (34 loc) • 1.4 kB
JavaScript
import util from "util";
const ERROR_CODES = {
ABORTED: "archive was aborted",
DIRECTORYDIRPATHREQUIRED:
"diretory dirpath argument must be a non-empty string value",
DIRECTORYFUNCTIONINVALIDDATA:
"invalid data returned by directory custom data function",
ENTRYNAMEREQUIRED: "entry name must be a non-empty string value",
FILEFILEPATHREQUIRED:
"file filepath argument must be a non-empty string value",
FINALIZING: "archive already finalizing",
QUEUECLOSED: "queue closed",
NOENDMETHOD: "no suitable finalize/end method defined by module",
DIRECTORYNOTSUPPORTED: "support for directory entries not defined by module",
FORMATSET: "archive format already set",
INPUTSTEAMBUFFERREQUIRED:
"input source must be valid Stream or Buffer instance",
MODULESET: "module already set",
SYMLINKNOTSUPPORTED: "support for symlink entries not defined by module",
SYMLINKFILEPATHREQUIRED:
"symlink filepath argument must be a non-empty string value",
SYMLINKTARGETREQUIRED:
"symlink target argument must be a non-empty string value",
ENTRYNOTSUPPORTED: "entry not supported",
};
function ArchiverError(code, data) {
Error.captureStackTrace(this, this.constructor);
//this.name = this.constructor.name;
this.message = ERROR_CODES[code] || code;
this.code = code;
this.data = data;
}
util.inherits(ArchiverError, Error);
export { ArchiverError };