1
0
Files
world/book/node_modules/honkit/lib/parse/validateConfig.js
2025-05-12 05:38:44 +09:00

32 lines
1.2 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 jsonschema_1 = __importDefault(require("jsonschema"));
const json_schema_defaults_1 = __importDefault(require("json-schema-defaults"));
const configSchema_1 = __importDefault(require("../constants/configSchema"));
const error_1 = __importDefault(require("../utils/error"));
const mergeDefaults_1 = __importDefault(require("../utils/mergeDefaults"));
/**
Validate a book.json content
And return a mix with the default value
@param {Object} bookJson
@return {Object}
*/
function validateConfig(bookJson) {
const v = new jsonschema_1.default.Validator();
const result = v.validate(bookJson, configSchema_1.default, {
propertyName: "config"
});
// Throw error
if (result.errors.length > 0) {
throw new error_1.default.ConfigurationError(new Error(result.errors[0].stack));
}
// Insert default values
const defaults = (0, json_schema_defaults_1.default)(configSchema_1.default);
return (0, mergeDefaults_1.default)(bookJson, defaults);
}
exports.default = validateConfig;