.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / ajv / lib / data.js
1 'use strict';
2
3 var KEYWORDS = [
4   'multipleOf',
5   'maximum',
6   'exclusiveMaximum',
7   'minimum',
8   'exclusiveMinimum',
9   'maxLength',
10   'minLength',
11   'pattern',
12   'additionalItems',
13   'maxItems',
14   'minItems',
15   'uniqueItems',
16   'maxProperties',
17   'minProperties',
18   'required',
19   'additionalProperties',
20   'enum',
21   'format',
22   'const'
23 ];
24
25 module.exports = function (metaSchema, keywordsJsonPointers) {
26   for (var i=0; i<keywordsJsonPointers.length; i++) {
27     metaSchema = JSON.parse(JSON.stringify(metaSchema));
28     var segments = keywordsJsonPointers[i].split('/');
29     var keywords = metaSchema;
30     var j;
31     for (j=1; j<segments.length; j++)
32       keywords = keywords[segments[j]];
33
34     for (j=0; j<KEYWORDS.length; j++) {
35       var key = KEYWORDS[j];
36       var schema = keywords[key];
37       if (schema) {
38         keywords[key] = {
39           anyOf: [
40             schema,
41             { $ref: 'https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#' }
42           ]
43         };
44       }
45     }
46   }
47
48   return metaSchema;
49 };