uawdijnntqw1x1x1
IP : 216.73.216.130
Hostname : it-staging-server
Kernel : Linux it-staging-server 5.15.0-131-generic #141-Ubuntu SMP Fri Jan 10 21:18:28 UTC 2025 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
home
/
forge
/
stage.sksb.smartcon-survey.com
/
node_modules
/
ajv-keywords
/
keywords
/
deepProperties.js
/
/
'use strict'; var util = require('./_util'); module.exports = function defFunc(ajv) { defFunc.definition = { type: 'object', macro: function (schema) { var schemas = []; for (var pointer in schema) schemas.push(getSchema(pointer, schema[pointer])); return {'allOf': schemas}; }, metaSchema: { type: 'object', propertyNames: { type: 'string', format: 'json-pointer' }, additionalProperties: util.metaSchemaRef(ajv) } }; ajv.addKeyword('deepProperties', defFunc.definition); return ajv; }; function getSchema(jsonPointer, schema) { var segments = jsonPointer.split('/'); var rootSchema = {}; var pointerSchema = rootSchema; for (var i=1; i<segments.length; i++) { var segment = segments[i]; var isLast = i == segments.length - 1; segment = unescapeJsonPointer(segment); var properties = pointerSchema.properties = {}; var items = undefined; if (/[0-9]+/.test(segment)) { var count = +segment; items = pointerSchema.items = []; while (count--) items.push({}); } pointerSchema = isLast ? schema : {}; properties[segment] = pointerSchema; if (items) items.push(pointerSchema); } return rootSchema; } function unescapeJsonPointer(str) { return str.replace(/~1/g, '/').replace(/~0/g, '~'); }
/home/forge/stage.sksb.smartcon-survey.com/node_modules/ajv-keywords/keywords/deepProperties.js