function select()

in apps/mountebank-mock/mountebank-source/src/models/xpath.js [68:93]


function select (selector, ns, possibleXML, logger) {
    const DOMParser = xmlDom.DOMParser,
        parser = new DOMParser({
            errorHandler: (level, message) => {
                const warn = (logger || {}).warn || (() => {});
                warn('%s (source: %s)', message, JSON.stringify(possibleXML));
            }
        }),
        doc = parser.parseFromString(possibleXML),
        selectFn = xpath.useNamespaces(ns || {}),
        result = xpathSelect(selectFn, selector, doc);
    let nodeValues;

    if (['number', 'boolean'].indexOf(typeof result) >= 0) {
        return result;
    }

    nodeValues = result.map(nodeValue);

    if (nodeValues.length === 0) {
        return undefined;
    }
    else {
        return nodeValues;
    }
}