text: 'use strict';
  
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  
  var _ParserGenerator = require('./ParserGenerator');
  
  var _ParserGenerator2 = _interopRequireDefault(_ParserGenerator);
  
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  
  exports.default = validators => {
    return (0, _ParserGenerator2.default)({
      title: {
        required: true,
        type: String,
        validator: validators.title
      },
      year: {
        required: true,
        type: Number,
        validator: validators.year
      },
      month: {
        required: false,
        type: Number,
        validator: validators.month
      },
      author: {
        required: true,
        type: Object,
        validator: validators.authorWithAtLeastOneLink
      },
      url: {
        required: false,
        type: String,
        validator: validators.url
      },
      keyword: {
        required: false,
        type: Array,
        validator: validators.keyword
      },
      template: {
        required: false,
        type: String,
        validator: validators.template
      }
    });
  };
  
  module.exports = exports['default'];