contexture-mongo
Version:
Mongo Provider for Contexture
17 lines (13 loc) • 397 B
JavaScript
let _ = require('lodash/fp')
let predicate = x =>
(_.isString(x) || _.isNumber(x)) && x !== '' && _.isFinite(_.toNumber(x))
let cleanFilter = _.flow(_.pickBy(predicate), _.mapValues(_.toNumber))
module.exports = {
hasValue: _.flow(_.pick(['min', 'max']), _.some(predicate)),
filter: ({ field, min, max }) => ({
[field]: cleanFilter({
$gte: min,
$lte: max,
}),
}),
}