20 lines
558 B
JavaScript
Raw Permalink Normal View History

2023-05-21 12:11:59 +02:00
'use strict';
var Node = require('../nodes/Node.js');
function mapIncludes(ctx, items, search) {
const { uniqueKeys } = ctx.options;
if (uniqueKeys === false)
return false;
const isEqual = typeof uniqueKeys === 'function'
? uniqueKeys
: (a, b) => a === b ||
(Node.isScalar(a) &&
Node.isScalar(b) &&
a.value === b.value &&
!(a.value === '<<' && ctx.schema.merge));
return items.some(pair => isEqual(pair.key, search));
}
exports.mapIncludes = mapIncludes;