2014-11-30 2 views
0

У меня есть файл package.json с пользовательским разделом. Так что, в принципе, что-то такое, как:Работа с пользовательским разделом в package.json

{ 
    "name": "foo", 
    "version": "0.0.1", 
    "dependencies": { ... }, 
    "mySection": { ... } 
} 

Доступ к этому пользовательский раздел довольно просто: requirepackage.json файл и получить доступ к mySection собственности. Вот и все.

Теперь, я хотел бы иметь некоторые проверки на это: Проверьте, что некоторые обязательные ключи на самом деле есть, значения по умолчанию для отсутствующих значений, которые определяются как необязательные проверки типов, ...

Какой самый простой способ достичь этого?

PS: Я знаю это, например. для проверки, я мог бы использовать схему JSON. Это, по крайней мере, частично разрешило бы мою проблему, но схемы JSON на самом деле не ... хорошо, легко можно использовать. Для многих случаев это ИМХО немного больше.

+0

Почему схема JSON не используется и не имеет размера? Он легко доступен из многих языков программирования и инструментов (http://json-schema.org/implementations.html), а спецификация действительно короткая (http://json-schema.org/latest/json-schema-validation. HTML). – jruizaranguren

ответ

0

Я считаю, что самый простой способ - просто написать небольшую функцию проверки, которая будет назначать значения по умолчанию и проверять недостающие свойства. Я предпочел бы это вместо того, чтобы добавлять какую-либо зависимость для простой простой задачи (если это так)

+0

Ну, если у вас был общий способ выполнения этой задачи (например, выделенный модуль), вы могли бы повторно использовать вещи. –

+0

Я действительно думаю, что это будет излишним. Я бы просто определил json с ожидаемыми свойствами, так как хотел бы, чтобы они отображались в 'mySection' и функции проверки значений. Все, что вам нужно, это простая рекурсивная функция для перемещения двух объектов (цель и проверка) и применения этих функций проверки на целевых функциях. Бам, простой и функциональный без каких-либо мусорных зависимостей. Затем вы можете придумать и опубликовать его как свой собственный модуль проверки мини-json. Активный участник –

Смежные вопросы