UNPKG

@knapsack/app

Version:

Build Design Systems with Knapsack

40 lines 1.39 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.validateSpec = validateSpec; const schema_utils_1 = require("@knapsack/schema-utils"); const schemaKsTemplateSpecSlots_json_1 = __importDefault(require("@knapsack/types/json-schemas/schemaKsTemplateSpecSlots.json")); function validateSpec(spec) { let ok = true; const msgs = []; if (spec?.props) { const result = (0, schema_utils_1.validateSchema)(spec.props); if (!result.ok) { ok = false; msgs.push('Invalid "spec.props":'); msgs.push(result.message); } } if (spec?.slots) { const result = (0, schema_utils_1.validateDataAgainstSchema)(schemaKsTemplateSpecSlots_json_1.default, spec.slots); if (!result.ok) { ok = false; msgs.push('Invalid "spec.slots":'); msgs.push(result.message); if (result.errors) { result.errors.forEach((e) => { if (!e.message) return; msgs.push(e.message); }); } } } return { ok, message: msgs.join('\n'), }; } //# sourceMappingURL=validate-spec.js.map