source: imaps-frontend/node_modules/ajv/lib/data.js

main
Last change on this file was d565449, checked in by stefan toskovski <stefantoska84@…>, 4 weeks ago

Update repo after prototype presentation

  • Property mode set to 100644
File size: 1.0 KB
Line 
1'use strict';
2
3var 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
25module.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};
Note: See TracBrowser for help on using the repository browser.