Схема ajv с встраиванием - PullRequest
0 голосов
/ 09 июля 2020

Я хочу динамически изменять свою схему, поэтому мои json данные могут иметь разное количество чисел. Я делаю это с помощью ключевого слова vector в моей схеме. Я не думаю, что делаю свой код верным. Также как мне скомпилировать схему и после этого проверить данные и посмотреть, какие ошибки есть в данных, если они есть?

ajv = require("ajv")
schema = {
    'title' : 'playground',
    'type' : 'object',
    'properties' : {
        'vector' : {number : 3} //  3 in this case is how many nums I want
    },
    additionalProperties: false
}

ajv.addKeyword('vector', {
    type: 'object',
    inline: function (sch) {
        let numberOfX = sch["number"];
        let text = "";
        for (let i = 1; i < numberOfX; i++) {
            text += `num${i} : { type: 'number' },`;
        }
        console.log(text);
        return text
    }
});

jsonData = {"num1" : 23, "num2" : 344, "num3" : 3}
...