"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.valueMatchesCriteria = void 0; function valueMatchesCriteria(value, criteria) { if (value == null) { return value === criteria; } else if (Array.isArray(value)) { return Array.isArray(criteria) && value.every((val, index) => valueMatchesCriteria(val, criteria[index])); } else if (typeof value === 'object') { return (typeof criteria === 'object' && criteria && Object.keys(criteria).every(propertyName => valueMatchesCriteria(value[propertyName], criteria[propertyName]))); } else if (criteria instanceof RegExp) { return criteria.test(value); } return value === criteria; } exports.valueMatchesCriteria = valueMatchesCriteria;