function simplifyPredicates()

in server/helpers/getFilterPredicate.js [12:52]


function simplifyPredicates(filter) {
    if (!filter) {
        return {};
    }
    var result = filter;
    var keys = Object.keys(filter);
    for (var n = 0; n < keys.length; n++) {
        var key = keys[n];
        var condition = filter[key];
        if (condition != null && typeof condition === "object") {
            if ('from' in condition && 'to' in condition) {
                result[key] = {
                    gte: condition.from,
                    lte: condition.to
                };
            }
            if ('inRange' in condition) {
                var value = condition.inRange;
                result[key] = {
                    gte: value.from,
                    lte: value.to
                };
            }
            if ('notInRange' in condition) {
                var value = condition.notInRange;
                result[key] = {
                    not: {
                        gte: value.from,
                        lte: value.to
                    }
                };
            }
            if (Array.isArray(condition) && condition.length) {
                result[key] = {
                    "in": condition
                };
            }
        }
    }
    return result;
}