All files / node-activedirectory/lib/services/internal service.pickAttributes.js

50% Statements 4/8
0% Branches 0/2
0% Functions 0/2
50% Lines 4/8

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 211x 1x                   1x                 1x
const _                             = require('underscore');
const shouldIncludeAllAttributes    = require('./service.shouldIncludeAllAttributes');
 
/**
 * Picks only the requested attributes from the ldap result. If a wildcard or
 * empty result is specified, then all attributes are returned.
 * @private
 * @params {Object} result The ldap result
 * @params {Array} attributes The desired or wanted attributes
 * @returns {Object} A copy of the object with only the requested attributes
 */
const pickAttributes = (result, attributes) => {
    if (shouldIncludeAllAttributes(attributes)) {
        attributes = function () {
            return (true);
        };
    }
    return (_.pick(result, attributes));
}
 
module.exports = pickAttributes;