UNPKG

dependency-cruiser

Version:

Validate and visualize dependencies. With your rules. JavaScript, TypeScript, CoffeeScript. ES6, CommonJS, AMD.

27 lines (21 loc) 895 B
import Ajv from "ajv"; import cruiseResultSchema from "../schema/cruise-result.schema.mjs"; import { validateFormatOptions } from "./options/validate.mjs"; import { normalizeFormatOptions } from "./options/normalize.mjs"; import reportWrap from "./report-wrap.mjs"; function validateResultAgainstSchema(pResult) { const ajv = new Ajv(); if (!ajv.validate(cruiseResultSchema, pResult)) { throw new Error( `The supplied dependency-cruiser result is not valid: ${ajv.errorsText()}.\n` ); } } /** @type {import("../../types/dependency-cruiser.js").format} */ export default async function format(pResult, pFormatOptions = {}) { const lFormatOptions = normalizeFormatOptions(pFormatOptions); validateFormatOptions(lFormatOptions); validateResultAgainstSchema(pResult); // eslint-disable-next-line no-return-await return await reportWrap(pResult, lFormatOptions); }