VanDalkvist
3/10/2015 - 9:16 AM

lodash extensions

lodash extensions

lodash.isPropertyExist = function (prop) {
        return function (obj) {
            return !!obj[prop];
        }
    };

    lodash.filterBy = function (array, prop, value) {
        var filter = {};
        filter[prop] = value;
        return _.filter(array, filter);
    };

    lodash.filterIfContains = function (array, prop) {
        return function (obj) {
            return _.includes(array, !!prop ? obj[prop] : obj);
        }
    };

    lodash.filterIfNotContains = function (array, prop) {
        return function (obj) {
            return !_.includes(array, !!prop ? obj[prop] : obj);
        }
    };

    lodash.pushAll = function (destination, source) {
        _.forEach(source, function (element) {
            destination.push(element);
        });
    };