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
immosquare-cleaner-0.1.62 node_modules/ajv/lib/data.js
immosquare-cleaner-0.1.61 node_modules/ajv/lib/data.js
immosquare-cleaner-0.1.60 node_modules/ajv/lib/data.js
immosquare-cleaner-0.1.59 node_modules/ajv/lib/data.js
immosquare-cleaner-0.1.58 node_modules/ajv/lib/data.js
immosquare-cleaner-0.1.57 node_modules/ajv/lib/data.js
immosquare-cleaner-0.1.56 node_modules/ajv/lib/data.js
immosquare-cleaner-0.1.55 node_modules/ajv/lib/data.js
immosquare-cleaner-0.1.54 node_modules/ajv/lib/data.js
immosquare-cleaner-0.1.53 node_modules/ajv/lib/data.js
immosquare-cleaner-0.1.52 node_modules/ajv/lib/data.js
immosquare-cleaner-0.1.51 node_modules/ajv/lib/data.js
immosquare-cleaner-0.1.50 node_modules/ajv/lib/data.js
immosquare-cleaner-0.1.49 node_modules/ajv/lib/data.js
immosquare-cleaner-0.1.48 node_modules/ajv/lib/data.js
immosquare-cleaner-0.1.47 node_modules/ajv/lib/data.js
immosquare-cleaner-0.1.46 node_modules/ajv/lib/data.js
immosquare-cleaner-0.1.45 node_modules/ajv/lib/data.js
immosquare-cleaner-0.1.44 node_modules/ajv/lib/data.js
immosquare-cleaner-0.1.43 node_modules/ajv/lib/data.js