UNPKG

dependency-cruiser

Version:

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

26 lines (20 loc) 850 B
import Ajv from "ajv"; import { assertFormatOptionsValid } from "./options/assert-validity.mjs"; import { normalizeFormatOptions } from "./options/normalize.mjs"; import reportWrap from "./report-wrap.mjs"; import cruiseResultSchema from "#cruise-result-schema"; 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); assertFormatOptionsValid(lFormatOptions); validateResultAgainstSchema(pResult); return await reportWrap(pResult, lFormatOptions); }