"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const is_1 = __importDefault(require("is")); const typed_1 = __importDefault(require("error/typed")); const wrapped_1 = __importDefault(require("error/wrapped")); // Enforce as an Error object, and cleanup message function enforce(err) { if (is_1.default.string(err)) err = new Error(err); err.message = err.message.replace(/^Error: /, ""); return err; } // Random error wrappers during parsing/generation const ParsingError = (0, wrapped_1.default)({ message: "Parsing Error: {origMessage}", type: "parse" }); const OutputError = (0, wrapped_1.default)({ message: "Output Error: {origMessage}", type: "generate" }); // A file does not exists const FileNotFoundError = (0, typed_1.default)({ type: "file.not-found", message: 'No "{filename}" file (or is ignored)', filename: null }); // A file cannot be parsed const FileNotParsableError = (0, typed_1.default)({ type: "file.not-parsable", message: '"{filename}" file cannot be parsed', filename: null }); // A file is outside the scope const FileOutOfScopeError = (0, typed_1.default)({ type: "file.out-of-scope", message: '"{filename}" not in "{root}"', filename: null, root: null, code: "EACCESS" }); // A file is outside the scope const RequireInstallError = (0, typed_1.default)({ type: "install.required", message: '"{cmd}" is not installed.\n{install}', cmd: null, code: "ENOENT", install: "" }); // Error for nunjucks templates const TemplateError = (0, wrapped_1.default)({ message: 'Error compiling template "{filename}": {origMessage}', type: "template", filename: null }); // Error for nunjucks templates const PluginError = (0, wrapped_1.default)({ message: 'Error with plugin "{plugin}": {origMessage}', type: "plugin", plugin: null }); // Error with the book's configuration const ConfigurationError = (0, wrapped_1.default)({ message: "Error with book's configuration: {origMessage}", type: "configuration" }); // Error during ebook generation const EbookError = (0, wrapped_1.default)({ message: "Error during ebook generation: {origMessage}\n{stdout}", type: "ebook", stdout: "" }); exports.default = { enforce: enforce, ParsingError: ParsingError, OutputError: OutputError, RequireInstallError: RequireInstallError, FileNotParsableError: FileNotParsableError, FileNotFoundError: FileNotFoundError, FileOutOfScopeError: FileOutOfScopeError, TemplateError: TemplateError, PluginError: PluginError, ConfigurationError: ConfigurationError, EbookError: EbookError };