Sha256: c8540b06ec80ba7ab9078d38c4818b82097a282159981f377fa283186cc64492

Contents?: true

Size: 1.02 KB

Versions: 111

Compression:

Stored size: 1.02 KB

Contents

'use strict';

var KEYWORDS = [
  'multipleOf',
  'maximum',
  'exclusiveMaximum',
  'minimum',
  'exclusiveMinimum',
  'maxLength',
  'minLength',
  'pattern',
  'additionalItems',
  'maxItems',
  'minItems',
  'uniqueItems',
  'maxProperties',
  'minProperties',
  'required',
  'additionalProperties',
  'enum',
  'format',
  'const'
];

module.exports = function (metaSchema, keywordsJsonPointers) {
  for (var i=0; i<keywordsJsonPointers.length; i++) {
    metaSchema = JSON.parse(JSON.stringify(metaSchema));
    var segments = keywordsJsonPointers[i].split('/');
    var keywords = metaSchema;
    var j;
    for (j=1; j<segments.length; j++)
      keywords = keywords[segments[j]];

    for (j=0; j<KEYWORDS.length; j++) {
      var key = KEYWORDS[j];
      var schema = keywords[key];
      if (schema) {
        keywords[key] = {
          anyOf: [
            schema,
            { $ref: 'https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#' }
          ]
        };
      }
    }
  }

  return metaSchema;
};

Version data entries

111 entries across 68 versions & 8 rubygems

Version Path
disco_app-0.13.6.pre.puma.pre.3 test/dummy/node_modules/file-loader/node_modules/ajv/lib/data.js
disco_app-0.13.6.pre.puma.pre.3 test/dummy/node_modules/sass-loader/node_modules/ajv/lib/data.js
disco_app-0.13.6.pre.puma.pre.3 test/dummy/node_modules/style-loader/node_modules/ajv/lib/data.js
tang-0.2.1 spec/tang_app/node_modules/ajv/lib/data.js
groonga-client-model-6.0.0 test/apps/rails6.1.3/node_modules/ajv/lib/data.js
groonga-client-model-6.0.0 test/apps/rails6.0.3.5/node_modules/ajv/lib/data.js
ruby2js-4.0.4 lib/tasks/testrails/node_modules/ajv/lib/data.js
ruby2js-4.0.3 lib/tasks/testrails/node_modules/ajv/lib/data.js
tang-0.2.0 spec/tang_app/node_modules/ajv/lib/data.js
tang-0.1.0 spec/tang_app/node_modules/ajv/lib/data.js
tang-0.0.9 spec/tang_app/node_modules/ajv/lib/data.js