diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2026-05-18 23:10:59 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2026-05-18 23:41:44 +0800 |
| commit | fc87c009806dcc98867f6b58efe29b042aa01dee (patch) | |
| tree | 8f59b3f4a5b66e9dfef2d40c8d318e258a521228 /node_modules/ajv-keywords/keywords/uniqueItemProperties.js | |
| parent | 3336b2356ee6152d9c6ae59bd9b87ccbc0958407 (diff) | |
node: updatemain
Diffstat (limited to 'node_modules/ajv-keywords/keywords/uniqueItemProperties.js')
| -rw-r--r-- | node_modules/ajv-keywords/keywords/uniqueItemProperties.js | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/node_modules/ajv-keywords/keywords/uniqueItemProperties.js b/node_modules/ajv-keywords/keywords/uniqueItemProperties.js deleted file mode 100644 index cd670dac..00000000 --- a/node_modules/ajv-keywords/keywords/uniqueItemProperties.js +++ /dev/null @@ -1,59 +0,0 @@ -'use strict'; - -var SCALAR_TYPES = ['number', 'integer', 'string', 'boolean', 'null']; - -module.exports = function defFunc(ajv) { - defFunc.definition = { - type: 'array', - compile: function(keys, parentSchema, it) { - var equal = it.util.equal; - var scalar = getScalarKeys(keys, parentSchema); - - return function(data) { - if (data.length > 1) { - for (var k=0; k < keys.length; k++) { - var i, key = keys[k]; - if (scalar[k]) { - var hash = {}; - for (i = data.length; i--;) { - if (!data[i] || typeof data[i] != 'object') continue; - var prop = data[i][key]; - if (prop && typeof prop == 'object') continue; - if (typeof prop == 'string') prop = '"' + prop; - if (hash[prop]) return false; - hash[prop] = true; - } - } else { - for (i = data.length; i--;) { - if (!data[i] || typeof data[i] != 'object') continue; - for (var j = i; j--;) { - if (data[j] && typeof data[j] == 'object' && equal(data[i][key], data[j][key])) - return false; - } - } - } - } - } - return true; - }; - }, - metaSchema: { - type: 'array', - items: {type: 'string'} - } - }; - - ajv.addKeyword('uniqueItemProperties', defFunc.definition); - return ajv; -}; - - -function getScalarKeys(keys, schema) { - return keys.map(function(key) { - var properties = schema.items && schema.items.properties; - var propType = properties && properties[key] && properties[key].type; - return Array.isArray(propType) - ? propType.indexOf('object') < 0 && propType.indexOf('array') < 0 - : SCALAR_TYPES.indexOf(propType) >= 0; - }); -} |
