Lodash - глубокая проверка типов - PullRequest
0 голосов
/ 11 сентября 2018

Существует ли метод lodash (или хороший подход в простом javascript) для проверки вложенного объекта по определению схемы.

Например, учитывая объект, определяющий схему:

{ 
  profile: {
    application: {
      dates:{
        startDate: String,
        endDate: String
      },
      status: String,
      jobs: [{
        type: Number,
        title: String
      }]
    }
  }
}

Я хочу проверить тип этого объекта по определению:

{
  "profile": {
    "application": {
      "dates": {
        "startDate": "2011-09-20T15:00:00.000Z",
        "endDate": "2018-10-05T15:00:00.000Z"
      },
      "status": "PENDING",
      "jobs": [
        {
          "type": 5,
          "title": "Waiter"
        },
        {
          "type": 1,
          "title": "Engineer"
        },
        {
          "type": 33,
          "title": "Artist"
        },
      ]
    }
  }
}

1 Ответ

0 голосов
/ 11 сентября 2018

Если вы используете Node.js, как описывают ваши теги, вы можете использовать библиотеку проверки схемы, там есть несколько. Одним из примеров будет jsonschema .

Простой пример:

var Validator = require('jsonschema').Validator;
var v = new Validator();
var instance = 4;
var schema = {"type": "number"};
console.log(v.validate(instance, schema));
...