in apps/mountebank-mock/mountebank-source/src/models/predicates.js [98:122]
function selectTransform (config, options, logger) {
const cloned = helpers.clone(config);
if (config.jsonpath) {
const stringTransform = options.shouldForceStrings ? forceStrings : combinators.identity;
// use keyCaseSensitive instead of caseSensitive to help "matches" predicates too
// see https://github.com/bbyars/mountebank/issues/361
if (!cloned.keyCaseSensitive) {
cloned.jsonpath.selector = cloned.jsonpath.selector.toLowerCase();
}
return combinators.curry(selectJSONPath, cloned.jsonpath, options.encoding, config, stringTransform, logger);
}
else if (config.xpath) {
if (!cloned.caseSensitive) {
cloned.xpath.ns = transformObject(cloned.xpath.ns || {}, lowercase);
cloned.xpath.selector = cloned.xpath.selector.toLowerCase();
}
return combinators.curry(selectXPath, cloned.xpath, options.encoding);
}
else {
return combinators.identity;
}
}