Sha256: aa3d82ff6b44d808635bccd222e55363e00497f9e2faf94df0052de455a65bf3

Contents?: true

Size: 531 Bytes

Versions: 121

Compression:

Stored size: 531 Bytes

Contents

'use strict';

module.exports = function defFunc(ajv) {
  defFunc.definition = {
    type: 'object',
    macro: function (schema) {
      if (schema.length == 0) return true;
      if (schema.length == 1) return {required: schema};
      var schemas = schema.map(function (prop) {
        return {required: [prop]};
      });
      return {anyOf: schemas};
    },
    metaSchema: {
      type: 'array',
      items: {
        type: 'string'
      }
    }
  };

  ajv.addKeyword('anyRequired', defFunc.definition);
  return ajv;
};

Version data entries

121 entries across 71 versions & 10 rubygems

Version Path
govuk_publishing_components-17.4.0 node_modules/standard/node_modules/ajv-keywords/keywords/anyRequired.js
govuk_publishing_components-17.3.0 node_modules/standard/node_modules/ajv-keywords/keywords/anyRequired.js
govuk_publishing_components-17.2.0 node_modules/standard/node_modules/ajv-keywords/keywords/anyRequired.js
govuk_publishing_components-17.1.1 node_modules/standard/node_modules/ajv-keywords/keywords/anyRequired.js
govuk_publishing_components-17.1.0 node_modules/standard/node_modules/ajv-keywords/keywords/anyRequired.js
govuk_publishing_components-17.0.0 node_modules/standard/node_modules/ajv-keywords/keywords/anyRequired.js
govuk_publishing_components-16.29.0 node_modules/standard/node_modules/ajv-keywords/keywords/anyRequired.js
govuk_publishing_components-16.28.0 node_modules/standard/node_modules/ajv-keywords/keywords/anyRequired.js
govuk_publishing_components-16.27.1 node_modules/standard/node_modules/ajv-keywords/keywords/anyRequired.js
govuk_publishing_components-16.27.0 node_modules/standard/node_modules/ajv-keywords/keywords/anyRequired.js
govuk_publishing_components-16.26.0 node_modules/standard/node_modules/ajv-keywords/keywords/anyRequired.js
govuk_publishing_components-16.25.0 node_modules/standard/node_modules/ajv-keywords/keywords/anyRequired.js
govuk_publishing_components-16.24.0 node_modules/standard/node_modules/ajv-keywords/keywords/anyRequired.js
govuk_publishing_components-16.23.0 node_modules/standard/node_modules/ajv-keywords/keywords/anyRequired.js
govuk_publishing_components-16.22.0 node_modules/standard/node_modules/ajv-keywords/keywords/anyRequired.js
govuk_publishing_components-16.21.0 node_modules/standard/node_modules/ajv-keywords/keywords/anyRequired.js
govuk_publishing_components-16.20.1 node_modules/standard/node_modules/ajv-keywords/keywords/anyRequired.js
govuk_publishing_components-16.20.0 node_modules/standard/node_modules/ajv-keywords/keywords/anyRequired.js
govuk_publishing_components-16.19.0 node_modules/standard/node_modules/ajv-keywords/keywords/anyRequired.js
govuk_publishing_components-16.18.0 node_modules/standard/node_modules/ajv-keywords/keywords/anyRequired.js