89 lines
2.8 KiB
JavaScript
89 lines
2.8 KiB
JavaScript
"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
|
|
};
|