UNPKG

mingo

Version:

MongoDB query language for in-memory objects

18 lines (17 loc) 597 B
import { computeValue } from "../../../core/_internal"; import { assert, isArray, isNil, isNumber } from "../../../util"; import { errInvalidArgs } from "../_internal"; function processBitwise(obj, expr, options, operator, compute) { assert(isArray(expr), `${operator} expects array as argument`); const nums = computeValue(obj, expr, null, options); if (nums.some(isNil)) return null; if (!nums.every(isNumber)) return errInvalidArgs( options.failOnError, `${operator} array elements must resolve to integers` ); return compute(nums); } export { processBitwise };