const _ = require("lodash"); const resolvePointer = require('./resolvePointer.cjs'); module.exports = (ajv) => ajv.addKeyword({ keyword: "maxSpells", validate: function validate( schema, data, _parent, { rootData, instancePath } ) { if (schema.class.$data) { schema.class = resolvePointer(rootData, instancePath, schema.class.$data); } if( schema.class !== 'magician' && schema.class?.generic !== 'magician' && data.length ) { validate.errors = [ { message: "non-magician can't have spells", }, ]; return false; } return true; }, $data: true, errors: true, });